From 59f29eb6b4d8a3b0f0fe51e1a4268424f0f60d69 Mon Sep 17 00:00:00 2001 From: Daniel Mills Date: Mon, 16 Mar 2020 11:55:17 -0400 Subject: [PATCH 01/20] RV --- pom.xml | 18 +- src/main/java/ninja/bytecode/iris/Iris.java | 197 +- .../ninja/bytecode/iris/IrisGenerator.java | 84 + .../java/ninja/bytecode/iris/Settings.java | 87 - .../bytecode/iris/command/CommandFind.java | 33 - .../iris/command/CommandFindBiome.java | 93 - .../iris/command/CommandFindObject.java | 64 - .../bytecode/iris/command/CommandIris.java | 44 - .../bytecode/iris/command/CommandObject.java | 36 - .../iris/command/CommandObjectLoad.java | 166 -- .../iris/command/CommandObjectSave.java | 67 - .../iris/command/CommandObjectWand.java | 32 - .../bytecode/iris/command/CommandReload.java | 36 - .../iris/command/CommandReloadChunks.java | 38 - .../iris/command/CommandReloadIris.java | 23 - .../iris/command/CommandReloadPack.java | 142 -- .../iris/command/CommandSelection.java | 42 - .../iris/command/CommandSelectionExpand.java | 60 - .../iris/command/CommandSelectionShift.java | 61 - .../iris/command/CommandSelectionShrink.java | 57 - .../iris/command/CommandSelectionXUp.java | 72 - .../iris/command/CommandSelectionXVert.java | 83 - .../bytecode/iris/command/CommandTimings.java | 57 - .../bytecode/iris/command/CommandWhat.java | 36 - .../iris/command/CommandWhatBiome.java | 66 - .../iris/command/CommandWhatBlock.java | 33 - .../iris/command/CommandWhatObject.java | 165 -- .../iris/controller/ExecutionController.java | 64 - .../iris/controller/PackController.java | 358 --- .../iris/controller/WandController.java | 323 --- .../iris/generator/IrisGenerator.java | 728 ------ .../bytecode/iris/generator/IrisSample.java | 81 - .../bytecode/iris/generator/WorldReactor.java | 105 - .../generator/atomics/AtomicCharArray.java | 83 - .../generator/atomics/AtomicChunkData.java | 456 ---- .../generator/atomics/AtomicRegionData.java | 80 - .../generator/atomics/AtomicWorldData.java | 158 -- .../iris/generator/genobject/GenObject.java | 1110 --------- .../genobject/GenObjectDecorator.java | 463 ---- .../generator/genobject/GenObjectGroup.java | 387 --- .../generator/genobject/PlacedObject.java | 95 - .../generator/layer/BiomeNoiseGenerator.java | 34 - .../iris/generator/layer/GenLayerBiome.java | 217 -- .../iris/generator/layer/GenLayerCarving.java | 64 - .../iris/generator/layer/GenLayerCaves.java | 120 - .../iris/generator/layer/GenLayerCliffs.java | 67 - .../generator/layer/GenLayerLayeredNoise.java | 44 - .../iris/generator/layer/GenLayerOres.java | 145 -- .../iris/generator/layer/GenLayerSnow.java | 42 - .../generator/parallax/ParallaxAnchor.java | 45 - .../generator/parallax/ParallaxCache.java | 102 - .../parallax/ParallaxWorldGenerator.java | 194 -- .../parallax/ParallelChunkGenerator.java | 191 -- .../placer/AtomicParallaxPlacer.java | 47 - .../iris/generator/placer/BukkitPlacer.java | 63 - .../iris/generator/placer/NMSPlacer.java | 92 - .../ninja/bytecode/iris/pack/BiomeType.java | 8 - .../bytecode/iris/pack/CompiledDimension.java | 244 -- .../ninja/bytecode/iris/pack/IrisBiome.java | 1113 --------- .../bytecode/iris/pack/IrisDimension.java | 109 - .../ninja/bytecode/iris/pack/IrisPack.java | 86 - .../ninja/bytecode/iris/pack/IrisRegion.java | 123 - .../java/ninja/bytecode/iris/util/Axis.java | 31 - .../iris/util/BasePerlinNoiseGenerator.java | 219 ++ .../ninja/bytecode/iris/util/BiomeLayer.java | 219 -- .../ninja/bytecode/iris/util/BorderCheck.java | 7 - .../ninja/bytecode/iris/util/Borders.java | 44 - .../java/ninja/bytecode/iris/util/CDou.java | 49 - .../ninja/bytecode/iris/util/Catalyst12.java | 52 - .../bytecode/iris/util/ChancedPopulator.java | 74 - .../ninja/bytecode/iris/util/ChronoQueue.java | 71 - .../ninja/bytecode/iris/util/ChunkPlan.java | 138 -- .../iris/util/ChunkSpliceListener.java | 14 - .../bytecode/iris/util/ColoredEffect.java | 10 - .../java/ninja/bytecode/iris/util/Cuboid.java | 921 -------- .../bytecode/iris/util/CuboidException.java | 16 - .../java/ninja/bytecode/iris/util/DOP.java | 20 - .../ninja/bytecode/iris/util/Dimension.java | 86 - .../bytecode/iris/util/DimensionFace.java | 24 - .../ninja/bytecode/iris/util/Direction.java | 534 ----- .../java/ninja/bytecode/iris/util/GBiset.java | 77 - .../bytecode/iris/util/GListAdapter.java | 51 - .../java/ninja/bytecode/iris/util/GRT.java | 10 - .../ninja/bytecode/iris/util/GenLayer.java | 32 - .../ninja/bytecode/iris/util/GlossGlower.java | 106 - .../ninja/bytecode/iris/util/GlowManager.java | 14 - .../java/ninja/bytecode/iris/util/Glower.java | 20 - .../bytecode/iris/util/GlowingBlock.java | 178 -- .../bytecode/iris/util/HotswapGenerator.java | 74 - .../ninja/bytecode/iris/util/IGenLayer.java | 6 - .../java/ninja/bytecode/iris/util/ING.java | 38 + .../ninja/bytecode/iris/util/IPlacer.java | 19 - .../bytecode/iris/util/InterpolationMode.java | 9 - .../bytecode/iris/util/InterpolationType.java | 10 - .../bytecode/iris/util/IrisController.java | 10 - .../bytecode/iris/util/IrisControllerSet.java | 73 - .../bytecode/iris/util/IrisInterpolation.java | 221 -- .../ninja/bytecode/iris/util/IrisMetrics.java | 233 -- .../bytecode/iris/util/IrisWorldData.java | 274 --- .../java/ninja/bytecode/iris/util/MB.java | 102 - .../java/ninja/bytecode/iris/util/MCAPos.java | 102 - .../ninja/bytecode/iris/util/MCAState.java | 80 - .../bytecode/iris/util/NoiseGenerator.java | 231 ++ .../bytecode/iris/util/NoiseProvider.java | 7 - .../ninja/bytecode/iris/util/ObjectMode.java | 33 - .../bytecode/iris/util/PacketCategory.java | 9 - .../ninja/bytecode/iris/util/PacketGate.java | 129 - .../bytecode/iris/util/ParticleBase.java | 30 - .../bytecode/iris/util/ParticleEffect.java | 2101 ----------------- .../bytecode/iris/util/ParticleRedstone.java | 56 - .../bytecode/iris/util/PerformanceMode.java | 11 - .../ninja/bytecode/iris/util/PerlinNoise.java | 175 ++ .../java/ninja/bytecode/iris/util/Placer.java | 24 - .../bytecode/iris/util/PolygonGenerator.java | 219 -- .../bytecode/iris/util/PrepackagedChunk.java | 37 - .../java/ninja/bytecode/iris/util/RNG.java | 176 ++ .../ninja/bytecode/iris/util/RealBiome.java | 44 - .../bytecode/iris/util/ReflectionUtils.java | 822 ------- .../bytecode/iris/util/SBlockVector.java | 169 -- .../bytecode/iris/util/SChunkVector.java | 76 - .../bytecode/iris/util/SChunkVectorShort.java | 72 - .../ninja/bytecode/iris/util/SMCAVector.java | 61 - .../java/ninja/bytecode/iris/util/SNG.java | 378 +++ .../ninja/bytecode/iris/util/VectorMath.java | 754 ------ .../bytecode/iris/util/VisualEffect.java | 17 - .../ninja/bytecode/iris/util/WorldState.java | 132 -- src/main/java/org/jnbt/ByteArrayTag.java | 82 - src/main/java/org/jnbt/ByteTag.java | 74 - src/main/java/org/jnbt/CompoundTag.java | 83 - src/main/java/org/jnbt/DoubleTag.java | 74 - src/main/java/org/jnbt/EndTag.java | 60 - src/main/java/org/jnbt/FloatTag.java | 74 - src/main/java/org/jnbt/IntArrayTag.java | 76 - src/main/java/org/jnbt/IntTag.java | 74 - src/main/java/org/jnbt/ListTag.java | 99 - src/main/java/org/jnbt/LongTag.java | 74 - src/main/java/org/jnbt/NBTConstants.java | 77 - src/main/java/org/jnbt/NBTInputStream.java | 205 -- src/main/java/org/jnbt/NBTOutputStream.java | 301 --- src/main/java/org/jnbt/NBTUtils.java | 165 -- src/main/java/org/jnbt/ShortTag.java | 74 - src/main/java/org/jnbt/StringTag.java | 74 - src/main/java/org/jnbt/Tag.java | 73 - src/main/resources/plugin.yml | 2 +- 144 files changed, 1335 insertions(+), 19970 deletions(-) create mode 100644 src/main/java/ninja/bytecode/iris/IrisGenerator.java delete mode 100644 src/main/java/ninja/bytecode/iris/Settings.java delete mode 100644 src/main/java/ninja/bytecode/iris/command/CommandFind.java delete mode 100644 src/main/java/ninja/bytecode/iris/command/CommandFindBiome.java delete mode 100644 src/main/java/ninja/bytecode/iris/command/CommandFindObject.java delete mode 100644 src/main/java/ninja/bytecode/iris/command/CommandIris.java delete mode 100644 src/main/java/ninja/bytecode/iris/command/CommandObject.java delete mode 100644 src/main/java/ninja/bytecode/iris/command/CommandObjectLoad.java delete mode 100644 src/main/java/ninja/bytecode/iris/command/CommandObjectSave.java delete mode 100644 src/main/java/ninja/bytecode/iris/command/CommandObjectWand.java delete mode 100644 src/main/java/ninja/bytecode/iris/command/CommandReload.java delete mode 100644 src/main/java/ninja/bytecode/iris/command/CommandReloadChunks.java delete mode 100644 src/main/java/ninja/bytecode/iris/command/CommandReloadIris.java delete mode 100644 src/main/java/ninja/bytecode/iris/command/CommandReloadPack.java delete mode 100644 src/main/java/ninja/bytecode/iris/command/CommandSelection.java delete mode 100644 src/main/java/ninja/bytecode/iris/command/CommandSelectionExpand.java delete mode 100644 src/main/java/ninja/bytecode/iris/command/CommandSelectionShift.java delete mode 100644 src/main/java/ninja/bytecode/iris/command/CommandSelectionShrink.java delete mode 100644 src/main/java/ninja/bytecode/iris/command/CommandSelectionXUp.java delete mode 100644 src/main/java/ninja/bytecode/iris/command/CommandSelectionXVert.java delete mode 100644 src/main/java/ninja/bytecode/iris/command/CommandTimings.java delete mode 100644 src/main/java/ninja/bytecode/iris/command/CommandWhat.java delete mode 100644 src/main/java/ninja/bytecode/iris/command/CommandWhatBiome.java delete mode 100644 src/main/java/ninja/bytecode/iris/command/CommandWhatBlock.java delete mode 100644 src/main/java/ninja/bytecode/iris/command/CommandWhatObject.java delete mode 100644 src/main/java/ninja/bytecode/iris/controller/ExecutionController.java delete mode 100644 src/main/java/ninja/bytecode/iris/controller/PackController.java delete mode 100644 src/main/java/ninja/bytecode/iris/controller/WandController.java delete mode 100644 src/main/java/ninja/bytecode/iris/generator/IrisGenerator.java delete mode 100644 src/main/java/ninja/bytecode/iris/generator/IrisSample.java delete mode 100644 src/main/java/ninja/bytecode/iris/generator/WorldReactor.java delete mode 100644 src/main/java/ninja/bytecode/iris/generator/atomics/AtomicCharArray.java delete mode 100644 src/main/java/ninja/bytecode/iris/generator/atomics/AtomicChunkData.java delete mode 100644 src/main/java/ninja/bytecode/iris/generator/atomics/AtomicRegionData.java delete mode 100644 src/main/java/ninja/bytecode/iris/generator/atomics/AtomicWorldData.java delete mode 100644 src/main/java/ninja/bytecode/iris/generator/genobject/GenObject.java delete mode 100644 src/main/java/ninja/bytecode/iris/generator/genobject/GenObjectDecorator.java delete mode 100644 src/main/java/ninja/bytecode/iris/generator/genobject/GenObjectGroup.java delete mode 100644 src/main/java/ninja/bytecode/iris/generator/genobject/PlacedObject.java delete mode 100644 src/main/java/ninja/bytecode/iris/generator/layer/BiomeNoiseGenerator.java delete mode 100644 src/main/java/ninja/bytecode/iris/generator/layer/GenLayerBiome.java delete mode 100644 src/main/java/ninja/bytecode/iris/generator/layer/GenLayerCarving.java delete mode 100644 src/main/java/ninja/bytecode/iris/generator/layer/GenLayerCaves.java delete mode 100644 src/main/java/ninja/bytecode/iris/generator/layer/GenLayerCliffs.java delete mode 100644 src/main/java/ninja/bytecode/iris/generator/layer/GenLayerLayeredNoise.java delete mode 100644 src/main/java/ninja/bytecode/iris/generator/layer/GenLayerOres.java delete mode 100644 src/main/java/ninja/bytecode/iris/generator/layer/GenLayerSnow.java delete mode 100644 src/main/java/ninja/bytecode/iris/generator/parallax/ParallaxAnchor.java delete mode 100644 src/main/java/ninja/bytecode/iris/generator/parallax/ParallaxCache.java delete mode 100644 src/main/java/ninja/bytecode/iris/generator/parallax/ParallaxWorldGenerator.java delete mode 100644 src/main/java/ninja/bytecode/iris/generator/parallax/ParallelChunkGenerator.java delete mode 100644 src/main/java/ninja/bytecode/iris/generator/placer/AtomicParallaxPlacer.java delete mode 100644 src/main/java/ninja/bytecode/iris/generator/placer/BukkitPlacer.java delete mode 100644 src/main/java/ninja/bytecode/iris/generator/placer/NMSPlacer.java delete mode 100644 src/main/java/ninja/bytecode/iris/pack/BiomeType.java delete mode 100644 src/main/java/ninja/bytecode/iris/pack/CompiledDimension.java delete mode 100644 src/main/java/ninja/bytecode/iris/pack/IrisBiome.java delete mode 100644 src/main/java/ninja/bytecode/iris/pack/IrisDimension.java delete mode 100644 src/main/java/ninja/bytecode/iris/pack/IrisPack.java delete mode 100644 src/main/java/ninja/bytecode/iris/pack/IrisRegion.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/Axis.java create mode 100644 src/main/java/ninja/bytecode/iris/util/BasePerlinNoiseGenerator.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/BiomeLayer.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/BorderCheck.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/Borders.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/CDou.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/Catalyst12.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/ChancedPopulator.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/ChronoQueue.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/ChunkPlan.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/ChunkSpliceListener.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/ColoredEffect.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/Cuboid.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/CuboidException.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/DOP.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/Dimension.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/DimensionFace.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/Direction.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/GBiset.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/GListAdapter.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/GRT.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/GenLayer.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/GlossGlower.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/GlowManager.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/Glower.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/GlowingBlock.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/HotswapGenerator.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/IGenLayer.java create mode 100644 src/main/java/ninja/bytecode/iris/util/ING.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/IPlacer.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/InterpolationMode.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/InterpolationType.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/IrisController.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/IrisControllerSet.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/IrisInterpolation.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/IrisMetrics.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/IrisWorldData.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/MB.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/MCAPos.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/MCAState.java create mode 100644 src/main/java/ninja/bytecode/iris/util/NoiseGenerator.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/NoiseProvider.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/ObjectMode.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/PacketCategory.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/PacketGate.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/ParticleBase.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/ParticleEffect.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/ParticleRedstone.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/PerformanceMode.java create mode 100644 src/main/java/ninja/bytecode/iris/util/PerlinNoise.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/Placer.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/PolygonGenerator.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/PrepackagedChunk.java create mode 100644 src/main/java/ninja/bytecode/iris/util/RNG.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/RealBiome.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/ReflectionUtils.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/SBlockVector.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/SChunkVector.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/SChunkVectorShort.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/SMCAVector.java create mode 100644 src/main/java/ninja/bytecode/iris/util/SNG.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/VectorMath.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/VisualEffect.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/WorldState.java delete mode 100644 src/main/java/org/jnbt/ByteArrayTag.java delete mode 100644 src/main/java/org/jnbt/ByteTag.java delete mode 100644 src/main/java/org/jnbt/CompoundTag.java delete mode 100644 src/main/java/org/jnbt/DoubleTag.java delete mode 100644 src/main/java/org/jnbt/EndTag.java delete mode 100644 src/main/java/org/jnbt/FloatTag.java delete mode 100644 src/main/java/org/jnbt/IntArrayTag.java delete mode 100644 src/main/java/org/jnbt/IntTag.java delete mode 100644 src/main/java/org/jnbt/ListTag.java delete mode 100644 src/main/java/org/jnbt/LongTag.java delete mode 100644 src/main/java/org/jnbt/NBTConstants.java delete mode 100644 src/main/java/org/jnbt/NBTInputStream.java delete mode 100644 src/main/java/org/jnbt/NBTOutputStream.java delete mode 100644 src/main/java/org/jnbt/NBTUtils.java delete mode 100644 src/main/java/org/jnbt/ShortTag.java delete mode 100644 src/main/java/org/jnbt/StringTag.java delete mode 100644 src/main/java/org/jnbt/Tag.java diff --git a/pom.xml b/pom.xml index 52035c6d0..ad53524d0 100644 --- a/pom.xml +++ b/pom.xml @@ -144,26 +144,16 @@ - - ninja.bytecode - Shuriken - 1.1.14 - - - com.volmit - Mortar - 1.0.76 - org.spigotmc spigot-api - 1.12.2-R0.1-SNAPSHOT + 1.15.1-R0.1-SNAPSHOT provided - org.bukkit.craftbukkit - cb-1.12.2 - 1.12.2 + org.bukkit + bukkit + 1.15.1-R0.1-SNAPSHOT provided diff --git a/src/main/java/ninja/bytecode/iris/Iris.java b/src/main/java/ninja/bytecode/iris/Iris.java index e31c4f619..f241a0f33 100644 --- a/src/main/java/ninja/bytecode/iris/Iris.java +++ b/src/main/java/ninja/bytecode/iris/Iris.java @@ -1,200 +1,61 @@ package ninja.bytecode.iris; -import java.io.File; import java.util.UUID; import org.bukkit.Bukkit; -import org.bukkit.Difficulty; +import org.bukkit.GameMode; +import org.bukkit.Location; import org.bukkit.World; -import org.bukkit.World.Environment; +import org.bukkit.WorldCreator; +import org.bukkit.command.Command; +import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.HandlerList; -import org.bukkit.event.Listener; -import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.generator.ChunkGenerator; -import org.bukkit.plugin.Plugin; +import org.bukkit.plugin.java.JavaPlugin; -import mortar.api.rift.PhantomRift; -import mortar.api.rift.Rift; -import mortar.api.rift.RiftException; -import mortar.bukkit.command.Command; -import mortar.bukkit.plugin.Control; -import mortar.bukkit.plugin.MortarPlugin; -import mortar.util.text.C; -import ninja.bytecode.iris.command.CommandIris; -import ninja.bytecode.iris.controller.ExecutionController; -import ninja.bytecode.iris.controller.PackController; -import ninja.bytecode.iris.controller.WandController; -import ninja.bytecode.iris.generator.IrisGenerator; -import ninja.bytecode.iris.util.Direction; -import ninja.bytecode.iris.util.HotswapGenerator; -import ninja.bytecode.iris.util.IrisMetrics; -import ninja.bytecode.shuriken.logging.L; - -public class Iris extends MortarPlugin +public class Iris extends JavaPlugin { - public static Thread primaryThread; - public static Settings settings; - public static IrisMetrics metrics; - private static ExecutionController executionController; - - public static Iris instance; - - @Control - private PackController packController; - - @Control - private WandController wandController; - - @Command - private CommandIris commandIris; - - private Rift r; - - @Override public void onEnable() { - instance = this; - executionController = new ExecutionController(); - executionController.start(); - primaryThread = Thread.currentThread(); - L.consoleConsumer = (s) -> Bukkit.getConsoleSender().sendMessage(s); - Direction.calculatePermutations(); - settings = new Settings(); - getServer().getPluginManager().registerEvents((Listener) this, this); - super.onEnable(); - } - public File getObjectCacheFolder() - { - return getDataFolder("cache", "object"); - } - - public static boolean isGen(World world) - { - IrisGenerator g = getGen(world); - return g != null; - } - - public static IrisGenerator getGen(World world) - { - try + Bukkit.getScheduler().scheduleSyncDelayedTask(this, () -> { - return (IrisGenerator) ((HotswapGenerator) world.getGenerator()).getGenerator(); - } - - catch(Throwable e) - { - - } - - return null; - } - - @Override - public void start() - { - instance = this; - packController.compile(); - - if(Iris.settings.performance.debugMode) - { - try + for(World i : Bukkit.getWorlds()) { - //@builder - r = new PhantomRift("Iris-Debug/" + UUID.randomUUID().toString()) - .setTileTickLimit(0.1) - .setEntityTickLimit(0.1) - .setAllowBosses(false) - .setEnvironment(Environment.NORMAL) - .setDifficulty(Difficulty.PEACEFUL) - .setRandomLightUpdates(false) - .setViewDistance(32) - .setHangingTickRate(2000) - .setGenerator(IrisGenerator.class) - .load(); - - for(Player i : Bukkit.getOnlinePlayers()) + if(i.getName().startsWith("iris/")) { - r.send(i); + Bukkit.unloadWorld(i, false); } - //@done } - catch(RiftException e) + World world = Bukkit.createWorld(new WorldCreator("iris/" + UUID.randomUUID()).generator(new IrisGenerator())); + + for(Player i : Bukkit.getOnlinePlayers()) { - e.printStackTrace(); + i.teleport(new Location(world, 0, 100, 0)); + + Bukkit.getScheduler().scheduleSyncDelayedTask(this, () -> + { + i.setGameMode(GameMode.SPECTATOR); + }, 5); } - } + }); + } + + public void onDisable() + { + } @Override - public void stop() + public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { - if(settings.performance.debugMode && r != null) - { - r.colapse(); - } - - HandlerList.unregisterAll((Plugin) this); - Bukkit.getScheduler().cancelTasks(this); - executionController.stop(); - } - - @EventHandler - public void on(PlayerJoinEvent e) - { - if(settings.performance.debugMode && r != null) - { - e.getPlayer().teleport(r.getSpawn()); - } - } - - public void reload() - { - Bukkit.getScheduler().scheduleSyncDelayedTask(Iris.instance, () -> - { - onDisable(); - onEnable(); - }); + return false; } @Override public ChunkGenerator getDefaultWorldGenerator(String worldName, String id) { - return new HotswapGenerator(new IrisGenerator()); - } - - @Override - public String getTag(String arg0) - { - return makeTag(C.GREEN, C.DARK_GRAY, C.GRAY, C.BOLD + "Iris" + C.RESET); - } - - public static String makeTag(C brace, C tag, C text, String tagName) - { - return brace + "\u3008" + tag + tagName + brace + "\u3009" + " " + text; - } - - public static PackController pack() - { - return instance.packController; - } - - public static ExecutionController exec() - { - if(executionController == null) - { - executionController = new ExecutionController(); - executionController.start(); - } - - return executionController; - } - - public static WandController wand() - { - return instance.wandController; + return new IrisGenerator(); } } diff --git a/src/main/java/ninja/bytecode/iris/IrisGenerator.java b/src/main/java/ninja/bytecode/iris/IrisGenerator.java new file mode 100644 index 000000000..d3a74a5e7 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/IrisGenerator.java @@ -0,0 +1,84 @@ +package ninja.bytecode.iris; + +import java.util.List; +import java.util.Random; + +import org.bukkit.Bukkit; +import org.bukkit.Location; +import org.bukkit.Material; +import org.bukkit.World; +import org.bukkit.generator.BlockPopulator; +import org.bukkit.generator.ChunkGenerator; + +import ninja.bytecode.iris.util.ING; +import ninja.bytecode.iris.util.RNG; + +public class IrisGenerator extends ChunkGenerator +{ + private boolean initialized = false; + private ING sng; + + public void onInit() + { + if(initialized) + { + return; + } + + initialized = true; + + sng = new ING(new RNG(), 2); + } + + @Override + public boolean canSpawn(World world, int x, int z) + { + return super.canSpawn(world, x, z); + } + + @Override + public ChunkData generateChunkData(World world, Random random, int x, int z, BiomeGrid biome) + { + onInit(); + ChunkData data = Bukkit.createChunkData(world); + + for(int i = 0; i < 16; i++) + { + for(int j = 0; j < 16; j++) + { + double wx = (x * 16) + i; + double wz = (z * 16) + j; + int y = (int) Math.round(sng.noise(wx / 30D, wz / 30D) * 20); + for(int k = 0; k < 4; k++) + { + if(k < 0) + { + continue; + } + + data.setBlock(i, k + y, j, Material.STONE.createBlockData()); + } + } + } + + return data; + } + + @Override + public List getDefaultPopulators(World world) + { + return super.getDefaultPopulators(world); + } + + @Override + public Location getFixedSpawnLocation(World world, Random random) + { + return super.getFixedSpawnLocation(world, random); + } + + @Override + public boolean isParallelCapable() + { + return true; + } +} diff --git a/src/main/java/ninja/bytecode/iris/Settings.java b/src/main/java/ninja/bytecode/iris/Settings.java deleted file mode 100644 index 893034845..000000000 --- a/src/main/java/ninja/bytecode/iris/Settings.java +++ /dev/null @@ -1,87 +0,0 @@ -package ninja.bytecode.iris; - -import ninja.bytecode.iris.util.InterpolationMode; -import ninja.bytecode.iris.util.ObjectMode; -import ninja.bytecode.iris.util.PerformanceMode; - -public class Settings -{ - public PerformanceSettings performance = new PerformanceSettings(); - public GeneratorSettings gen = new GeneratorSettings(); - public OreSettings ore = new OreSettings(); - - public static class PerformanceSettings - { - public PerformanceMode performanceMode = PerformanceMode.EXPLICIT; - public ObjectMode objectMode = ObjectMode.PARALLAX; - public int threadPriority = Thread.MAX_PRIORITY; - public int threadCount = 32; - public boolean debugMode = true; - public int decorationAccuracy = 1; - public boolean noObjectFail = false; - public boolean verbose = false; - public int placeHistoryLimit = 8192; - } - - public static class GeneratorSettings - { - public InterpolationMode interpolationMode = InterpolationMode.BILINEAR; - public int interpolationRadius = 53; - public int blockSmoothing = 1; - public double objectDensity = 1D; - public double horizontalZoom = 2; - public double heightFracture = 155; - public double landScale = 0.44; - public double landChance = 0.56; - public double roughness = 1.25; - public double biomeEdgeFuzzScale = 1.75; - public double biomeEdgeScrambleScale = 0.2; - public double biomeEdgeScrambleRange = 2.5; - public double heightMultiplier = 0.806; - public double heightExponentBase = 1; - public double heightExponentMultiplier = 1.41; - public double heightScale = 0.56; - public double baseHeight = 0.065; - public int seaLevel = 63; - public double biomeScale = 0.8; - public boolean flatBedrock = false; - } - - public static class OreSettings - { - public int ironMinHeight = 5; - public int ironMaxHeight = 65; - public double ironMaxDispersion = 0.02; - public double ironMinDispersion = 0.26; - - public int coalMinHeight = 5; - public int coalMaxHeight = 100; - public double coalMaxDispersion = 0.02; - public double coalMinDispersion = 0.29; - - public int goldMinHeight = 5; - public int goldMaxHeight = 34; - public double goldMaxDispersion = 0.01; - public double goldMinDispersion = 0.13; - - public int redstoneMinHeight = 5; - public int redstoneMaxHeight = 15; - public double redstoneMaxDispersion = 0.05; - public double redstoneMinDispersion = 0.17; - - public int lapisMinHeight = 13; - public int lapisMaxHeight = 33; - public double lapisMaxDispersion = 0.05; - public double lapisMinDispersion = 0.12; - - public int diamondMinHeight = 5; - public int diamondMaxHeight = 16; - public double diamondMaxDispersion = 0.05; - public double diamondMinDispersion = 0.1; - - public int emeraldMinHeight = 5; - public int emeraldMaxHeight = 16; - public double emeraldMaxDispersion = 0.005; - public double emeraldMinDispersion = 0.07; - } -} diff --git a/src/main/java/ninja/bytecode/iris/command/CommandFind.java b/src/main/java/ninja/bytecode/iris/command/CommandFind.java deleted file mode 100644 index 7a47f0f61..000000000 --- a/src/main/java/ninja/bytecode/iris/command/CommandFind.java +++ /dev/null @@ -1,33 +0,0 @@ -package ninja.bytecode.iris.command; - -import mortar.bukkit.command.Command; -import mortar.bukkit.command.MortarCommand; -import mortar.bukkit.command.MortarSender; -import mortar.util.text.C; - -public class CommandFind extends MortarCommand -{ - @Command - private CommandFindBiome fBiome; - - @Command - private CommandFindObject fObject; - - public CommandFind() - { - super("find", "f"); - setDescription("Teleport to a specific biome / object"); - } - - @Override - public boolean handle(MortarSender sender, String[] args) - { - for(MortarCommand i : getChildren()) - { - sender.sendMessage("/iris find " + C.WHITE + i.getNode() + C.GRAY + (!i.getNodes().isEmpty() ? "," : "") + i.getNodes().toString(",") + " - " + C.DARK_GREEN + i.getDescription()); - } - - return true; - } - -} diff --git a/src/main/java/ninja/bytecode/iris/command/CommandFindBiome.java b/src/main/java/ninja/bytecode/iris/command/CommandFindBiome.java deleted file mode 100644 index c158ce1bd..000000000 --- a/src/main/java/ninja/bytecode/iris/command/CommandFindBiome.java +++ /dev/null @@ -1,93 +0,0 @@ -package ninja.bytecode.iris.command; - -import org.bukkit.World; -import org.bukkit.entity.Player; - -import mortar.bukkit.command.MortarCommand; -import mortar.bukkit.command.MortarSender; -import ninja.bytecode.iris.Iris; -import ninja.bytecode.iris.generator.IrisGenerator; -import ninja.bytecode.iris.pack.IrisBiome; - -public class CommandFindBiome extends MortarCommand -{ - public CommandFindBiome() - { - super("biome", "b"); - setDescription("Teleport to a biome by name"); - } - - @Override - public boolean handle(MortarSender sender, String[] args) - { - World w = null; - - if(sender.isPlayer() && Iris.isGen(sender.player().getWorld())) - { - w = sender.player().getWorld(); - } - - else - { - if(sender.isPlayer()) - { - sender.sendMessage(sender.player().getWorld().getGenerator().getClass().getCanonicalName()); - } - - sender.sendMessage("Console / Non-Iris World."); - return true; - } - - Player p = sender.player(); - IrisGenerator g = Iris.getGen(p.getWorld()); - if(args.length > 0) - { - IrisBiome b = null; - for(IrisBiome i : g.getDimension().getBiomes()) - { - if(args[0].toLowerCase().equals(i.getName().toLowerCase().replaceAll("\\Q \\E", "_"))) - { - b = i; - break; - } - } - - if(b == null) - { - sender.sendMessage("Couldn't find any biomes containing '" + args[0] + "'."); - } - - else - { - sender.sendMessage("Looking for Biome " + b.getName() + "..."); - boolean f = false; - - for(int i = 0; i < 10000; i++) - { - int x = (int) ((int) (29999983 / 1.2) * Math.random()); - int z = (int) ((int) (29999983 / 1.2) * Math.random()); - - if(g.getBiome((int) g.getOffsetX(x, z), (int) g.getOffsetZ(x, z)).equals(b)) - { - f = true; - p.teleport(w.getHighestBlockAt(x, z).getLocation()); - break; - } - } - - if(!f) - { - sender.sendMessage("Couldn't for " + b.getName() + " in 10,000 different locations and could not find it. Try again!"); - } - } - } - - else - { - sender.sendMessage("/iris find biome "); - } - - return true; - } - -} diff --git a/src/main/java/ninja/bytecode/iris/command/CommandFindObject.java b/src/main/java/ninja/bytecode/iris/command/CommandFindObject.java deleted file mode 100644 index 387f964f2..000000000 --- a/src/main/java/ninja/bytecode/iris/command/CommandFindObject.java +++ /dev/null @@ -1,64 +0,0 @@ -package ninja.bytecode.iris.command; - -import org.bukkit.Location; -import org.bukkit.World; -import org.bukkit.entity.Player; - -import mortar.bukkit.command.MortarCommand; -import mortar.bukkit.command.MortarSender; -import mortar.util.text.C; -import ninja.bytecode.iris.Iris; -import ninja.bytecode.iris.generator.genobject.PlacedObject; - -public class CommandFindObject extends MortarCommand -{ - public CommandFindObject() - { - super("object", "o"); - setDescription("Teleport to an object by name"); - } - - @Override - public boolean handle(MortarSender sender, String[] args) - { - World w = null; - - if(sender.isPlayer() && Iris.isGen(sender.player().getWorld())) - { - w = sender.player().getWorld(); - } - - else - { - sender.sendMessage("Console / Non-Iris World."); - return true; - } - - Player p = sender.player(); - - if(args.length > 0) - { - PlacedObject o = Iris.getGen(w).randomObject(args[0]); - - if(o != null) - { - Location l = new Location(w, o.getX(), o.getY(), o.getZ()); - p.teleport(l); - sender.sendMessage("Found Object " + C.DARK_GREEN + o.getF().replace(":", "/" + C.WHITE)); - } - - else - { - sender.sendMessage("Couldn't find any objects containing '" + args[0] + "' Either"); - } - } - - else - { - sender.sendMessage("/iris find object "); - } - - return true; - } - -} diff --git a/src/main/java/ninja/bytecode/iris/command/CommandIris.java b/src/main/java/ninja/bytecode/iris/command/CommandIris.java deleted file mode 100644 index a7907abb8..000000000 --- a/src/main/java/ninja/bytecode/iris/command/CommandIris.java +++ /dev/null @@ -1,44 +0,0 @@ -package ninja.bytecode.iris.command; - -import mortar.bukkit.command.Command; -import mortar.bukkit.command.MortarCommand; -import mortar.bukkit.command.MortarSender; -import mortar.util.text.C; - -public class CommandIris extends MortarCommand -{ - @Command - private CommandTimings timings; - - @Command - private CommandWhat what; - - @Command - private CommandFind find; - - @Command - private CommandObject object; - - @Command - private CommandSelection selection; - - @Command - private CommandReload reload; - - public CommandIris() - { - super("iris", "irs", "ir"); - } - - @Override - public boolean handle(MortarSender sender, String[] args) - { - for(MortarCommand i : getChildren()) - { - sender.sendMessage("/iris " + C.WHITE + i.getNode() + C.GRAY + (!i.getNodes().isEmpty() ? "," : "") + i.getNodes().toString(",") + " - " + C.DARK_GREEN + i.getDescription()); - } - - return true; - } - -} diff --git a/src/main/java/ninja/bytecode/iris/command/CommandObject.java b/src/main/java/ninja/bytecode/iris/command/CommandObject.java deleted file mode 100644 index 1c44cabfe..000000000 --- a/src/main/java/ninja/bytecode/iris/command/CommandObject.java +++ /dev/null @@ -1,36 +0,0 @@ -package ninja.bytecode.iris.command; - -import mortar.bukkit.command.Command; -import mortar.bukkit.command.MortarCommand; -import mortar.bukkit.command.MortarSender; -import mortar.util.text.C; - -public class CommandObject extends MortarCommand -{ - @Command - private CommandObjectWand oWand; - - @Command - private CommandObjectLoad oLoad; - - @Command - private CommandObjectSave oSave; - - public CommandObject() - { - super("object", "o"); - setDescription("Object Subcommands"); - } - - @Override - public boolean handle(MortarSender sender, String[] args) - { - for(MortarCommand i : getChildren()) - { - sender.sendMessage("/iris object " + C.WHITE + i.getNode() + C.GRAY + (!i.getNodes().isEmpty() ? "," : "") + i.getNodes().toString(",") + " - " + C.DARK_GREEN + i.getDescription()); - } - - return true; - } - -} diff --git a/src/main/java/ninja/bytecode/iris/command/CommandObjectLoad.java b/src/main/java/ninja/bytecode/iris/command/CommandObjectLoad.java deleted file mode 100644 index db4ddcb18..000000000 --- a/src/main/java/ninja/bytecode/iris/command/CommandObjectLoad.java +++ /dev/null @@ -1,166 +0,0 @@ -package ninja.bytecode.iris.command; - -import java.io.File; -import java.io.FileInputStream; - -import org.bukkit.Location; -import org.bukkit.Sound; -import org.bukkit.entity.Player; - -import mortar.bukkit.command.MortarCommand; -import mortar.bukkit.command.MortarSender; -import mortar.util.text.C; -import ninja.bytecode.iris.Iris; -import ninja.bytecode.iris.controller.WandController; -import ninja.bytecode.iris.generator.genobject.GenObject; -import ninja.bytecode.iris.util.Direction; -import ninja.bytecode.shuriken.format.Form; - -public class CommandObjectLoad extends MortarCommand -{ - public CommandObjectLoad() - { - super("load", "l"); - setDescription("Load & Paste an object"); - } - - @Override - public boolean handle(MortarSender sender, String[] args) - { - if(!sender.isPlayer()) - { - sender.sendMessage("Players Only"); - return true; - } - - if(args.length < 1) - { - sender.sendMessage("/iris object load "); - sender.sendMessage("Use -c to place at cursor"); - sender.sendMessage("Use -g to place with gravity"); - sender.sendMessage("Use -w to set hydrophilic"); - sender.sendMessage("Use -u to set submerged"); - sender.sendMessage("Use -h: to shift vertically"); - sender.sendMessage("Use -m: to set max slope"); - sender.sendMessage("Use -b: to set base slope"); - sender.sendMessage("Use -f:N -t:S to rotate north to south (180 deg)"); - return true; - } - - Player p = sender.player(); - - GenObject s = new GenObject(1, 1, 1); - File f = new File(Iris.instance.getDataFolder(), "schematics/" + args[0] + ".ish"); - - if(!f.exists()) - { - sender.sendMessage("Can't find " + args[0]); - return true; - } - - try - { - FileInputStream fin = new FileInputStream(f); - s.read(fin, true); - - boolean cursor = false; - boolean gravity = false; - Direction df = null; - Direction dt = null; - int shift = 0; - - for(String i : args) - { - if(i.equalsIgnoreCase("-c")) - { - sender.sendMessage("Placing @ Cursor"); - cursor = true; - continue; - } - - if(i.equalsIgnoreCase("-u")) - { - sender.sendMessage("Placing Submerged"); - s.setSubmerged(true); - continue; - } - - if(i.equalsIgnoreCase("-w")) - { - sender.sendMessage("Placing with Hydrophilia"); - s.setHydrophilic(true); - continue; - } - - if(i.equalsIgnoreCase("-g")) - { - sender.sendMessage("Placing with Gravity"); - gravity = true; - continue; - } - - if(i.startsWith("-m:")) - { - shift = Integer.valueOf(i.split("\\Q:\\E")[1]); - sender.sendMessage("Max Slope set to " + shift); - s.setMaxslope(shift); - continue; - } - - if(i.startsWith("-b:")) - { - shift = Integer.valueOf(i.split("\\Q:\\E")[1]); - sender.sendMessage("Base Slope set to " + shift); - s.setBaseslope(shift); - continue; - } - - if(i.startsWith("-h:")) - { - shift = Integer.valueOf(i.split("\\Q:\\E")[1]); - sender.sendMessage("Shifting Placement by 0," + shift + ",0"); - continue; - } - - if(i.startsWith("-f:")) - { - df = Direction.valueOf(i.split("\\Q:\\E")[1].toUpperCase().substring(0, 1)); - continue; - } - - if(i.startsWith("-t:")) - { - dt = Direction.valueOf(i.split("\\Q:\\E")[1].toUpperCase().substring(0, 1)); - continue; - } - } - - if(dt != null && df != null) - { - sender.sendMessage("Rotating " + C.WHITE + df + C.GRAY + " to " + C.WHITE + dt); - s.rotate(df, dt); - } - - Location at = p.getLocation(); - - if(cursor) - { - at = p.getTargetBlock(null, 64).getLocation(); - } - - s.setShift(0, shift, 0); - s.setGravity(gravity); - WandController.pasteSchematic(s, at); - p.playSound(p.getLocation(), Sound.BLOCK_ENCHANTMENT_TABLE_USE, 1f, 1.25f); - sender.sendMessage("Pasted " + args[0] + " (" + Form.f(s.getSchematic().size()) + " Blocks Modified)"); - } - - catch(Throwable e1) - { - e1.printStackTrace(); - } - - return true; - } - -} diff --git a/src/main/java/ninja/bytecode/iris/command/CommandObjectSave.java b/src/main/java/ninja/bytecode/iris/command/CommandObjectSave.java deleted file mode 100644 index f0a36430e..000000000 --- a/src/main/java/ninja/bytecode/iris/command/CommandObjectSave.java +++ /dev/null @@ -1,67 +0,0 @@ -package ninja.bytecode.iris.command; - -import java.io.File; -import java.io.FileOutputStream; - -import org.bukkit.Sound; -import org.bukkit.entity.Player; - -import mortar.bukkit.command.MortarCommand; -import mortar.bukkit.command.MortarSender; -import ninja.bytecode.iris.Iris; -import ninja.bytecode.iris.controller.WandController; -import ninja.bytecode.iris.generator.genobject.GenObject; -import ninja.bytecode.shuriken.format.Form; - -public class CommandObjectSave extends MortarCommand -{ - public CommandObjectSave() - { - super("save", "s"); - setDescription("Save an object"); - } - - @Override - public boolean handle(MortarSender sender, String[] args) - { - if(!sender.isPlayer()) - { - sender.sendMessage("Players Only"); - return true; - } - - if(args.length < 1) - { - sender.sendMessage("/iris object save "); - return true; - } - - Player p = sender.player(); - GenObject s = WandController.createSchematic(p.getInventory().getItemInMainHand(), p.getLocation()); - - if(s == null) - { - sender.sendMessage("Hold your wand while using this command."); - return true; - } - - File f = new File(Iris.instance.getDataFolder(), "schematics/" + args[0] + ".ish"); - f.getParentFile().mkdirs(); - try - { - FileOutputStream fos = new FileOutputStream(f); - s.write(fos, true); - p.sendMessage("Saved " + args[0] + " (" + Form.f(s.getSchematic().size()) + " Entries)"); - p.playSound(p.getLocation(), Sound.BLOCK_ENCHANTMENT_TABLE_USE, 1f, 0.45f); - } - - catch(Throwable e1) - { - p.sendMessage("Failed. Check the console!"); - e1.printStackTrace(); - } - - return true; - } - -} diff --git a/src/main/java/ninja/bytecode/iris/command/CommandObjectWand.java b/src/main/java/ninja/bytecode/iris/command/CommandObjectWand.java deleted file mode 100644 index b98f2166b..000000000 --- a/src/main/java/ninja/bytecode/iris/command/CommandObjectWand.java +++ /dev/null @@ -1,32 +0,0 @@ -package ninja.bytecode.iris.command; - -import org.bukkit.Sound; - -import mortar.bukkit.command.MortarCommand; -import mortar.bukkit.command.MortarSender; -import ninja.bytecode.iris.controller.WandController; - -public class CommandObjectWand extends MortarCommand -{ - public CommandObjectWand() - { - super("wand", "w"); - setDescription("Obtain Iris Wand"); - } - - @Override - public boolean handle(MortarSender sender, String[] args) - { - if(!sender.isPlayer()) - { - sender.sendMessage("Players Only"); - return true; - } - - sender.player().getInventory().addItem(WandController.createWand()); - sender.player().playSound(sender.player().getLocation(), Sound.ITEM_ARMOR_EQUIP_DIAMOND, 1f, 1.55f); - - return true; - } - -} diff --git a/src/main/java/ninja/bytecode/iris/command/CommandReload.java b/src/main/java/ninja/bytecode/iris/command/CommandReload.java deleted file mode 100644 index 45d2a2afc..000000000 --- a/src/main/java/ninja/bytecode/iris/command/CommandReload.java +++ /dev/null @@ -1,36 +0,0 @@ -package ninja.bytecode.iris.command; - -import mortar.bukkit.command.Command; -import mortar.bukkit.command.MortarCommand; -import mortar.bukkit.command.MortarSender; -import mortar.util.text.C; - -public class CommandReload extends MortarCommand -{ - @Command - private CommandReloadPack rThis; - - @Command - private CommandReloadChunks rChunks; - - @Command - private CommandReloadIris rIris; - - public CommandReload() - { - super("reload", "r"); - setDescription("Reload Chunks / Pack / Iris"); - } - - @Override - public boolean handle(MortarSender sender, String[] args) - { - for(MortarCommand i : getChildren()) - { - sender.sendMessage("/iris reload " + C.WHITE + i.getNode() + C.GRAY + (!i.getNodes().isEmpty() ? "," : "") + i.getNodes().toString(",") + " - " + C.DARK_GREEN + i.getDescription()); - } - - return true; - } - -} diff --git a/src/main/java/ninja/bytecode/iris/command/CommandReloadChunks.java b/src/main/java/ninja/bytecode/iris/command/CommandReloadChunks.java deleted file mode 100644 index 2bfc5e9c0..000000000 --- a/src/main/java/ninja/bytecode/iris/command/CommandReloadChunks.java +++ /dev/null @@ -1,38 +0,0 @@ -package ninja.bytecode.iris.command; - -import org.bukkit.Chunk; -import org.bukkit.entity.Player; - -import mortar.api.nms.NMP; -import mortar.bukkit.command.MortarCommand; -import mortar.bukkit.command.MortarSender; - -public class CommandReloadChunks extends MortarCommand -{ - public CommandReloadChunks() - { - super("chunks", "c"); - setDescription("Resends chunk packets."); - } - - @Override - public boolean handle(MortarSender sender, String[] args) - { - - if(!sender.isPlayer()) - { - sender.sendMessage("Again, You don't have a position. Stop it."); - } - - sender.sendMessage("Resending Chunks in your view distance."); - Player p = sender.player(); - - for(Chunk i : p.getWorld().getLoadedChunks()) - { - NMP.CHUNK.refreshIgnorePosition(p, i); - } - - return true; - } - -} diff --git a/src/main/java/ninja/bytecode/iris/command/CommandReloadIris.java b/src/main/java/ninja/bytecode/iris/command/CommandReloadIris.java deleted file mode 100644 index 892c06388..000000000 --- a/src/main/java/ninja/bytecode/iris/command/CommandReloadIris.java +++ /dev/null @@ -1,23 +0,0 @@ -package ninja.bytecode.iris.command; - -import mortar.bukkit.command.MortarCommand; -import mortar.bukkit.command.MortarSender; -import ninja.bytecode.iris.Iris; - -public class CommandReloadIris extends MortarCommand -{ - public CommandReloadIris() - { - super("iris", "i"); - setDescription("Reloads Iris"); - } - - @Override - public boolean handle(MortarSender sender, String[] args) - { - Iris.instance.reload(); - - return true; - } - -} diff --git a/src/main/java/ninja/bytecode/iris/command/CommandReloadPack.java b/src/main/java/ninja/bytecode/iris/command/CommandReloadPack.java deleted file mode 100644 index 63bc8c350..000000000 --- a/src/main/java/ninja/bytecode/iris/command/CommandReloadPack.java +++ /dev/null @@ -1,142 +0,0 @@ -package ninja.bytecode.iris.command; - -import java.util.function.Consumer; - -import org.bukkit.Bukkit; -import org.bukkit.World; -import org.bukkit.entity.Player; - -import mortar.api.sched.J; -import mortar.bukkit.command.MortarCommand; -import mortar.bukkit.command.MortarSender; -import mortar.logic.queue.ChronoLatch; -import ninja.bytecode.iris.Iris; -import ninja.bytecode.iris.controller.PackController; -import ninja.bytecode.iris.generator.IrisGenerator; -import ninja.bytecode.iris.generator.WorldReactor; -import ninja.bytecode.iris.pack.CompiledDimension; -import ninja.bytecode.shuriken.collections.KList; -import ninja.bytecode.shuriken.collections.KMap; -import ninja.bytecode.shuriken.format.Form; -import ninja.bytecode.shuriken.logging.L; - -public class CommandReloadPack extends MortarCommand -{ - public CommandReloadPack() - { - super("pack", "p"); - setDescription("Reloads the pack + regen"); - } - - @Override - public boolean handle(MortarSender sender, String[] args) - { - sender.sendMessage("=== Hotloading Pack ==="); - PackController c = Iris.pack(); - KMap f = new KMap<>(); - - for(World i : Bukkit.getWorlds()) - { - if(i.getGenerator() instanceof IrisGenerator) - { - String n = ((IrisGenerator) i.getGenerator()).getDimension().getName(); - sender.sendMessage("Preparing " + n); - f.put(i.getName(), n); - } - } - - if(f.isEmpty()) - { - sender.sendMessage("No Worlds to inject!"); - return true; - } - - J.a(() -> - { - try - { - Consumer m = (msg) -> - { - J.s(() -> - { - String mm = msg; - - if(msg.contains("|")) - { - KList fx = new KList<>(); - fx.add(msg.split("\\Q|\\E")); - fx.remove(0); - fx.remove(0); - mm = fx.toString(""); - } - - sender.sendMessage(mm.replaceAll("\\Q \\E", "")); - }); - }; - - L.addLogConsumer(m); - c.compile(); - L.logConsumers.remove(m); - - J.s(() -> - { - if(sender.isPlayer()) - { - ChronoLatch cl = new ChronoLatch(3000); - Player p = sender.player(); - World ww = sender.player().getWorld(); - - sender.sendMessage("Regenerating View Distance"); - - WorldReactor r = new WorldReactor(ww); - r.generateRegionNormal(p, true, 200, (pct) -> - { - if(cl.flip()) - { - sender.sendMessage("Regenerating " + Form.pc(pct)); - } - }, () -> - { - sender.sendMessage("Done! Use F3 + A"); - }); - } - }, 5); - - for(String fi : f.k()) - { - J.s(() -> - { - World i = Bukkit.getWorld(fi); - CompiledDimension dim = c.getDimension(f.get(fi)); - - for(String k : c.getDimensions().k()) - { - if(c.getDimension(k).getName().equals(f.get(fi))) - { - dim = c.getDimension(k); - break; - } - } - - if(dim == null) - { - J.s(() -> sender.sendMessage("Cannot find dimnension: " + f.get(fi))); - return; - } - sender.sendMessage("Hotloaded " + i.getName()); - IrisGenerator g = ((IrisGenerator) i.getGenerator()); - g.inject(dim); - }); - } - } - - catch(Throwable e) - { - e.printStackTrace(); - } - }); - - return true; - } - -} diff --git a/src/main/java/ninja/bytecode/iris/command/CommandSelection.java b/src/main/java/ninja/bytecode/iris/command/CommandSelection.java deleted file mode 100644 index 041da0bd2..000000000 --- a/src/main/java/ninja/bytecode/iris/command/CommandSelection.java +++ /dev/null @@ -1,42 +0,0 @@ -package ninja.bytecode.iris.command; - -import mortar.bukkit.command.Command; -import mortar.bukkit.command.MortarCommand; -import mortar.bukkit.command.MortarSender; -import mortar.util.text.C; - -public class CommandSelection extends MortarCommand -{ - @Command - private CommandSelectionExpand expand; - - @Command - private CommandSelectionShift shift; - - @Command - private CommandSelectionShrink shr; - - @Command - private CommandSelectionXUp xip; - - @Command - private CommandSelectionXVert xvc; - - public CommandSelection() - { - super("selection", "sel", "s"); - setDescription("Wand Selection Subcommands"); - } - - @Override - public boolean handle(MortarSender sender, String[] args) - { - for(MortarCommand i : getChildren()) - { - sender.sendMessage("/iris sel " + C.WHITE + i.getNode() + C.GRAY + (!i.getNodes().isEmpty() ? "," : "") + i.getNodes().toString(",") + " - " + C.DARK_GREEN + i.getDescription()); - } - - return true; - } - -} diff --git a/src/main/java/ninja/bytecode/iris/command/CommandSelectionExpand.java b/src/main/java/ninja/bytecode/iris/command/CommandSelectionExpand.java deleted file mode 100644 index d5345dc22..000000000 --- a/src/main/java/ninja/bytecode/iris/command/CommandSelectionExpand.java +++ /dev/null @@ -1,60 +0,0 @@ -package ninja.bytecode.iris.command; - -import org.bukkit.Location; -import org.bukkit.Sound; -import org.bukkit.entity.Player; - -import mortar.bukkit.command.MortarCommand; -import mortar.bukkit.command.MortarSender; -import ninja.bytecode.iris.controller.WandController; -import ninja.bytecode.iris.util.Cuboid; -import ninja.bytecode.iris.util.Direction; - -public class CommandSelectionExpand extends MortarCommand -{ - public CommandSelectionExpand() - { - super("expand", "+"); - setDescription("Expand in looking direction"); - } - - @Override - public boolean handle(MortarSender sender, String[] args) - { - if(!sender.isPlayer()) - { - sender.sendMessage("Players Only"); - return true; - } - - Player p = sender.player(); - - if(!WandController.isWand(p)) - { - sender.sendMessage("Ready your Wand."); - return true; - } - - if(args.length == 0) - { - sender.sendMessage("/iris selection expand "); - return true; - } - - int amt = Integer.valueOf(args[0]); - Location[] b = WandController.getCuboid(p.getInventory().getItemInMainHand()); - Location a1 = b[0].clone(); - Location a2 = b[1].clone(); - Cuboid cursor = new Cuboid(a1, a2); - Direction d = Direction.closest(p.getLocation().getDirection()).reverse(); - cursor = cursor.expand(d, amt); - b[0] = cursor.getLowerNE(); - b[1] = cursor.getUpperSW(); - p.getInventory().setItemInMainHand(WandController.createWand(b[0], b[1])); - p.updateInventory(); - p.playSound(p.getLocation(), Sound.ENTITY_ITEMFRAME_ROTATE_ITEM, 1f, 0.55f); - - return true; - } - -} diff --git a/src/main/java/ninja/bytecode/iris/command/CommandSelectionShift.java b/src/main/java/ninja/bytecode/iris/command/CommandSelectionShift.java deleted file mode 100644 index d0e60ba4b..000000000 --- a/src/main/java/ninja/bytecode/iris/command/CommandSelectionShift.java +++ /dev/null @@ -1,61 +0,0 @@ -package ninja.bytecode.iris.command; - -import org.bukkit.Location; -import org.bukkit.Sound; -import org.bukkit.entity.Player; - -import mortar.bukkit.command.MortarCommand; -import mortar.bukkit.command.MortarSender; -import ninja.bytecode.iris.controller.WandController; -import ninja.bytecode.iris.util.Cuboid; -import ninja.bytecode.iris.util.Direction; - -public class CommandSelectionShift extends MortarCommand -{ - public CommandSelectionShift() - { - super("shift", ">"); - setDescription("Shift looking direction"); - } - - @Override - public boolean handle(MortarSender sender, String[] args) - { - if(!sender.isPlayer()) - { - sender.sendMessage("Players Only"); - return true; - } - - Player p = sender.player(); - - if(!WandController.isWand(p)) - { - sender.sendMessage("Ready your Wand."); - return true; - } - - if(args.length == 0) - { - sender.sendMessage("/iris selection shift "); - return true; - } - - int amt = Integer.valueOf(args[0]); - Location[] b = WandController.getCuboid(p.getInventory().getItemInMainHand()); - Location a1 = b[0].clone(); - Location a2 = b[1].clone(); - Direction d = Direction.closest(p.getLocation().getDirection()).reverse(); - a1.add(d.toVector().multiply(amt)); - a2.add(d.toVector().multiply(amt)); - Cuboid cursor = new Cuboid(a1, a2); - b[0] = cursor.getLowerNE(); - b[1] = cursor.getUpperSW(); - p.getInventory().setItemInMainHand(WandController.createWand(b[0], b[1])); - p.updateInventory(); - p.playSound(p.getLocation(), Sound.ENTITY_ITEMFRAME_ROTATE_ITEM, 1f, 0.55f); - - return true; - } - -} diff --git a/src/main/java/ninja/bytecode/iris/command/CommandSelectionShrink.java b/src/main/java/ninja/bytecode/iris/command/CommandSelectionShrink.java deleted file mode 100644 index 762939d4c..000000000 --- a/src/main/java/ninja/bytecode/iris/command/CommandSelectionShrink.java +++ /dev/null @@ -1,57 +0,0 @@ -package ninja.bytecode.iris.command; - -import org.bukkit.Location; -import org.bukkit.Sound; -import org.bukkit.entity.Player; - -import mortar.bukkit.command.MortarCommand; -import mortar.bukkit.command.MortarSender; -import ninja.bytecode.iris.controller.WandController; -import ninja.bytecode.iris.util.Cuboid; -import ninja.bytecode.iris.util.Cuboid.CuboidDirection; - -public class CommandSelectionShrink extends MortarCommand -{ - public CommandSelectionShrink() - { - super("shrinkwrap", "shrink"); - setDescription("Match blocks boundary"); - } - - @Override - public boolean handle(MortarSender sender, String[] args) - { - if(!sender.isPlayer()) - { - sender.sendMessage("Players Only"); - return true; - } - - Player p = sender.player(); - - if(!WandController.isWand(p)) - { - sender.sendMessage("Ready your Wand."); - return true; - } - - Location[] b = WandController.getCuboid(p.getInventory().getItemInMainHand()); - Location a1 = b[0].clone(); - Location a2 = b[1].clone(); - Cuboid cursor = new Cuboid(a1, a2); - cursor = cursor.contract(CuboidDirection.North); - cursor = cursor.contract(CuboidDirection.South); - cursor = cursor.contract(CuboidDirection.East); - cursor = cursor.contract(CuboidDirection.West); - cursor = cursor.contract(CuboidDirection.Up); - cursor = cursor.contract(CuboidDirection.Down); - b[0] = cursor.getLowerNE(); - b[1] = cursor.getUpperSW(); - p.getInventory().setItemInMainHand(WandController.createWand(b[0], b[1])); - p.updateInventory(); - p.playSound(p.getLocation(), Sound.ENTITY_ITEMFRAME_ROTATE_ITEM, 1f, 0.55f); - - return true; - } - -} diff --git a/src/main/java/ninja/bytecode/iris/command/CommandSelectionXUp.java b/src/main/java/ninja/bytecode/iris/command/CommandSelectionXUp.java deleted file mode 100644 index 62d500a69..000000000 --- a/src/main/java/ninja/bytecode/iris/command/CommandSelectionXUp.java +++ /dev/null @@ -1,72 +0,0 @@ -package ninja.bytecode.iris.command; - -import org.bukkit.Location; -import org.bukkit.Material; -import org.bukkit.Sound; -import org.bukkit.entity.Player; -import org.bukkit.util.Vector; - -import mortar.bukkit.command.MortarCommand; -import mortar.bukkit.command.MortarSender; -import ninja.bytecode.iris.controller.WandController; -import ninja.bytecode.iris.util.Cuboid; -import ninja.bytecode.iris.util.Cuboid.CuboidDirection; - -public class CommandSelectionXUp extends MortarCommand -{ - public CommandSelectionXUp() - { - super("expandup", "xup"); - setDescription("Expand Up & Trim In"); - } - - @Override - public boolean handle(MortarSender sender, String[] args) - { - if(!sender.isPlayer()) - { - sender.sendMessage("Players Only"); - return true; - } - - Player p = sender.player(); - - if(!WandController.isWand(p)) - { - sender.sendMessage("Ready your Wand."); - return true; - } - - Location[] b = WandController.getCuboid(p.getInventory().getItemInMainHand()); - b[0].add(new Vector(0, 1, 0)); - b[1].add(new Vector(0, 1, 0)); - Location a1 = b[0].clone(); - Location a2 = b[1].clone(); - Cuboid cursor = new Cuboid(a1, a2); - - while(!cursor.containsOnly(Material.AIR)) - { - a1.add(new Vector(0, 1, 0)); - a2.add(new Vector(0, 1, 0)); - cursor = new Cuboid(a1, a2); - } - - a1.add(new Vector(0, -1, 0)); - a2.add(new Vector(0, -1, 0)); - b[0] = a1; - a2 = b[1]; - cursor = new Cuboid(a1, a2); - cursor = cursor.contract(CuboidDirection.North); - cursor = cursor.contract(CuboidDirection.South); - cursor = cursor.contract(CuboidDirection.East); - cursor = cursor.contract(CuboidDirection.West); - b[0] = cursor.getLowerNE(); - b[1] = cursor.getUpperSW(); - p.getInventory().setItemInMainHand(WandController.createWand(b[0], b[1])); - p.updateInventory(); - p.playSound(p.getLocation(), Sound.ENTITY_ITEMFRAME_ROTATE_ITEM, 1f, 0.55f); - - return true; - } - -} diff --git a/src/main/java/ninja/bytecode/iris/command/CommandSelectionXVert.java b/src/main/java/ninja/bytecode/iris/command/CommandSelectionXVert.java deleted file mode 100644 index 9d97047b9..000000000 --- a/src/main/java/ninja/bytecode/iris/command/CommandSelectionXVert.java +++ /dev/null @@ -1,83 +0,0 @@ -package ninja.bytecode.iris.command; - -import org.bukkit.Location; -import org.bukkit.Material; -import org.bukkit.Sound; -import org.bukkit.entity.Player; -import org.bukkit.util.Vector; - -import mortar.bukkit.command.MortarCommand; -import mortar.bukkit.command.MortarSender; -import ninja.bytecode.iris.controller.WandController; -import ninja.bytecode.iris.util.Cuboid; -import ninja.bytecode.iris.util.Cuboid.CuboidDirection; - -public class CommandSelectionXVert extends MortarCommand -{ - public CommandSelectionXVert() - { - super("expandvertical", "xvert"); - setDescription("Expand Up + Down & Trim In"); - } - - @Override - public boolean handle(MortarSender sender, String[] args) - { - if(!sender.isPlayer()) - { - sender.sendMessage("Players Only"); - return true; - } - - Player p = sender.player(); - - if(!WandController.isWand(p)) - { - sender.sendMessage("Ready your Wand."); - return true; - } - - Location[] b = WandController.getCuboid(p.getInventory().getItemInMainHand()); - Location a1 = b[0].clone(); - Location a2 = b[1].clone(); - Location a1x = b[0].clone(); - Location a2x = b[1].clone(); - Cuboid cursor = new Cuboid(a1, a2); - Cuboid cursorx = new Cuboid(a1, a2); - - while(!cursor.containsOnly(Material.AIR)) - { - a1.add(new Vector(0, 1, 0)); - a2.add(new Vector(0, 1, 0)); - cursor = new Cuboid(a1, a2); - } - - a1.add(new Vector(0, -1, 0)); - a2.add(new Vector(0, -1, 0)); - - while(!cursorx.containsOnly(Material.AIR)) - { - a1x.add(new Vector(0, -1, 0)); - a2x.add(new Vector(0, -1, 0)); - cursorx = new Cuboid(a1x, a2x); - } - - a1x.add(new Vector(0, 1, 0)); - a2x.add(new Vector(0, 1, 0)); - b[0] = a1; - b[1] = a2x; - cursor = new Cuboid(b[0], b[1]); - cursor = cursor.contract(CuboidDirection.North); - cursor = cursor.contract(CuboidDirection.South); - cursor = cursor.contract(CuboidDirection.East); - cursor = cursor.contract(CuboidDirection.West); - b[0] = cursor.getLowerNE(); - b[1] = cursor.getUpperSW(); - p.getInventory().setItemInMainHand(WandController.createWand(b[0], b[1])); - p.updateInventory(); - p.playSound(p.getLocation(), Sound.ENTITY_ITEMFRAME_ROTATE_ITEM, 1f, 0.55f); - - return true; - } - -} diff --git a/src/main/java/ninja/bytecode/iris/command/CommandTimings.java b/src/main/java/ninja/bytecode/iris/command/CommandTimings.java deleted file mode 100644 index 901cdded0..000000000 --- a/src/main/java/ninja/bytecode/iris/command/CommandTimings.java +++ /dev/null @@ -1,57 +0,0 @@ -package ninja.bytecode.iris.command; - -import org.bukkit.Bukkit; -import org.bukkit.World; - -import mortar.bukkit.command.MortarCommand; -import mortar.bukkit.command.MortarSender; -import mortar.util.text.C; -import ninja.bytecode.iris.Iris; -import ninja.bytecode.iris.generator.IrisGenerator; - -public class CommandTimings extends MortarCommand -{ - public CommandTimings() - { - super("timings", "t"); - setDescription("Tick use on a per chunk basis"); - } - - @Override - public boolean handle(MortarSender sender, String[] args) - { - World world = null; - - if(sender.isPlayer() && Iris.isGen(sender.player().getWorld())) - { - world = sender.player().getWorld(); - } - - else if(args.length >= 1) - { - World t = Bukkit.getWorld(args[0]); - - if(t == null) - { - sender.sendMessage("Unknown world " + args[0]); - return true; - } - - else if(t.getGenerator() instanceof IrisGenerator) - { - world = t; - } - } - - else - { - sender.sendMessage("Console / Non-Iris World. " + C.WHITE + "Use /iris timings "); - return true; - } - - Iris.getGen(world).getMetrics().send(sender, (m) -> sender.sendMessage(m)); - - return true; - } - -} diff --git a/src/main/java/ninja/bytecode/iris/command/CommandWhat.java b/src/main/java/ninja/bytecode/iris/command/CommandWhat.java deleted file mode 100644 index a6ff4f350..000000000 --- a/src/main/java/ninja/bytecode/iris/command/CommandWhat.java +++ /dev/null @@ -1,36 +0,0 @@ -package ninja.bytecode.iris.command; - -import mortar.bukkit.command.Command; -import mortar.bukkit.command.MortarCommand; -import mortar.bukkit.command.MortarSender; -import mortar.util.text.C; - -public class CommandWhat extends MortarCommand -{ - @Command - private CommandWhatBiome wBiome; - - @Command - private CommandWhatObject wObject; - - @Command - private CommandWhatBlock wBlock; - - public CommandWhat() - { - super("what", "w"); - setDescription("Identify what you are looking at."); - } - - @Override - public boolean handle(MortarSender sender, String[] args) - { - for(MortarCommand i : getChildren()) - { - sender.sendMessage("/iris what " + C.WHITE + i.getNode() + C.GRAY + (!i.getNodes().isEmpty() ? "," : "") + i.getNodes().toString(",") + " - " + C.DARK_GREEN + i.getDescription()); - } - - return true; - } - -} diff --git a/src/main/java/ninja/bytecode/iris/command/CommandWhatBiome.java b/src/main/java/ninja/bytecode/iris/command/CommandWhatBiome.java deleted file mode 100644 index c40c71e19..000000000 --- a/src/main/java/ninja/bytecode/iris/command/CommandWhatBiome.java +++ /dev/null @@ -1,66 +0,0 @@ -package ninja.bytecode.iris.command; - -import org.bukkit.World; -import org.bukkit.entity.Player; - -import mortar.bukkit.command.MortarCommand; -import mortar.bukkit.command.MortarSender; -import mortar.util.text.C; -import ninja.bytecode.iris.Iris; -import ninja.bytecode.iris.generator.IrisGenerator; -import ninja.bytecode.iris.pack.IrisBiome; -import ninja.bytecode.iris.util.BiomeLayer; -import ninja.bytecode.shuriken.format.Form; - -public class CommandWhatBiome extends MortarCommand -{ - public CommandWhatBiome() - { - super("biome", "b"); - setDescription("Identify Current Biome"); - } - - @Override - public boolean handle(MortarSender sender, String[] args) - { - World world = null; - - if(sender.isPlayer() && Iris.isGen(sender.player().getWorld())) - { - world = sender.player().getWorld(); - } - - else - { - sender.sendMessage("Console / Non-Iris World."); - return true; - } - - Player p = sender.player(); - IrisGenerator g = Iris.getGen(world); - IrisBiome biome = g.getBiome((int) g.getOffsetX(p.getLocation().getX(), p.getLocation().getZ()), (int) g.getOffsetZ(p.getLocation().getX(), p.getLocation().getZ())); - BiomeLayer l = new BiomeLayer(g, biome); - sender.sendMessage("Biome: " + C.BOLD + C.WHITE + biome.getName() + C.RESET + C.GRAY + " (" + C.GOLD + l.getBiome().getRarityString() + C.GRAY + ")"); - - for(String i : biome.getSchematicGroups().k()) - { - String f = ""; - double percent = biome.getSchematicGroups().get(i); - - if(percent > 1D) - { - f = (int) percent + " + " + Form.pc(percent - (int) percent, percent - (int) percent >= 0.01 ? 0 : 3); - } - - else - { - f = Form.pc(percent, percent >= 0.01 ? 0 : 3); - } - - sender.sendMessage("* " + C.DARK_GREEN + i + ": " + C.BOLD + C.WHITE + f + C.RESET + C.GRAY + " (" + Form.f(g.getDimension().getObjectGroup(i).size()) + " variants)"); - } - - return true; - } - -} diff --git a/src/main/java/ninja/bytecode/iris/command/CommandWhatBlock.java b/src/main/java/ninja/bytecode/iris/command/CommandWhatBlock.java deleted file mode 100644 index 28bba5856..000000000 --- a/src/main/java/ninja/bytecode/iris/command/CommandWhatBlock.java +++ /dev/null @@ -1,33 +0,0 @@ -package ninja.bytecode.iris.command; - -import org.bukkit.block.Block; -import org.bukkit.entity.Player; - -import mortar.bukkit.command.MortarCommand; -import mortar.bukkit.command.MortarSender; - -public class CommandWhatBlock extends MortarCommand -{ - public CommandWhatBlock() - { - super("block", "id", "i"); - setDescription("Identify Current Block Looking at"); - } - - @SuppressWarnings("deprecation") - @Override - public boolean handle(MortarSender sender, String[] args) - { - if(!sender.isPlayer()) - { - sender.sendMessage("Not sure where you are looking."); - } - - Player p = sender.player(); - Block b = p.getTargetBlock(null, 64); - sender.sendMessage(b.getType().getId() + ":" + b.getData() + " (" + b.getType().toString() + ":" + b.getData() + ")"); - - return true; - } - -} diff --git a/src/main/java/ninja/bytecode/iris/command/CommandWhatObject.java b/src/main/java/ninja/bytecode/iris/command/CommandWhatObject.java deleted file mode 100644 index d847c6658..000000000 --- a/src/main/java/ninja/bytecode/iris/command/CommandWhatObject.java +++ /dev/null @@ -1,165 +0,0 @@ -package ninja.bytecode.iris.command; - -import org.bukkit.Location; -import org.bukkit.World; -import org.bukkit.entity.Player; - -import mortar.api.sched.SR; -import mortar.bukkit.command.MortarCommand; -import mortar.bukkit.command.MortarSender; -import mortar.lang.collection.FinalInteger; -import mortar.util.text.C; -import ninja.bytecode.iris.Iris; -import ninja.bytecode.iris.generator.IrisGenerator; -import ninja.bytecode.iris.generator.genobject.GenObject; -import ninja.bytecode.iris.generator.genobject.GenObjectGroup; -import ninja.bytecode.iris.generator.genobject.PlacedObject; -import ninja.bytecode.iris.pack.IrisBiome; -import ninja.bytecode.shuriken.collections.KMap; -import ninja.bytecode.shuriken.format.Form; - -public class CommandWhatObject extends MortarCommand -{ - private KMap goc; - private KMap gog; - - public CommandWhatObject() - { - super("object", "o"); - setDescription("WAYLA For Objects"); - goc = new KMap<>(); - gog = new KMap<>(); - } - - @Override - public boolean handle(MortarSender sender, String[] args) - { - World world = null; - - if(sender.isPlayer() && Iris.isGen(sender.player().getWorld())) - { - world = sender.player().getWorld(); - } - - else - { - sender.sendMessage("Console / Non-Iris World."); - return true; - } - - Player p = sender.player(); - IrisGenerator generator = Iris.getGen(world); - Location l = p.getTargetBlock(null, 32).getLocation(); - PlacedObject po = generator.nearest(l, 12); - - if(po != null) - { - if(!goc.containsKey(po.getF())) - { - String root = po.getF().split("\\Q:\\E")[0]; - String n = po.getF().split("\\Q:\\E")[1]; - GenObjectGroup gg = generator.getDimension().getObjectGroup(root); - gog.put(root, gg); - - for(GenObject i : gg.getSchematics()) - { - if(i.getName().equals(n)) - { - goc.put(po.getF(), i); - break; - } - } - - if(!goc.containsKey(po.getF())) - { - goc.put(po.getF(), new GenObject(0, 0, 0)); - } - } - - GenObjectGroup ggg = gog.get(po.getF().split("\\Q:\\E")[0]); - GenObject g = goc.get(po.getF()); - - if(g != null) - { - Location point = new Location(l.getWorld(), po.getX(), po.getY(), po.getZ()); - IrisBiome biome = generator.getBiome((int) generator.getOffsetX(po.getX(), po.getZ()), (int) generator.getOffsetZ(po.getX(), po.getZ())); - String gg = po.getF().split("\\Q:\\E")[0]; - - p.sendMessage(C.DARK_GREEN + C.BOLD.toString() + gg + C.GRAY + "/" + C.RESET + C.ITALIC + C.GRAY + g.getName() + C.RESET + C.WHITE + " (1 of " + Form.f(generator.getDimension().getObjectGroup(gg).size()) + " variants)"); - - if(biome.getSchematicGroups().containsKey(gg)) - { - String f = ""; - double percent = biome.getSchematicGroups().get(gg); - - if(percent > 1D) - { - f = (int) percent + " + " + Form.pc(percent - (int) percent, percent - (int) percent >= 0.01 ? 0 : 3); - } - - else - { - f = Form.pc(percent, percent >= 0.01 ? 0 : 3); - } - - p.sendMessage(C.GOLD + "Spawn Chance in " + C.YELLOW + biome.getName() + C.RESET + ": " + C.BOLD + C.WHITE + f); - } - - try - { - int a = 0; - int b = 0; - double c = 0; - - for(GenObject i : ggg.getSchematics()) - { - a += i.getSuccesses(); - b += i.getPlaces(); - } - - c = ((double) a / (double) b); - p.sendMessage(C.GRAY + "Grp: " + C.DARK_AQUA + Form.f(a) + C.GRAY + " of " + C.AQUA + Form.f(b) + C.GRAY + " placements (" + C.DARK_AQUA + Form.pc(c, 0) + C.GRAY + ")"); - } - - catch(Throwable e) - { - e.printStackTrace(); - } - - p.sendMessage(C.GRAY + "Var: " + C.DARK_AQUA + Form.f(g.getSuccesses()) + C.GRAY + " of " + C.AQUA + Form.f(g.getPlaces()) + C.GRAY + " placements (" + C.DARK_AQUA + Form.pc(g.getSuccess(), 0) + C.GRAY + ")"); - - for(String i : ggg.getFlags()) - { - p.sendMessage(C.GRAY + "- " + C.DARK_PURPLE + i); - } - - FinalInteger fi = new FinalInteger(125); - - new SR() - { - @Override - public void run() - { - if(point.distanceSquared(p.getLocation()) > 64 * 64) - { - cancel(); - } - - fi.sub(1); - Iris.wand().draw(new Location[] {point.clone().add(g.getW() / 2, g.getH() / 2, g.getD() / 2), point.clone().subtract(g.getW() / 2, g.getH() / 2, g.getD() / 2) - }, p); - - if(fi.get() <= 0) - { - cancel(); - } - } - }; - - } - } - - return true; - } - -} diff --git a/src/main/java/ninja/bytecode/iris/controller/ExecutionController.java b/src/main/java/ninja/bytecode/iris/controller/ExecutionController.java deleted file mode 100644 index da8e95f33..000000000 --- a/src/main/java/ninja/bytecode/iris/controller/ExecutionController.java +++ /dev/null @@ -1,64 +0,0 @@ -package ninja.bytecode.iris.controller; - -import org.bukkit.World; - -import ninja.bytecode.iris.Iris; -import ninja.bytecode.shuriken.collections.KMap; -import ninja.bytecode.shuriken.execution.TaskExecutor; - -public class ExecutionController -{ - KMap executors; - - public void start() - { - executors = new KMap<>(); - } - - public void stop() - { - for(TaskExecutor i : executors.v()) - { - i.close(); - } - - executors.clear(); - } - - public TaskExecutor getExecutor(World world, String f) - { - String k = world.getWorldFolder().getAbsolutePath() + " (" + world + ") " + f; - - if(executors.containsKey(k)) - { - return executors.get(k); - } - - TaskExecutor x = new TaskExecutor(getTC(), Iris.settings.performance.threadPriority, "Iris " + f); - executors.put(k, x); - return x; - } - - public int getTC() - { - switch(Iris.settings.performance.performanceMode) - { - case HALF_CPU: - return Math.max(Runtime.getRuntime().availableProcessors() / 2, 1); - case MATCH_CPU: - return Runtime.getRuntime().availableProcessors(); - case SINGLE_THREADED: - return 1; - case DOUBLE_CPU: - return Runtime.getRuntime().availableProcessors() * 2; - case UNLIMITED: - return -1; - case EXPLICIT: - return Iris.settings.performance.threadCount; - default: - break; - } - - return Math.max(Runtime.getRuntime().availableProcessors() / 2, 1); - } -} diff --git a/src/main/java/ninja/bytecode/iris/controller/PackController.java b/src/main/java/ninja/bytecode/iris/controller/PackController.java deleted file mode 100644 index 68401f1bb..000000000 --- a/src/main/java/ninja/bytecode/iris/controller/PackController.java +++ /dev/null @@ -1,358 +0,0 @@ -package ninja.bytecode.iris.controller; - -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; - -import mortar.bukkit.plugin.Controller; -import net.md_5.bungee.api.ChatColor; -import ninja.bytecode.iris.Iris; -import ninja.bytecode.iris.generator.genobject.GenObject; -import ninja.bytecode.iris.generator.genobject.GenObjectGroup; -import ninja.bytecode.iris.pack.CompiledDimension; -import ninja.bytecode.iris.pack.IrisBiome; -import ninja.bytecode.iris.pack.IrisDimension; -import ninja.bytecode.iris.pack.IrisPack; -import ninja.bytecode.shuriken.bench.PrecisionStopwatch; -import ninja.bytecode.shuriken.collections.KList; -import ninja.bytecode.shuriken.collections.KMap; -import ninja.bytecode.shuriken.execution.J; -import ninja.bytecode.shuriken.format.Form; -import ninja.bytecode.shuriken.io.IO; -import ninja.bytecode.shuriken.json.JSONException; -import ninja.bytecode.shuriken.json.JSONObject; -import ninja.bytecode.shuriken.logging.L; - -public class PackController extends Controller -{ - private KMap compiledDimensions; - private KMap dimensions; - private KMap biomes; - private KMap genObjectGroups; - private boolean ready; - - @Override - public void start() - { - compiledDimensions = new KMap<>(); - dimensions = new KMap<>(); - biomes = new KMap<>(); - genObjectGroups = new KMap<>(); - ready = false; - } - - @Override - public void stop() - { - - } - - @Override - public void tick() - { - - } - - public boolean isReady() - { - return ready; - } - - public KList getFiles(File folder) - { - KList buf = new KList(); - - if(!folder.exists()) - { - return buf; - } - - if(folder.isDirectory()) - { - for(File i : folder.listFiles()) - { - if(i.isFile()) - { - buf.add(i); - } - - else if(i.isDirectory()) - { - buf.addAll(getFiles(folder)); - } - } - } - - return buf; - } - - public void compile() - { - dimensions = new KMap<>(); - biomes = new KMap<>(); - genObjectGroups = new KMap<>(); - ready = false; - PrecisionStopwatch p = PrecisionStopwatch.start(); - File dims = new File(Iris.instance.getDataFolder(), "dimensions"); - dims.mkdirs(); - - try - { - IrisPack master = new IrisPack(loadJSON("pack/manifest.json")); - master.load(); - } - - catch(Throwable e) - { - e.printStackTrace(); - } - - L.v(ChatColor.LIGHT_PURPLE + "Processing Content"); - - for(GenObjectGroup i : genObjectGroups.v()) - { - i.processVariants(); - } - - for(String i : dimensions.k()) - { - IrisDimension id = dimensions.get(i); - CompiledDimension d = new CompiledDimension(id); - - for(IrisBiome j : id.getBiomes()) - { - d.registerBiome(j); - KList g = j.getSchematicGroups().k(); - g.sort(); - - for(String k : g) - { - d.registerObject(genObjectGroups.get(k)); - - if(j.isLush()) - { - try - { - GenObjectGroup ggx = genObjectGroups.get(k).copy("-lush-" + j.getLush()); - ggx.applyLushFilter(j.getLush()); - d.registerObject(ggx); - j.getSchematicGroups().put(ggx.getName(), j.getSchematicGroups().get(k)); - j.getSchematicGroups().remove(k); - } - - catch(Throwable e) - { - e.printStackTrace(); - } - } - - if(j.isSnowy()) - { - try - { - GenObjectGroup ggx = genObjectGroups.get(k).copy("-snow-" + j.getSnow()); - ggx.applySnowFilter((int) (j.getSnow() * 4)); - d.registerObject(ggx); - j.getSchematicGroups().put(ggx.getName(), j.getSchematicGroups().get(k)); - j.getSchematicGroups().remove(k); - } - - catch(Throwable e) - { - e.printStackTrace(); - } - } - } - } - - d.sort(); - compiledDimensions.put(i, d); - } - - for(String i : compiledDimensions.k()) - { - CompiledDimension d = compiledDimensions.get(i); - d.computeObjectSize(); - L.i(ChatColor.GREEN + i + ChatColor.WHITE + " (" + d.getEnvironment().toString().toLowerCase() + ")"); - L.i(ChatColor.DARK_GREEN + " Biomes: " + ChatColor.GRAY + Form.f(d.getBiomes().size())); - L.i(ChatColor.DARK_GREEN + " Objects: " + ChatColor.GRAY + Form.f(d.countObjects())); - L.flush(); - } - - L.i(""); - L.i(ChatColor.LIGHT_PURPLE + "Compilation Time: " + ChatColor.WHITE + Form.duration(p.getMilliseconds(), 2)); - L.i(ChatColor.GREEN + "Iris Dimensions Successfully Compiled!"); - L.i(""); - L.flush(); - - ready = true; - } - - public KMap getCompiledDimensions() - { - return compiledDimensions; - } - - public KMap getDimensions() - { - return dimensions; - } - - public KMap getBiomes() - { - return biomes; - } - - public KMap getGenObjectGroups() - { - return genObjectGroups; - } - - public CompiledDimension getDimension(String name) - { - return compiledDimensions.get(name); - } - - public IrisDimension loadDimension(String s) throws JSONException, IOException - { - L.v(ChatColor.GOLD + "Loading Dimension: " + ChatColor.GRAY + "pack/dimensions/" + s + ".json"); - return new IrisDimension(loadJSON("pack/dimensions/" + s + ".json")); - } - - public IrisBiome loadBiome(String s) throws JSONException, IOException - { - L.v(ChatColor.DARK_GREEN + "Loading Biome: " + ChatColor.GRAY + "pack/biomes/" + s + ".json"); - return new IrisBiome(loadJSON("pack/biomes/" + s + ".json")); - } - - public GenObjectGroup loadSchematicGroup(String s) - { - GenObjectGroup g = GenObjectGroup.load("pack/objects/" + s); - L.v(ChatColor.DARK_AQUA + "Loading Objects: " + ChatColor.GRAY + "pack/objects/" + s + ".ish"); - - if(g != null) - { - genObjectGroups.put(s, g); - return g; - } - - L.i("Cannot load Object Group: " + s); - - return null; - } - - public GenObject loadSchematic(String s) throws IOException - { - return GenObject.load(loadResource("pack/objects/" + s + ".ish")); - } - - public JSONObject loadJSON(String s) throws JSONException, IOException - { - return new JSONObject(IO.readAll(loadResource(s))); - } - - public File loadFolder(String string) - { - File internal = internalResource(string); - - if(internal.exists()) - { - return internal; - } - - L.f(ChatColor.RED + "Cannot find folder: " + internal.getAbsolutePath()); - return null; - } - - public InputStream loadResource(String string) throws IOException - { - File internal = internalResource(string); - - if(internal.exists()) - { - L.flush(); - return new FileInputStream(internal); - } - - else - { - L.f(ChatColor.RED + "Cannot find Resource: " + ChatColor.YELLOW + internal.getAbsolutePath()); - - if(internal.getName().equals("manifest.json")) - { - L.f(ChatColor.RED + "Reloading Iris to fix manifest jar issues"); - Iris.instance.reload(); - } - - return null; - } - } - - private static File internalResource(String resource) - { - if(new File(Iris.instance.getDataFolder(), "pack").exists()) - { - return new File(Iris.instance.getDataFolder(), resource); - } - - return new File(System.getProperty("java.io.tmpdir") + "/Iris/" + resource); - } - - public void registerBiome(String name, IrisBiome biome) - { - biomes.put(name, biome); - } - - public void registerDimension(String i, IrisDimension d) - { - dimensions.put(i, d); - } - - public void invalidate() - { - J.attempt(() -> new File(Iris.instance.getDataFolder(), "dimensions").delete()); - compiledDimensions.clear(); - } - - public IrisBiome getBiomeById(String id) - { - if(!biomes.containsKey(id)) - { - try - { - biomes.put(id, ((PackController) Iris.instance.getController(PackController.class)).loadBiome(id)); - } - - catch(JSONException | IOException e) - { - e.printStackTrace(); - } - } - - return biomes.get(id); - } - - public void dispose() - { - for(GenObjectGroup i : genObjectGroups.values()) - { - i.dispose(); - } - - for(IrisDimension i : dimensions.values()) - { - i.dispose(); - } - - for(CompiledDimension i : compiledDimensions.values()) - { - i.dispose(); - } - - compiledDimensions.clear(); - dimensions.clear(); - biomes.clear(); - genObjectGroups.clear(); - } -} diff --git a/src/main/java/ninja/bytecode/iris/controller/WandController.java b/src/main/java/ninja/bytecode/iris/controller/WandController.java deleted file mode 100644 index 7bad52843..000000000 --- a/src/main/java/ninja/bytecode/iris/controller/WandController.java +++ /dev/null @@ -1,323 +0,0 @@ -package ninja.bytecode.iris.controller; - -import java.awt.Color; -import java.util.Iterator; - -import org.bukkit.Bukkit; -import org.bukkit.ChatColor; -import org.bukkit.Location; -import org.bukkit.Material; -import org.bukkit.Sound; -import org.bukkit.block.Block; -import org.bukkit.enchantments.Enchantment; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.block.Action; -import org.bukkit.event.player.PlayerInteractEvent; -import org.bukkit.inventory.EquipmentSlot; -import org.bukkit.inventory.ItemFlag; -import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.ItemMeta; -import org.bukkit.util.BlockVector; -import org.bukkit.util.Vector; - -import mortar.bukkit.plugin.Controller; -import mortar.compute.math.M; -import ninja.bytecode.iris.Iris; -import ninja.bytecode.iris.generator.genobject.GenObject; -import ninja.bytecode.iris.util.Cuboid; -import ninja.bytecode.iris.util.MB; -import ninja.bytecode.iris.util.ParticleEffect; -import ninja.bytecode.iris.util.ParticleRedstone; -import ninja.bytecode.shuriken.collections.KList; - -public class WandController extends Controller -{ - @Override - public void start() - { - // TODO: Optimize - Bukkit.getScheduler().scheduleSyncRepeatingTask(Iris.instance, () -> - { - for(Player i : Bukkit.getOnlinePlayers()) - { - tick(i); - } - }, 0, 0); - } - - @Override - public void stop() - { - - } - - @Override - public void tick() - { - - } - - @EventHandler - public void tick(Player p) - { - try - { - if(isWand(p.getInventory().getItemInMainHand())) - { - Location[] d = getCuboid(p.getInventory().getItemInMainHand()); - draw(d, p); - } - } - - catch(Throwable e) - { - - } - } - - public void draw(Location[] d, Player p) - { - ParticleEffect.CRIT_MAGIC.display(0.1f, 1, d[0].clone().add(0.5, 0.5, 0.5).clone().add(Vector.getRandom().subtract(Vector.getRandom()).normalize().clone().multiply(0.65)), p); - ParticleEffect.CRIT.display(0.1f, 1, d[1].clone().add(0.5, 0.5, 0.5).clone().add(Vector.getRandom().subtract(Vector.getRandom()).normalize().clone().multiply(0.65)), p); - - if(!d[0].getWorld().equals(d[1].getWorld())) - { - return; - } - - if(d[0].distanceSquared(d[1]) > 64 * 64) - { - return; - } - - int minx = Math.min(d[0].getBlockX(), d[1].getBlockX()); - int miny = Math.min(d[0].getBlockY(), d[1].getBlockY()); - int minz = Math.min(d[0].getBlockZ(), d[1].getBlockZ()); - int maxx = Math.max(d[0].getBlockX(), d[1].getBlockX()); - int maxy = Math.max(d[0].getBlockY(), d[1].getBlockY()); - int maxz = Math.max(d[0].getBlockZ(), d[1].getBlockZ()); - - for(double j = minx - 1; j < maxx + 1; j += 0.25) - { - for(double k = miny - 1; k < maxy + 1; k += 0.25) - { - for(double l = minz - 1; l < maxz + 1; l += 0.25) - { - if(M.r(0.25)) - { - boolean jj = j == minx || j == maxx; - boolean kk = k == miny || k == maxy; - boolean ll = l == minz || l == maxz; - double aa = j; - double bb = k; - double cc = l; - - if((jj && kk) || (jj && ll) || (ll && kk)) - { - Vector push = new Vector(0, 0, 0); - - if(j == minx) - { - push.add(new Vector(-0.55, 0, 0)); - } - - if(k == miny) - { - push.add(new Vector(0, -0.55, 0)); - } - - if(l == minz) - { - push.add(new Vector(0, 0, -0.55)); - } - - if(j == maxx) - { - push.add(new Vector(0.55, 0, 0)); - } - - if(k == maxy) - { - push.add(new Vector(0, 0.55, 0)); - } - - if(l == maxz) - { - push.add(new Vector(0, 0, 0.55)); - } - - Location lv = new Location(d[0].getWorld(), aa, bb, cc).clone().add(0.5, 0.5, 0.5).clone().add(push); - int color = Color.getHSBColor((float) (0.5f + (Math.sin((aa + bb + cc + (p.getTicksLived() / 2)) / 20f) / 2)), 1, 1).getRGB(); - new ParticleRedstone().setColor(new Color(color)).play(lv, p); - } - } - } - } - } - } - - @EventHandler - public void on(PlayerInteractEvent e) - { - if(e.getHand().equals(EquipmentSlot.HAND) && isWand(e.getPlayer().getInventory().getItemInMainHand())) - { - if(e.getAction().equals(Action.LEFT_CLICK_BLOCK)) - { - e.setCancelled(true); - e.getPlayer().getInventory().setItemInMainHand(update(true, e.getClickedBlock().getLocation(), e.getPlayer().getInventory().getItemInMainHand())); - e.getPlayer().playSound(e.getClickedBlock().getLocation(), Sound.BLOCK_END_PORTAL_FRAME_FILL, 1f, 0.67f); - e.getPlayer().updateInventory(); - } - - else if(e.getAction().equals(Action.RIGHT_CLICK_BLOCK)) - { - e.setCancelled(true); - e.getPlayer().getInventory().setItemInMainHand(update(false, e.getClickedBlock().getLocation(), e.getPlayer().getInventory().getItemInMainHand())); - e.getPlayer().playSound(e.getClickedBlock().getLocation(), Sound.BLOCK_END_PORTAL_FRAME_FILL, 1f, 1.17f); - e.getPlayer().updateInventory(); - } - } - } - - public static void pasteSchematic(GenObject s, Location at) - { - s.place(at); - } - - @SuppressWarnings("deprecation") - public static GenObject createSchematic(ItemStack wand, Location at) - { - if(!isWand(wand)) - { - return null; - } - - try - { - Location[] f = getCuboid(wand); - Cuboid c = new Cuboid(f[0], f[1]); - GenObject s = new GenObject(c.getSizeX(), c.getSizeY(), c.getSizeZ()); - Iterator bb = c.iterator(); - while(bb.hasNext()) - { - Block b = bb.next(); - - if(b.getType().equals(Material.AIR)) - { - continue; - } - - byte data = b.getData(); - - BlockVector bv = b.getLocation().subtract(c.getCenter()).toVector().toBlockVector(); - s.put(bv.getBlockX(), bv.getBlockY(), bv.getBlockZ(), - - new MB(b.getType(), data)); - } - - return s; - } - - catch(Throwable e) - { - e.printStackTrace(); - } - - return null; - } - - public static Location stringToLocation(String s) - { - try - { - String[] f = s.split("\\Q in \\E"); - String[] g = f[0].split("\\Q,\\E"); - return new Location(Bukkit.getWorld(f[1]), Integer.valueOf(g[0]), Integer.valueOf(g[1]), Integer.valueOf(g[2])); - } - - catch(Throwable e) - { - return null; - } - } - - public static String locationToString(Location s) - { - if(s == null) - { - return "<#>"; - } - - return s.getBlockX() + "," + s.getBlockY() + "," + s.getBlockZ() + " in " + s.getWorld().getName(); - } - - public static ItemStack createWand() - { - return createWand(null, null); - } - - public static ItemStack update(boolean left, Location a, ItemStack item) - { - if(!isWand(item)) - { - return item; - } - - Location[] f = getCuboid(item); - Location other = left ? f[1] : f[0]; - - if(other != null && !other.getWorld().getName().equals(a.getWorld().getName())) - { - other = null; - } - - return createWand(left ? a : other, left ? other : a); - } - - public static ItemStack createWand(Location a, Location b) - { - ItemStack is = new ItemStack(Material.BLAZE_ROD); - is.addUnsafeEnchantment(Enchantment.ARROW_INFINITE, 1); - ItemMeta im = is.getItemMeta(); - im.setDisplayName(ChatColor.BOLD + "" + ChatColor.GOLD + "Wand of Iris"); - im.setUnbreakable(true); - im.addItemFlags(ItemFlag.HIDE_ATTRIBUTES, ItemFlag.HIDE_PLACED_ON, ItemFlag.HIDE_POTION_EFFECTS, ItemFlag.HIDE_DESTROYS, ItemFlag.HIDE_ENCHANTS); - im.setLore(new KList().add(locationToString(a), locationToString(b))); - is.setItemMeta(im); - - return is; - } - - public static boolean isWand(Player p) - { - ItemStack is = p.getInventory().getItemInMainHand(); - return !(is == null || !isWand(is)); - } - - public static Location[] getCuboid(ItemStack is) - { - ItemMeta im = is.getItemMeta(); - return new Location[] {stringToLocation(im.getLore().get(0)), stringToLocation(im.getLore().get(1))}; - } - - public static boolean isWand(ItemStack item) - { - if(!item.getType().equals(createWand().getType())) - { - return false; - } - - if(!item.getItemMeta().getEnchants().equals(createWand().getItemMeta().getEnchants())) - { - return false; - } - - if(!item.getItemMeta().getDisplayName().equals(createWand().getItemMeta().getDisplayName())) - { - return false; - } - - return true; - } -} diff --git a/src/main/java/ninja/bytecode/iris/generator/IrisGenerator.java b/src/main/java/ninja/bytecode/iris/generator/IrisGenerator.java deleted file mode 100644 index 299f89101..000000000 --- a/src/main/java/ninja/bytecode/iris/generator/IrisGenerator.java +++ /dev/null @@ -1,728 +0,0 @@ -package ninja.bytecode.iris.generator; - -import java.util.List; -import java.util.Random; - -import org.bukkit.Location; -import org.bukkit.Material; -import org.bukkit.TreeSpecies; -import org.bukkit.World; -import org.bukkit.block.Biome; -import org.bukkit.generator.BlockPopulator; -import org.bukkit.material.Leaves; -import org.bukkit.util.NumberConversions; - -import mortar.util.text.C; -import ninja.bytecode.iris.Iris; -import ninja.bytecode.iris.generator.atomics.AtomicChunkData; -import ninja.bytecode.iris.generator.genobject.GenObjectDecorator; -import ninja.bytecode.iris.generator.genobject.PlacedObject; -import ninja.bytecode.iris.generator.layer.GenLayerBiome; -import ninja.bytecode.iris.generator.layer.GenLayerCarving; -import ninja.bytecode.iris.generator.layer.GenLayerCaves; -import ninja.bytecode.iris.generator.layer.GenLayerCliffs; -import ninja.bytecode.iris.generator.layer.GenLayerLayeredNoise; -import ninja.bytecode.iris.generator.layer.GenLayerOres; -import ninja.bytecode.iris.generator.layer.GenLayerSnow; -import ninja.bytecode.iris.generator.parallax.ParallaxWorldGenerator; -import ninja.bytecode.iris.pack.BiomeType; -import ninja.bytecode.iris.pack.CompiledDimension; -import ninja.bytecode.iris.pack.IrisBiome; -import ninja.bytecode.iris.pack.IrisRegion; -import ninja.bytecode.iris.util.ChunkPlan; -import ninja.bytecode.iris.util.InterpolationMode; -import ninja.bytecode.iris.util.IrisInterpolation; -import ninja.bytecode.iris.util.IrisMetrics; -import ninja.bytecode.iris.util.MB; -import ninja.bytecode.iris.util.NoiseProvider; -import ninja.bytecode.iris.util.ObjectMode; -import ninja.bytecode.iris.util.SChunkVector; -import ninja.bytecode.shuriken.bench.PrecisionStopwatch; -import ninja.bytecode.shuriken.collections.KList; -import ninja.bytecode.shuriken.logging.L; -import ninja.bytecode.shuriken.math.CNG; -import ninja.bytecode.shuriken.math.M; -import ninja.bytecode.shuriken.math.RNG; - -public class IrisGenerator extends ParallaxWorldGenerator -{ - //@builder - public static final KList ROCK = new KList().add(new MB[] { - MB.of(Material.STONE), - MB.of(Material.STONE), - MB.of(Material.STONE), - MB.of(Material.STONE), - MB.of(Material.STONE), - MB.of(Material.STONE), - MB.of(Material.STONE), - MB.of(Material.STONE), - MB.of(Material.STONE), - MB.of(Material.STONE, 5), - MB.of(Material.STONE, 5), - MB.of(Material.STONE, 5), - MB.of(Material.STONE, 5), - MB.of(Material.STONE, 5), - MB.of(Material.STONE, 5) - }); - //@done - private boolean disposed; - private CNG scatter; - private CNG beach; - private CNG swirl; - private MB BEDROCK = new MB(Material.BEDROCK); - private GenObjectDecorator god; - private GenLayerLayeredNoise glLNoise; - private GenLayerBiome glBiome; - private GenLayerSnow glSnow; - private GenLayerCliffs glCliffs; - private GenLayerCaves glCaves; - private GenLayerCarving glCarving; - private GenLayerOres glOres; - private RNG rTerrain; - private CompiledDimension dim; - private IrisMetrics metrics = new IrisMetrics(0, 512); - private int objectHits; - - public IrisGenerator() - { - this(Iris.pack().getDimension("overworld")); - } - - public void hitObject() - { - objectHits++; - } - - public IrisGenerator(CompiledDimension dim) - { - objectHits = 0; - CNG.hits = 0; - CNG.creates = 0; - this.dim = dim; - disposed = false; - L.i("Preparing Dimension: " + dim.getName() + " With " + dim.getBiomes().size() + " Biomes..."); - } - - public int scatterInt(int x, int y, int z, int bound) - { - return (int) (scatter(x, y, z) * (double) (bound - 1)); - } - - public double scatter(int x, int y, int z) - { - return scatter.noise(x, y, z); - } - - public boolean scatterChance(int x, int y, int z, double chance) - { - return scatter(x, y, z) > chance; - } - - @Override - public void onInit(World world, Random random) - { - if(disposed) - { - return; - } - - random = new Random(world.getSeed()); - rTerrain = new RNG(world.getSeed()); - swirl = new CNG(rTerrain.nextParallelRNG(0), 40, 1).scale(0.007); - beach = new CNG(rTerrain.nextParallelRNG(0), 3, 1).scale(0.15); - glLNoise = new GenLayerLayeredNoise(this, world, random, rTerrain.nextParallelRNG(2)); - glBiome = new GenLayerBiome(this, world, random, rTerrain.nextParallelRNG(4), dim.getBiomes()); - glSnow = new GenLayerSnow(this, world, random, rTerrain.nextParallelRNG(5)); - glCliffs = new GenLayerCliffs(this, world, random, rTerrain.nextParallelRNG(9)); - glCaves = new GenLayerCaves(this, world, random, rTerrain.nextParallelRNG(10)); - glCarving = new GenLayerCarving(this, world, random, rTerrain.nextParallelRNG(11)); - glOres = new GenLayerOres(this, world, random, rTerrain.nextParallelRNG(12)); - scatter = new CNG(rTerrain.nextParallelRNG(52), 1, 1).scale(10); - - if(Iris.settings.performance.objectMode.equals(ObjectMode.PARALLAX)) - { - god = new GenObjectDecorator(this); - } - } - - @Override - public ChunkPlan onInitChunk(World world, int x, int z, Random random) - { - return new ChunkPlan(); - } - - public ChunkData generateChunkData(World world, Random random, int x, int z, BiomeGrid biome) - { - random = new Random(world.getSeed()); - PrecisionStopwatch s = getMetrics().start(); - ChunkData d = super.generateChunkData(world, random, x, z, biome); - getMetrics().stop("chunk:ms", s); - getMetrics().put("noise-hits", CNG.hits); - metrics.setGenerators((int) CNG.creates); - CNG.hits = 0; - return d; - } - - public IrisBiome biome(String name) - { - return getDimension().getBiomeByName(name); - } - - public double getOffsetX(double x, double z) - { - return Math.round((double) x * (Iris.settings.gen.horizontalZoom / 1.90476190476)) + swirl.noise(x, z); - } - - public double getOffsetZ(double x, double z) - { - return Math.round((double) z * (Iris.settings.gen.horizontalZoom / 1.90476190476)) - swirl.noise(z, x); - } - - public IrisMetrics getMetrics() - { - return metrics; - } - - public IrisBiome getBeach(IrisBiome biome) - { - IrisBiome beach = null; - IrisRegion region = glBiome.getRegion(biome.getRegionID()); - - if(region != null) - { - beach = region.getBeach(); - } - - if(beach == null) - { - beach = biome("Beach"); - } - - return beach; - } - - public int computeHeight(int x, int z, ChunkPlan plan, IrisBiome biome) - { - return (int) Math.round(M.clip(getANoise((int) x, (int) z, plan, biome), 0D, 1D) * 253); - } - - public double getInterpolation(int x, int z, double opacity, ChunkPlan plan) - { - PrecisionStopwatch s = getMetrics().start(); - NoiseProvider n = (xf, zf) -> getBiomedHeight((int) Math.round(xf), (int) Math.round(zf), plan); - double d = 0; - double rad = Iris.settings.gen.interpolationRadius; - - InterpolationMode m = Iris.settings.gen.interpolationMode; - - if(m.equals(InterpolationMode.BILINEAR)) - { - d = IrisInterpolation.getBilinearNoise(x, z, rad, n); - } - - else if(m.equals(InterpolationMode.BICUBIC)) - { - d = IrisInterpolation.getBicubicNoise(x, z, rad, n); - } - - else if(m.equals(InterpolationMode.HERMITE_BICUBIC)) - { - d = IrisInterpolation.getHermiteNoise(x, z, rad, n); - } - - else - { - d = n.noise(x, z); - } - - getMetrics().stop("interpolation:ms:x256:/biome:.", s); - - return d; - } - - public double getANoise(int x, int z, ChunkPlan plan, IrisBiome biome) - { - double hv = getInterpolation((int) x, (int) z, 1D, plan); - hv += glLNoise.generateLayer(hv * Iris.settings.gen.roughness * 215, (double) x * Iris.settings.gen.roughness * 0.82, (double) z * Iris.settings.gen.roughness * 0.82) * (1.6918 * (hv * 2.35)); - - if(biome.hasCliffs()) - { - hv = glCliffs.generateLayer(hv, x, z, biome.getCliffScale(), biome.getCliffChance()); - } - - return hv; - } - - public IrisRegion getRegion(IrisBiome biome) - { - return glBiome.getRegion(biome.getRegionID()); - } - - @Override - public List getDefaultPopulators(World world) - { - KList p = new KList<>(); - - if(Iris.settings.performance.objectMode.equals(ObjectMode.QUICK_N_DIRTY) || Iris.settings.performance.objectMode.equals(ObjectMode.LIGHTING)) - { - p.add(god = new GenObjectDecorator(this)); - } - - return p; - } - - @Override - public void onGenParallax(int x, int z, Random random) - { - try - { - PrecisionStopwatch s = getMetrics().start(); - god.populateParallax(x, z, random); - String xx = "x" + getParallaxSize().getX() * getParallaxSize().getZ(); - getMetrics().stop("object:" + xx + ":.:ms:/parallax", s); - } - - catch(Throwable e) - { - e.printStackTrace(); - } - } - - private double getObjectHits() - { - int hits = objectHits; - objectHits = 0; - return hits; - } - - public IrisBiome getBiome(int x, int z) - { - IrisBiome biome = glBiome.getBiome(x, z); - int height = computeHeight((int) x, (int) z, new ChunkPlan(), biome); - biome = getBiome((int) x, height, (int) z); - - return biome; - } - - private IrisBiome getBiome(int x, int y, int z) - { - int seaLevel = Iris.settings.gen.seaLevel; - boolean land = y >= seaLevel; - int beachHeight = land ? 1 + (int) Math.round(seaLevel + beach.noise(x, z) + 1) : seaLevel; - boolean beach = y <= beachHeight && land; - IrisBiome biome = glBiome.getBiome(x, z); - IrisBiome realBiome = glBiome.getBiome(x, z, true); - boolean nearAquatic = glBiome.isNearAquatic(x, z); - IrisRegion region = getRegion(realBiome); - - // Remove Oceans from biomes above sea level - if(land && biome.getType().equals(BiomeType.FLUID)) - { - biome = realBiome; - } - - // Add Beaches & Shores - if(beach && biome.getType().equals(BiomeType.LAND)) - { - biome = nearAquatic ? region.getBeach() : region.getShore(); - } - - // // Replace biomes under sea level with lakes - if(!land && biome.getType().equals(BiomeType.LAND)) - { - biome = region.getLake(); - } - - return biome; - } - - @Override - public Biome onGenColumn(int wxxf, int wzxf, int x, int z, ChunkPlan plan, AtomicChunkData data, boolean surfaceOnly) - { - PrecisionStopwatch s = getMetrics().start(); - if(disposed) - { - data.setBlock(x, 0, z, Material.MAGENTA_GLAZED_TERRACOTTA); - return Biome.VOID; - } - - double wx = getOffsetX(wxxf, wzxf); - double wz = getOffsetZ(wxxf, wzxf); - int wxx = (int) wx; - int wzx = (int) wz; - int highest = 0; - int seaLevel = Iris.settings.gen.seaLevel; - IrisBiome biome = glBiome.getBiome(wxx, wzx); - int height = computeHeight(wxx, wzx, plan, biome); - int max = Math.max(height, seaLevel); - biome = getBiome(wxx, height, wzx); - MB FLUID = biome.getFluid(); - - for(int i = surfaceOnly ? max > seaLevel ? max - 2 : height - 2 : 0; i < max; i++) - { - MB mb = ROCK.get(scatterInt(wzx, i, wxx, ROCK.size())); - boolean carved = surfaceOnly ? false : glCarving.isCarved(wzx, wxx, x, z, i, data, plan); - boolean underwater = i >= height && i < seaLevel; - boolean underground = i < height; - int dheight = biome.getDirtDepth(); - int rheight = biome.getRockDepth(); - boolean dirt = (height - 1) - i < (dheight > 0 ? scatterInt(x, i, z, 4) : 0) + dheight; - boolean rocky = i > height - rheight && !dirt; - boolean bedrock = i == 0 || !Iris.settings.gen.flatBedrock ? i <= 2 : i < scatterInt(x, i, z, 3); - - if(!carved) - { - mb = underwater ? FLUID : mb; - mb = underground && dirt ? biome.getSubSurface(wxx, i, wzx, rTerrain) : mb; - mb = underground && rocky ? biome.getRock(wxx, i, wzx, rTerrain) : mb; - mb = bedrock ? BEDROCK : mb; - - if(i == height - 1) - { - mb = biome.getSurface(wx, wz, rTerrain); - } - - highest = i > highest ? i : highest; - } - - else - { - mb = MB.of(Material.AIR); - } - data.setBlock(x, i, z, mb.material, mb.data); - } - - getMetrics().stop("terrain:ms:x256:/chunk:..", s); - - int hw = 0; - int hl = 0; - - for(int i = highest; i > 0; i--) - { - Material t = data.getType(x, i, z); - hw = i > seaLevel && hw == 0 && (t.equals(Material.WATER) || t.equals(Material.STATIONARY_WATER)) ? i : hw; - hl = hl == 0 && !t.equals(Material.AIR) ? i : hl; - } - - plan.setRealHeight(x, z, hl); - plan.setRealWaterHeight(x, z, hw == 0 ? seaLevel : hw); - plan.setBiome(x, z, biome); - - if(!surfaceOnly) - { - glCaves.genCaves(wxxf, wzxf, x, z, data, plan); - glOres.genOres(wxxf, wzxf, x, z, hl, data, plan); - } - - for(int i = highest; i > 0; i--) - { - Material t = data.getType(x, i, z); - hw = i > seaLevel && hw == 0 && (t.equals(Material.WATER) || t.equals(Material.STATIONARY_WATER)) ? i : hw; - hl = hl == 0 && !t.equals(Material.AIR) ? i : hl; - } - - plan.setRealHeight(x, z, hl); - plan.setRealWaterHeight(x, z, hw == 0 ? seaLevel : hw); - plan.setBiome(x, z, biome); - double time = s.getMilliseconds() * 256D; - double atime = getMetrics().get("chunk:ms").getAverage(); - getMetrics().setParScale(time / atime); - getMetrics().put("objects:,:/parallax", getObjectHits()); - - return biome.getRealBiome(); - } - - @Override - protected void onDecorateChunk(World world, int cx, int cz, AtomicChunkData data, ChunkPlan plan) - { - PrecisionStopwatch p = PrecisionStopwatch.start(); - int x = 0; - int z = 0; - int hhx = 0; - int v = 0; - int borderh = 0; - int above = 0; - int below = 0; - - for(int f = 0; f < Iris.settings.gen.blockSmoothing; f++) - { - for(x = 0; x < 16; x++) - { - for(z = 0; z < 16; z++) - { - hhx = plan.getRealHeight(x, z); - borderh = 0; - - if(x == 0 || x == 15) - { - borderh++; - } - - if(z == 0 || z == 15) - { - borderh++; - } - - if(hhx > Iris.settings.gen.seaLevel - 2) - { - above = 0; - below = 0; - - if(x + 1 <= 15) - { - v = plan.getRealHeight(x + 1, z); - - if(v > hhx) - { - above++; - } - - else if(v < hhx) - { - below++; - } - } - - if(x - 1 >= 0) - { - v = plan.getRealHeight(x - 1, z); - - if(v > hhx) - { - above++; - } - - else if(v < hhx) - { - below++; - } - } - - if(z + 1 <= 15) - { - v = plan.getRealHeight(x, z + 1); - - if(v > hhx) - { - above++; - } - - else if(v < hhx) - { - below++; - } - } - - if(z - 1 >= 0) - { - v = plan.getRealHeight(x, z - 1); - - if(v > hhx) - { - above++; - } - - else if(v < hhx) - { - below++; - } - } - - // Patch Hole - if(above >= 4 - borderh) - { - data.setBlock(x, hhx + 1, z, data.getMB(x, hhx, z)); - plan.setRealHeight(x, z, hhx + 1); - } - - // Remove Nipple - else if(below >= 4 - borderh) - { - data.setBlock(x, hhx - 1, z, data.getMB(x, hhx, z)); - data.setBlock(x, hhx, z, Material.AIR); - plan.setRealHeight(x, z, hhx - 1); - } - } - } - } - } - - getMetrics().stop("decoration:ms:/chunk:..", p); - } - - @SuppressWarnings("deprecation") - @Override - protected void onDecorateColumn(World world, int x, int z, int wx, int wz, AtomicChunkData data, ChunkPlan plan) - { - PrecisionStopwatch p = PrecisionStopwatch.start(); - int h = plan.getRealHeight(x, z); - - if(h < 63) - { - return; - } - - IrisBiome biome = plan.getBiome(x, z); - - if(biome == null) - { - return; - } - - if(biome.getSnow() > 0) - { - double level = glSnow.getHeight(wx, wz) * biome.getSnow(); - int blocks = (int) level; - level -= blocks; - int layers = (int) (level * 7D); - int snowHeight = blocks + (layers > 0 ? 1 : 0); - - for(int j = 0; j < snowHeight; j++) - { - data.setBlock(x, h + j + 1, z, j == snowHeight - 1 ? Material.SNOW : Material.SNOW_BLOCK, j == snowHeight - 1 ? (byte) layers : (byte) 0); - } - } - - else - { - MB mbx = biome.getScatterChanceSingle(scatter(wx, h, wz), scatter(wz, h, wx)); - - if(!mbx.material.equals(Material.AIR)) - { - data.setBlock(x, h + 1, z, mbx.material, mbx.data); - - if(mbx.material.equals(Material.DOUBLE_PLANT)) - { - data.setBlock(x, h + 2, z, mbx.material, (byte) 10); - } - } - } - - if(biome.getLush() > 0.33) - { - double lx = (biome.getLush() > 1 ? 1 : biome.getLush()) - 0.33; - double g = glSnow.getHeight(wz, wx); - - if(lx / 1.18D > g) - { - double gx = glSnow.getHeight(wx * 2.25, wz * 2.25); - double gf = glSnow.getHeight(wx * 6.25, wz * 6.25); - - if(gf > gx) - { - Leaves l = new Leaves(TreeSpecies.values()[(int) (gx * (TreeSpecies.values().length - 1))]); - l.setDecaying(false); - l.setDecayable(false); - data.setBlock(x, h - 1, z, data.getMB(x, h, z)); - data.setBlock(x, h, z, l.getItemType(), l.getData()); - - if(gf - gx > 0.2) - { - l = new Leaves(TreeSpecies.values()[(int) (gf * (TreeSpecies.values().length - 1))]); - l.setDecaying(false); - l.setDecayable(false); - data.setBlock(x, h + 1, z, l.getItemType(), l.getData()); - } - } - } - } - - getMetrics().stop("pardecoration:ms:x256:/chunk:..", p); - } - - @Override - public void onPostChunk(World world, int cx, int cz, Random random, AtomicChunkData data, ChunkPlan plan) - { - - } - - private double getBiomedHeight(int x, int z, ChunkPlan plan) - { - double xh = plan.getHeight(x, z); - - if(xh == -1) - { - IrisBiome biome = glBiome.getBiome(x, z); - double h = Iris.settings.gen.baseHeight + biome.getHeight(); - h += biome.getGenerator().getHeight(x, z) / 2D; - plan.setHeight(x, z, h); - return h; - } - - return xh; - } - - public RNG getRTerrain() - { - return rTerrain; - } - - public CompiledDimension getDimension() - { - return dim; - } - - public void dispose() - { - if(disposed) - { - return; - } - L.w(C.YELLOW + "Disposed Iris World " + C.RED + getWorld().getName()); - disposed = true; - dim = null; - glLNoise = null; - glSnow = null; - glCliffs = null; - god.dispose(); - } - - public boolean isDisposed() - { - return disposed; - } - - public PlacedObject nearest(Location o, int i) - { - PlacedObject f = null; - double d = Integer.MAX_VALUE; - if(god != null) - { - for(PlacedObject j : god.getHistory()) - { - double dx = Math.abs(NumberConversions.square(j.getX() - o.getX()) + NumberConversions.square(j.getY() - o.getY()) + NumberConversions.square(j.getZ() - o.getZ())); - - if(dx < d) - { - d = dx; - f = j; - } - } - } - - return f; - } - - public PlacedObject randomObject(String string) - { - return god.randomObject(string); - } - - @Override - protected SChunkVector getParallaxSize() - { - return dim.getMaxChunkSize(); - } - - @Override - protected void onUnload() - { - dispose(); - } - - public void inject(CompiledDimension dimension) - { - this.dim = dimension; - onInit(getWorld(), rTerrain); - } -} \ No newline at end of file diff --git a/src/main/java/ninja/bytecode/iris/generator/IrisSample.java b/src/main/java/ninja/bytecode/iris/generator/IrisSample.java deleted file mode 100644 index 40afbc7bb..000000000 --- a/src/main/java/ninja/bytecode/iris/generator/IrisSample.java +++ /dev/null @@ -1,81 +0,0 @@ -package ninja.bytecode.iris.generator; - -import ninja.bytecode.iris.pack.IrisBiome; -import ninja.bytecode.iris.util.MB; - -public class IrisSample -{ - public MB surface; - public int height; - public IrisBiome biome; - - public MB getSurface() - { - return surface; - } - - public void setSurface(MB surface) - { - this.surface = surface; - } - - public int getHeight() - { - return height; - } - - public void setHeight(int height) - { - this.height = height; - } - - public IrisBiome getBiome() - { - return biome; - } - - public void setBiome(IrisBiome biome) - { - this.biome = biome; - } - - @Override - public int hashCode() - { - final int prime = 31; - int result = 1; - result = prime * result + ((biome == null) ? 0 : biome.hashCode()); - result = prime * result + height; - result = prime * result + ((surface == null) ? 0 : surface.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) - { - if(this == obj) - return true; - if(obj == null) - return false; - if(getClass() != obj.getClass()) - return false; - IrisSample other = (IrisSample) obj; - if(biome == null) - { - if(other.biome != null) - return false; - } - else if(!biome.equals(other.biome)) - return false; - if(height != other.height) - return false; - if(surface == null) - { - if(other.surface != null) - return false; - } - else if(!surface.equals(other.surface)) - return false; - return true; - } -} diff --git a/src/main/java/ninja/bytecode/iris/generator/WorldReactor.java b/src/main/java/ninja/bytecode/iris/generator/WorldReactor.java deleted file mode 100644 index a1acca8fa..000000000 --- a/src/main/java/ninja/bytecode/iris/generator/WorldReactor.java +++ /dev/null @@ -1,105 +0,0 @@ -package ninja.bytecode.iris.generator; - -import java.util.Collections; -import java.util.function.Consumer; - -import org.bukkit.Chunk; -import org.bukkit.World; -import org.bukkit.entity.Player; - -import mortar.api.nms.NMP; -import mortar.api.sched.J; -import mortar.compute.math.M; -import mortar.lang.collection.FinalDouble; -import ninja.bytecode.iris.Iris; -import ninja.bytecode.iris.util.ChronoQueue; -import ninja.bytecode.iris.util.ObjectMode; -import ninja.bytecode.iris.util.SMCAVector; -import ninja.bytecode.shuriken.collections.KList; -import ninja.bytecode.shuriken.collections.KMap; - -public class WorldReactor -{ - private static KList q = new KList<>(); - private final World world; - - public WorldReactor(World world) - { - this.world = world; - } - - public void generateRegionNormal(Player p, boolean force, double mst, Consumer progress, Runnable done) - { - for(ChronoQueue i : WorldReactor.q) - { - i.close(); - } - - WorldReactor.q.clear(); - - ChronoQueue q = new ChronoQueue(mst, 10240); - WorldReactor.q.add(q); - FinalDouble of = new FinalDouble(0D); - FinalDouble max = new FinalDouble(0D); - KMap d = new KMap<>(); - int mx = p.getLocation().getChunk().getX(); - int mz = p.getLocation().getChunk().getZ(); - for(int xx = p.getLocation().getChunk().getX() - 32; xx < p.getLocation().getChunk().getX() + 32; xx++) - { - int x = xx; - - for(int zz = p.getLocation().getChunk().getZ() - 32; zz < p.getLocation().getChunk().getZ() + 32; zz++) - { - int z = zz; - - if(world.isChunkLoaded(x, z) || world.loadChunk(x, z, false)) - { - d.put(new SMCAVector(x, z), Math.sqrt(Math.pow(x - mx, 2) + Math.pow(z - mz, 2))); - } - } - } - - KList v = d.k(); - Collections.sort(v, (a, b) -> (int) (10000 * (d.get(a) - d.get(b)))); - - for(SMCAVector i : v) - { - int x = i.getX(); - int z = i.getZ(); - - if(Iris.settings.performance.objectMode.equals(ObjectMode.PARALLAX) && world.getGenerator() instanceof IrisGenerator) - { - IrisGenerator gg = ((IrisGenerator) world.getGenerator()); - gg.getWorldData().deleteChunk(x, z); - } - - max.add(1); - q.queue(() -> - { - world.regenerateChunk(x, z); - - Chunk cc = world.getChunkAt(x, z); - NMP.host.relight(cc); - of.add(1); - - if(of.get() == max.get()) - { - progress.accept(1D); - q.dieSlowly(); - done.run(); - } - - else - { - progress.accept(M.clip(of.get() / max.get(), 0D, 1D)); - } - - }); - } - - J.s(() -> - { - q.dieSlowly(); - }, 20); - } -} diff --git a/src/main/java/ninja/bytecode/iris/generator/atomics/AtomicCharArray.java b/src/main/java/ninja/bytecode/iris/generator/atomics/AtomicCharArray.java deleted file mode 100644 index 7f032167e..000000000 --- a/src/main/java/ninja/bytecode/iris/generator/atomics/AtomicCharArray.java +++ /dev/null @@ -1,83 +0,0 @@ -package ninja.bytecode.iris.generator.atomics; - -import java.io.Serializable; -import java.lang.reflect.Field; - -import sun.misc.Unsafe; - -@SuppressWarnings("restriction") -public class AtomicCharArray implements Serializable -{ - private static final long serialVersionUID = 2862133569453604235L; - private static final Unsafe unsafe; - private static final int base; - private static final int shift; - volatile char[] array; - - public AtomicCharArray(int var1) - { - this.array = new char[var1]; - } - - private long checkedByteOffset(int var1) - { - if(var1 >= 0 && var1 < this.array.length) - { - return byteOffset(var1); - } - else - { - throw new IndexOutOfBoundsException("index " + var1); - } - } - - public final char get(int var1) - { - return this.getRaw(this.checkedByteOffset(var1)); - } - - private char getRaw(long var1) - { - return unsafe.getCharVolatile(this.array, var1); - } - - public final void set(int var1, char var2) - { - unsafe.putCharVolatile(this.array, this.checkedByteOffset(var1), var2); - } - - private static long byteOffset(int var0) - { - return ((long) var0 << shift) + (long) base; - } - - static - { - Field f; - Unsafe o = null; - - try - { - f = Unsafe.class.getDeclaredField("theUnsafe"); - f.setAccessible(true); - o = (Unsafe) f.get(null); - } - - catch(Throwable e) - { - e.printStackTrace(); - } - - unsafe = o; - base = unsafe.arrayBaseOffset(int[].class); - int var0 = unsafe.arrayIndexScale(int[].class); - if((var0 & var0 - 1) != 0) - { - throw new Error("data type scale not a power of two"); - } - else - { - shift = 31 - Integer.numberOfLeadingZeros(var0); - } - } -} \ No newline at end of file diff --git a/src/main/java/ninja/bytecode/iris/generator/atomics/AtomicChunkData.java b/src/main/java/ninja/bytecode/iris/generator/atomics/AtomicChunkData.java deleted file mode 100644 index e6af21880..000000000 --- a/src/main/java/ninja/bytecode/iris/generator/atomics/AtomicChunkData.java +++ /dev/null @@ -1,456 +0,0 @@ -package ninja.bytecode.iris.generator.atomics; - -import java.io.DataInputStream; -import java.io.DataOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.lang.reflect.Field; -import java.util.concurrent.locks.ReentrantLock; - -import org.bukkit.Material; -import org.bukkit.World; -import org.bukkit.craftbukkit.v1_12_R1.generator.CraftChunkData; -import org.bukkit.generator.ChunkGenerator; -import org.bukkit.generator.ChunkGenerator.ChunkData; -import org.bukkit.material.MaterialData; - -import mortar.compute.math.M; -import ninja.bytecode.iris.util.MB; - -public final class AtomicChunkData implements ChunkGenerator.ChunkData -{ - private static final Field t; - private static final Field[] sections; - private static final int h = 0x1000; - private final int maxHeight; - private static ReentrantLock[] locks; - private char[] s0; - private char[] s1; - private char[] s2; - private char[] s3; - private char[] s4; - private char[] s5; - private char[] s6; - private char[] s7; - private char[] s8; - private char[] s9; - private char[] s10; - private char[] s11; - private char[] s12; - private char[] s13; - private char[] s14; - private char[] s15; - private char[][] m; - private World w; - private long lastUse; - private int bits; - - public AtomicChunkData(World world) - { - this.maxHeight = world.getMaxHeight(); - this.w = world; - bits = 0; - lastUse = M.ms(); - } - - public long getTimeSinceLastUse() - { - return M.ms() - lastUse; - } - - public void read(InputStream in) throws IOException - { - read(in, true); - } - - public void read(InputStream in, boolean ignoreAir) throws IOException - { - DataInputStream din = new DataInputStream(in); - int bits = din.readInt(); - - for(int i = 0; i < 16; i++) - { - int bit = getBit(i); - if((bits & bit) == bit) - { - char[] section = getChunkSection(i << 4, true); - - for(int j = 0; j < section.length; j++) - { - char c = din.readChar(); - - if(c == 0 && ignoreAir) - { - continue; - } - - section[j] = c; - } - } - } - - din.close(); - } - - public void write(OutputStream out) throws IOException - { - DataOutputStream dos = new DataOutputStream(out); - dos.writeInt(getDataBits()); - - for(int i = 0; i < 16; i++) - { - if(hasDataBit(i)) - { - char[] section = getChunkSection(i << 4, false); - for(int j = 0; j < section.length; j++) - { - dos.writeChar(section[j]); - } - } - } - - dos.close(); - } - - public boolean hasDataBit(int section) - { - int b = getBit(section); - return (bits & b) == b; - } - - public void clearDataBits() - { - bits = 0; - } - - public void addDataBit(int section) - { - bits |= getBit(section); - } - - public void removeDataBit(int section) - { - bits ^= getBit(section); - } - - public int getDataBits() - { - return bits; - } - - public int getBit(int index) - { - return (int) (index < 0 ? -1 : Math.pow(2, index)); - } - - public int computeDataBits() - { - int bits = 0; - - for(int i = 0; i < 16; i++) - { - try - { - bits |= sections[i].get(this) != null ? getBit(i) : 0; - } - - catch(Throwable e) - { - - } - } - - return bits; - } - - @Override - public int getMaxHeight() - { - return maxHeight; - } - - @SuppressWarnings("deprecation") - @Override - public void setBlock(int x, int y, int z, Material material) - { - setBlock(x, y, z, material.getId()); - } - - @SuppressWarnings("deprecation") - @Override - public void setBlock(int x, int y, int z, MaterialData material) - { - setBlock(x, y, z, material.getItemTypeId(), material.getData()); - } - - @SuppressWarnings("deprecation") - @Override - public void setRegion(int xMin, int yMin, int zMin, int xMax, int yMax, int zMax, Material material) - { - setRegion(xMin, yMin, zMin, xMax, yMax, zMax, material.getId()); - } - - @SuppressWarnings("deprecation") - @Override - public void setRegion(int xMin, int yMin, int zMin, int xMax, int yMax, int zMax, MaterialData material) - { - setRegion(xMin, yMin, zMin, xMax, yMax, zMax, material.getItemTypeId(), material.getData()); - } - - @SuppressWarnings("deprecation") - @Override - public Material getType(int x, int y, int z) - { - lastUse = M.ms(); - return Material.getMaterial(getTypeId(x, y, z)); - } - - @SuppressWarnings("deprecation") - @Override - public MaterialData getTypeAndData(int x, int y, int z) - { - lastUse = M.ms(); - return getType(x, y, z).getNewData(getData(x, y, z)); - } - - @SuppressWarnings("deprecation") - public void setBlock(int x, int y, int z, Material blockId, byte data) - { - setBlock(x, y, z, blockId.getId(), data); - } - - @Override - public void setRegion(int xMin, int yMin, int zMin, int xMax, int yMax, int zMax, int blockId) - { - lastUse = M.ms(); - setRegion(xMin, yMin, zMin, xMax, yMax, zMax, blockId, (byte) 0); - } - - @Override - public void setRegion(int xMin, int yMin, int zMin, int xMax, int yMax, int zMax, int blockId, int data) - { - lastUse = M.ms(); - throw new UnsupportedOperationException("AtomicChunkData does not support setting regions"); - } - - @Override - public void setBlock(int x, int y, int z, int blockId) - { - setBlock(x, y, z, blockId, (byte) 0); - } - - @Override - public void setBlock(int x, int y, int z, int blockId, byte data) - { - setBlock(x, y, z, (char) (blockId << 4 | data)); - } - - @SuppressWarnings("deprecation") - public MB getMB(int x, int y, int z) - { - if(x != (x & 0xf) || y < 0 || y >= maxHeight || z != (z & 0xf)) - { - lastUse = M.ms(); - return MB.of(Material.AIR); - } - - char[] section = getChunkSection(y, false); - - if(section == null) - { - lastUse = M.ms(); - return MB.of(Material.AIR); - } - - else - { - lastUse = M.ms(); - char xf = section[(y & 0xf) << 8 | z << 4 | x]; - return MB.of(Material.getMaterial(xf >> 4), xf & 0xf); - } - } - - @Override - public int getTypeId(int x, int y, int z) - { - if(x != (x & 0xf) || y < 0 || y >= maxHeight || z != (z & 0xf)) - { - return 0; - } - - char[] section = getChunkSection(y, false); - - if(section == null) - { - return 0; - } - - else - { - lastUse = M.ms(); - return section[(y & 0xf) << 8 | z << 4 | x] >> 4; - } - } - - @Override - public byte getData(int x, int y, int z) - { - if(x != (x & 0xf) || y < 0 || y >= maxHeight || z != (z & 0xf)) - { - lastUse = M.ms(); - return (byte) 0; - } - - char[] section = getChunkSection(y, false); - - if(section == null) - { - lastUse = M.ms(); - return (byte) 0; - } - - else - { - lastUse = M.ms(); - return (byte) (section[(y & 0xf) << 8 | z << 4 | x] & 0xf); - } - } - - private void setBlock(int x, int y, int z, char type) - { - if(x != (x & 0xf) || y < 0 || y >= maxHeight || z != (z & 0xf)) - { - return; - } - - lastUse = M.ms(); - ReentrantLock l = locks[y >> 4]; - l.lock(); - getChunkSection(y, true)[(y & 0xf) << 8 | z << 4 | x] = type; - l.unlock(); - } - - private char[] getChunkSection(int y, boolean c) - { - try - { - int s = y >> 4; - Field sf = sections[s]; - char[] section = (char[]) sf.get(this); - - if(section == null && c) - { - sf.set(this, new char[h]); - section = (char[]) sf.get(this); - addDataBit(s); - } - - return section; - } - - catch(Throwable e) - { - e.printStackTrace(); - } - - return null; - } - - public ChunkData toChunkData() - { - ChunkData c = new CraftChunkData(w); - - try - { - m = (char[][]) t.get(c); - m[0] = s0; - m[1] = s1; - m[2] = s2; - m[3] = s3; - m[4] = s4; - m[5] = s5; - m[6] = s6; - m[7] = s7; - m[8] = s8; - m[9] = s9; - m[10] = s10; - m[11] = s11; - m[12] = s12; - m[13] = s13; - m[14] = s14; - m[15] = s15; - } - - catch(IllegalArgumentException | IllegalAccessException e) - { - e.printStackTrace(); - } - - return c; - } - - static - { - locks = new ReentrantLock[16]; - Field[] s = new Field[16]; - - for(int i = 0; i < 16; i++) - { - try - { - s[i] = AtomicChunkData.class.getDeclaredField("s" + i); - locks[i] = new ReentrantLock(); - } - - catch(Throwable e) - { - e.printStackTrace(); - } - } - - sections = s; - - Field x = null; - - try - { - x = CraftChunkData.class.getDeclaredField("sections"); - x.setAccessible(true); - } - - catch(Throwable e) - { - e.printStackTrace(); - } - - t = x; - } - - public void inject(AtomicChunkData data) - { - for(int i = 0; i < 16; i++) - { - if(hasDataBit(i)) - { - char[] fromSection = getChunkSection(i << 4, false); - char[] toSection = data.getChunkSection(i << 4, true); - - for(int j = 0; j < fromSection.length; j++) - { - char x = fromSection[j]; - - if(x != 0) - { - toSection[j] = x; - } - } - } - } - } - - public void setBlock(int x, int y, int z, MB mb) - { - setBlock(x, y, z, mb.material, mb.data); - } -} \ No newline at end of file diff --git a/src/main/java/ninja/bytecode/iris/generator/atomics/AtomicRegionData.java b/src/main/java/ninja/bytecode/iris/generator/atomics/AtomicRegionData.java deleted file mode 100644 index 444869b50..000000000 --- a/src/main/java/ninja/bytecode/iris/generator/atomics/AtomicRegionData.java +++ /dev/null @@ -1,80 +0,0 @@ -package ninja.bytecode.iris.generator.atomics; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - -import org.bukkit.World; -import org.jnbt.ByteArrayTag; -import org.jnbt.CompoundTag; -import org.jnbt.NBTInputStream; -import org.jnbt.NBTOutputStream; -import org.jnbt.Tag; - -import ninja.bytecode.shuriken.collections.KMap; - -public class AtomicRegionData -{ - private final World world; - private KMap tag; - - public AtomicRegionData(World world) - { - this.world = world; - tag = new KMap<>(); - } - - public void read(InputStream in) throws IOException - { - NBTInputStream nin = new NBTInputStream(in); - tag = new KMap<>(); - tag.putAll(((CompoundTag) nin.readTag()).getValue()); - nin.close(); - } - - public void write(OutputStream out) throws IOException - { - NBTOutputStream nos = new NBTOutputStream(out); - nos.writeTag(new CompoundTag("imca", tag)); - nos.close(); - } - - public boolean contains(int rx, int rz) - { - return tag.containsKey(rx + "." + rz); - } - - public void delete(int rx, int rz) - { - tag.remove(rx + "." + rz); - } - - public void set(int rx, int rz, AtomicChunkData data) throws IOException - { - ByteArrayOutputStream boas = new ByteArrayOutputStream(); - data.write(boas); - tag.put(rx + "." + rz, new ByteArrayTag(rx + "." + rz, boas.toByteArray())); - } - - public AtomicChunkData get(int rx, int rz) throws IOException - { - if(!contains(rx, rz)) - { - return null; - } - - AtomicChunkData data = new AtomicChunkData(world); - ByteArrayTag btag = (ByteArrayTag) tag.get(rx + "." + rz); - ByteArrayInputStream in = new ByteArrayInputStream(btag.getValue()); - data.read(in); - - return data; - } - - public World getWorld() - { - return world; - } -} diff --git a/src/main/java/ninja/bytecode/iris/generator/atomics/AtomicWorldData.java b/src/main/java/ninja/bytecode/iris/generator/atomics/AtomicWorldData.java deleted file mode 100644 index d6e7e3e0e..000000000 --- a/src/main/java/ninja/bytecode/iris/generator/atomics/AtomicWorldData.java +++ /dev/null @@ -1,158 +0,0 @@ -package ninja.bytecode.iris.generator.atomics; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; - -import org.bukkit.World; - -import ninja.bytecode.iris.util.SMCAVector; -import ninja.bytecode.shuriken.collections.KList; -import ninja.bytecode.shuriken.collections.KMap; - -public class AtomicWorldData -{ - private World world; - private KMap loadedSections; - - public AtomicWorldData(World world) - { - this.world = world; - loadedSections = new KMap<>(); - getSubregionFolder().mkdirs(); - } - - public KList getLoadedRegions() - { - return loadedSections.k(); - } - - public AtomicRegionData getSubregion(int x, int z) throws IOException - { - if(!isSectionLoaded(x, z)) - { - loadedSections.put(new SMCAVector(x, z), loadSection(x, z)); - } - - AtomicRegionData f = loadedSections.get(new SMCAVector(x, z)); - - return f; - } - - public void saveAll() throws IOException - { - for(SMCAVector i : loadedSections.keySet()) - { - saveSection(i); - } - } - - public void unloadAll(boolean save) throws IOException - { - for(SMCAVector i : loadedSections.keySet()) - { - unloadSection(i, save); - } - } - - public void deleteSection(int x, int z) throws IOException - { - unloadSection(x, z, false); - getSubregionFile(x, z).delete(); - } - - public boolean isSectionLoaded(int x, int z) - { - return isSectionLoaded(new SMCAVector(x, z)); - } - - public boolean isSectionLoaded(SMCAVector s) - { - return loadedSections.containsKey(s); - } - - public boolean unloadSection(int x, int z, boolean save) throws IOException - { - return unloadSection(new SMCAVector(x, z), save); - } - - public boolean unloadSection(SMCAVector s, boolean save) throws IOException - { - if(!isSectionLoaded(s)) - { - return false; - } - - if(save) - { - saveSection(s); - } - - loadedSections.remove(s); - return true; - } - - public boolean saveSection(int x, int z) throws IOException - { - return saveSection(new SMCAVector(x, z)); - } - - public boolean saveSection(SMCAVector s) throws IOException - { - if(!isSectionLoaded(s.getX(), s.getZ())) - { - return false; - } - - AtomicRegionData data = loadedSections.get(s); - FileOutputStream fos = new FileOutputStream(getSubregionFile(s.getX(), s.getZ())); - data.write(fos); - fos.close(); - return true; - } - - public AtomicRegionData loadSection(int x, int z) throws IOException - { - if(isSectionLoaded(x, z)) - { - return loadedSections.get(new SMCAVector(x, z)); - } - - File file = getSubregionFile(x, z); - - if(!file.exists()) - { - return createSection(x, z); - } - - FileInputStream fin = new FileInputStream(file); - AtomicRegionData data = new AtomicRegionData(world); - data.read(fin); - fin.close(); - return data; - } - - public AtomicRegionData createSection(int x, int z) - { - if(isSectionLoaded(x, z)) - { - return loadedSections.get(new SMCAVector(x, z)); - } - - AtomicRegionData data = new AtomicRegionData(world); - loadedSections.put(new SMCAVector(x, z), data); - - return data; - } - - public File getSubregionFile(int x, int z) - { - return new File(getSubregionFolder(), "sr." + x + "." + z + ".smca"); - } - - public File getSubregionFolder() - { - return new File(world.getWorldFolder(), "subregion"); - } -} diff --git a/src/main/java/ninja/bytecode/iris/generator/genobject/GenObject.java b/src/main/java/ninja/bytecode/iris/generator/genobject/GenObject.java deleted file mode 100644 index a884a7658..000000000 --- a/src/main/java/ninja/bytecode/iris/generator/genobject/GenObject.java +++ /dev/null @@ -1,1110 +0,0 @@ -package ninja.bytecode.iris.generator.genobject; - -import java.io.DataInputStream; -import java.io.DataOutputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.function.Consumer; -import java.util.function.Supplier; -import java.util.zip.GZIPInputStream; - -import org.bukkit.Location; -import org.bukkit.Material; -import org.bukkit.block.BlockFace; -import org.bukkit.material.Directional; -import org.bukkit.material.Ladder; -import org.bukkit.material.Leaves; -import org.bukkit.material.MaterialData; -import org.bukkit.material.Stairs; -import org.bukkit.material.Vine; -import org.bukkit.util.BlockVector; -import org.bukkit.util.Vector; - -import mortar.compute.math.M; -import mortar.logic.format.F; -import mortar.util.text.C; -import ninja.bytecode.iris.Iris; -import ninja.bytecode.iris.generator.placer.NMSPlacer; -import ninja.bytecode.iris.util.Direction; -import ninja.bytecode.iris.util.IPlacer; -import ninja.bytecode.iris.util.MB; -import ninja.bytecode.iris.util.SBlockVector; -import ninja.bytecode.iris.util.SChunkVectorShort; -import ninja.bytecode.iris.util.VectorMath; -import ninja.bytecode.shuriken.collections.KList; -import ninja.bytecode.shuriken.collections.KMap; -import ninja.bytecode.shuriken.io.CustomOutputStream; -import ninja.bytecode.shuriken.logging.L; -import ninja.bytecode.shuriken.math.RNG; - -public class GenObject -{ - private boolean centeredHeight; - private int w; - private int h; - private int d; - private int failures; - private int successes; - private boolean gravity; - private boolean oversized; - private String name = "?"; - private KMap s; - private KMap slopeCache; - private KMap gravityCache; - private BlockVector mount; - private int maxslope; - private int baseslope; - private boolean hydrophilic; - private boolean submerged; - private int mountHeight; - private BlockVector shift; - - public GenObject(int w, int h, int d) - { - this.w = w; - oversized = false; - this.h = h; - this.d = d; - shift = new BlockVector(); - s = new KMap<>(); - centeredHeight = false; - gravity = false; - maxslope = -1; - baseslope = 0; - hydrophilic = false; - submerged = false; - } - - public void recalculateMountShift() - { - int ly = Integer.MAX_VALUE; - - for(SBlockVector i : s.keySet()) - { - if(i.getY() < ly) - { - ly = (int) i.getY(); - } - } - - KList fmount = new KList<>(); - - for(SBlockVector i : s.keySet()) - { - if(i.getY() == ly) - { - fmount.add(i); - } - } - - double avx[] = new double[fmount.size()]; - double avy[] = new double[fmount.size()]; - double avz[] = new double[fmount.size()]; - int c = 0; - - for(SBlockVector i : fmount) - { - avx[c] = i.getX(); - avy[c] = i.getY(); - avz[c] = i.getZ(); - c++; - } - - mountHeight = avg(avy); - mount = new BlockVector(0, 0, 0); - } - - private KMap getSlopeCache() - { - if(slopeCache == null) - { - computeSlopeCache(); - } - - return slopeCache; - } - - private KMap getGravityCache() - { - if(gravityCache == null) - { - computeGravityCache(); - } - - return gravityCache; - } - - private void computeGravityCache() - { - gravityCache = new KMap<>(); - - for(SBlockVector i : s.keySet()) - { - SChunkVectorShort v = new SChunkVectorShort(i.getX(), i.getZ()); - - if(!gravityCache.containsKey(v) || gravityCache.get(v).getY() > i.getY()) - { - gravityCache.put(v, i); - } - } - } - - private void computeSlopeCache() - { - slopeCache = new KMap<>(); - int low = Integer.MAX_VALUE; - - for(SBlockVector i : s.keySet()) - { - SChunkVectorShort v = new SChunkVectorShort(i.getX(), i.getZ()); - - if(!slopeCache.containsKey(v) || slopeCache.get(v).getY() > i.getY()) - { - slopeCache.put(v, i); - } - } - - for(SChunkVectorShort i : slopeCache.keySet()) - { - int f = (int) slopeCache.get(i).getY(); - - if(f < low) - { - low = f; - } - } - - for(SChunkVectorShort i : slopeCache.k()) - { - int f = (int) slopeCache.get(i).getY(); - - if(f > low - baseslope) - { - slopeCache.remove(i); - } - } - } - - private int avg(double[] v) - { - double g = 0; - - for(int i = 0; i < v.length; i++) - { - g += v[i]; - } - - return (int) Math.round(g / (double) v.length); - } - - public void setCenteredHeight() - { - this.centeredHeight = true; - } - - public int getW() - { - return w; - } - - public int getH() - { - return h; - } - - public int getD() - { - return d; - } - - public KMap getSchematic() - { - return s; - } - - public int getWidth() - { - return w; - } - - public int getDepth() - { - return d; - } - - public void read(InputStream in, boolean gzip) throws IOException - { - @SuppressWarnings("resource") - GZIPInputStream gzi = gzip ? new GZIPInputStream(in) : null; - DataInputStream din = new DataInputStream(gzip ? gzi : in); - readDirect(din); - din.close(); - } - - @SuppressWarnings("deprecation") - public void readDirect(DataInputStream din) throws IOException - { - w = din.readInt(); - h = din.readInt(); - d = din.readInt(); - int l = din.readInt(); - clear(); - - for(int i = 0; i < l; i++) - { - s.put(new SBlockVector(din.readInt(), din.readInt(), din.readInt()), new MB(Material.getMaterial((int) din.readInt()), din.readInt())); - } - } - - @SuppressWarnings("deprecation") - public void writeDirect(DataOutputStream dos) throws IOException - { - dos.writeInt(w); - dos.writeInt(h); - dos.writeInt(d); - dos.writeInt(s.size()); - - for(SBlockVector i : s.keySet()) - { - dos.writeInt((int) i.getX()); - dos.writeInt((int) i.getY()); - dos.writeInt((int) i.getZ()); - dos.writeInt(s.get(i).material.getId()); - dos.writeInt(s.get(i).data); - } - } - - public void write(OutputStream out, boolean gzip) throws IOException - { - CustomOutputStream cos = gzip ? new CustomOutputStream(out, 9) : null; - DataOutputStream dos = new DataOutputStream(gzip ? cos : out); - writeDirect(dos); - dos.close(); - } - - public MB get(int x, int y, int z) - { - return s.get(new SBlockVector(x, y, z)); - } - - public boolean has(int x, int y, int z) - { - return s.containsKey(new SBlockVector(x, y, z)); - } - - public void put(int x, int y, int z, MB mb) - { - s.put(new SBlockVector(x, y, z), mb); - } - - public GenObject copy() - { - GenObject s = new GenObject(w, h, d); - s.fill(this.s); - s.centeredHeight = centeredHeight; - s.name = name; - s.oversized = oversized; - return s; - } - - public void clear() - { - s.clear(); - } - - public void fill(KMap b) - { - clear(); - s.putAll(b); - } - - public int sh(int g) - { - int m = (g / 2); - return g % 2 == 0 ? m : m + 1; - } - - public Location place(Location l) - { - NMSPlacer p; - Location ll = place(l, p = new NMSPlacer(l.getWorld())); - p.flush(); - - return ll; - } - - public Location place(Location l, IPlacer placer) - { - return place(l.getBlockX(), l.getBlockY(), l.getBlockZ(), placer); - } - - @SuppressWarnings("deprecation") - public Location place(int wx, int wy, int wz, IPlacer placer) - { - Location start = new Location(placer.getWorld(), wx, wy, wz).clone().add(0, sh(h) + 1, 0); - - if(mount == null) - { - recalculateMountShift(); - } - - start.subtract(mount); - - int highestY = submerged ? placer.getHighestYUnderwater(start) : placer.getHighestY(start); - - if(start.getBlockY() + mountHeight > highestY) - { - start.subtract(0, start.getBlockY() + mountHeight - highestY, 0); - } - - start.add(shift); - KMap undo = new KMap<>(); - - for(SBlockVector i : s.keySet()) - { - MB b = getSchematic().get(i); - - if(b.material.equals(Material.LEAVES) || b.material.equals(Material.LEAVES_2)) - { - Leaves l = new Leaves(b.material, b.data); - l.setDecayable(false); - l.setDecaying(false); - b = new MB(l.getItemType(), l.getData()); - } - - Location f = start.clone().add(i.toBlockVector()); - - if(gravity) - { - SChunkVectorShort v = new SChunkVectorShort(i.getX(), i.getZ()); - int offset = (int) i.getY() - (int) getGravityCache().get(v).getY(); - f.setY(f.getBlockY() - ((f.getBlockY() - offset) - (submerged ? placer.getHighestYUnderwater(f) : placer.getHighestY(f)))); - } - - else if(maxslope >= 0) - { - SChunkVectorShort v = new SChunkVectorShort(i.getX(), i.getZ()); - SBlockVector m = getSlopeCache().get(v); - - if(m == null) - { - continue; - } - - int offset = (int) i.getY() - (int) m.getY(); - int shift = ((f.getBlockY() - offset) - (submerged ? placer.getHighestYUnderwater(f) : placer.getHighestY(f))); - - if(Math.abs(shift) > maxslope) - { - for(Location j : undo.k()) - { - placer.set(j, undo.get(j)); - } - - if(Iris.settings.performance.verbose) - { - L.w(C.WHITE + "Object " + C.YELLOW + getName() + C.WHITE + " failed to place on slope " + C.YELLOW + Math.abs(shift) + C.WHITE + " at " + C.YELLOW + F.f(f.getBlockX()) + " " + F.f(f.getBlockY()) + " " + F.f(f.getBlockZ())); - } - - failures++; - return null; - } - } - - if(!hydrophilic && !Iris.settings.performance.noObjectFail) - { - if(f.getBlockY() == 63 && i.getY() == mountHeight) - { - Material m = placer.get(f.clone().subtract(0, 1, 0)).material; - - if(m.equals(Material.WATER) || m.equals(Material.STATIONARY_WATER) || m.equals(Material.LAVA) || m.equals(Material.STATIONARY_LAVA)) - { - for(Location j : undo.k()) - { - placer.set(j, undo.get(j)); - } - - if(Iris.settings.performance.verbose) - { - L.w(C.WHITE + "Object " + C.YELLOW + getName() + C.WHITE + " (hydrophobic) failed to place in " + C.YELLOW + m.toString().toLowerCase() + C.WHITE + " at " + C.YELLOW + F.f(f.getBlockX()) + " " + F.f(f.getBlockY()) + " " + F.f(f.getBlockZ())); - } - - failures++; - return null; - } - } - } - - try - { - undo.put(f, placer.get(f)); - placer.set(f, b); - } - - catch(Throwable e) - { - e.printStackTrace(); - } - } - - successes++; - return start; - } - - public static GenObject load(InputStream in) throws IOException - { - GenObject s = new GenObject(1, 1, 1); - s.read(in, true); - - return s; - } - - public static GenObject load(File f) throws IOException - { - GenObject s = new GenObject(1, 1, 1); - s.name = f.getName().replaceAll("\\Q.ish\\E", ""); - FileInputStream fin = new FileInputStream(f); - s.read(fin, true); - - return s; - } - - public String getName() - { - return name; - } - - public void setName(String name) - { - this.name = name; - } - - public void rotate(Direction from, Direction to) - { - KMap g = new KMap<>(); - g.putAll(s); - s.clear(); - - for(SBlockVector i : g.keySet()) - { - MB mb = rotate(from, to, g.get(i)); - s.put(new SBlockVector(VectorMath.rotate(from, to, i.toBlockVector()).toBlockVector()), mb); - } - - name = name + "-rt" + to.name(); - } - - @SuppressWarnings("deprecation") - private MB rotate(Direction from, Direction to, MB mb) - { - try - { - Material t = mb.material; - int i = t.getId(); - byte d = mb.data; - MaterialData data = t.getData().getConstructor(int.class, byte.class).newInstance(i, d); - - if(data instanceof Directional) - { - Directional dir = (Directional) data; - Supplier get = dir::getFacing; - Consumer set = dir::setFacingDirection; - - if(dir instanceof Ladder) - { - get = ((Ladder) dir)::getAttachedFace; - set = ((Ladder) dir)::setFacingDirection; - } - - if(dir instanceof Stairs) - { - get = ((Stairs) dir)::getAscendingDirection; - set = ((Stairs) dir)::setFacingDirection; - } - - BlockFace fac = get.get(); - set.accept(rotate(from, to, fac)); - d = data.getData(); - t = data.getItemType(); - return MB.of(t, d); - } - - else if(data instanceof Vine) - { - Vine vin = (Vine) data; - Vine vif = new Vine(); - - for(Direction j : Direction.news()) - { - if(vin.isOnFace(j.getFace())) - { - vif.putOnFace(rotate(from, to, j.getFace())); - } - } - - d = vif.getData(); - t = vif.getItemType(); - return MB.of(t, d); - } - - else if(i >= 235 && i <= 250) - { - BlockFace fac = getGlazedTCDir(d); - d = toGlazedTCDir(Direction.getDirection(rotate(from, to, fac)).getFace()); - t = data.getItemType(); - return MB.of(t, d); - } - } - - catch(Throwable e) - { - e.printStackTrace(); - } - - return mb; - } - - private byte toGlazedTCDir(BlockFace b) - { - switch(b) - { - case NORTH: - return 0; - case EAST: - return 1; - case SOUTH: - return 2; - case WEST: - return 3; - default: - break; - } - - return 0; - } - - private BlockFace getGlazedTCDir(byte d2) - { - switch(d2) - { - case 0: - return BlockFace.NORTH; - case 1: - return BlockFace.EAST; - case 2: - return BlockFace.SOUTH; - case 3: - return BlockFace.WEST; - } - - return BlockFace.NORTH; - } - - private BlockFace rotate(Direction from, Direction to, BlockFace face) - { - return Direction.getDirection(from.angle(Direction.getDirection(face).toVector(), to)).getFace(); - } - - public void computeFlag(String j) - { - try - { - if(j.equals("gravity")) - { - gravity = true; - } - - if(j.equals("hydrophilic")) - { - hydrophilic = true; - } - - if(j.equals("submerged")) - { - submerged = true; - hydrophilic = true; - } - - if(j.startsWith("maxslope ")) - { - maxslope = Integer.valueOf(j.split("\\Q \\E")[1]); - } - - if(j.startsWith("baseslope ")) - { - baseslope = Integer.valueOf(j.split("\\Q \\E")[1]); - } - - if(j.startsWith("replace ")) - { - String[] g = j.split("\\Q \\E"); - MB a = MB.of(g[1]); - boolean specific = g[1].contains(":"); - MB b = MB.of(g[2]); - - for(SBlockVector i : s.k()) - { - MB c = s.get(i); - - if((specific && c.equals(a)) || c.material.equals(a.material)) - { - s.put(i, b); - } - } - } - - if(j.startsWith("sink ")) - { - int downshift = Integer.valueOf(j.split("\\Q \\E")[1]); - shift.subtract(new Vector(0, downshift, 0)); - } - - if(j.startsWith("raise ")) - { - int downshift = Integer.valueOf(j.split("\\Q \\E")[1]); - shift.add(new Vector(0, downshift, 0)); - } - } - - catch(Throwable e) - { - L.f("Failed to compute flag '" + j + "'"); - L.ex(e); - } - } - - public void applySnowFilter(int factor) - { - int minX = 0; - int maxX = 0; - int minY = 0; - int maxY = 0; - int minZ = 0; - int maxZ = 0; - boolean added = false; - - for(SBlockVector i : getSchematic().keySet()) - { - if(i.getX() > maxX) - { - maxX = (int) i.getX(); - } - - if(i.getY() > maxY) - { - maxY = (int) i.getY(); - } - - if(i.getZ() > maxZ) - { - maxZ = (int) i.getZ(); - } - - if(i.getX() < minX) - { - minX = (int) i.getX(); - } - - if(i.getY() < minY) - { - minY = (int) i.getY(); - } - - if(i.getZ() < minZ) - { - minZ = (int) i.getZ(); - } - } - - for(int i = minX; i <= maxX; i++) - { - for(int j = minZ; j <= maxZ; j++) - { - SBlockVector highest = null; - - for(SBlockVector k : getSchematic().keySet()) - { - if(k.getX() == i && k.getZ() == j) - { - if(highest == null) - { - highest = k; - } - - else if(highest.getY() < k.getY()) - { - highest = k; - } - } - } - - if(highest != null) - { - BlockVector mbv = highest.toBlockVector().add(new Vector(0, 1, 0)).toBlockVector(); - added = true; - getSchematic().put(new SBlockVector(mbv), MB.of(Material.SNOW, RNG.r.nextInt((int) M.clip(factor, 1, 8)))); - } - } - } - - if(added) - { - h++; - recalculateMountShift(); - } - } - - @SuppressWarnings("deprecation") - public void applyLushFilter(double factor) - { - int minX = 0; - int maxX = 0; - int minY = 0; - int maxY = 0; - int minZ = 0; - int maxZ = 0; - boolean added = false; - - for(SBlockVector i : getSchematic().keySet()) - { - if(i.getX() > maxX) - { - maxX = (int) i.getX(); - } - - if(i.getY() > maxY) - { - maxY = (int) i.getY(); - } - - if(i.getZ() > maxZ) - { - maxZ = (int) i.getZ(); - } - - if(i.getX() < minX) - { - minX = (int) i.getX(); - } - - if(i.getY() < minY) - { - minY = (int) i.getY(); - } - - if(i.getZ() < minZ) - { - minZ = (int) i.getZ(); - } - } - - for(int i = minX; i <= maxX; i++) - { - for(int j = minY; j <= maxY; j++) - { - for(int k = minZ; k <= maxZ; k++) - { - SBlockVector at = new SBlockVector(i, j, k); - - if(M.r(factor / 25D) && getSchematic().containsKey(at) && !getSchematic().get(at).material.equals(Material.VINE)) - { - SBlockVector a = new SBlockVector(i + 1, j, k); - SBlockVector b = new SBlockVector(i - 1, j, k); - SBlockVector c = new SBlockVector(i, j, k + 1); - SBlockVector d = new SBlockVector(i, j, k - 1); - Vine v = null; - KMap e = new KMap<>(); - - if(!getSchematic().containsKey(a)) - { - v = new Vine(BlockFace.WEST); - SBlockVector ma = new SBlockVector(a.getX(), a.getY(), a.getZ() + 1); - SBlockVector mb = new SBlockVector(a.getX(), a.getY(), a.getZ() - 1); - - if(getSchematic().containsKey(ma) && !getSchematic().get(ma).material.equals(Material.VINE)) - { - v = new Vine(BlockFace.SOUTH, BlockFace.WEST); - } - - else if(getSchematic().containsKey(mb) && !getSchematic().get(mb).material.equals(Material.VINE)) - { - v = new Vine(BlockFace.NORTH, BlockFace.WEST); - } - - e.put(a, MB.of(Material.VINE, v.getData())); - } - - if(!getSchematic().containsKey(b)) - { - v = new Vine(BlockFace.EAST); - SBlockVector ma = new SBlockVector(b.getX(), b.getY(), b.getZ() + 1); - SBlockVector mb = new SBlockVector(b.getX(), b.getY(), b.getZ() - 1); - - if(getSchematic().containsKey(ma) && !getSchematic().get(ma).material.equals(Material.VINE)) - { - v = new Vine(BlockFace.SOUTH, BlockFace.EAST); - } - - else if(getSchematic().containsKey(mb) && !getSchematic().get(mb).material.equals(Material.VINE)) - { - v = new Vine(BlockFace.NORTH, BlockFace.EAST); - } - - e.put(b, MB.of(Material.VINE, v.getData())); - } - - if(!getSchematic().containsKey(c)) - { - v = new Vine(BlockFace.NORTH); - SBlockVector ma = new SBlockVector(c.getX() + 1, c.getY(), c.getZ()); - SBlockVector mb = new SBlockVector(c.getX() - 1, c.getY(), c.getZ()); - - if(getSchematic().containsKey(ma) && !getSchematic().get(ma).material.equals(Material.VINE)) - { - v = new Vine(BlockFace.NORTH, BlockFace.EAST); - } - - else if(getSchematic().containsKey(mb) && !getSchematic().get(mb).material.equals(Material.VINE)) - { - v = new Vine(BlockFace.NORTH, BlockFace.WEST); - } - - e.put(c, MB.of(Material.VINE, v.getData())); - } - - if(!getSchematic().containsKey(d)) - { - v = new Vine(BlockFace.SOUTH); - SBlockVector ma = new SBlockVector(d.getX() + 1, d.getY(), d.getZ()); - SBlockVector mb = new SBlockVector(d.getX() - 1, d.getY(), d.getZ()); - - if(getSchematic().containsKey(ma) && !getSchematic().get(ma).material.equals(Material.VINE)) - { - v = new Vine(BlockFace.SOUTH, BlockFace.EAST); - } - - else if(getSchematic().containsKey(mb) && !getSchematic().get(mb).material.equals(Material.VINE)) - { - v = new Vine(BlockFace.SOUTH, BlockFace.WEST); - } - - e.put(d, MB.of(Material.VINE, v.getData())); - } - - if(!e.isEmpty()) - { - added = true; - } - - for(SBlockVector n : e.k()) - { - for(int g = 0; g < (factor * 2) * RNG.r.nextDouble(); g++) - { - if(n.getY() - (g + 1) < minY) - { - break; - } - - SBlockVector p = new SBlockVector(n.getX(), n.getY() - g, n.getZ()); - - if(e.containsKey(p) || getSchematic().containsKey(p)) - { - break; - } - - e.put(p, e.get(n)); - } - } - - getSchematic().putAll(e); - } - } - } - } - - if(added) - { - w++; - d++; - recalculateMountShift(); - } - } - - public double getSuccess() - { - return (double) successes / ((double) successes + (double) failures); - } - - public int getFailures() - { - return failures; - } - - public int getSuccesses() - { - return successes; - } - - public int getPlaces() - { - return successes + failures; - } - - public void dispose() - { - s.clear(); - } - - public void setGravity(boolean gravity) - { - this.gravity = gravity; - } - - public void setShift(int x, int y, int z) - { - shift = new BlockVector(x, y, z); - } - - public boolean isCenteredHeight() - { - return centeredHeight; - } - - public boolean isGravity() - { - return gravity; - } - - public KMap getS() - { - return s; - } - - public BlockVector getMount() - { - return mount; - } - - public int getMaxslope() - { - return maxslope; - } - - public int getBaseslope() - { - return baseslope; - } - - public boolean isHydrophilic() - { - return hydrophilic; - } - - public boolean isSubmerged() - { - return submerged; - } - - public int getMountHeight() - { - return mountHeight; - } - - public BlockVector getShift() - { - return shift; - } - - public void setCenteredHeight(boolean centeredHeight) - { - this.centeredHeight = centeredHeight; - } - - public void setW(int w) - { - this.w = w; - } - - public void setH(int h) - { - this.h = h; - } - - public void setD(int d) - { - this.d = d; - } - - public void setFailures(int failures) - { - this.failures = failures; - } - - public void setSuccesses(int successes) - { - this.successes = successes; - } - - public void setS(KMap s) - { - this.s = s; - } - - public void setSlopeCache(KMap slopeCache) - { - this.slopeCache = slopeCache; - } - - public void setGravityCache(KMap gravityCache) - { - this.gravityCache = gravityCache; - } - - public void setMount(BlockVector mount) - { - this.mount = mount; - } - - public void setMaxslope(int maxslope) - { - this.maxslope = maxslope; - } - - public void setBaseslope(int baseslope) - { - this.baseslope = baseslope; - } - - public void setHydrophilic(boolean hydrophilic) - { - this.hydrophilic = hydrophilic; - } - - public void setSubmerged(boolean submerged) - { - this.submerged = submerged; - } - - public void setMountHeight(int mountHeight) - { - this.mountHeight = mountHeight; - } - - public void setShift(BlockVector shift) - { - this.shift = shift; - } - - public boolean isOversized() - { - return oversized; - } - - public void setOversized(boolean oversized) - { - this.oversized = oversized; - } -} diff --git a/src/main/java/ninja/bytecode/iris/generator/genobject/GenObjectDecorator.java b/src/main/java/ninja/bytecode/iris/generator/genobject/GenObjectDecorator.java deleted file mode 100644 index b65309260..000000000 --- a/src/main/java/ninja/bytecode/iris/generator/genobject/GenObjectDecorator.java +++ /dev/null @@ -1,463 +0,0 @@ -package ninja.bytecode.iris.generator.genobject; - -import java.util.Collections; -import java.util.Random; - -import org.bukkit.Chunk; -import org.bukkit.Location; -import org.bukkit.World; -import org.bukkit.block.Block; -import org.bukkit.generator.BlockPopulator; - -import mortar.api.sched.S; -import mortar.logic.format.F; -import mortar.util.text.C; -import net.md_5.bungee.api.ChatColor; -import ninja.bytecode.iris.Iris; -import ninja.bytecode.iris.generator.IrisGenerator; -import ninja.bytecode.iris.generator.parallax.ParallaxCache; -import ninja.bytecode.iris.generator.placer.AtomicParallaxPlacer; -import ninja.bytecode.iris.generator.placer.BukkitPlacer; -import ninja.bytecode.iris.generator.placer.NMSPlacer; -import ninja.bytecode.iris.pack.IrisBiome; -import ninja.bytecode.iris.util.IPlacer; -import ninja.bytecode.iris.util.MB; -import ninja.bytecode.iris.util.ObjectMode; -import ninja.bytecode.iris.util.SMCAVector; -import ninja.bytecode.shuriken.collections.KList; -import ninja.bytecode.shuriken.collections.KMap; -import ninja.bytecode.shuriken.collections.KSet; -import ninja.bytecode.shuriken.execution.ChronoLatch; -import ninja.bytecode.shuriken.execution.J; -import ninja.bytecode.shuriken.logging.L; -import ninja.bytecode.shuriken.math.M; -import ninja.bytecode.shuriken.math.RNG; - -public class GenObjectDecorator extends BlockPopulator -{ - private KList placeHistory; - private KMap> orderCache; - private KMap> populationCache; - private IPlacer placer; - private IrisGenerator g; - private ChronoLatch cl = new ChronoLatch(250); - - public GenObjectDecorator(IrisGenerator generator) - { - this.g = generator; - placeHistory = new KList<>(); - populationCache = new KMap<>(); - orderCache = new KMap<>(); - - for(IrisBiome i : generator.getDimension().getBiomes()) - { - KMap gc = new KMap<>(); - KMap> or = new KMap<>(); - int ff = 0; - for(String j : i.getSchematicGroups().k()) - { - double c = i.getSchematicGroups().get(j); - - try - { - GenObjectGroup g = generator.getDimension().getObjectGroup(j); - ff += g.size(); - gc.put(g, c); - - if(!or.containsKey(g.getPiority())) - { - or.put(g.getPiority(), new KList<>()); - } - - or.get(g.getPiority()).add(g); - } - - catch(Throwable e) - { - L.f(ChatColor.RED + "Failed to inject " + j + " into GenObjectDecorator"); - L.ex(e); - } - } - - if(!gc.isEmpty()) - { - KList g = new KList<>(); - for(KList j : or.v()) - { - g.addAll(j); - } - - Collections.sort(g, (a, b) -> a.getPiority() - b.getPiority()); - orderCache.put(i, g); - populationCache.put(i, gc); - - if(Iris.settings.performance.verbose) - { - L.v(C.DARK_GREEN + i.getName() + ": " + C.DARK_AQUA + F.f(ff) + " Objects"); - } - } - } - - L.i("Population Cache is " + populationCache.size()); - } - - @Override - public void populate(World world, Random random, Chunk source) - { - Runnable m = () -> - { - try - { - if(g.isDisposed()) - { - placeHistory.clear(); - return; - } - - KSet hits = new KSet<>(); - int cx = source.getX(); - int cz = source.getZ(); - - for(int i = 0; i < Iris.settings.performance.decorationAccuracy; i++) - { - int x = (cx << 4) + random.nextInt(16); - int z = (cz << 4) + random.nextInt(16); - IrisBiome biome = g.getBiome((int) g.getOffsetX(x, z), (int) g.getOffsetZ(x, z)); - - if(hits.contains(biome)) - { - continue; - } - - KMap objects = populationCache.get(biome); - - if(objects == null) - { - continue; - } - - hits.add(biome); - populate(world, cx, cz, random, biome); - } - } - - catch(Throwable e) - { - e.printStackTrace(); - } - }; - - if(Iris.settings.performance.objectMode.equals(ObjectMode.QUICK_N_DIRTY)) - { - J.a(m); - } - - else - { - m.run(); - } - } - - @SuppressWarnings("deprecation") - private void populate(World world, int cx, int cz, Random random, IrisBiome biome) - { - for(GenObjectGroup i : orderCache.get(biome)) - { - if(biome.getSchematicGroups().get(i.getName()) == null) - { - L.w(C.YELLOW + "Cannot find chance for " + C.RED + i.getName() + C.YELLOW + " in Biome " + C.RED + biome.getName()); - continue; - } - - for(int j = 0; j < getTries(biome.getSchematicGroups().get(i.getName())); j++) - { - if(M.r(Iris.settings.gen.objectDensity)) - { - GenObject go = i.getSchematics().get(random.nextInt(i.getSchematics().size())); - int x = (cx << 4) + random.nextInt(16); - int z = (cz << 4) + random.nextInt(16); - - if(i.getWorldChance() >= 0D) - { - int rngx = (int) Math.floor(x / (double) (i.getWorldRadius() == 0 ? 32 : i.getWorldRadius())); - int rngz = (int) Math.floor(z / (double) (i.getWorldRadius() == 0 ? 32 : i.getWorldRadius())); - - if(new RNG(new SMCAVector(rngx, rngz).hashCode()).nextDouble() < i.getWorldChance()) - { - if(Iris.settings.performance.verbose) - { - L.w(C.WHITE + "Object " + C.YELLOW + i.getName() + "/*" + C.WHITE + " failed to place due to a world chance."); - } - - break; - } - } - - int by = world.getHighestBlockYAt(x, z); - Block b = world.getBlockAt(x, by - 1, z); - MB mb = MB.of(b.getType(), b.getData()); - - if(!Iris.settings.performance.noObjectFail) - { - if(!mb.material.isSolid() || !biome.isSurface(mb.material)) - { - if(Iris.settings.performance.verbose) - { - L.w(C.WHITE + "Object " + C.YELLOW + i.getName() + "/*" + C.WHITE + " failed to place in " + C.YELLOW + mb.material.toString().toLowerCase() + C.WHITE + " at " + C.YELLOW + F.f(x) + " " + F.f(by) + " " + F.f(z)); - } - - return; - } - } - - if(Iris.settings.performance.objectMode.equals(ObjectMode.QUICK_N_DIRTY)) - { - placer = new NMSPlacer(world); - } - - else if(Iris.settings.performance.objectMode.equals(ObjectMode.LIGHTING_PHYSICS)) - { - placer = new BukkitPlacer(world, true); - } - - else if(Iris.settings.performance.objectMode.equals(ObjectMode.LIGHTING)) - { - placer = new BukkitPlacer(world, false); - } - - Runnable rx = () -> - { - Location start = go.place(x, by, z, placer); - - if(start != null) - { - g.hitObject(); - if(Iris.settings.performance.verbose) - { - L.v(C.GRAY + "Placed " + C.DARK_GREEN + i.getName() + C.WHITE + "/" + C.DARK_GREEN + go.getName() + C.GRAY + " at " + C.DARK_GREEN + F.f(start.getBlockX()) + " " + F.f(start.getBlockY()) + " " + F.f(start.getBlockZ())); - } - - if(Iris.settings.performance.debugMode) - { - placeHistory.add(new PlacedObject(start.getBlockX(), start.getBlockY(), start.getBlockZ(), i.getName() + ":" + go.getName())); - - if(placeHistory.size() > Iris.settings.performance.placeHistoryLimit) - { - while(placeHistory.size() > Iris.settings.performance.placeHistoryLimit) - { - placeHistory.remove(0); - } - } - } - } - }; - - if(Iris.settings.performance.objectMode.equals(ObjectMode.QUICK_N_DIRTY)) - { - new S(20) - { - @Override - public void run() - { - rx.run(); - } - }; - } - - else - { - rx.run(); - } - } - } - } - - if(placer != null && cl.flip()) - { - placer.flush(); - } - } - - public void populateParallax(int cx, int cz, Random random) - { - try - { - if(g.isDisposed()) - { - placeHistory.clear(); - return; - } - - ParallaxCache cache = new ParallaxCache(g); - KSet hits = new KSet<>(); - - for(int i = 0; i < Iris.settings.performance.decorationAccuracy; i++) - { - int x = (cx << 4) + random.nextInt(16); - int z = (cz << 4) + random.nextInt(16); - IrisBiome biome = cache.getBiome(x, z); - - if(hits.contains(biome)) - { - continue; - } - - KMap objects = populationCache.get(biome); - - if(objects == null) - { - continue; - } - - hits.add(biome); - populateParallax(cx, cz, random, biome, cache); - } - } - - catch(Throwable e) - { - e.printStackTrace(); - } - } - - private void populateParallax(int cx, int cz, Random random, IrisBiome biome, ParallaxCache cache) - { - for(GenObjectGroup i : orderCache.get(biome)) - { - if(biome.getSchematicGroups().get(i.getName()) == null) - { - L.w(C.YELLOW + "Cannot find chance for " + C.RED + i.getName() + C.YELLOW + " in Biome " + C.RED + biome.getName()); - continue; - } - - for(int j = 0; j < getTries(biome.getSchematicGroups().get(i.getName())); j++) - { - if(M.r(Iris.settings.gen.objectDensity)) - { - if(i.getSchematics().isEmpty()) - { - continue; - } - - GenObject go = i.getSchematics().get(random.nextInt(i.getSchematics().size())); - int x = (cx << 4) + random.nextInt(16); - int z = (cz << 4) + random.nextInt(16); - - if(i.getWorldChance() >= 0D) - { - int rngx = (int) Math.floor(x / (double) (i.getWorldRadius() == 0 ? 32 : i.getWorldRadius())); - int rngz = (int) Math.floor(z / (double) (i.getWorldRadius() == 0 ? 32 : i.getWorldRadius())); - - if(new RNG(new SMCAVector(rngx, rngz).hashCode()).nextDouble() < i.getWorldChance()) - { - if(Iris.settings.performance.verbose) - { - L.w(C.WHITE + "Object " + C.YELLOW + i.getName() + "/*" + C.WHITE + " failed to place due to a world chance."); - } - - break; - } - } - - int by = cache.getHeight(x, z); - MB mb = cache.get(x, by, z); - - if(!Iris.settings.performance.noObjectFail) - { - if(!mb.material.isSolid() || !biome.isSurface(mb.material)) - { - if(Iris.settings.performance.verbose) - { - L.w(C.WHITE + "Object " + C.YELLOW + i.getName() + "/*" + C.WHITE + " failed to place in " + C.YELLOW + mb.material.toString().toLowerCase() + C.WHITE + " at " + C.YELLOW + F.f(x) + " " + F.f(by) + " " + F.f(z)); - } - - return; - } - } - - placer = new AtomicParallaxPlacer(g, cache); - Location start = go.place(x, by, z, placer); - - if(start != null) - { - g.hitObject(); - if(Iris.settings.performance.verbose) - { - L.v(C.GRAY + "Placed " + C.DARK_GREEN + i.getName() + C.WHITE + "/" + C.DARK_GREEN + go.getName() + C.GRAY + " at " + C.DARK_GREEN + F.f(start.getBlockX()) + " " + F.f(start.getBlockY()) + " " + F.f(start.getBlockZ())); - } - - if(Iris.settings.performance.debugMode) - { - placeHistory.add(new PlacedObject(start.getBlockX(), start.getBlockY(), start.getBlockZ(), i.getName() + ":" + go.getName())); - - if(placeHistory.size() > Iris.settings.performance.placeHistoryLimit) - { - while(placeHistory.size() > Iris.settings.performance.placeHistoryLimit) - { - placeHistory.remove(0); - } - } - } - } - } - } - } - - if(placer != null && cl.flip()) - { - placer.flush(); - } - } - - public int getTries(double chance) - { - if(chance <= 0) - { - return 0; - } - - if(Math.floor(chance) == chance) - { - return (int) chance; - } - - int floor = (int) Math.floor(chance); - - if(chance - floor > 0 && M.r(chance - floor)) - { - floor++; - } - - return floor; - } - - public KList getHistory() - { - return placeHistory; - } - - public void dispose() - { - - } - - public PlacedObject randomObject(String string) - { - KList v = new KList<>(); - - for(PlacedObject i : placeHistory) - { - if(i.getF().toLowerCase().replaceAll("\\Q:\\E", "/").startsWith(string.toLowerCase())) - { - v.add(i); - } - } - - if(v.isEmpty()) - { - return null; - } - - return v.getRandom(); - } -} diff --git a/src/main/java/ninja/bytecode/iris/generator/genobject/GenObjectGroup.java b/src/main/java/ninja/bytecode/iris/generator/genobject/GenObjectGroup.java deleted file mode 100644 index f2b1dc40a..000000000 --- a/src/main/java/ninja/bytecode/iris/generator/genobject/GenObjectGroup.java +++ /dev/null @@ -1,387 +0,0 @@ -package ninja.bytecode.iris.generator.genobject; - -import java.io.DataInputStream; -import java.io.DataOutputStream; -import java.io.File; -import java.io.IOException; -import java.util.function.Consumer; - -import net.md_5.bungee.api.ChatColor; -import ninja.bytecode.iris.Iris; -import ninja.bytecode.iris.util.Direction; -import ninja.bytecode.shuriken.collections.KList; -import ninja.bytecode.shuriken.format.Form; -import ninja.bytecode.shuriken.io.IO; -import ninja.bytecode.shuriken.logging.L; - -public class GenObjectGroup -{ - private KList schematics; - private KList osSchematics; - private KList pxSchematics; - private KList flags; - private String name; - private int priority; - private double worldChance; - private int worldRad; - - public GenObjectGroup(String name) - { - this.schematics = new KList<>(); - this.flags = new KList<>(); - this.name = name; - priority = Integer.MIN_VALUE; - worldChance = Integer.MIN_VALUE; - worldRad = 32; - } - - public void read(DataInputStream din) throws IOException - { - flags.clear(); - schematics.clear(); - name = din.readUTF(); - int fl = din.readInt(); - int sc = din.readInt(); - - for(int i = 0; i < fl; i++) - { - flags.add(din.readUTF()); - } - - for(int i = 0; i < sc; i++) - { - GenObject g = new GenObject(0, 0, 0); - g.readDirect(din); - schematics.add(g); - } - } - - public void write(DataOutputStream dos, Consumer progress) throws IOException - { - dos.writeUTF(name); - dos.writeInt(flags.size()); - dos.writeInt(schematics.size()); - - for(String i : flags) - { - dos.writeUTF(i); - } - - int of = 0; - - if(progress != null) - { - progress.accept((double) of / (double) schematics.size()); - } - - for(GenObject i : schematics) - { - i.writeDirect(dos); - of++; - - if(progress != null) - { - progress.accept((double) of / (double) schematics.size()); - } - } - } - - public void applyLushFilter(double factor) - { - if(flags.contains("no lush")) - { - L.i(ChatColor.DARK_GREEN + "Skipping Lush Filter for " + ChatColor.GRAY + getName()); - return; - } - - L.i(ChatColor.GREEN + "Applying Lush Filter to " + ChatColor.WHITE + getName()); - - for(GenObject i : schematics) - { - i.applyLushFilter(factor); - } - } - - public void applySnowFilter(int factor) - { - if(flags.contains("no snow")) - { - L.i(ChatColor.DARK_AQUA + "Skipping Snow Filter for " + ChatColor.GRAY + getName()); - return; - } - - L.i(ChatColor.AQUA + "Applying Snow Filter to " + ChatColor.WHITE + getName()); - - for(GenObject i : schematics) - { - i.applySnowFilter(factor); - } - } - - public GenObjectGroup copy(String suffix) - { - GenObjectGroup gog = new GenObjectGroup(name + suffix); - gog.schematics = new KList<>(); - gog.flags = flags.copy(); - - for(GenObject i : schematics) - { - GenObject g = i.copy(); - g.setName(i.getName() + suffix); - gog.schematics.add(g); - } - - return gog; - } - - public String getName() - { - return name; - } - - public void setName(String name) - { - this.name = name; - } - - public KList getSchematics() - { - return schematics; - } - - public KList getPXSchematics() - { - if(pxSchematics == null) - { - pxSchematics = new KList<>(); - - for(GenObject i : schematics) - { - if(!i.isOversized()) - { - pxSchematics.add(i); - } - } - } - - return pxSchematics; - } - - public KList getOSSchematics() - { - if(osSchematics == null) - { - osSchematics = new KList<>(); - - for(GenObject i : schematics) - { - if(i.isOversized()) - { - osSchematics.add(i); - } - } - } - - return pxSchematics; - } - - public void setSchematics(KList schematics) - { - this.schematics = schematics; - } - - public KList getFlags() - { - return flags; - } - - public void setFlags(KList flags) - { - this.flags = flags; - } - - public int size() - { - return getSchematics().size(); - } - - public int getPiority() - { - if(priority == Integer.MIN_VALUE) - { - for(String i : flags) - { - if(i.startsWith("priority ")) - { - priority = Integer.valueOf(i.split("\\Q \\E")[1]); - break; - } - } - } - - return priority; - } - - public static GenObjectGroup load(String string) - { - File folder = Iris.pack().loadFolder(string); - - if(folder != null) - { - GenObjectGroup g = new GenObjectGroup(string); - - for(File i : folder.listFiles()) - { - if(i.getName().endsWith(".ifl")) - { - try - { - g.flags.add(IO.readAll(i).split("\\Q\n\\E")); - } - - catch(IOException e) - { - L.ex(e); - } - } - - if(i.getName().endsWith(".ish")) - { - try - { - GenObject s = GenObject.load(i); - g.getSchematics().add(s); - } - - catch(IOException e) - { - L.f("Cannot load Schematic: " + string + "/" + i.getName()); - L.ex(e); - } - } - } - - return g; - } - - return null; - } - - public void processVariants() - { - for(GenObject i : getSchematics()) - { - i.recalculateMountShift(); - - for(String j : flags) - { - i.computeFlag(j); - } - } - - if(!flags.contains("no rotation")) - { - KList inject = new KList<>(); - for(GenObject i : getSchematics()) - { - for(Direction j : new Direction[] {Direction.S, Direction.E, Direction.W}) - { - GenObject cp = i.copy(); - GenObject f = cp; - f.rotate(Direction.N, j); - f.recalculateMountShift(); - inject.add(f); - } - } - - getSchematics().add(inject); - } - - L.i(ChatColor.LIGHT_PURPLE + "Processed " + ChatColor.WHITE + Form.f(schematics.size()) + ChatColor.LIGHT_PURPLE + " Schematics in " + ChatColor.WHITE + name); - } - - public void dispose() - { - for(GenObject i : schematics) - { - i.dispose(); - } - - schematics.clear(); - flags.clear(); - } - - @Override - public int hashCode() - { - final int prime = 31; - int result = 1; - result = prime * result + ((flags == null) ? 0 : flags.hashCode()); - result = prime * result + ((name == null) ? 0 : name.hashCode()); - result = prime * result + priority; - return result; - } - - @Override - public boolean equals(Object obj) - { - if(this == obj) - return true; - if(obj == null) - return false; - if(getClass() != obj.getClass()) - return false; - GenObjectGroup other = (GenObjectGroup) obj; - if(flags == null) - { - if(other.flags != null) - return false; - } - else if(!flags.equals(other.flags)) - return false; - if(name == null) - { - if(other.name != null) - return false; - } - else if(!name.equals(other.name)) - return false; - if(priority != other.priority) - return false; - - return true; - } - - public double getWorldChance() - { - if(worldChance == Integer.MIN_VALUE) - { - for(String i : flags) - { - if(i.startsWith("world chance ")) - { - worldChance = Double.valueOf(i.split("\\Q \\E")[2]); - } - } - } - - return worldChance; - } - - public double getWorldRadius() - { - if(worldRad == Integer.MIN_VALUE) - { - for(String i : flags) - { - if(i.startsWith("world radius ")) - { - worldRad = Integer.valueOf(i.split("\\Q \\E")[2]); - } - } - } - - return worldRad; - } - -} diff --git a/src/main/java/ninja/bytecode/iris/generator/genobject/PlacedObject.java b/src/main/java/ninja/bytecode/iris/generator/genobject/PlacedObject.java deleted file mode 100644 index 62cd4b50f..000000000 --- a/src/main/java/ninja/bytecode/iris/generator/genobject/PlacedObject.java +++ /dev/null @@ -1,95 +0,0 @@ -package ninja.bytecode.iris.generator.genobject; - -public class PlacedObject -{ - private int x; - private int y; - private int z; - private String f; - - public PlacedObject(int x, int y, int z, String f) - { - this.x = x; - this.y = y; - this.z = z; - this.f = f; - } - - public int getX() - { - return x; - } - - public void setX(int x) - { - this.x = x; - } - - public int getY() - { - return y; - } - - public void setY(int y) - { - this.y = y; - } - - public int getZ() - { - return z; - } - - public void setZ(int z) - { - this.z = z; - } - - public String getF() - { - return f; - } - - public void setF(String f) - { - this.f = f; - } - - @Override - public int hashCode() - { - final int prime = 31; - int result = 1; - result = prime * result + ((f == null) ? 0 : f.hashCode()); - result = prime * result + x; - result = prime * result + y; - result = prime * result + z; - return result; - } - - @Override - public boolean equals(Object obj) - { - if(this == obj) - return true; - if(obj == null) - return false; - if(getClass() != obj.getClass()) - return false; - PlacedObject other = (PlacedObject) obj; - if(f == null) - { - if(other.f != null) - return false; - } - else if(!f.equals(other.f)) - return false; - if(x != other.x) - return false; - if(y != other.y) - return false; - if(z != other.z) - return false; - return true; - } -} diff --git a/src/main/java/ninja/bytecode/iris/generator/layer/BiomeNoiseGenerator.java b/src/main/java/ninja/bytecode/iris/generator/layer/BiomeNoiseGenerator.java deleted file mode 100644 index 125617acd..000000000 --- a/src/main/java/ninja/bytecode/iris/generator/layer/BiomeNoiseGenerator.java +++ /dev/null @@ -1,34 +0,0 @@ -package ninja.bytecode.iris.generator.layer; - -import ninja.bytecode.iris.pack.IrisBiome; -import ninja.bytecode.shuriken.math.CNG; -import ninja.bytecode.shuriken.math.RNG; - -public class BiomeNoiseGenerator -{ - protected IrisBiome biome; - protected CNG gen; - private double block = 1D / 255D; - - public BiomeNoiseGenerator(RNG rng, IrisBiome biome) - { - this.biome = biome; - //@builder - gen = new CNG(rng.nextParallelRNG(31289 - biome.getName().length() * biome.getRealBiome().ordinal()), 1D, 1) - .scale(0.0025 * biome.getGenScale()) - .fractureWith(new CNG(rng.nextParallelRNG(2922 * biome.getName().length() - biome.getRealBiome().ordinal()), 1D, 1) - .scale(0.0075 * biome.getGenSwirlScale()), 20D * biome.getGenSwirl()); - //@done - } - - public double getHeight(double x, double z) - { - if(biome.getGenAmplifier() == 0) - { - return 0; - } - - double r = block * 52; - return (gen.noise(x, z) * biome.getGenAmplifier() * r); - } -} diff --git a/src/main/java/ninja/bytecode/iris/generator/layer/GenLayerBiome.java b/src/main/java/ninja/bytecode/iris/generator/layer/GenLayerBiome.java deleted file mode 100644 index f2952cc0e..000000000 --- a/src/main/java/ninja/bytecode/iris/generator/layer/GenLayerBiome.java +++ /dev/null @@ -1,217 +0,0 @@ -package ninja.bytecode.iris.generator.layer; - -import java.util.Random; -import java.util.function.Function; - -import org.bukkit.World; - -import mortar.util.text.C; -import ninja.bytecode.iris.Iris; -import ninja.bytecode.iris.generator.IrisGenerator; -import ninja.bytecode.iris.pack.IrisBiome; -import ninja.bytecode.iris.pack.IrisRegion; -import ninja.bytecode.iris.util.BiomeLayer; -import ninja.bytecode.iris.util.Borders; -import ninja.bytecode.iris.util.GenLayer; -import ninja.bytecode.iris.util.PolygonGenerator; -import ninja.bytecode.shuriken.collections.KList; -import ninja.bytecode.shuriken.collections.KMap; -import ninja.bytecode.shuriken.logging.L; -import ninja.bytecode.shuriken.math.CNG; -import ninja.bytecode.shuriken.math.RNG; - -public class GenLayerBiome extends GenLayer -{ - private KMap regions; - private Function factory; - private CNG fracture; - private CNG fuzz; - private PolygonGenerator channel; - private PolygonGenerator ocean; - private BiomeLayer master; - - public GenLayerBiome(IrisGenerator iris, World world, Random random, RNG rng, KList biomes) - { - super(iris, world, random, rng); - //@builder - channel = new PolygonGenerator(rng.nextParallelRNG(-12), 2, 0.0005, 1, (g)->g.fractureWith(new CNG(rng.nextParallelRNG(34), 1D, 2) - .scale(0.01), 30)); - ocean = new PolygonGenerator(rng.nextParallelRNG(-11), 6, 0.005, 1, (g)->g.fractureWith(new CNG(rng.nextParallelRNG(34), 1D, 2) - .scale(0.01), 150)); - fuzz = new CNG(rng.nextParallelRNG(9112), 1D * 12 * Iris.settings.gen.biomeEdgeFuzzScale, 1).scale(6.5); - fracture = new CNG(rng.nextParallelRNG(28), 1D, 4).scale(0.0021 * Iris.settings.gen.biomeEdgeScrambleScale) - .fractureWith(new CNG(rng.nextParallelRNG(34), 1D, 2) - .scale(0.01), 12250); - factory = (g) -> g.fractureWith(new CNG(rng.nextParallelRNG(29), 1D, 3) - .scale(0.005 * Iris.settings.gen.biomeScale), 1024D / Iris.settings.gen.biomeScale) - .fractureWith(new CNG(rng.nextParallelRNG(1212), 1D, 2) - .scale(0.04) - .fractureWith(new CNG(rng.nextParallelRNG(1216), 1D, 3).scale(0.0004), 266), 66); - //@done - regions = new KMap<>(); - - for(IrisBiome i : biomes) - { - if(i.getRegionID().equals("default")) - { - continue; - } - - if(!regions.containsKey(i.getRegionID())) - { - regions.put(i.getRegionID(), new IrisRegion(i.getRegionID())); - } - - regions.get(i.getRegionID()).getBiomes().add(i); - } - - for(IrisRegion i : regions.values()) - { - i.load(); - } - - int m = 0; - - for(IrisBiome i : iris.getDimension().getBiomes()) - { - i.seal(iris.getRTerrain().nextParallelRNG(3922 - m++)); - } - - master = BiomeLayer.compile(iris, 0.082 * Iris.settings.gen.biomeScale * 0.189, 1, factory); - - if(Iris.settings.performance.verbose) - { - master.print(2); - } - } - - public IrisBiome getBiome(double wxx, double wzx) - { - return getBiome(wxx, wzx, false); - } - - public boolean isNearAquatic(int wxx, int wzx) - { - double wx = Math.round((double) wxx * (Iris.settings.gen.horizontalZoom / 1.90476190476)) * Iris.settings.gen.biomeScale; - double wz = Math.round((double) wzx * (Iris.settings.gen.horizontalZoom / 1.90476190476)) * Iris.settings.gen.biomeScale; - double xf = wx + ((fracture.noise(wx, wz) / 2D) * 200D * Iris.settings.gen.biomeEdgeScrambleRange); - double zf = wz - ((fracture.noise(wz, wx) / 2D) * 200D * Iris.settings.gen.biomeEdgeScrambleRange); - double x = xf - fuzz.noise(wx, wz); - double z = zf + fuzz.noise(wz, wx); - - if(ocean.getIndex(x, z) == 0) - { - return true; - } - - if(channel.hasBorder(3, 44, xf, zf)) - { - return true; - } - - if(Borders.isBorderWithin(x, z, 3, 24D, (x + z) / 100D, (xx, zz) -> ocean.getIndex(xx, zz))) - { - return true; - } - - if(ocean.getClosestNeighbor(x, z) > 0.2) - { - return true; - } - - if(channel.getClosestNeighbor(x, z) > 0.2) - { - return true; - } - - if(channel.hasBorder(3, 7, xf, zf) || channel.hasBorder(3, 3, xf, zf)) - { - return true; - } - - return false; - } - - public IrisBiome getBiome(double wxx, double wzx, boolean real) - { - double wx = Math.round((double) wxx * (Iris.settings.gen.horizontalZoom / 1.90476190476)) * Iris.settings.gen.biomeScale; - double wz = Math.round((double) wzx * (Iris.settings.gen.horizontalZoom / 1.90476190476)) * Iris.settings.gen.biomeScale; - double xf = wx + ((fracture.noise(wx, wz) / 2D) * 200D * Iris.settings.gen.biomeEdgeScrambleRange); - double zf = wz - ((fracture.noise(wz, wx) / 2D) * 200D * Iris.settings.gen.biomeEdgeScrambleRange); - double x = xf - fuzz.noise(wx, wz); - double z = zf + fuzz.noise(wz, wx); - IrisBiome biome = master.computeBiome(x, z); - - if(real) - { - return biome; - } - - if(ocean.getIndex(x, z) == 0) - { - IrisRegion region = getRegion(biome.getRegionID()); - - if(region == null) - { - L.f(C.YELLOW + "Cannot find Region " + C.RED + biome.getRegionID()); - return biome; - } - - if(!Borders.isBorderWithin(x, z, 7, 45, (x / 10D) + (z / 10D), (a, b) -> ocean.getIndex(a, b))) - { - if(region.getDeepOcean() == null) - { - L.f(C.YELLOW + "Cannot find Deep Ocean in Region" + C.RED + biome.getRegionID()); - return biome; - } - - return getRegion(biome.getRegionID()).getDeepOcean(); - } - - if(region.getOcean() == null) - { - L.f(C.YELLOW + "Cannot find Ocean in Region" + C.RED + biome.getRegionID()); - return biome; - } - - return getRegion(biome.getRegionID()).getOcean(); - } - - if(channel.hasBorder(3, 44, xf, zf)) - { - IrisRegion region = getRegion(biome.getRegionID()); - - if(region == null) - { - L.f(C.YELLOW + "Cannot find Region " + C.RED + biome.getRegionID()); - return biome; - } - - if(region.getChannel() == null) - { - L.f(C.YELLOW + "Cannot find Channel in Region" + C.RED + biome.getRegionID()); - return biome; - } - - return getRegion(biome.getRegionID()).getChannel(); - } - - return biome; - } - - @Override - public double generateLayer(double noise, double dx, double dz) - { - return noise; - } - - public IrisRegion getRegion(String name) - { - return regions.get(name); - } - - public void compileInfo(BiomeLayer l) - { - l.compileChildren(0.082 * Iris.settings.gen.biomeScale * 0.189, 1, factory, true); - } -} diff --git a/src/main/java/ninja/bytecode/iris/generator/layer/GenLayerCarving.java b/src/main/java/ninja/bytecode/iris/generator/layer/GenLayerCarving.java deleted file mode 100644 index fca30aadc..000000000 --- a/src/main/java/ninja/bytecode/iris/generator/layer/GenLayerCarving.java +++ /dev/null @@ -1,64 +0,0 @@ -package ninja.bytecode.iris.generator.layer; - -import java.util.Random; - -import org.bukkit.World; - -import ninja.bytecode.iris.generator.IrisGenerator; -import ninja.bytecode.iris.generator.atomics.AtomicChunkData; -import ninja.bytecode.iris.util.ChunkPlan; -import ninja.bytecode.iris.util.GenLayer; -import ninja.bytecode.iris.util.IrisInterpolation; -import ninja.bytecode.shuriken.math.CNG; -import ninja.bytecode.shuriken.math.M; -import ninja.bytecode.shuriken.math.RNG; - -public class GenLayerCarving extends GenLayer -{ - private CNG scram; - private CNG cng; - private CNG cngh; - private CNG cngo; - - public GenLayerCarving(IrisGenerator iris, World world, Random random, RNG rng) - { - //@builder - super(iris, world, random, rng); - cng = new CNG(rng.nextParallelRNG(2339234), 1D, 1).scale(0.02); - cngh = new CNG(rng.nextParallelRNG(1939234), 1D, 1).scale(0.027); - cngo = new CNG(rng.nextParallelRNG(8939234), 1D, 1).scale(0.002); - scram = new CNG(rng.nextParallelRNG(2639634), 1D, 1).scale(0.15); - - //@done - } - - @Override - public double generateLayer(double gnoise, double dx, double dz) - { - return gnoise; - } - - public boolean isCarved(double vwxxf, double vwzxf, int x, int z, double hl, AtomicChunkData data, ChunkPlan plan) - { - double a = cngh.noise(vwxxf, vwzxf); - double hmax = 99 + (a * 30); - double hmin = 68 + (a * 30); - - if(hl > hmax || hl < hmin) - { - return false; - } - double wxxf = (scram.noise(vwxxf, vwzxf) * 12) - vwzxf; - double wzxf = (scram.noise(vwzxf, vwxxf) * 12) + vwxxf; - - double downrange = M.lerpInverse(hmin, hmax, hl); - double opacity = IrisInterpolation.sinCenter(downrange); - - if(cng.noise(wxxf, wzxf, hl / 3) < (opacity / 1.4D) * cngo.noise(wxxf, wzxf)) - { - return true; - } - - return false; - } -} diff --git a/src/main/java/ninja/bytecode/iris/generator/layer/GenLayerCaves.java b/src/main/java/ninja/bytecode/iris/generator/layer/GenLayerCaves.java deleted file mode 100644 index ca23f6d36..000000000 --- a/src/main/java/ninja/bytecode/iris/generator/layer/GenLayerCaves.java +++ /dev/null @@ -1,120 +0,0 @@ -package ninja.bytecode.iris.generator.layer; - -import java.util.Random; - -import org.bukkit.Material; -import org.bukkit.World; - -import ninja.bytecode.iris.generator.IrisGenerator; -import ninja.bytecode.iris.generator.atomics.AtomicChunkData; -import ninja.bytecode.iris.util.Borders; -import ninja.bytecode.iris.util.ChunkPlan; -import ninja.bytecode.iris.util.GenLayer; -import ninja.bytecode.iris.util.PolygonGenerator; -import ninja.bytecode.shuriken.bench.PrecisionStopwatch; -import ninja.bytecode.shuriken.math.CNG; -import ninja.bytecode.shuriken.math.RNG; - -public class GenLayerCaves extends GenLayer -{ - private PolygonGenerator g; - private CNG gincline; - private CNG scram; - - public GenLayerCaves(IrisGenerator iris, World world, Random random, RNG rng) - { - //@builder - super(iris, world, random, rng); - g = new PolygonGenerator(rng.nextParallelRNG(1111), 3, 0.024, 8, (c) -> c); - gincline = new CNG(rng.nextParallelRNG(1112), 1D, 3).scale(0.00652); - scram = new CNG(rng.nextParallelRNG(2639634), 1D, 1).scale(0.15); - //@done - } - - @Override - public double generateLayer(double gnoise, double dx, double dz) - { - return gnoise; - } - - public void genCaves(double vwxxf, double vwzxf, int x, int z, AtomicChunkData data, ChunkPlan plan) - { - PrecisionStopwatch s = PrecisionStopwatch.start(); - double itr = 2; - double level = 8; - double incline = 187; - double baseWidth = 11; - double drop = 41; - double wxxf = (scram.noise(vwxxf, vwzxf) * 6) - vwzxf; - double wzxf = (scram.noise(vwzxf, vwxxf) * 6) + vwxxf; - - for(double m = 1; m <= itr; m += 0.45) - { - double w = baseWidth / m; - - if(w < 5) - { - break; - } - - int lowest = 325; - - double n = incline * gincline.noise((wxxf + (m * 10000)), (wzxf - (m * 10000))); - for(double i = 1; i <= w / 3D; i++) - { - if(Borders.isBorderWithin((wxxf + (m * 10000)), (wzxf - (m * 10000)), 5, w / 2D / i, (wxxf / 3D) + (wzxf / 3D), (xx, zz) -> g.getIndex(xx, zz))) - { - int h = (int) ((level + n) - drop); - if(dig(x, (int) (h + i), z, data) && h + i < lowest) - { - lowest = (int) (h + i); - } - - if(dig(x, (int) (h - i), z, data) && h - i < lowest) - { - lowest = (int) (h - i); - } - - if(i == 1) - { - if(dig(x, (int) (h), z, data) && h < lowest) - { - lowest = (int) (h); - } - } - } - } - } - - iris.getMetrics().stop("caves:ms:x256:/chunk:..", s); - } - - public boolean dig(int x, int y, int z, AtomicChunkData data) - { - Material a = data.getType(x, y, z); - Material b = data.getType(x, y, z + 1); - Material c = data.getType(x, y + 1, z); - Material d = data.getType(x + 1, y, z); - Material e = data.getType(x, y, z - 1); - Material f = data.getType(x, y - 1, z); - Material g = data.getType(x - 1, y, z); - - if(can(a) && cann(b) && cann(c) && cann(d) && cann(e) && cann(f) && cann(g)) - { - data.setBlock(x, y, z, Material.AIR); - return true; - } - - return false; - } - - public boolean cann(Material m) - { - return m.isSolid() || m.equals(Material.AIR) && !m.equals(Material.BEDROCK); - } - - public boolean can(Material m) - { - return m.isSolid() && !m.equals(Material.BEDROCK); - } -} diff --git a/src/main/java/ninja/bytecode/iris/generator/layer/GenLayerCliffs.java b/src/main/java/ninja/bytecode/iris/generator/layer/GenLayerCliffs.java deleted file mode 100644 index 1dab5f192..000000000 --- a/src/main/java/ninja/bytecode/iris/generator/layer/GenLayerCliffs.java +++ /dev/null @@ -1,67 +0,0 @@ -package ninja.bytecode.iris.generator.layer; - -import java.util.Random; - -import org.bukkit.World; - -import ninja.bytecode.iris.generator.IrisGenerator; -import ninja.bytecode.iris.util.GenLayer; -import ninja.bytecode.shuriken.math.CNG; -import ninja.bytecode.shuriken.math.RNG; - -public class GenLayerCliffs extends GenLayer -{ - private double block; - private CNG gen; - private CNG sh; - private CNG ch; - - public GenLayerCliffs(IrisGenerator iris, World world, Random random, RNG rng) - { - //@builder - super(iris, world, random, rng); - block = 1D / 255D; - gen = new CNG(rng.nextParallelRNG(128), 1D, 4).scale(0.02); - sh = new CNG(rng.nextParallelRNG(127), 1D, 1).scale(0.00367); - ch = new CNG(rng.nextParallelRNG(127), 1D, 1).scale(0.00413); - //@done - } - - @Override - public double generateLayer(double gnoise, double dx, double dz) - { - return generateLayer(gnoise, dx, dz, 1D, 0.37D); - } - - public double generateLayer(double gnoise, double dx, double dz, double cliffs, double chance) - { - if(gnoise < block * 66) - { - return gnoise; - } - - double shift = 10.25 + (sh.noise(dx, dz) * 2.25) * cliffs; - double hits = 183D / shift; - double n = gnoise; - - for(int i = (int) hits; i > 0; i--) - { - if(ch.noise(dx + (i * -1000), dz + (i * 1000)) >= chance) - { - continue; - } - - double var = 12.2 * block; - double varCombined = 15.45 * block; - double sep = (shift / 1.8D) * block; - double height = (67 + (i * shift)) * block; - double sh = ((gen.noise(dx + dz, dz - dx) - 0.5D) * 2D) * varCombined; - double shv = ((gen.noise(dz + dx, dx - dz) - 0.5D) * 2D) * varCombined; - double lo = (gen.noise(dx + (i * -1000), dz + (i * 1000)) * var) + height + sh; - double hi = (gen.noise(dz + (i * 1000), dx + (i * -1000)) * var) + height + sep + shv; - n = n > lo && n < hi ? lo : n; - } - - return n; - } -} diff --git a/src/main/java/ninja/bytecode/iris/generator/layer/GenLayerLayeredNoise.java b/src/main/java/ninja/bytecode/iris/generator/layer/GenLayerLayeredNoise.java deleted file mode 100644 index 089cc5aa1..000000000 --- a/src/main/java/ninja/bytecode/iris/generator/layer/GenLayerLayeredNoise.java +++ /dev/null @@ -1,44 +0,0 @@ -package ninja.bytecode.iris.generator.layer; - -import java.util.Random; - -import org.bukkit.World; - -import ninja.bytecode.iris.generator.IrisGenerator; -import ninja.bytecode.iris.util.GenLayer; -import ninja.bytecode.shuriken.math.CNG; -import ninja.bytecode.shuriken.math.RNG; - -public class GenLayerLayeredNoise extends GenLayer -{ - private CNG gen; - private CNG fract; - - public GenLayerLayeredNoise(IrisGenerator iris, World world, Random random, RNG rng) - { - //@builder - super(iris, world, random, rng); - fract = new CNG(rng.nextParallelRNG(16), 1D, 9).scale(0.0181); - gen = new CNG(rng.nextParallelRNG(17), 0.19D, 8) - .scale(0.012) - .amp(0.5) - .freq(1.1) - .fractureWith(new CNG(rng.nextParallelRNG(18), 1, 5) - .scale(0.018) - .child(new CNG(rng.nextParallelRNG(19), 0.745, 2) - .scale(0.1)) - .fractureWith(new CNG(rng.nextParallelRNG(20), 1, 3) - .scale(0.15), 24), 44); - } - - public double getHeight(double x, double z) - { - return 0.65* gen.noise(x, z); - } - - @Override - public double generateLayer(double gnoise, double dx, double dz) - { - return 0.65 * gen.noise(gnoise, dx + (fract.noise(gnoise, dx, dz) * 333), dz - (fract.noise(dz, dx, gnoise) * 333)); - } -} diff --git a/src/main/java/ninja/bytecode/iris/generator/layer/GenLayerOres.java b/src/main/java/ninja/bytecode/iris/generator/layer/GenLayerOres.java deleted file mode 100644 index 9abb49421..000000000 --- a/src/main/java/ninja/bytecode/iris/generator/layer/GenLayerOres.java +++ /dev/null @@ -1,145 +0,0 @@ -package ninja.bytecode.iris.generator.layer; - -import java.util.Random; - -import org.bukkit.Material; -import org.bukkit.World; - -import ninja.bytecode.iris.Iris; -import ninja.bytecode.iris.Settings.OreSettings; -import ninja.bytecode.iris.generator.IrisGenerator; -import ninja.bytecode.iris.generator.atomics.AtomicChunkData; -import ninja.bytecode.iris.util.ChunkPlan; -import ninja.bytecode.iris.util.GenLayer; -import ninja.bytecode.iris.util.IrisInterpolation; -import ninja.bytecode.shuriken.bench.PrecisionStopwatch; -import ninja.bytecode.shuriken.math.CNG; -import ninja.bytecode.shuriken.math.M; -import ninja.bytecode.shuriken.math.RNG; - -public class GenLayerOres extends GenLayer -{ - private CNG ore; - - public GenLayerOres(IrisGenerator iris, World world, Random random, RNG rng) - { - //@builder - super(iris, world, random, rng); - ore = new CNG(rng.nextParallelRNG(12944), 1D, 1).scale(0.1); - //@done - } - - @Override - public double generateLayer(double gnoise, double dx, double dz) - { - return gnoise; - } - - public void genOres(double xxf, double zzf, int x, int z, int h, AtomicChunkData data, ChunkPlan plan) - { - PrecisionStopwatch s = PrecisionStopwatch.start(); - OreSettings o = Iris.settings.ore; - - for(int i = 0; i < h; i++) - { - if(i >= o.ironMinHeight && i <= o.ironMaxHeight && - ore.noise(xxf + 64, i, zzf - 64) < IrisInterpolation.lerpCenterSinBezier( - o.ironMinDispersion, - Iris.settings.ore.ironMaxDispersion, - M.lerpInverse(o.ironMinHeight, o.ironMaxHeight, i))) - { - if(!can(data.getType(x, i, z))) - { - continue; - } - - data.setBlock(x, i, z, Material.IRON_ORE); - } - - if(i >= o.coalMinHeight && i <= o.coalMaxHeight && - ore.noise(xxf + 128, i, zzf - 128) < IrisInterpolation.lerpCenterSinBezier( - o.coalMinDispersion, - Iris.settings.ore.coalMaxDispersion, - M.lerpInverse(o.coalMinHeight, o.coalMaxHeight, i))) - { - if(!can(data.getType(x, i, z))) - { - continue; - } - data.setBlock(x, i, z, Material.COAL_ORE); - } - - if(i >= o.goldMinHeight && i <= o.goldMaxHeight && - ore.noise(xxf + 64, i, zzf - 128) < IrisInterpolation.lerpCenterSinBezier( - o.goldMinDispersion, - Iris.settings.ore.goldMaxDispersion, - M.lerpInverse(o.goldMinHeight, o.goldMaxHeight, i))) - { - if(!can(data.getType(x, i, z))) - { - continue; - } - data.setBlock(x, i, z, Material.GOLD_ORE); - } - - if(i >= o.redstoneMinHeight && i <= o.redstoneMaxHeight && - ore.noise(xxf + 128, i, zzf - 64) < IrisInterpolation.lerpCenterSinBezier( - o.redstoneMinDispersion, - Iris.settings.ore.redstoneMaxDispersion, - M.lerpInverse(o.redstoneMinHeight, o.redstoneMaxHeight, i))) - { - if(!can(data.getType(x, i, z))) - { - continue; - } - data.setBlock(x, i, z, Material.REDSTONE_ORE); - } - - if(i >= o.lapisMinHeight && i <= o.lapisMaxHeight && - ore.noise(xxf + 256, i, zzf - 64) < IrisInterpolation.lerpCenterSinBezier( - o.lapisMinDispersion, - Iris.settings.ore.lapisMaxDispersion, - M.lerpInverse(o.lapisMinHeight, o.lapisMaxHeight, i))) - { - if(!can(data.getType(x, i, z))) - { - continue; - } - data.setBlock(x, i, z, Material.LAPIS_ORE); - } - - if(i >= o.diamondMinHeight && i <= o.diamondMaxHeight && - ore.noise(xxf + 64, i, zzf - 256) < IrisInterpolation.lerpCenterSinBezier( - o.diamondMinDispersion, - Iris.settings.ore.diamondMaxDispersion, - M.lerpInverse(o.diamondMinHeight, o.diamondMaxHeight, i))) - { - if(!can(data.getType(x, i, z))) - { - continue; - } - data.setBlock(x, i, z, Material.DIAMOND_ORE); - } - - if(i >= o.emeraldMinHeight && i <= o.emeraldMaxHeight && - ore.noise(xxf + 128, i, zzf - 256) < IrisInterpolation.lerpCenterSinBezier( - o.emeraldMinDispersion, - Iris.settings.ore.emeraldMaxDispersion, - M.lerpInverse(o.emeraldMinHeight, o.emeraldMaxHeight, i))) - { - if(!can(data.getType(x, i, z))) - { - continue; - } - data.setBlock(x, i, z, Material.EMERALD_ORE); - } - } - - iris.getMetrics().stop("ores:ms:x256:/chunk:..", s); - } - - public boolean can(Material m) - { - return m.equals(Material.STONE) || m.name().endsWith("_ORE"); - } -} diff --git a/src/main/java/ninja/bytecode/iris/generator/layer/GenLayerSnow.java b/src/main/java/ninja/bytecode/iris/generator/layer/GenLayerSnow.java deleted file mode 100644 index 10bf2dd9f..000000000 --- a/src/main/java/ninja/bytecode/iris/generator/layer/GenLayerSnow.java +++ /dev/null @@ -1,42 +0,0 @@ -package ninja.bytecode.iris.generator.layer; - -import java.util.Random; - -import org.bukkit.World; - -import ninja.bytecode.iris.generator.IrisGenerator; -import ninja.bytecode.iris.util.GenLayer; -import ninja.bytecode.shuriken.math.CNG; -import ninja.bytecode.shuriken.math.RNG; - -public class GenLayerSnow extends GenLayer -{ - private CNG gen; - - public GenLayerSnow(IrisGenerator iris, World world, Random random, RNG rng) - { - //@builder - super(iris, world, random, rng); - gen = new CNG(rng.nextParallelRNG(117), 1D, 1) - .scale(0.059) - .amp(0.5) - .freq(1.1) - .fractureWith(new CNG(rng.nextParallelRNG(18), 1, 6) - .scale(0.018) - .child(new CNG(rng.nextParallelRNG(19), 0.745, 2) - .scale(0.1)) - .fractureWith(new CNG(rng.nextParallelRNG(20), 1, 3) - .scale(0.15), 24), 44); - } - - public double getHeight(double x, double z) - { - return gen.noise(x, z); - } - - @Override - public double generateLayer(double gnoise, double dx, double dz) - { - return getHeight(dx, dz); - } -} diff --git a/src/main/java/ninja/bytecode/iris/generator/parallax/ParallaxAnchor.java b/src/main/java/ninja/bytecode/iris/generator/parallax/ParallaxAnchor.java deleted file mode 100644 index b56f51c75..000000000 --- a/src/main/java/ninja/bytecode/iris/generator/parallax/ParallaxAnchor.java +++ /dev/null @@ -1,45 +0,0 @@ -package ninja.bytecode.iris.generator.parallax; - -import ninja.bytecode.iris.generator.atomics.AtomicChunkData; -import ninja.bytecode.iris.pack.IrisBiome; - -public class ParallaxAnchor -{ - private final int height; - private final int water; - private final IrisBiome biome; - private final AtomicChunkData data; - - public ParallaxAnchor(int height, int water, IrisBiome biome, AtomicChunkData data) - { - this.height = height; - this.water = water; - this.biome = biome; - this.data = data; - } - - public AtomicChunkData getData() - { - return data; - } - - public int getWater() - { - return water; - } - - public int getHeight() - { - return height; - } - - public int getWaterHeight() - { - return water; - } - - public IrisBiome getBiome() - { - return biome; - } -} diff --git a/src/main/java/ninja/bytecode/iris/generator/parallax/ParallaxCache.java b/src/main/java/ninja/bytecode/iris/generator/parallax/ParallaxCache.java deleted file mode 100644 index cf9331bfc..000000000 --- a/src/main/java/ninja/bytecode/iris/generator/parallax/ParallaxCache.java +++ /dev/null @@ -1,102 +0,0 @@ -package ninja.bytecode.iris.generator.parallax; - -import ninja.bytecode.iris.generator.IrisGenerator; -import ninja.bytecode.iris.generator.atomics.AtomicChunkData; -import ninja.bytecode.iris.pack.IrisBiome; -import ninja.bytecode.iris.util.ChunkPlan; -import ninja.bytecode.iris.util.MB; -import ninja.bytecode.iris.util.SMCAVector; -import ninja.bytecode.shuriken.collections.KMap; -import ninja.bytecode.shuriken.collections.KSet; - -public class ParallaxCache -{ - private KMap cachePlan; - private KMap cacheData; - private KSet contains; - private IrisGenerator gen; - - public ParallaxCache(IrisGenerator gen) - { - this.gen = gen; - cacheData = new KMap<>(); - cachePlan = new KMap<>(); - contains = new KSet<>(); - } - - public MB get(int x, int y, int z) - { - SMCAVector s = new SMCAVector(x, z); - SMCAVector c = new SMCAVector(x >> 4, z >> 4); - - if(contains.contains(s) && cacheData.containsKey(c) && cachePlan.containsKey(c) ) - { - return cacheData.get(c).getMB(x & 15, y, z & 15); - } - - createData(x, z, s, c); - - return cacheData.get(c).getMB(x & 15, y, z & 15); - } - - public IrisBiome getBiome(int x, int z) - { - SMCAVector s = new SMCAVector(x, z); - SMCAVector c = new SMCAVector(x >> 4, z >> 4); - - if(contains.contains(s) && cacheData.containsKey(c) && cachePlan.containsKey(c) ) - { - return cachePlan.get(c).getBiome(x & 15, z & 15); - } - - createData(x, z, s, c); - - return cachePlan.get(c).getBiome(x & 15, z & 15); - } - - public int getWaterHeight(int x, int z) - { - SMCAVector s = new SMCAVector(x, z); - SMCAVector c = new SMCAVector(x >> 4, z >> 4); - - if(contains.contains(s) && cacheData.containsKey(c) && cachePlan.containsKey(c) ) - { - return cachePlan.get(c).getRealWaterHeight(x & 15, z & 15); - } - - createData(x, z, s, c); - - return cachePlan.get(c).getRealWaterHeight(x & 15, z & 15); - } - - public int getHeight(int x, int z) - { - SMCAVector s = new SMCAVector(x, z); - SMCAVector c = new SMCAVector(x >> 4, z >> 4); - - if(contains.contains(s) && cacheData.containsKey(c) && cachePlan.containsKey(c) ) - { - return cachePlan.get(c).getRealHeight(x & 15, z & 15); - } - - createData(x, z, s, c); - - return cachePlan.get(c).getRealHeight(x & 15, z & 15); - } - - private void createData(int x, int z, SMCAVector s, SMCAVector c) - { - if(!cacheData.containsKey(c)) - { - cacheData.put(c, new AtomicChunkData(gen.getWorld())); - } - - if(!cachePlan.containsKey(c)) - { - cachePlan.put(c, new ChunkPlan()); - } - - gen.computeAnchor(x, z, cachePlan.get(c), cacheData.get(c)); - contains.add(s); - } -} diff --git a/src/main/java/ninja/bytecode/iris/generator/parallax/ParallaxWorldGenerator.java b/src/main/java/ninja/bytecode/iris/generator/parallax/ParallaxWorldGenerator.java deleted file mode 100644 index 8e266b133..000000000 --- a/src/main/java/ninja/bytecode/iris/generator/parallax/ParallaxWorldGenerator.java +++ /dev/null @@ -1,194 +0,0 @@ -package ninja.bytecode.iris.generator.parallax; - -import java.util.Random; - -import org.bukkit.Bukkit; -import org.bukkit.World; -import org.bukkit.block.Biome; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.world.ChunkLoadEvent; -import org.bukkit.event.world.WorldSaveEvent; -import org.bukkit.event.world.WorldUnloadEvent; - -import mortar.api.nms.NMP; -import ninja.bytecode.iris.Iris; -import ninja.bytecode.iris.generator.IrisGenerator; -import ninja.bytecode.iris.generator.atomics.AtomicChunkData; -import ninja.bytecode.iris.util.ChunkPlan; -import ninja.bytecode.iris.util.IrisWorldData; -import ninja.bytecode.iris.util.ObjectMode; -import ninja.bytecode.iris.util.SChunkVector; -import ninja.bytecode.shuriken.bench.PrecisionStopwatch; -import ninja.bytecode.shuriken.execution.TaskExecutor.TaskGroup; -import ninja.bytecode.shuriken.math.RNG; - -public abstract class ParallaxWorldGenerator extends ParallelChunkGenerator implements Listener -{ - private World world; - private IrisWorldData data; - private RNG rMaster; - private AtomicChunkData buffer; - protected boolean saving; - - @Override - public final void init(World world, Random random) - { - this.world = world; - saving = true; - buffer = new AtomicChunkData(world); - this.data = new IrisWorldData(world); - this.rMaster = new RNG(world.getSeed() + 1); - onInit(world, rMaster.nextParallelRNG(1)); - Bukkit.getPluginManager().registerEvents(this, Iris.instance); - } - - public void disableSaving() - { - saving = false; - data.disableSaving(); - } - - public void enableSaving() - { - saving = true; - data.enableSaving(); - } - - @EventHandler - public void on(ChunkLoadEvent e) - { - if(Iris.settings.performance.objectMode.equals(ObjectMode.PARALLAX) && e.getWorld().equals(world)) - { - NMP.host.relight(e.getChunk()); - } - } - - @EventHandler - public void on(WorldUnloadEvent e) - { - if(e.getWorld().equals(world)) - { - getWorldData().dispose(); - onUnload(); - } - } - - @EventHandler - public void on(WorldSaveEvent e) - { - if(!saving) - { - return; - } - - if(e.getWorld().equals(world)) - { - getWorldData().saveAll(); - } - } - - public ParallaxAnchor computeAnchor(int wx, int wz, ChunkPlan heightBuffer, AtomicChunkData data) - { - onGenColumn(wx, wz, wx & 15, wz & 15, heightBuffer, data, false); - - return new ParallaxAnchor(heightBuffer.getRealHeight(wx & 15, wz & 15), heightBuffer.getRealWaterHeight(wx & 15, wz & 15), heightBuffer.getBiome(wx & 15, wz & 15), data); - } - - public ParallaxAnchor computeAnchor(int wx, int wz) - { - ChunkPlan heightBuffer = new ChunkPlan(); - onGenColumn(wx, wz, wx & 15, wz & 15, heightBuffer, buffer, false); - - return new ParallaxAnchor(heightBuffer.getRealHeight(wx & 15, wz & 15), heightBuffer.getRealWaterHeight(wx & 15, wz & 15), heightBuffer.getBiome(wx & 15, wz & 15), buffer); - } - - public void doGenParallax(int x, int z) - { - onGenParallax(x, z, getRMaster(x, z, -59328)); - getWorldData().getChunk(x, z); - } - - @Override - public final ChunkPlan initChunk(World world, int x, int z, Random random) - { - PrecisionStopwatch ps = PrecisionStopwatch.start(); - TaskGroup g = startWork(); - if(Iris.settings.performance.objectMode.equals(ObjectMode.PARALLAX)) - { - for(int ii = -(getParallaxSize().getX() / 2) - 1; ii < (((getParallaxSize().getX() / 2) + 1)); ii++) - { - int i = ii; - - for(int jj = -(getParallaxSize().getZ() / 2) - 1; jj < (((getParallaxSize().getZ() / 2) + 1)); jj++) - { - int j = jj; - int cx = x + i; - int cz = z + j; - - if(!getWorldData().exists(cx, cz)) - { - g.queue(() -> - { - onGenParallax(cx, cz, getRMaster(cx, cz, -59328)); - getWorldData().getChunk(cx, cz); - }); - } - } - } - - g.execute(); - } - - ((IrisGenerator) this).getMetrics().put("parallax:ms:/chunk", ps.getMillis()); - - return onInitChunk(world, x, z, random); - } - - @Override - public final void postChunk(World world, int x, int z, Random random, AtomicChunkData data, ChunkPlan plan) - { - onPostChunk(world, x, z, random, data, plan); - getWorldData().inject(x, z, data); - } - - @Override - public final Biome genColumn(int wx, int wz, int x, int z, ChunkPlan plan, AtomicChunkData data, boolean surface) - { - return onGenColumn(wx, wz, x, z, plan, data, surface); - } - - public World getWorld() - { - return world; - } - - public IrisWorldData getWorldData() - { - return data; - } - - public RNG getRMaster() - { - return rMaster; - } - - public RNG getRMaster(int x, int z, int signature) - { - return rMaster.nextParallelRNG((int) (signature + x * z + z + x * 2.12)); - } - - protected abstract void onUnload(); - - protected abstract SChunkVector getParallaxSize(); - - public abstract void onGenParallax(int x, int z, Random random); - - public abstract void onInit(World world, Random random); - - public abstract ChunkPlan onInitChunk(World world, int x, int z, Random random); - - public abstract Biome onGenColumn(int wx, int wz, int x, int z, ChunkPlan plan, AtomicChunkData data, boolean surfaceOnly); - - public abstract void onPostChunk(World world, int x, int z, Random random, AtomicChunkData data, ChunkPlan plan); -} diff --git a/src/main/java/ninja/bytecode/iris/generator/parallax/ParallelChunkGenerator.java b/src/main/java/ninja/bytecode/iris/generator/parallax/ParallelChunkGenerator.java deleted file mode 100644 index 27cee34f8..000000000 --- a/src/main/java/ninja/bytecode/iris/generator/parallax/ParallelChunkGenerator.java +++ /dev/null @@ -1,191 +0,0 @@ -package ninja.bytecode.iris.generator.parallax; - -import java.util.Random; - -import org.bukkit.Material; -import org.bukkit.World; -import org.bukkit.block.Biome; -import org.bukkit.generator.ChunkGenerator; - -import mortar.util.text.C; -import ninja.bytecode.iris.Iris; -import ninja.bytecode.iris.generator.atomics.AtomicChunkData; -import ninja.bytecode.iris.util.ChunkPlan; -import ninja.bytecode.iris.util.ChunkSpliceListener; -import ninja.bytecode.shuriken.execution.TaskExecutor; -import ninja.bytecode.shuriken.execution.TaskExecutor.TaskGroup; -import ninja.bytecode.shuriken.execution.TaskExecutor.TaskResult; -import ninja.bytecode.shuriken.logging.L; -import ninja.bytecode.shuriken.math.RollingSequence; -import ninja.bytecode.shuriken.reaction.O; - -public abstract class ParallelChunkGenerator extends ChunkGenerator -{ - private int i; - private int j; - private int wx; - private int wz; - private TaskExecutor backupService; - private TaskGroup tg; - private boolean ready = false; - int cg = 0; - private RollingSequence rs = new RollingSequence(512); - private World world; - private ChunkSpliceListener splicer; - - public void setSplicer(ChunkSpliceListener splicer) - { - this.splicer = splicer; - } - - public World getWorld() - { - return world; - } - - public Biome generateFullColumn(int a, int b, int c, int d, ChunkPlan p, AtomicChunkData data) - { - return genColumn(a, b, c, d, p, data, false); - } - - private TaskGroup work(String n) - { - if(Iris.instance == null || Iris.exec() == null) - { - if(backupService == null) - { - L.f(C.RED + "Cannot contact ExecutionController!" + C.YELLOW + " Did you reload iris?"); - L.w(C.YELLOW + "Spinning up a temporary backup service until the issue resolves..."); - backupService = new TaskExecutor(4, Thread.MAX_PRIORITY, "Iris Backup Handover"); - Iris.instance.reload(); - } - - return backupService.startWork(); - } - - else if(backupService != null) - { - L.i(C.GREEN + "Reconnected to the execution service. Closing backup service now..."); - backupService.close(); - } - - return Iris.exec().getExecutor(world, n).startWork(); - } - - public TaskGroup startParallaxWork() - { - return work("Parallax"); - } - - public TaskGroup startWork() - { - return work("Generator"); - } - - public ChunkData generateChunkData(World world, Random random, int x, int z, BiomeGrid biome) - { - random = new Random(world.getSeed()); - if(splicer != null) - { - AtomicChunkData d = splicer.onSpliceAvailable(world, random, x, z, biome); - - if(d != null) - { - return d.toChunkData(); - } - } - - AtomicChunkData data = new AtomicChunkData(world); - - try - { - this.world = world; - - if(!ready) - { - init(world, random); - ready = true; - } - - tg = startWork(); - O plan = new O(); - for(i = 0; i < 16; i++) - { - wx = (x << 4) + i; - - for(j = 0; j < 16; j++) - { - wz = (z << 4) + j; - int a = wx; - int b = wz; - int c = i; - int d = j; - tg.queue(() -> - { - Biome f = generateFullColumn(a, b, c, d, plan.get(), data); - biome.setBiome(c, d, f); - }); - } - } - - plan.set(initChunk(world, x, z, random)); - TaskResult r = tg.execute(); - onDecorateChunk(world, x, z, data, plan.get()); - TaskGroup gd = startWork(); - - for(i = 0; i < 16; i++) - { - wx = (x << 4) + i; - - for(j = 0; j < 16; j++) - { - wz = (z << 4) + j; - int a = wx; - int b = wz; - int c = i; - int d = j; - gd.queue(() -> onDecorateColumn(world, c, d, a, b, data, plan.get())); - } - } - - gd.execute(); - postChunk(world, x, z, random, data, plan.get()); - rs.put(r.timeElapsed); - cg++; - } - - catch(Throwable e) - { - try - { - for(int i = 0; i < 16; i++) - { - for(int j = 0; j < 16; j++) - { - data.setBlock(i, 0, j, Material.RED_GLAZED_TERRACOTTA); - } - } - } - - catch(Throwable ex) - { - - } - e.printStackTrace(); - } - - return data.toChunkData(); - } - - protected abstract void onDecorateColumn(World world2, int i2, int j2, int wx2, int wz2, AtomicChunkData data, ChunkPlan chunkPlan); - - protected abstract void onDecorateChunk(World world2, int x, int z, AtomicChunkData data, ChunkPlan chunkPlan); - - public abstract void init(World world, Random random); - - public abstract ChunkPlan initChunk(World world, int x, int z, Random random); - - public abstract void postChunk(World world, int x, int z, Random random, AtomicChunkData data, ChunkPlan plan); - - public abstract Biome genColumn(int wx, int wz, int x, int z, ChunkPlan plan, AtomicChunkData data, boolean surfaceOnly); -} \ No newline at end of file diff --git a/src/main/java/ninja/bytecode/iris/generator/placer/AtomicParallaxPlacer.java b/src/main/java/ninja/bytecode/iris/generator/placer/AtomicParallaxPlacer.java deleted file mode 100644 index 3bd7a7a71..000000000 --- a/src/main/java/ninja/bytecode/iris/generator/placer/AtomicParallaxPlacer.java +++ /dev/null @@ -1,47 +0,0 @@ -package ninja.bytecode.iris.generator.placer; - -import org.bukkit.Location; - -import ninja.bytecode.iris.generator.IrisGenerator; -import ninja.bytecode.iris.generator.parallax.ParallaxCache; -import ninja.bytecode.iris.util.IrisWorldData; -import ninja.bytecode.iris.util.MB; -import ninja.bytecode.iris.util.Placer; - -public class AtomicParallaxPlacer extends Placer -{ - private IrisWorldData data; - private ParallaxCache cache; - - public AtomicParallaxPlacer(IrisGenerator g, ParallaxCache cache) - { - super(g.getWorld()); - this.data = g.getWorldData(); - this.cache = cache; - } - - @Override - public MB get(Location l) - { - return cache.get(l.getBlockX(), l.getBlockY(), l.getBlockZ()); - } - - @SuppressWarnings("deprecation") - @Override - public void set(Location l, MB mb) - { - data.setBlock(l.getBlockX(), l.getBlockY(), l.getBlockZ(), mb.material.getId(), mb.data); - } - - @Override - public int getHighestY(Location l) - { - return cache.getHeight(l.getBlockX(), l.getBlockZ()); - } - - @Override - public int getHighestYUnderwater(Location l) - { - return cache.getWaterHeight(l.getBlockX(), l.getBlockZ()); - } -} diff --git a/src/main/java/ninja/bytecode/iris/generator/placer/BukkitPlacer.java b/src/main/java/ninja/bytecode/iris/generator/placer/BukkitPlacer.java deleted file mode 100644 index ea9368891..000000000 --- a/src/main/java/ninja/bytecode/iris/generator/placer/BukkitPlacer.java +++ /dev/null @@ -1,63 +0,0 @@ -package ninja.bytecode.iris.generator.placer; - -import org.bukkit.Location; -import org.bukkit.World; -import org.bukkit.block.Block; - -import ninja.bytecode.iris.util.MB; -import ninja.bytecode.iris.util.Placer; - -public class BukkitPlacer extends Placer -{ - private final boolean applyPhysics; - - public BukkitPlacer(World world, boolean applyPhysics) - { - super(world); - this.applyPhysics = applyPhysics; - } - - @SuppressWarnings("deprecation") - @Override - public MB get(Location l) - { - Block b = world.getBlockAt(l); - return MB.of(b.getType(), b.getData()); - } - - @SuppressWarnings("deprecation") - @Override - public void set(Location l, MB mb) - { - l.getBlock().setTypeIdAndData(mb.material.getId(), mb.data, applyPhysics); - } - - @Override - public int getHighestYUnderwater(Location l) - { - int y = getHighestY(l); - - while(y > 0) - { - y--; - Block b = l.getWorld().getBlockAt(l.getBlockX(), y, l.getBlockZ()); - if(!b.isEmpty()) - { - if(b.isLiquid()) - { - continue; - } - - return y + 1; - } - } - - return y; - } - - @Override - public int getHighestY(Location l) - { - return world.getHighestBlockYAt(l); - } -} diff --git a/src/main/java/ninja/bytecode/iris/generator/placer/NMSPlacer.java b/src/main/java/ninja/bytecode/iris/generator/placer/NMSPlacer.java deleted file mode 100644 index 96b6c4ec8..000000000 --- a/src/main/java/ninja/bytecode/iris/generator/placer/NMSPlacer.java +++ /dev/null @@ -1,92 +0,0 @@ -package ninja.bytecode.iris.generator.placer; - -import org.bukkit.Chunk; -import org.bukkit.Location; -import org.bukkit.World; -import org.bukkit.block.Block; -import org.bukkit.entity.Player; - -import mortar.api.nms.Catalyst; -import mortar.api.nms.NMP; -import mortar.api.world.MaterialBlock; -import ninja.bytecode.iris.util.MB; -import ninja.bytecode.iris.util.Placer; -import ninja.bytecode.shuriken.collections.KSet; -import ninja.bytecode.shuriken.execution.J; - -public class NMSPlacer extends Placer -{ - private KSet c; - - public NMSPlacer(World world) - { - super(world); - c = new KSet<>(); - } - - @SuppressWarnings("deprecation") - @Override - public MB get(Location l) - { - Block b = world.getBlockAt(l); - return MB.of(b.getType(), b.getData()); - } - - @SuppressWarnings("deprecation") - @Override - public void set(Location l, MB mb) - { - Catalyst.host.setBlock(l, new MaterialBlock(mb.material.getId(), mb.data)); - c.add(l.getChunk()); - } - - @Override - public int getHighestY(Location l) - { - return world.getHighestBlockYAt(l); - } - - @Override - public int getHighestYUnderwater(Location l) - { - int y = getHighestY(l); - - while(y > 0) - { - y--; - Block b = l.getWorld().getBlockAt(l.getBlockX(), y, l.getBlockZ()); - if(!b.isEmpty()) - { - if(b.isLiquid()) - { - continue; - } - - return y + 1; - } - } - - return y; - } - - public void flush() - { - J.attempt(() -> - { - for(Chunk i : c) - { - NMP.host.relight(i); - - J.a(() -> - { - for(Player j : i.getWorld().getPlayers()) - { - NMP.CHUNK.refreshIgnorePosition(j, i); - } - }); - } - - c.clear(); - }); - } -} diff --git a/src/main/java/ninja/bytecode/iris/pack/BiomeType.java b/src/main/java/ninja/bytecode/iris/pack/BiomeType.java deleted file mode 100644 index b92610de5..000000000 --- a/src/main/java/ninja/bytecode/iris/pack/BiomeType.java +++ /dev/null @@ -1,8 +0,0 @@ -package ninja.bytecode.iris.pack; - -public enum BiomeType -{ - LAND, - FLUID, - FRONT; -} diff --git a/src/main/java/ninja/bytecode/iris/pack/CompiledDimension.java b/src/main/java/ninja/bytecode/iris/pack/CompiledDimension.java deleted file mode 100644 index e5877f52d..000000000 --- a/src/main/java/ninja/bytecode/iris/pack/CompiledDimension.java +++ /dev/null @@ -1,244 +0,0 @@ -package ninja.bytecode.iris.pack; - -import java.io.DataInputStream; -import java.io.DataOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.function.Consumer; -import java.util.zip.GZIPInputStream; -import java.util.zip.GZIPOutputStream; - -import org.bukkit.World.Environment; -import org.bukkit.block.Biome; - -import net.md_5.bungee.api.ChatColor; -import ninja.bytecode.iris.generator.genobject.GenObject; -import ninja.bytecode.iris.generator.genobject.GenObjectGroup; -import ninja.bytecode.iris.util.SChunkVector; -import ninja.bytecode.iris.util.SBlockVector; -import ninja.bytecode.shuriken.collections.KList; -import ninja.bytecode.shuriken.collections.KMap; -import ninja.bytecode.shuriken.io.CustomOutputStream; -import ninja.bytecode.shuriken.json.JSONObject; -import ninja.bytecode.shuriken.logging.L; -import ninja.bytecode.shuriken.math.RNG; -import ninja.bytecode.shuriken.reaction.O; - -public class CompiledDimension -{ - public static IrisBiome theVoid = new IrisBiome("Void", Biome.VOID).height(0).seal(RNG.r); - private IrisDimension dimension; - private KList biomes; - private KMap biomeCache; - private KMap objects; - private SBlockVector maxSize; - private SChunkVector maxChunkSize; - - public CompiledDimension(IrisDimension dimension) - { - this.dimension = dimension; - biomes = new KList<>(); - biomeCache = new KMap<>(); - objects = new KMap<>(); - maxSize = new SBlockVector(0, 0, 0); - maxChunkSize = new SChunkVector(0, 0); - } - - public void read(InputStream in) throws IOException - { - GZIPInputStream gin = new GZIPInputStream(in); - DataInputStream din = new DataInputStream(gin); - dimension = new IrisDimension(); - dimension.fromJSON(new JSONObject(din.readUTF()), false); - int bi = din.readInt(); - int ob = din.readInt(); - - for(int i = 0; i < bi; i++) - { - IrisBiome b = new IrisBiome("Loading", Biome.VOID); - b.fromJSON(new JSONObject(din.readUTF()), false); - } - - for(int i = 0; i < ob; i++) - { - GenObjectGroup g = new GenObjectGroup("Loading"); - g.read(din); - } - } - - public void write(OutputStream out, Consumer progress) throws IOException - { - GZIPOutputStream gzo = new CustomOutputStream(out, 1); - DataOutputStream dos = new DataOutputStream(gzo); - dos.writeUTF(dimension.toJSON().toString(0)); - dos.writeInt(biomes.size()); - dos.writeInt(objects.size()); - - for(IrisBiome i : biomes) - { - dos.writeUTF(i.toJSON().toString(0)); - } - - O tc = new O<>(); - O oc = new O<>(); - O cc = new O<>(); - tc.set(0); - oc.set(0); - cc.set(0); - - for(GenObjectGroup i : objects.v()) - { - tc.set(tc.get() + i.size()); - } - - for(GenObjectGroup i : objects.v().shuffle()) - { - i.write(dos, (o) -> - { - cc.set((int) (o * i.size())); - - if(progress != null) - { - progress.accept((double) (oc.get() + cc.get()) / (double) tc.get()); - } - }); - - oc.set(oc.get() + cc.get()); - cc.set(0); - } - - dos.close(); - } - - public void registerBiome(IrisBiome j) - { - biomes.add(j); - biomeCache.put(j.getName(), j); - } - - public void registerObject(GenObjectGroup g) - { - if(g.getName().startsWith("pack/objects/")) - { - g.setName(g.getName().replaceFirst("\\Qpack/objects/\\E", "")); - } - - objects.put(g.getName(), g); - } - - public String getName() - { - return dimension.getName(); - } - - public KList getBiomes() - { - return biomes; - } - - public Environment getEnvironment() - { - return dimension.getEnvironment(); - } - - public GenObjectGroup getObjectGroup(String j) - { - return objects.get(j); - } - - public int countObjects() - { - int m = 0; - - for(GenObjectGroup i : objects.v()) - { - m += i.size(); - } - - return m; - } - - public void sort() - { - biomes.sort(); - } - - public IrisBiome getBiomeByName(String name) - { - IrisBiome b = biomeCache.get(name); - - if(b == null) - { - L.f(ChatColor.RED + "Cannot Find Biome: " + ChatColor.GOLD + name); - return theVoid; - } - - return b; - } - - public void dispose() - { - biomes.clear(); - biomeCache.clear(); - - for(GenObjectGroup i : objects.values()) - { - i.dispose(); - } - - objects.clear(); - } - - public void computeObjectSize() - { - int maxWidth = 0; - int maxHeight = 0; - int maxDepth = 0; - - for(GenObjectGroup i : objects.values()) - { - for(GenObject j : i.getSchematics().copy()) - { - maxWidth = j.getW() > maxWidth ? j.getW() : maxWidth; - maxHeight = j.getH() > maxHeight ? j.getH() : maxHeight; - maxDepth = j.getD() > maxDepth ? j.getD() : maxDepth; - } - } - - maxSize = new SBlockVector(maxWidth, maxHeight, maxDepth); - maxChunkSize = new SChunkVector(Math.ceil((double) (maxWidth) / 16D), Math.ceil((double) (maxDepth) / 16D)); - L.i("Max Object Bound is " + maxWidth + ", " + maxHeight + ", " + maxDepth); - L.i("Max Object Region is " + maxChunkSize.getX() + " by " + maxChunkSize.getZ() + " Chunks"); - } - - public static IrisBiome getTheVoid() - { - return theVoid; - } - - public IrisDimension getDimension() - { - return dimension; - } - - public KMap getBiomeCache() - { - return biomeCache; - } - - public KMap getObjects() - { - return objects; - } - - public SBlockVector getMaxSize() - { - return maxSize; - } - - public SChunkVector getMaxChunkSize() - { - return maxChunkSize; - } -} diff --git a/src/main/java/ninja/bytecode/iris/pack/IrisBiome.java b/src/main/java/ninja/bytecode/iris/pack/IrisBiome.java deleted file mode 100644 index 261e9bb82..000000000 --- a/src/main/java/ninja/bytecode/iris/pack/IrisBiome.java +++ /dev/null @@ -1,1113 +0,0 @@ -package ninja.bytecode.iris.pack; - -import java.lang.reflect.Field; -import java.util.Objects; - -import org.bukkit.Material; -import org.bukkit.block.Biome; - -import mortar.util.text.C; -import ninja.bytecode.iris.Iris; -import ninja.bytecode.iris.generator.layer.BiomeNoiseGenerator; -import ninja.bytecode.iris.util.MB; -import ninja.bytecode.iris.util.ObjectMode; -import ninja.bytecode.iris.util.PolygonGenerator; -import ninja.bytecode.shuriken.collections.KList; -import ninja.bytecode.shuriken.collections.KMap; -import ninja.bytecode.shuriken.execution.J; -import ninja.bytecode.shuriken.json.JSONArray; -import ninja.bytecode.shuriken.json.JSONObject; -import ninja.bytecode.shuriken.logging.L; -import ninja.bytecode.shuriken.math.CNG; -import ninja.bytecode.shuriken.math.M; -import ninja.bytecode.shuriken.math.RNG; - -public class IrisBiome -{ - public static final double MAX_HEIGHT = 0.77768; - public static final double IDEAL_HEIGHT = 0.138; - public static final double MIN_HEIGHT = -0.0218; - private static final KMap map = build(); - private String name; - private String parent; - private Biome realBiome; - private double height; - private KList rock; - private MB fluid; - private int rockDepth; - private KList surface; - private KList dirt; - private KMap scatterChance; - private boolean scatterSurface; - private boolean scatterSurfaceRock; - private boolean scatterSurfaceSub; - private boolean core; - private int dirtDepth; - private double surfaceScale; - private double subSurfaceScale; - private double rockScale; - private boolean simplexScatter; - private boolean simplexScatterRock; - private boolean simplexScatterSub; - private double snow; - private double lush; - private double cliffChance; - private double cliffScale; - private double genScale; - private double genAmplifier; - private double genSwirl; - private double genSwirlScale; - private double rarity; - private boolean cliffs; - private BiomeNoiseGenerator bng; - private BiomeType type; - private String region; - private KMap schematicGroups; - private PolygonGenerator.EnumPolygonGenerator poly; - private PolygonGenerator.EnumPolygonGenerator polySub; - private PolygonGenerator.EnumPolygonGenerator polyRock; - - public static double getMaxHeight() - { - return MAX_HEIGHT; - } - - public static double getIdealHeight() - { - return IDEAL_HEIGHT; - } - - public static double getMinHeight() - { - return MIN_HEIGHT; - } - - public static KMap getMap() - { - return map; - } - - public boolean isScatterSurface() - { - return scatterSurface; - } - - public boolean isCore() - { - return core; - } - - public boolean isSimplexScatter() - { - return simplexScatter; - } - - public PolygonGenerator.EnumPolygonGenerator getPoly() - { - return poly; - } - - public IrisBiome(JSONObject json) - { - this("Loading", Biome.OCEAN); - fromJSON(json); - } - - public IrisBiome(String name, Biome realBiome) - { - this.region = "default"; - this.core = false; - this.name = name; - lush = 0; - type = BiomeType.LAND; - cliffs = false; - fluid = MB.of(Material.STATIONARY_WATER); - genScale = 1; - rarity = 1; - genAmplifier = 0.35; - genSwirl = 1; - genSwirlScale = 1; - cliffScale = 1; - cliffChance = 0.37; - parent = ""; - dirtDepth = 19; - this.realBiome = realBiome; - this.height = IDEAL_HEIGHT; - rockDepth = 23; - surfaceScale = 1; - subSurfaceScale = 1; - rockScale = 1; - simplexScatterRock = false; - scatterSurfaceRock = true; - simplexScatterSub = false; - scatterSurfaceSub = true; - scatterChance = new KMap<>(); - schematicGroups = new KMap<>(); - //@builder - surface(new MB(Material.GRASS)) - .dirt(new MB(Material.DIRT), new MB(Material.DIRT, 1)) - .rock(MB.of(Material.STONE), - MB.of(Material.STONE), - MB.of(Material.STONE), - MB.of(Material.STONE), - MB.of(Material.STONE), - MB.of(Material.STONE), - MB.of(Material.STONE), - MB.of(Material.STONE), - MB.of(Material.STONE), - MB.of(Material.STONE), - MB.of(Material.STONE, 5), - MB.of(Material.STONE, 5), - MB.of(Material.STONE, 5), - MB.of(Material.STONE, 5), - MB.of(Material.STONE, 5), - MB.of(Material.STONE, 5)); - //@done - } - - public void fromJSON(JSONObject o) - { - fromJSON(o, true); - } - - public IrisBiome seal(RNG rng) - { - if(simplexScatter) - { - poly = new PolygonGenerator.EnumPolygonGenerator(rng, 0.125, 2, getSurface().toArray(new MB[getSurface().size()]), (g) -> - { - return g.scale(0.09 * surfaceScale).fractureWith(new CNG(rng.nextParallelRNG(56), 1D, 2).scale(0.0955), 55); - }); - } - - else - { - poly = new PolygonGenerator.EnumPolygonGenerator(rng, 15.05, 2, getSurface().toArray(new MB[getSurface().size()]), (g) -> - { - return g.scale(surfaceScale).fractureWith(new CNG(rng.nextParallelRNG(55), 1D, 2).scale(0.0155), 224); - }); - } - - if(simplexScatterSub) - { - polySub = new PolygonGenerator.EnumPolygonGenerator(rng, 0.125, 2, getDirt().toArray(new MB[getDirt().size()]), (g) -> - { - return g.scale(0.06 * subSurfaceScale).fractureWith(new CNG(rng.nextParallelRNG(526), 1D, 2).scale(0.0955), 55); - }); - } - - else - { - polySub = new PolygonGenerator.EnumPolygonGenerator(rng, 15.05, 2, getDirt().toArray(new MB[getDirt().size()]), (g) -> - { - return g.scale(subSurfaceScale).fractureWith(new CNG(rng.nextParallelRNG(515), 1D, 2).scale(0.0155), 224); - }); - } - - if(simplexScatterRock) - { - polyRock = new PolygonGenerator.EnumPolygonGenerator(rng, 0.125, 2, getRock().toArray(new MB[getRock().size()]), (g) -> - { - return g.scale(0.08 * rockScale).fractureWith(new CNG(rng.nextParallelRNG(562), 1D, 2).scale(0.0955), 55); - }); - } - - else - { - polyRock = new PolygonGenerator.EnumPolygonGenerator(rng, 15.05, 2, getRock().toArray(new MB[getRock().size()]), (g) -> - { - return g.scale(rockScale).fractureWith(new CNG(rng.nextParallelRNG(551), 1D, 2).scale(0.0155), 224); - }); - } - - bng = new BiomeNoiseGenerator(rng.nextParallelRNG(2077), this); - - return this; - } - - public BiomeNoiseGenerator getGenerator() - { - if(polySub == null) - { - L.w(getName() + " is not sealed!"); - } - - return bng; - } - - public void fromJSON(JSONObject o, boolean chain) - { - name = o.getString("name"); - realBiome = Biome.valueOf(o.getString("derivative").toUpperCase().replaceAll(" ", "_")); - type = BiomeType.valueOf(o.getString("type").toUpperCase().replaceAll(" ", "_")); - J.attempt(() -> region = o.getString("region")); - J.attempt(() -> parent = o.getString("parent")); - J.attempt(() -> height(o.getDouble("height"))); - J.attempt(() -> height(o.getDouble("genHeight"))); - J.attempt(() -> genAmplifier = o.getDouble("genAmplifier")); - J.attempt(() -> genSwirl = o.getDouble("genSwirl")); - J.attempt(() -> genSwirlScale = o.getDouble("genSwirlScale")); - J.attempt(() -> genScale = o.getDouble("genScale")); - J.attempt(() -> snow = o.getDouble("snow")); - J.attempt(() -> lush = o.getDouble("lush")); - J.attempt(() -> rarity = o.getDouble("rarity")); - J.attempt(() -> fluid = MB.of(o.getString("fluid"))); - J.attempt(() -> dirtDepth = o.getInt("subSurfaceDepth")); - J.attempt(() -> dirtDepth = o.getInt("dirtDepth")); - J.attempt(() -> rockDepth = o.getInt("rockDepth")); - J.attempt(() -> cliffScale = o.getDouble("cliffScale")); - J.attempt(() -> rockScale = o.getDouble("rockScale")); - J.attempt(() -> surfaceScale = o.getDouble("surfaceScale")); - J.attempt(() -> subSurfaceScale = o.getDouble("subSurfaceScale")); - J.attempt(() -> cliffChance = o.getDouble("cliffChance")); - J.attempt(() -> cliffs = o.getBoolean("cliffs")); - J.attempt(() -> surface = mbListFromJSON(o.getJSONArray("surface"))); - J.attempt(() -> rock = mbListFromJSON(o.getJSONArray("rock"))); - J.attempt(() -> dirt = mbListFromJSON(o.getJSONArray("subSurface"))); - J.attempt(() -> dirt = mbListFromJSON(o.getJSONArray("dirt"))); - J.attempt(() -> scatterChance = scatterFromJSON(o.getJSONArray("scatter"))); - J.attempt(() -> simplexScatter = o.getString("surfaceType").equalsIgnoreCase("simplex")); - J.attempt(() -> scatterSurface = o.getString("surfaceType").equalsIgnoreCase("scatter")); - J.attempt(() -> simplexScatterRock = o.getString("rockType").equalsIgnoreCase("simplex")); - J.attempt(() -> scatterSurfaceRock = o.getString("rockType").equalsIgnoreCase("scatter")); - J.attempt(() -> simplexScatterSub = o.getString("subSurfaceType").equalsIgnoreCase("simplex")); - J.attempt(() -> scatterSurfaceSub = o.getString("subSurfaceType").equalsIgnoreCase("scatter")); - J.attempt(() -> - { - if(!Iris.settings.performance.objectMode.equals(ObjectMode.NONE)) - { - schematicGroups = strFromJSON(o.getJSONArray("objects")); - } - - else - { - schematicGroups = new KMap<>(); - } - - if(chain) - { - if(!Iris.settings.performance.objectMode.equals(ObjectMode.NONE)) - { - for(String i : schematicGroups.k()) - { - Iris.pack().loadSchematicGroup(i); - } - } - } - }); - } - - public JSONObject toJSON() - { - JSONObject j = new JSONObject(); - j.put("name", name); - J.attempt(() -> j.put("parent", parent)); - J.attempt(() -> j.put("region", region)); - J.attempt(() -> j.put("derivative", realBiome.name().toLowerCase().replaceAll("_", " "))); - J.attempt(() -> j.put("type", type.name().toLowerCase().replaceAll("_", " "))); - J.attempt(() -> j.put("rarity", rarity)); - J.attempt(() -> j.put("fluid", fluid.toString())); - J.attempt(() -> j.put("genHeight", height)); - J.attempt(() -> j.put("genScale", genScale)); - J.attempt(() -> j.put("genSwirl", genSwirl)); - J.attempt(() -> j.put("genSwirlScale", genSwirlScale)); - J.attempt(() -> j.put("genAmplifier", genAmplifier)); - J.attempt(() -> j.put("snow", snow)); - J.attempt(() -> j.put("lush", lush)); - J.attempt(() -> j.put("cliffs", cliffs)); - J.attempt(() -> j.put("cliffScale", cliffScale)); - J.attempt(() -> j.put("rockScale", rockScale)); - J.attempt(() -> j.put("subSurfaceScale", subSurfaceScale)); - J.attempt(() -> j.put("surfaceScale", surfaceScale)); - J.attempt(() -> j.put("cliffChance", cliffChance)); - J.attempt(() -> j.put("surface", mbListToJSON(surface))); - J.attempt(() -> j.put("rock", mbListToJSON(rock))); - J.attempt(() -> j.put("subSurfaceDepth", dirtDepth)); - J.attempt(() -> j.put("rockDepth", rockDepth)); - J.attempt(() -> j.put("subSurface", mbListToJSON(dirt))); - J.attempt(() -> j.put("scatter", scatterToJson(scatterChance))); - J.attempt(() -> j.put("surfaceType", simplexScatter ? "simplex" : scatterSurface ? "scatter" : "na")); - J.attempt(() -> j.put("subSurfaceType", simplexScatterSub ? "simplex" : scatterSurfaceSub ? "scatter" : "na")); - J.attempt(() -> j.put("rockType", simplexScatterRock ? "simplex" : scatterSurfaceRock ? "scatter" : "na")); - J.attempt(() -> j.put("objects", strToJson(schematicGroups))); - - return j; - } - - private KList mbListFromJSON(JSONArray ja) - { - KList mb = new KList<>(); - - for(int i = 0; i < ja.length(); i++) - { - mb.add(MB.of(ja.getString(i))); - } - - return mb; - } - - private JSONArray mbListToJSON(KList mbs) - { - JSONArray ja = new JSONArray(); - - for(MB i : mbs) - { - ja.put(i.toString()); - } - - return ja; - } - - public IrisBiome coreBiome() - { - this.core = true; - return this; - } - - private KMap scatterFromJSON(JSONArray ja) - { - KMap mb = new KMap(); - - for(int i = 0; i < ja.length(); i++) - { - String s = ja.getString(i); - mb.put(MB.of(s.split("\\Q=\\E")[0]), Double.valueOf(s.split("\\Q=\\E")[1])); - } - - return mb; - } - - private JSONArray scatterToJson(KMap mbs) - { - JSONArray ja = new JSONArray(); - - for(MB i : mbs.k()) - { - ja.put(i.toString() + "=" + mbs.get(i)); - } - - return ja; - } - - private KMap strFromJSON(JSONArray ja) - { - KMap mb = new KMap(); - - for(int i = 0; i < ja.length(); i++) - { - String s = ja.getString(i); - mb.put(s.split("\\Q=\\E")[0], Double.valueOf(s.split("\\Q=\\E")[1])); - } - - return mb; - } - - private JSONArray strToJson(KMap mbs) - { - JSONArray ja = new JSONArray(); - - for(String i : mbs.k()) - { - ja.put(i.toString() + "=" + mbs.get(i)); - } - - return ja; - } - - private static KMap build() - { - KMap g = new KMap(); - - for(Field i : IrisBiome.class.getDeclaredFields()) - { - J.attempt(() -> - { - i.setAccessible(true); - - IrisBiome bb = (IrisBiome) i.get(null); - - if(!g.containsKey(bb.realBiome)) - { - g.put(bb.realBiome, bb); - } - }); - } - - return g; - } - - public IrisBiome scatter(MB mb, Double chance) - { - scatterChance.put(mb, chance); - - return this; - } - - public IrisBiome schematic(String t, double chance) - { - schematicGroups.put(t, chance); - - return this; - } - - public IrisBiome simplexSurface() - { - simplexScatter = true; - return this; - } - - public IrisBiome scatterSurface() - { - scatterSurface = true; - return this; - } - - public IrisBiome surface(MB... mbs) - { - surface = new KList<>(mbs); - return this; - } - - public IrisBiome dirt(MB... mbs) - { - dirt = new KList<>(mbs); - return this; - } - - public IrisBiome rock(MB... mbs) - { - rock = new KList<>(mbs); - return this; - } - - public IrisBiome height(double height) - { - if(height >= 0) - { - this.height = M.lerp(IDEAL_HEIGHT, MAX_HEIGHT, M.clip(height, 0D, 1D)); - } - - else - { - this.height = M.lerp(MIN_HEIGHT, IDEAL_HEIGHT, 1d - Math.abs(M.clip(height, -1D, 0D))); - } - - return this; - } - - public String getName() - { - return name; - } - - public Biome getRealBiome() - { - return realBiome; - } - - public double getHeight() - { - return height; - } - - public KList getSurface() - { - return surface; - } - - public KList getRock() - { - return rock; - } - - public KList getDirt() - { - return dirt; - } - - public MB getSurface(double x, double z, RNG rng) - { - double wx = x + 1000D; - double wz = z + 1000D; - - if(polySub == null) - { - L.w(getName() + " is not sealed!"); - } - - if(simplexScatter) - { - return poly.getChoice(wx / 3, wz / 3); - } - - if(scatterSurface) - { - return poly.getChoice(wx * 0.2D, wz * 0.2D); - } - - return getSurface().getRandom(); - } - - public MB getSubSurface(double x, double i, double z, RNG rng) - { - double wx = x + 1000D; - double wz = z + 1000D; - - if(polySub == null) - { - L.w(getName() + " is not sealed!"); - } - - if(simplexScatterSub) - { - return polySub.getChoice(wx / 3, i / 3, wz / 3); - } - - if(scatterSurfaceSub) - { - return polySub.getChoice(wx * 0.2D, i / 3, wz * 0.2D); - } - - return getSurface().getRandom(); - } - - public MB getRock(double x, double i, double z, RNG rng) - { - double wx = x + 1000D; - double wz = z + 1000D; - - if(polySub == null) - { - L.w(getName() + " is not sealed!"); - } - - if(simplexScatterRock) - { - return polyRock.getChoice(wx / 3, i / 3, wz / 3); - } - - if(scatterSurfaceRock) - { - return polyRock.getChoice(wx * 0.2D, i * 0.2D, wz * 0.2D); - } - - return getSurface().getRandom(); - } - - public KMap getScatterChance() - { - return scatterChance; - } - - public MB getScatterChanceSingle(double d, double aux) - { - KList a = new KList<>(); - - for(MB i : getScatterChance().keySet()) - { - if(d < getScatterChance().get(i)) - { - a.add(i); - } - } - - if(a.isEmpty()) - { - return MB.of(Material.AIR); - } - - if(a.size() == 1) - { - return a.get(0); - } - - return a.get((int) (aux * (a.size() - 1))); - } - - public static KList getBiomes() - { - return map.v(); - } - - public static IrisBiome findByBiome(Biome biome) - { - if(map.containsKey(biome)) - { - return map.get(biome); - } - - return null; - } - - public KMap getSchematicGroups() - { - return schematicGroups; - } - - public boolean isSurface(Material t) - { - for(MB i : surface) - { - if(i.material.equals(t)) - { - return true; - } - } - - return false; - } - - public String getRegionID() - { - return region; - } - - public boolean isSnowy() - { - return getSnow() > 0; - } - - public double getSnow() - { - return snow; - } - - public double getCliffScale() - { - return cliffScale; - } - - public boolean hasCliffs() - { - return cliffs; - } - - public int getDirtDepth() - { - return dirtDepth; - } - - public int getRockDepth() - { - return rockDepth; - } - - public boolean isCliffs() - { - return cliffs; - } - - public double getCliffChance() - { - return cliffChance; - } - - public String getParent() - { - return parent; - } - - public KList getParents() - { - KList f = new KList<>(); - - if(getParent().trim().isEmpty()) - { - return f; - } - - if(getParent().contains("&")) - { - for(String i : getParent().split("\\Q&\\E")) - { - f.add(i.trim()); - } - } - - else - { - f.add(getParent().trim()); - } - - return f; - } - - public boolean isScatterSurfaceRock() - { - return scatterSurfaceRock; - } - - public boolean isScatterSurfaceSub() - { - return scatterSurfaceSub; - } - - public double getSurfaceScale() - { - return surfaceScale; - } - - public double getSubSurfaceScale() - { - return subSurfaceScale; - } - - public double getRockScale() - { - return rockScale; - } - - public boolean isSimplexScatterRock() - { - return simplexScatterRock; - } - - public boolean isSimplexScatterSub() - { - return simplexScatterSub; - } - - public BiomeType getType() - { - return type; - } - - public PolygonGenerator.EnumPolygonGenerator getPolySub() - { - return polySub; - } - - public PolygonGenerator.EnumPolygonGenerator getPolyRock() - { - return polyRock; - } - - public double getGenScale() - { - return genScale; - } - - public void setGenScale(double genScale) - { - this.genScale = genScale; - } - - public double getGenAmplifier() - { - return genAmplifier; - } - - public void setGenAmplifier(double genAmplifier) - { - this.genAmplifier = genAmplifier; - } - - public double getGenSwirl() - { - return genSwirl; - } - - public void setGenSwirl(double genSwirl) - { - this.genSwirl = genSwirl; - } - - public void setName(String name) - { - this.name = name; - } - - public void setParent(String parent) - { - this.parent = parent; - } - - public void setRealBiome(Biome realBiome) - { - this.realBiome = realBiome; - } - - public void setHeight(double height) - { - this.height = height; - } - - public void setRock(KList rock) - { - this.rock = rock; - } - - public void setRockDepth(int rockDepth) - { - this.rockDepth = rockDepth; - } - - public void setSurface(KList surface) - { - this.surface = surface; - } - - public void setDirt(KList dirt) - { - this.dirt = dirt; - } - - public void setScatterChance(KMap scatterChance) - { - this.scatterChance = scatterChance; - } - - public void setScatterSurface(boolean scatterSurface) - { - this.scatterSurface = scatterSurface; - } - - public void setScatterSurfaceRock(boolean scatterSurfaceRock) - { - this.scatterSurfaceRock = scatterSurfaceRock; - } - - public void setScatterSurfaceSub(boolean scatterSurfaceSub) - { - this.scatterSurfaceSub = scatterSurfaceSub; - } - - public void setCore(boolean core) - { - this.core = core; - } - - public void setDirtDepth(int dirtDepth) - { - this.dirtDepth = dirtDepth; - } - - public void setSurfaceScale(double surfaceScale) - { - this.surfaceScale = surfaceScale; - } - - public void setSubSurfaceScale(double subSurfaceScale) - { - this.subSurfaceScale = subSurfaceScale; - } - - public void setRockScale(double rockScale) - { - this.rockScale = rockScale; - } - - public void setSimplexScatter(boolean simplexScatter) - { - this.simplexScatter = simplexScatter; - } - - public void setSimplexScatterRock(boolean simplexScatterRock) - { - this.simplexScatterRock = simplexScatterRock; - } - - public void setSimplexScatterSub(boolean simplexScatterSub) - { - this.simplexScatterSub = simplexScatterSub; - } - - public void setSnow(double snow) - { - this.snow = snow; - } - - public void setCliffChance(double cliffChance) - { - this.cliffChance = cliffChance; - } - - public void setCliffScale(double cliffScale) - { - this.cliffScale = cliffScale; - } - - public void setCliffs(boolean cliffs) - { - this.cliffs = cliffs; - } - - public void setType(BiomeType type) - { - this.type = type; - } - - public void setRegion(String region) - { - this.region = region; - } - - public void setSchematicGroups(KMap schematicGroups) - { - this.schematicGroups = schematicGroups; - } - - public void setPoly(PolygonGenerator.EnumPolygonGenerator poly) - { - this.poly = poly; - } - - public void setPolySub(PolygonGenerator.EnumPolygonGenerator polySub) - { - this.polySub = polySub; - } - - public void setPolyRock(PolygonGenerator.EnumPolygonGenerator polyRock) - { - this.polyRock = polyRock; - } - - public double getGenSwirlScale() - { - return genSwirlScale; - } - - public void setGenSwirlScale(double genSwirlScale) - { - this.genSwirlScale = genSwirlScale; - } - - public BiomeNoiseGenerator getBng() - { - return bng; - } - - public void setBng(BiomeNoiseGenerator bng) - { - this.bng = bng; - } - - public double getRarity() - { - return rarity; - } - - public String getRarityString() - { - if(getRarity() <= 0.1) - { - return C.RED + "Literally Everywhere"; - } - - else if(getRarity() < 0.25) - { - return "Overly Abundant"; - } - - else if(getRarity() < 0.4) - { - return "Very Abundant"; - } - - else if(getRarity() < 0.6) - { - return "Abundant"; - } - - else if(getRarity() < 0.75) - { - return "Very Common"; - } - - else if(getRarity() <= 1) - { - return "Common"; - } - - else if(getRarity() <= 2) - { - return "Often"; - } - - else if(getRarity() <= 3) - { - return "Uncommon"; - } - - else if(getRarity() <= 6) - { - return "Rare"; - } - - else if(getRarity() <= 16) - { - return "Very Rare"; - } - - else if(getRarity() <= 50) - { - return "Exceedingly Rare"; - } - - else if(getRarity() <= 100) - { - return "Marvelously Rare"; - } - - else if(getRarity() <= 200) - { - return "Extraordinarily Rare"; - } - - else - { - return "Start Praying"; - } - } - - public MB getFluid() - { - return fluid; - } - - public void setFluid(MB fluid) - { - this.fluid = fluid; - } - - public void setRarity(double rarity) - { - this.rarity = rarity; - } - - public double getLush() - { - return lush; - } - - public String getRegion() - { - return region; - } - - @Override - public int hashCode() - { - return Objects.hash(bng, cliffChance, cliffScale, cliffs, core, dirt, dirtDepth, fluid, genAmplifier, genScale, genSwirl, genSwirlScale, height, lush, name, parent, poly, polyRock, polySub, rarity, realBiome, region, rock, rockDepth, rockScale, scatterChance, scatterSurface, scatterSurfaceRock, scatterSurfaceSub, schematicGroups, simplexScatter, simplexScatterRock, simplexScatterSub, snow, subSurfaceScale, surface, surfaceScale, type); - } - - @Override - public boolean equals(Object obj) - { - if(this == obj) - { - return true; - } - if(!(obj instanceof IrisBiome)) - { - return false; - } - IrisBiome other = (IrisBiome) obj; - return Objects.equals(bng, other.bng) && Double.doubleToLongBits(cliffChance) == Double.doubleToLongBits(other.cliffChance) && Double.doubleToLongBits(cliffScale) == Double.doubleToLongBits(other.cliffScale) && cliffs == other.cliffs && core == other.core && Objects.equals(dirt, other.dirt) && dirtDepth == other.dirtDepth && Objects.equals(fluid, other.fluid) && Double.doubleToLongBits(genAmplifier) == Double.doubleToLongBits(other.genAmplifier) && Double.doubleToLongBits(genScale) == Double.doubleToLongBits(other.genScale) && Double.doubleToLongBits(genSwirl) == Double.doubleToLongBits(other.genSwirl) && Double.doubleToLongBits(genSwirlScale) == Double.doubleToLongBits(other.genSwirlScale) && Double.doubleToLongBits(height) == Double.doubleToLongBits(other.height) && Double.doubleToLongBits(lush) == Double.doubleToLongBits(other.lush) && Objects.equals(name, other.name) && Objects.equals(parent, other.parent) && Objects.equals(poly, other.poly) && Objects.equals(polyRock, other.polyRock) && Objects.equals(polySub, other.polySub) && Double.doubleToLongBits(rarity) == Double.doubleToLongBits(other.rarity) && realBiome == other.realBiome && Objects.equals(region, other.region) && Objects.equals(rock, other.rock) && rockDepth == other.rockDepth && Double.doubleToLongBits(rockScale) == Double.doubleToLongBits(other.rockScale) && Objects.equals(scatterChance, other.scatterChance) && scatterSurface == other.scatterSurface && scatterSurfaceRock == other.scatterSurfaceRock && scatterSurfaceSub == other.scatterSurfaceSub && Objects.equals(schematicGroups, other.schematicGroups) && simplexScatter == other.simplexScatter && simplexScatterRock == other.simplexScatterRock && simplexScatterSub == other.simplexScatterSub && Double.doubleToLongBits(snow) == Double.doubleToLongBits(other.snow) && Double.doubleToLongBits(subSurfaceScale) == Double.doubleToLongBits(other.subSurfaceScale) && Objects.equals(surface, other.surface) && Double.doubleToLongBits(surfaceScale) == Double.doubleToLongBits(other.surfaceScale) && type == other.type; - } - - public boolean isLush() - { - return lush > 0; - } -} diff --git a/src/main/java/ninja/bytecode/iris/pack/IrisDimension.java b/src/main/java/ninja/bytecode/iris/pack/IrisDimension.java deleted file mode 100644 index f01cfe739..000000000 --- a/src/main/java/ninja/bytecode/iris/pack/IrisDimension.java +++ /dev/null @@ -1,109 +0,0 @@ -package ninja.bytecode.iris.pack; - -import java.io.IOException; - -import org.bukkit.World.Environment; - -import ninja.bytecode.iris.Iris; -import ninja.bytecode.shuriken.collections.KList; -import ninja.bytecode.shuriken.execution.J; -import ninja.bytecode.shuriken.json.JSONArray; -import ninja.bytecode.shuriken.json.JSONException; -import ninja.bytecode.shuriken.json.JSONObject; - -public class IrisDimension -{ - private String name; - private Environment environment; - KList biomes; - - public IrisDimension(JSONObject o) throws JSONException, IOException - { - this(); - fromJSON(o); - } - - public IrisDimension() - { - biomes = new KList(); - environment = Environment.NORMAL; - } - - public void fromJSON(JSONObject o) throws JSONException, IOException - { - fromJSON(o, true); - } - - public void fromJSON(JSONObject o, boolean chain) throws JSONException, IOException - { - name = o.getString("name"); - J.attempt(() -> environment = Environment.valueOf(o.getString("environment").toUpperCase().replaceAll(" ", "_"))); - - try - { - biomes = chain ? biomesFromArray(o.getJSONArray("biomes")) : new KList<>(); - } - - catch(Throwable e) - { - e.printStackTrace(); - } - } - - public JSONObject toJSON() - { - JSONObject o = new JSONObject(); - - o.put("name", name); - o.put("environment", environment.name().toLowerCase().replaceAll("_", " ")); - o.put("biomes", biomesToArray(biomes)); - - return o; - } - - private KList biomesFromArray(JSONArray a) throws JSONException, IOException - { - KList b = new KList<>(); - for(int i = 0; i < a.length(); i++) - { - int ii = i; - - IrisBiome bb = Iris.pack().loadBiome(a.getString(ii)); - Iris.pack().registerBiome(a.getString(ii), bb); - b.add(bb); - } - return b; - } - - private JSONArray biomesToArray(KList b) - { - JSONArray a = new JSONArray(); - - for(IrisBiome i : b) - { - a.put(i.getName().toLowerCase().replaceAll(" ", "_")); - } - - return a; - } - - public KList getBiomes() - { - return biomes; - } - - public String getName() - { - return name; - } - - public Environment getEnvironment() - { - return environment; - } - - public void dispose() - { - biomes.clear(); - } -} diff --git a/src/main/java/ninja/bytecode/iris/pack/IrisPack.java b/src/main/java/ninja/bytecode/iris/pack/IrisPack.java deleted file mode 100644 index 783e25a72..000000000 --- a/src/main/java/ninja/bytecode/iris/pack/IrisPack.java +++ /dev/null @@ -1,86 +0,0 @@ -package ninja.bytecode.iris.pack; - -import java.io.IOException; - -import ninja.bytecode.iris.Iris; -import ninja.bytecode.shuriken.collections.KList; -import ninja.bytecode.shuriken.execution.J; -import ninja.bytecode.shuriken.json.JSONArray; -import ninja.bytecode.shuriken.json.JSONException; -import ninja.bytecode.shuriken.json.JSONObject; - -public class IrisPack -{ - private KList dimensions; - private KList biomes; - private KList objects; - - public IrisPack() - { - this.dimensions = new KList<>(); - this.biomes = new KList<>(); - this.objects = new KList<>(); - } - - public IrisPack(JSONObject o) - { - this(); - fromJSON(o); - } - - public void fromJSON(JSONObject o) - { - J.attempt(() -> dimensions = fromArray(o.getJSONArray("dimensions"))); - J.attempt(() -> biomes = fromArray(o.getJSONArray("biomes"))); - J.attempt(() -> objects = fromArray(o.getJSONArray("objects"))); - } - - public JSONObject toJSON() - { - JSONObject o = new JSONObject(); - o.put("dimensions", toArray(dimensions)); - o.put("biomes", toArray(biomes)); - o.put("objects", toArray(objects)); - - return o; - } - - public KList fromArray(JSONArray ja) - { - KList g = new KList<>(); - - for(int i = 0; i < ja.length(); i++) - { - g.add(ja.getString(i)); - } - - return g; - } - - public JSONArray toArray(KList s) - { - JSONArray ja = new JSONArray(); - - for(String i : s) - { - ja.put(i); - } - - return ja; - } - - public void load() throws JSONException, IOException - { - for(String i : dimensions) - { - IrisDimension d = Iris.pack().loadDimension(i); - Iris.pack().registerDimension(i, d); - } - } - - public void loadBiome(String s) throws JSONException, IOException - { - IrisBiome b = Iris.pack().loadBiome(s); - Iris.pack().registerBiome(s, b); - } -} diff --git a/src/main/java/ninja/bytecode/iris/pack/IrisRegion.java b/src/main/java/ninja/bytecode/iris/pack/IrisRegion.java deleted file mode 100644 index c3ab94851..000000000 --- a/src/main/java/ninja/bytecode/iris/pack/IrisRegion.java +++ /dev/null @@ -1,123 +0,0 @@ -package ninja.bytecode.iris.pack; - -import java.util.Objects; - -import ninja.bytecode.iris.Iris; -import ninja.bytecode.shuriken.collections.KList; -import ninja.bytecode.shuriken.execution.J; -import ninja.bytecode.shuriken.json.JSONObject; - -public class IrisRegion -{ - private String name; - private KList biomes; - private IrisBiome ocean; - private IrisBiome deepOcean; - private IrisBiome lake; - private IrisBiome lakeBeach; - private IrisBiome channel; - private IrisBiome beach; - - public IrisRegion(String name) - { - this.name = name; - this.biomes = new KList<>(); - beach = null; - ocean = null; - deepOcean = null; - lake = null; - lakeBeach = null; - channel = null; - } - - public void load() - { - J.attempt(() -> - { - JSONObject o = Iris.pack().loadJSON("pack/regions/" + name + ".json"); - J.attempt(() -> name = o.getString("name")); - J.attempt(() -> ocean = Iris.pack().getBiomeById(o.getString("ocean"))); - J.attempt(() -> deepOcean = Iris.pack().getBiomeById(o.getString("deepOcean"))); - J.attempt(() -> beach = Iris.pack().getBiomeById(o.getString("beach"))); - J.attempt(() -> lake = Iris.pack().getBiomeById(o.getString("lake"))); - J.attempt(() -> lakeBeach = Iris.pack().getBiomeById(o.getString("shore"))); - J.attempt(() -> channel = Iris.pack().getBiomeById(o.getString("channel"))); - }); - } - - public String getName() - { - return name; - } - - public void setName(String name) - { - this.name = name; - } - - public KList getBiomes() - { - return biomes; - } - - public void setBiomes(KList biomes) - { - this.biomes = biomes; - } - - public IrisBiome getBeach() - { - return beach; - } - - public void setBeach(IrisBiome beach) - { - this.beach = beach; - } - - public IrisBiome getOcean() - { - return ocean; - } - - public IrisBiome getDeepOcean() - { - return deepOcean; - } - - public IrisBiome getLake() - { - return lake; - } - - public IrisBiome getShore() - { - return lakeBeach; - } - - public IrisBiome getChannel() - { - return channel; - } - - @Override - public int hashCode() - { - return Objects.hash(beach, biomes, channel, lake, lakeBeach, name, ocean); - } - - @Override - public boolean equals(Object obj) - { - if(this == obj) - { - return true; - } - if(!(obj instanceof IrisRegion)) - { - return false; - } - IrisRegion other = (IrisRegion) obj; - return Objects.equals(beach, other.beach) && Objects.equals(biomes, other.biomes) && Objects.equals(channel, other.channel) && Objects.equals(lake, other.lake) && Objects.equals(lakeBeach, other.lakeBeach) && Objects.equals(name, other.name) && Objects.equals(ocean, other.ocean); - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/Axis.java b/src/main/java/ninja/bytecode/iris/util/Axis.java deleted file mode 100644 index 1e7e7291f..000000000 --- a/src/main/java/ninja/bytecode/iris/util/Axis.java +++ /dev/null @@ -1,31 +0,0 @@ -package ninja.bytecode.iris.util; - -import org.bukkit.util.Vector; - -public enum Axis -{ - X(1, 0, 0), - Y(0, 1, 0), - Z(0, 0, 1); - - private int x; - private int y; - private int z; - - private Axis(int x, int y, int z) - { - this.x = x; - this.y = y; - this.z = z; - } - - public Vector positive() - { - return new Vector(x, y, z); - } - - public Vector negative() - { - return VectorMath.reverse(positive()); - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/BasePerlinNoiseGenerator.java b/src/main/java/ninja/bytecode/iris/util/BasePerlinNoiseGenerator.java new file mode 100644 index 000000000..f353284ad --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/BasePerlinNoiseGenerator.java @@ -0,0 +1,219 @@ +package ninja.bytecode.iris.util; + +import java.util.Random; + +/** + * Generates noise using the "classic" perlin generator + * + * @see SimplexNoiseC "Improved" and faster version with slighly + * different results + */ +public class BasePerlinNoiseGenerator extends NoiseGenerator +{ + protected static final int grad3[][] = {{1, 1, 0}, {-1, 1, 0}, {1, -1, 0}, {-1, -1, 0}, {1, 0, 1}, {-1, 0, 1}, {1, 0, -1}, {-1, 0, -1}, {0, 1, 1}, {0, -1, 1}, {0, 1, -1}, {0, -1, -1}}; + private static final BasePerlinNoiseGenerator instance = new BasePerlinNoiseGenerator(); + + protected BasePerlinNoiseGenerator() + { + int p[] = {151, 160, 137, 91, 90, 15, 131, 13, 201, 95, 96, 53, 194, 233, 7, 225, 140, 36, 103, 30, 69, 142, 8, 99, 37, 240, 21, 10, 23, 190, 6, 148, 247, 120, 234, 75, 0, 26, 197, 62, 94, 252, 219, 203, 117, 35, 11, 32, 57, 177, 33, 88, 237, 149, 56, 87, 174, 20, 125, 136, 171, 168, 68, 175, 74, 165, 71, 134, 139, 48, 27, 166, 77, 146, 158, 231, 83, 111, 229, 122, 60, 211, 133, 230, 220, 105, 92, 41, 55, 46, 245, 40, 244, 102, 143, 54, 65, 25, 63, 161, 1, 216, 80, 73, 209, 76, 132, 187, 208, 89, 18, 169, 200, 196, 135, 130, 116, 188, 159, 86, 164, 100, 109, 198, 173, 186, 3, 64, 52, 217, 226, 250, 124, 123, 5, 202, 38, 147, 118, 126, 255, 82, 85, 212, 207, 206, 59, 227, 47, 16, 58, 17, 182, 189, 28, 42, 223, 183, 170, 213, 119, 248, 152, 2, 44, 154, 163, 70, 221, 153, 101, 155, 167, 43, 172, 9, 129, 22, 39, 253, 19, 98, 108, 110, 79, 113, 224, 232, 178, 185, 112, 104, 218, 246, 97, 228, 251, 34, 242, 193, 238, 210, 144, 12, 191, 179, 162, 241, 81, 51, 145, 235, 249, 14, 239, 107, 49, 192, 214, 31, 181, 199, 106, 157, 184, 84, 204, 176, 115, 121, 50, 45, 127, 4, 150, 254, 138, 236, 205, 93, 222, 114, 67, 29, 24, 72, 243, 141, 128, 195, 78, 66, 215, 61, 156, 180}; + + for(int i = 0; i < 512; i++) + { + perm[i] = p[i & 255]; + } + } + + /** + * Creates a seeded perlin noise generator for the given seed + * + * @param seed + * Seed to construct this generator for + */ + public BasePerlinNoiseGenerator(long seed) + { + this(new Random(seed)); + } + + /** + * Creates a seeded perlin noise generator with the given Random + * + * @param rand + * Random to construct with + */ + public BasePerlinNoiseGenerator(Random rand) + { + offsetX = rand.nextDouble() * 256; + offsetY = rand.nextDouble() * 256; + offsetZ = rand.nextDouble() * 256; + + for(int i = 0; i < 256; i++) + { + perm[i] = rand.nextInt(256); + } + + for(int i = 0; i < 256; i++) + { + int pos = rand.nextInt(256 - i) + i; + int old = perm[i]; + + perm[i] = perm[pos]; + perm[pos] = old; + perm[i + 256] = perm[i]; + } + } + + /** + * Computes and returns the 1D unseeded perlin noise for the given coordinates + * in 1D space + * + * @param x + * X coordinate + * @return Noise at given location, from range -1 to 1 + */ + public static double getNoise(double x) + { + return instance.noise(x); + } + + /** + * Computes and returns the 2D unseeded perlin noise for the given coordinates + * in 2D space + * + * @param x + * X coordinate + * @param y + * Y coordinate + * @return Noise at given location, from range -1 to 1 + */ + public static double getNoise(double x, double y) + { + return instance.noise(x, y); + } + + /** + * Computes and returns the 3D unseeded perlin noise for the given coordinates + * in 3D space + * + * @param x + * X coordinate + * @param y + * Y coordinate + * @param z + * Z coordinate + * @return Noise at given location, from range -1 to 1 + */ + public static double getNoise(double x, double y, double z) + { + return instance.noise(x, y, z); + } + + /** + * Gets the singleton unseeded instance of this generator + * + * @return Singleton + */ + public static BasePerlinNoiseGenerator getInstance() + { + return instance; + } + + @Override + public double noise(double x, double y, double z) + { + x += offsetX; + y += offsetY; + z += offsetZ; + + int floorX = floor(x); + int floorY = floor(y); + int floorZ = floor(z); + + // Find unit cube containing the point + int X = floorX & 255; + int Y = floorY & 255; + int Z = floorZ & 255; + + // Get relative xyz coordinates of the point within the cube + x -= floorX; + y -= floorY; + z -= floorZ; + + // Compute fade curves for xyz + double fX = fade(x); + double fY = fade(y); + double fZ = fade(z); + + // Hash coordinates of the cube corners + int A = perm[X] + Y; + int AA = perm[A] + Z; + int AB = perm[A + 1] + Z; + int B = perm[X + 1] + Y; + int BA = perm[B] + Z; + int BB = perm[B + 1] + Z; + + return lerp(fZ, lerp(fY, lerp(fX, grad(perm[AA], x, y, z), grad(perm[BA], x - 1, y, z)), lerp(fX, grad(perm[AB], x, y - 1, z), grad(perm[BB], x - 1, y - 1, z))), lerp(fY, lerp(fX, grad(perm[AA + 1], x, y, z - 1), grad(perm[BA + 1], x - 1, y, z - 1)), lerp(fX, grad(perm[AB + 1], x, y - 1, z - 1), grad(perm[BB + 1], x - 1, y - 1, z - 1)))); + } + + /** + * Generates noise for the 1D coordinates using the specified number of octaves + * and parameters + * + * @param x + * X-coordinate + * @param octaves + * Number of octaves to use + * @param frequency + * How much to alter the frequency by each octave + * @param amplitude + * How much to alter the amplitude by each octave + * @return Resulting noise + */ + public static double getNoise(double x, int octaves, double frequency, double amplitude) + { + return instance.noise(x, octaves, frequency, amplitude); + } + + /** + * Generates noise for the 2D coordinates using the specified number of octaves + * and parameters + * + * @param x + * X-coordinate + * @param y + * Y-coordinate + * @param octaves + * Number of octaves to use + * @param frequency + * How much to alter the frequency by each octave + * @param amplitude + * How much to alter the amplitude by each octave + * @return Resulting noise + */ + public static double getNoise(double x, double y, int octaves, double frequency, double amplitude) + { + return instance.noise(x, y, octaves, frequency, amplitude); + } + + /** + * Generates noise for the 3D coordinates using the specified number of octaves + * and parameters + * + * @param x + * X-coordinate + * @param y + * Y-coordinate + * @param z + * Z-coordinate + * @param octaves + * Number of octaves to use + * @param frequency + * How much to alter the frequency by each octave + * @param amplitude + * How much to alter the amplitude by each octave + * @return Resulting noise + */ + public static double getNoise(double x, double y, double z, int octaves, double frequency, double amplitude) + { + return instance.noise(x, y, z, octaves, frequency, amplitude); + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/BiomeLayer.java b/src/main/java/ninja/bytecode/iris/util/BiomeLayer.java deleted file mode 100644 index a2c4754be..000000000 --- a/src/main/java/ninja/bytecode/iris/util/BiomeLayer.java +++ /dev/null @@ -1,219 +0,0 @@ -package ninja.bytecode.iris.util; - -import java.util.function.Function; - -import org.bukkit.Material; -import org.bukkit.block.Biome; - -import mortar.lang.collection.GList; -import mortar.lang.collection.GMap; -import mortar.logic.format.F; -import mortar.util.text.C; -import ninja.bytecode.iris.generator.IrisGenerator; -import ninja.bytecode.iris.pack.BiomeType; -import ninja.bytecode.iris.pack.IrisBiome; -import ninja.bytecode.iris.util.PolygonGenerator.EnumPolygonGenerator; -import ninja.bytecode.shuriken.collections.KSet; -import ninja.bytecode.shuriken.logging.L; -import ninja.bytecode.shuriken.math.CNG; -import ninja.bytecode.shuriken.math.RNG; - -public class BiomeLayer -{ - public static final IrisBiome VOID = new IrisBiome("Master", Biome.VOID).height(-1).dirt(MB.of(Material.END_BRICKS)).seal(RNG.r); - private GList children; - private EnumPolygonGenerator gen; - private IrisBiome biome; - private IrisGenerator iris; - - public BiomeLayer(IrisGenerator iris, IrisBiome biome) - { - this.biome = biome == null ? VOID : biome; - this.iris = iris; - this.children = new GList<>(); - } - - public void compileChildren(double scale, int octaves, Function factory, boolean inf) - { - if(gen != null) - { - return; - } - - if(children.isEmpty()) - { - gen = null; - return; - } - - GList b = new GList<>(); - GMap rarities = new GMap<>(); - for(BiomeLayer i : getChildren()) - { - b.add(i); - rarities.put(i, i.getBiome().getRarity()); - } - - if(!getBiome().equals(VOID)) - { - b.add(this); - rarities.put(this, getBiome().getRarity()); - } - - gen = new EnumPolygonGenerator<>(iris.getRTerrain().nextParallelRNG(1022 + getBiome().getRealBiome().ordinal()), scale, octaves, b, rarities, factory).useRarity(); - - for(BiomeLayer i : getChildren()) - { - i.compileChildren(scale, octaves, factory, inf); - } - } - - private IrisBiome computeBiome(double x, double z, GList f) - { - if(gen != null) - { - BiomeLayer b = gen.getChoice(x, z); - - if(b.biome.equals(biome)) - { - return biome; - } - - if(f.contains(b.getBiome().getName())) - { - f.add("..."); - f.add(b.getBiome().getName()); - L.w(C.YELLOW + "Cyclic Biome Heiarchy Detected! " + C.RED + f.toString(C.GRAY + " -> " + C.RED)); - return b.biome; - } - - f.add(b.getBiome().getName()); - - return b.computeBiome(x, z, f); - } - - return getBiome(); - } - - public IrisBiome computeBiome(double x, double z) - { - return computeBiome(x, z, new GList()); - } - - public void addLayer(IrisBiome biome) - { - addLayer(new BiomeLayer(iris, biome)); - } - - public void addLayer(BiomeLayer layer) - { - getChildren().add(layer); - } - - public IrisBiome getBiome() - { - return biome; - } - - public GList getChildren() - { - return children; - } - - public void setChildren(GList children) - { - this.children = children; - } - - public void print(int indent) - { - print(0, F.repeat(" ", indent)); - } - - private void print(int index, String indent) - { - L.i(C.GRAY + F.repeat(indent, index) + "Layer " + C.DARK_GREEN + getBiome().getName() + C.GRAY + "(" + C.GOLD + getBiome().getRarityString() + C.GRAY + ")" + (getBiome().getGenAmplifier() != 0.35 ? C.DARK_AQUA + " A: " + getBiome().getGenAmplifier() : "") + (getBiome().getHeight() != 0.0 ? C.DARK_RED + " H: " + getBiome().getHeight() : "") + (getBiome().hasCliffs() ? C.DARK_PURPLE + " C: " + getBiome().getCliffChance() + " x " + getBiome().getCliffScale() : "")); - L.flush(); - if(!getBiome().getSchematicGroups().isEmpty()) - { - for(String i : getBiome().getSchematicGroups().k()) - { - String f = ""; - double percent = getBiome().getSchematicGroups().get(i); - - if(percent > 1D) - { - f = (int) percent + " + " + F.pc(percent - (int) percent, percent - (int) percent >= 0.01 ? 0 : 3); - } - - else - { - f = F.pc(percent, percent >= 0.01 ? 0 : 3); - } - - L.i(C.GRAY + F.repeat(indent, index + 1) + "Object " + C.GOLD + i + C.GRAY + " at " + C.GOLD + f + C.GRAY + " (" + F.f(iris.getDimension().getObjectGroup(i).size()) + " variants)"); - } - } - - L.flush(); - for(BiomeLayer i : children) - { - i.print(index + 1, indent); - } - } - - public static BiomeLayer compile(IrisGenerator g, double scale, int octaves, Function factory) - { - return compile(g, scale, octaves, factory, false); - } - - public static BiomeLayer compile(IrisGenerator g, double scale, int octaves, Function factory, boolean inf) - { - GMap components = new GMap<>(); - - for(IrisBiome i : g.getDimension().getBiomes()) - { - if(i.getType().equals(BiomeType.LAND)) - { - components.put(i.getName(), new BiomeLayer(g, i)); - } - } - - KSet deject = new KSet<>(); - - for(String i : components.keySet()) - { - BiomeLayer b = components.get(i); - - for(String j : b.getBiome().getParents()) - { - try - { - components.get(j).addLayer(b); - deject.add(i); - } - - catch(Throwable e) - { - L.w(C.YELLOW + "Cannot find Biome " + C.RED + j + C.YELLOW + " (" + C.WHITE + b.getBiome().getName() + C.YELLOW + "'s so-called 'parent'.)"); - } - } - } - - BiomeLayer master = new BiomeLayer(g, null); - - for(String i : components.k()) - { - if(deject.contains(i)) - { - continue; - } - - master.addLayer(components.get(i)); - } - - master.compileChildren(scale, octaves, factory, inf); - - return master; - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/BorderCheck.java b/src/main/java/ninja/bytecode/iris/util/BorderCheck.java deleted file mode 100644 index 28758325e..000000000 --- a/src/main/java/ninja/bytecode/iris/util/BorderCheck.java +++ /dev/null @@ -1,7 +0,0 @@ -package ninja.bytecode.iris.util; - -@FunctionalInterface -public interface BorderCheck -{ - public T get(double x, double z); -} diff --git a/src/main/java/ninja/bytecode/iris/util/Borders.java b/src/main/java/ninja/bytecode/iris/util/Borders.java deleted file mode 100644 index adfe50a03..000000000 --- a/src/main/java/ninja/bytecode/iris/util/Borders.java +++ /dev/null @@ -1,44 +0,0 @@ -package ninja.bytecode.iris.util; - -import ninja.bytecode.shuriken.math.M; - -public class Borders -{ - public static double getDistanceToBorder(double x, double z, int samples, double minRadius, double maxRadius, double jump, BorderCheck check) - { - double offset = 0; - double fract = 1; - - for(double i = minRadius; i < maxRadius; i += jump * fract) - { - offset += jump / 3D; - fract += 0.333; - - if(isBorderWithin(x, z, samples, maxRadius, offset, check)) - { - return minRadius; - } - } - - return maxRadius; - } - - public static boolean isBorderWithin(double x, double z, int samples, double radius, double offset, BorderCheck check) - { - T center = check.get(x, z); - double ajump = Math.toRadians(360D / (double) samples) + offset; - - for(int i = 0; i < samples; i++) - { - double dx = M.sin((float) ajump * i) * radius; - double dz = M.cos((float) ajump * i) * radius; - - if(!center.equals(check.get(x + dx, z + dz))) - { - return true; - } - } - - return false; - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/CDou.java b/src/main/java/ninja/bytecode/iris/util/CDou.java deleted file mode 100644 index c4c099d0f..000000000 --- a/src/main/java/ninja/bytecode/iris/util/CDou.java +++ /dev/null @@ -1,49 +0,0 @@ -package ninja.bytecode.iris.util; - -public class CDou -{ - private double number; - private double max; - - public CDou(double max) - { - number = 0; - this.max = max; - } - - public CDou set(double n) - { - number = n; - circ(); - return this; - } - - public CDou add(double a) - { - number += a; - circ(); - return this; - } - - public CDou sub(double a) - { - number -= a; - circ(); - return this; - } - - public double get() - { - return number; - } - - public void circ() - { - if(number < 0) - { - number = max - (Math.abs(number) > max ? max : Math.abs(number)); - } - - number = number % (max); - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/Catalyst12.java b/src/main/java/ninja/bytecode/iris/util/Catalyst12.java deleted file mode 100644 index 7d3e3b49a..000000000 --- a/src/main/java/ninja/bytecode/iris/util/Catalyst12.java +++ /dev/null @@ -1,52 +0,0 @@ -package ninja.bytecode.iris.util; - -import org.bukkit.Bukkit; -import org.bukkit.World; -import org.bukkit.craftbukkit.v1_12_R1.CraftWorld; - -import net.minecraft.server.v1_12_R1.IBlockData; -import ninja.bytecode.iris.Iris; -import ninja.bytecode.shuriken.execution.J; - -public class Catalyst12 -{ - public static void waitForChunk(World w, int x, int z) - { - if(!w.isChunkLoaded(x, z)) - { - Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Iris.instance, () -> w.loadChunk(x, z, true)); - } - - int i = 0; - while(!w.isChunkLoaded(x, z) && i < 20) - { - Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Iris.instance, () -> w.loadChunk(x, z, true)); - J.sleep(50); - i++; - } - } - - @SuppressWarnings("deprecation") - public static void setBlock(World wo, int x, int y, int z, MB m) - { - if(y > wo.getMaxHeight()) - { - return; - } - - net.minecraft.server.v1_12_R1.World w = ((CraftWorld) wo).getHandle(); - net.minecraft.server.v1_12_R1.Chunk chunk = w.getChunkAt(x >> 4, z >> 4); - int combined = m.material.getId() + (m.data << 12); - IBlockData ibd = net.minecraft.server.v1_12_R1.Block.getByCombinedId(combined); - - if(chunk.getSections()[y >> 4] == null) - { - chunk.getSections()[y >> 4] = new net.minecraft.server.v1_12_R1.ChunkSection(y >> 4 << 4, chunk.world.worldProvider.m()); - } - - net.minecraft.server.v1_12_R1.ChunkSection sec = chunk.getSections()[y >> 4]; - sec.setType(x & 15, y & 15, z & 15, ibd); - } - - -} \ No newline at end of file diff --git a/src/main/java/ninja/bytecode/iris/util/ChancedPopulator.java b/src/main/java/ninja/bytecode/iris/util/ChancedPopulator.java deleted file mode 100644 index 0f48586be..000000000 --- a/src/main/java/ninja/bytecode/iris/util/ChancedPopulator.java +++ /dev/null @@ -1,74 +0,0 @@ -package ninja.bytecode.iris.util; - -import java.util.Random; - -import org.bukkit.Chunk; -import org.bukkit.World; -import org.bukkit.generator.BlockPopulator; - -import ninja.bytecode.shuriken.math.M; - -public abstract class ChancedPopulator extends BlockPopulator -{ - private final double chance; - - public ChancedPopulator(double chance) - { - this.chance = chance; - } - - @Override - public void populate(World world, Random random, Chunk source) - { - if(chance == 0) - { - return; - } - - if(chance > 0 && chance < 1 && M.r(chance)) - { - doPopulate(world, random, source, (source.getX() << 4) + random.nextInt(16), (source.getZ() << 4) + random.nextInt(16)); - } - - if(chance > 1) - { - for(int i = 0; i < (int) chance; i++) - { - doPopulate(world, random, source, (source.getX() << 4) + random.nextInt(16), (source.getZ() << 4) + random.nextInt(16)); - } - - if(M.r(chance - ((int) chance))) - { - doPopulate(world, random, source, (source.getX() << 4) + random.nextInt(16), (source.getZ() << 4) + random.nextInt(16)); - } - } - } - - @Override - public int hashCode() - { - final int prime = 31; - int result = 1; - long temp; - temp = Double.doubleToLongBits(chance); - result = prime * result + (int) (temp ^ (temp >>> 32)); - return result; - } - - @Override - public boolean equals(Object obj) - { - if(this == obj) - return true; - if(obj == null) - return false; - if(getClass() != obj.getClass()) - return false; - ChancedPopulator other = (ChancedPopulator) obj; - if(Double.doubleToLongBits(chance) != Double.doubleToLongBits(other.chance)) - return false; - return true; - } - - public abstract void doPopulate(World world, Random random, Chunk source, int x, int z); -} diff --git a/src/main/java/ninja/bytecode/iris/util/ChronoQueue.java b/src/main/java/ninja/bytecode/iris/util/ChronoQueue.java deleted file mode 100644 index 4f07b3025..000000000 --- a/src/main/java/ninja/bytecode/iris/util/ChronoQueue.java +++ /dev/null @@ -1,71 +0,0 @@ -package ninja.bytecode.iris.util; - -import org.bukkit.Bukkit; - -import ninja.bytecode.iris.Iris; -import ninja.bytecode.shuriken.bench.PrecisionStopwatch; -import ninja.bytecode.shuriken.execution.J; -import ninja.bytecode.shuriken.execution.Queue; -import ninja.bytecode.shuriken.execution.ShurikenQueue; -import ninja.bytecode.shuriken.logging.L; - -public class ChronoQueue -{ - private PrecisionStopwatch s; - private Queue q; - private double limit; - private int jobLimit; - private boolean die; - private int j; - - public ChronoQueue(double limit, int jobLimit) - { - die = false; - this.limit = limit; - this.jobLimit = jobLimit; - s = new PrecisionStopwatch(); - j = Bukkit.getScheduler().scheduleSyncRepeatingTask(Iris.instance, this::tick, 0, 0); - q = new ShurikenQueue<>(); - } - - public void close() - { - J.attempt(() -> Bukkit.getScheduler().cancelTask(j)); - } - - public void dieSlowly() - { - die = true; - } - - public void queue(Runnable r) - { - q.queue(r); - } - - private void tick() - { - s.reset(); - s.begin(); - - while(q.hasNext() && (s.getMilliseconds() < limit || q.size() > jobLimit)) - { - try - { - q.next().run(); - } - - catch(Throwable e) - { - L.ex(e); - } - } - - s.end(); - - if(q.size() == 0 && die) - { - close(); - } - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/ChunkPlan.java b/src/main/java/ninja/bytecode/iris/util/ChunkPlan.java deleted file mode 100644 index cf59e0ba2..000000000 --- a/src/main/java/ninja/bytecode/iris/util/ChunkPlan.java +++ /dev/null @@ -1,138 +0,0 @@ -package ninja.bytecode.iris.util; - -import ninja.bytecode.iris.pack.IrisBiome; -import ninja.bytecode.shuriken.collections.KList; -import ninja.bytecode.shuriken.collections.KMap; - -public class ChunkPlan -{ - private final KMap realHeightCache; - private final KMap> caveHeightCache; - private final KMap realWaterHeightCache; - private final KMap heightCache; - private final KMap biomeCache; - - public ChunkPlan() - { - this.caveHeightCache = new KMap<>(); - this.realHeightCache = new KMap<>(); - this.realWaterHeightCache = new KMap<>(); - this.heightCache = new KMap<>(); - this.biomeCache = new KMap<>(); - } - - public IrisBiome getBiome(int x, int z) - { - return biomeCache.get(new SChunkVector(x, z)); - } - - public void setBiome(int x, int z, IrisBiome cng) - { - biomeCache.put(new SChunkVector(x, z), cng); - } - - public double getHeight(int x, int z) - { - SChunkVector c = new SChunkVector(x, z); - if(hasHeight(c)) - { - return heightCache.get(c); - } - - return -1; - } - - public int getRealHeight(int x, int z) - { - SChunkVector c = new SChunkVector(x, z); - if(realHeightCache.containsKey(c)) - { - return realHeightCache.get(c); - } - - return 0; - } - - public KList getCaveHeights(int x, int z) - { - SChunkVector c = new SChunkVector(x, z); - if(caveHeightCache.containsKey(c)) - { - return caveHeightCache.get(c); - } - - return null; - } - - public int getRealWaterHeight(int x, int z) - { - SChunkVector c = new SChunkVector(x, z); - - if(realWaterHeightCache.containsKey(c)) - { - return realWaterHeightCache.get(c); - } - - return 0; - } - - public boolean hasHeight(SChunkVector c) - { - return heightCache.containsKey(c); - } - - public boolean hasHeight(int x, int z) - { - return hasHeight(new SChunkVector(x, z)); - } - - public void setHeight(SChunkVector c, double h) - { - heightCache.put(c, h); - } - - public void setCaveHeight(SChunkVector c, int h) - { - if(!caveHeightCache.containsKey(c)) - { - caveHeightCache.put(c, new KList<>()); - } - - caveHeightCache.get(c).add(h); - } - - public void setRealHeight(SChunkVector c, int h) - { - realHeightCache.put(c, h); - } - - public void setRealHeight(int x, int z, int h) - { - setRealHeight(new SChunkVector(x, z), h); - } - - public void setCaveHeight(int x, int z, int h) - { - setCaveHeight(new SChunkVector(x, z), h); - } - - public void setRealWaterHeight(SChunkVector c, int h) - { - realWaterHeightCache.put(c, h); - } - - public void setRealWaterHeight(int x, int z, int h) - { - setRealWaterHeight(new SChunkVector(x, z), h); - } - - public void setHeight(int x, int z, double h) - { - setHeight(new SChunkVector(x, z), h); - } - - public int biomeCacheSize() - { - return biomeCache.size(); - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/ChunkSpliceListener.java b/src/main/java/ninja/bytecode/iris/util/ChunkSpliceListener.java deleted file mode 100644 index 381288cd4..000000000 --- a/src/main/java/ninja/bytecode/iris/util/ChunkSpliceListener.java +++ /dev/null @@ -1,14 +0,0 @@ -package ninja.bytecode.iris.util; - -import java.util.Random; - -import org.bukkit.World; -import org.bukkit.generator.ChunkGenerator.BiomeGrid; - -import ninja.bytecode.iris.generator.atomics.AtomicChunkData; - -@FunctionalInterface -public interface ChunkSpliceListener -{ - public AtomicChunkData onSpliceAvailable(World world, Random random, int x, int z, BiomeGrid biome); -} diff --git a/src/main/java/ninja/bytecode/iris/util/ColoredEffect.java b/src/main/java/ninja/bytecode/iris/util/ColoredEffect.java deleted file mode 100644 index 03005f5f8..000000000 --- a/src/main/java/ninja/bytecode/iris/util/ColoredEffect.java +++ /dev/null @@ -1,10 +0,0 @@ -package ninja.bytecode.iris.util; - -import java.awt.Color; - -public interface ColoredEffect -{ - public ColoredEffect setColor(Color color); - - public Color getColor(); -} diff --git a/src/main/java/ninja/bytecode/iris/util/Cuboid.java b/src/main/java/ninja/bytecode/iris/util/Cuboid.java deleted file mode 100644 index a65b13aff..000000000 --- a/src/main/java/ninja/bytecode/iris/util/Cuboid.java +++ /dev/null @@ -1,921 +0,0 @@ -package ninja.bytecode.iris.util; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import org.bukkit.Bukkit; -import org.bukkit.Chunk; -import org.bukkit.Location; -import org.bukkit.Material; -import org.bukkit.World; -import org.bukkit.block.Block; -import org.bukkit.configuration.serialization.ConfigurationSerializable; -import org.bukkit.entity.Entity; -import org.bukkit.entity.LivingEntity; -import org.bukkit.material.MaterialData; - -import ninja.bytecode.shuriken.collections.KList; - -/** - * Cuboids - * - * @author cyberpwn - */ -public class Cuboid implements Iterable, Cloneable, ConfigurationSerializable -{ - protected final String worldName; - protected int x1, y1, z1; - protected int x2, y2, z2; - - /** - * Construct a Cuboid given two Location objects which represent any two corners - * of the Cuboid. - * - * @param l1 - * one of the corners - * @param l2 - * the other corner - */ - public Cuboid(Location l1, Location l2) - { - if(!l1.getWorld().equals(l2.getWorld())) - { - throw new IllegalArgumentException("locations must be on the same world"); - } - - worldName = l1.getWorld().getName(); - x1 = Math.min(l1.getBlockX(), l2.getBlockX()); - y1 = Math.min(l1.getBlockY(), l2.getBlockY()); - z1 = Math.min(l1.getBlockZ(), l2.getBlockZ()); - x2 = Math.max(l1.getBlockX(), l2.getBlockX()); - y2 = Math.max(l1.getBlockY(), l2.getBlockY()); - z2 = Math.max(l1.getBlockZ(), l2.getBlockZ()); - } - - public KList getLivingEntities() - { - return new KList(new GListAdapter() - { - @Override - public LivingEntity onAdapt(Entity from) - { - if(from instanceof LivingEntity) - { - return (LivingEntity) from; - } - - return null; - } - }.adapt(getEntities())); - } - - public KList getEntities() - { - KList en = new KList(); - - for(Chunk i : getChunks()) - { - for(Entity j : i.getEntities()) - { - if(contains(j.getLocation())) - { - en.add(j); - } - } - } - - return en; - } - - /** - * Set the locations - * - * @param l1 - * a - * @param l2 - * b - */ - public void set(Location l1, Location l2) - { - x1 = Math.min(l1.getBlockX(), l2.getBlockX()); - y1 = Math.min(l1.getBlockY(), l2.getBlockY()); - z1 = Math.min(l1.getBlockZ(), l2.getBlockZ()); - x2 = Math.max(l1.getBlockX(), l2.getBlockX()); - y2 = Math.max(l1.getBlockY(), l2.getBlockY()); - z2 = Math.max(l1.getBlockZ(), l2.getBlockZ()); - } - - /** - * Construct a one-block Cuboid at the given Location of the Cuboid. - * - * @param l1 - * location of the Cuboid - */ - public Cuboid(Location l1) - { - this(l1, l1); - } - - /** - * Copy constructor. - * - * @param other - * the Cuboid to copy - */ - public Cuboid(Cuboid other) - { - this(other.getWorld().getName(), other.x1, other.y1, other.z1, other.x2, other.y2, other.z2); - } - - /** - * Construct a Cuboid in the given World and xyz co-ordinates - * - * @param world - * the Cuboid's world - * @param x1 - * X co-ordinate of corner 1 - * @param y1 - * Y co-ordinate of corner 1 - * @param z1 - * Z co-ordinate of corner 1 - * @param x2 - * X co-ordinate of corner 2 - * @param y2 - * Y co-ordinate of corner 2 - * @param z2 - * Z co-ordinate of corner 2 - */ - public Cuboid(World world, int x1, int y1, int z1, int x2, int y2, int z2) - { - this.worldName = world.getName(); - this.x1 = Math.min(x1, x2); - this.x2 = Math.max(x1, x2); - this.y1 = Math.min(y1, y2); - this.y2 = Math.max(y1, y2); - this.z1 = Math.min(z1, z2); - this.z2 = Math.max(z1, z2); - } - - /** - * Construct a Cuboid in the given world name and xyz co-ordinates. - * - * @param worldName - * the Cuboid's world name - * @param x1 - * X co-ordinate of corner 1 - * @param y1 - * Y co-ordinate of corner 1 - * @param z1 - * Z co-ordinate of corner 1 - * @param x2 - * X co-ordinate of corner 2 - * @param y2 - * Y co-ordinate of corner 2 - * @param z2 - * Z co-ordinate of corner 2 - */ - private Cuboid(String worldName, int x1, int y1, int z1, int x2, int y2, int z2) - { - this.worldName = worldName; - this.x1 = Math.min(x1, x2); - this.x2 = Math.max(x1, x2); - this.y1 = Math.min(y1, y2); - this.y2 = Math.max(y1, y2); - this.z1 = Math.min(z1, z2); - this.z2 = Math.max(z1, z2); - } - - public Cuboid(Map map) - { - worldName = (String) map.get("worldName"); - x1 = (Integer) map.get("x1"); - x2 = (Integer) map.get("x2"); - y1 = (Integer) map.get("y1"); - y2 = (Integer) map.get("y2"); - z1 = (Integer) map.get("z1"); - z2 = (Integer) map.get("z2"); - } - - @Override - public Map serialize() - { - Map map = new HashMap(); - map.put("worldName", worldName); - map.put("x1", x1); - map.put("y1", y1); - map.put("z1", z1); - map.put("x2", x2); - map.put("y2", y2); - map.put("z2", z2); - return map; - } - - public Cuboid flatten(int level) - { - return new Cuboid(getWorld(), x1, level, z1, x2, level, z2); - } - - /** - * Get the Location of the lower northeast corner of the Cuboid (minimum XYZ - * co-ordinates). - * - * @return Location of the lower northeast corner - */ - public Location getLowerNE() - { - return new Location(getWorld(), x1, y1, z1); - } - - /** - * Get the Location of the upper southwest corner of the Cuboid (maximum XYZ - * co-ordinates). - * - * @return Location of the upper southwest corner - */ - public Location getUpperSW() - { - return new Location(getWorld(), x2, y2, z2); - } - - /** - * Get the the centre of the Cuboid - * - * @return Location at the centre of the Cuboid - */ - public Location getCenter() - { - int x1 = getUpperX() + 1; - int y1 = getUpperY() + 1; - int z1 = getUpperZ() + 1; - return new Location(getWorld(), getLowerX() + (x1 - getLowerX()) / 2.0, getLowerY() + (y1 - getLowerY()) / 2.0, getLowerZ() + (z1 - getLowerZ()) / 2.0); - } - - /** - * Get the Cuboid's world. - * - * @return the World object representing this Cuboid's world - * @throws IllegalStateException - * if the world is not loaded - */ - public World getWorld() - { - World world = Bukkit.getWorld(worldName); - if(world == null) - { - throw new IllegalStateException("world '" + worldName + "' is not loaded"); - } - return world; - } - - /** - * Get the size of this Cuboid along the X axis - * - * @return Size of Cuboid along the X axis - */ - public int getSizeX() - { - return (x2 - x1) + 1; - } - - /** - * Get the size of this Cuboid along the Y axis - * - * @return Size of Cuboid along the Y axis - */ - public int getSizeY() - { - return (y2 - y1) + 1; - } - - /** - * Get the size of this Cuboid along the Z axis - * - * @return Size of Cuboid along the Z axis - */ - public int getSizeZ() - { - return (z2 - z1) + 1; - } - - /** - * Get the cuboid dimensions - * - * @return the dimensions - */ - public Dimension getDimension() - { - return new Dimension(getSizeX(), getSizeY(), getSizeZ()); - } - - /** - * Get the minimum X co-ordinate of this Cuboid - * - * @return the minimum X co-ordinate - */ - public int getLowerX() - { - return x1; - } - - /** - * Get the minimum Y co-ordinate of this Cuboid - * - * @return the minimum Y co-ordinate - */ - public int getLowerY() - { - return y1; - } - - /** - * Get the minimum Z co-ordinate of this Cuboid - * - * @return the minimum Z co-ordinate - */ - public int getLowerZ() - { - return z1; - } - - /** - * Get the maximum X co-ordinate of this Cuboid - * - * @return the maximum X co-ordinate - */ - public int getUpperX() - { - return x2; - } - - /** - * Get the maximum Y co-ordinate of this Cuboid - * - * @return the maximum Y co-ordinate - */ - public int getUpperY() - { - return y2; - } - - /** - * Get the maximum Z co-ordinate of this Cuboid - * - * @return the maximum Z co-ordinate - */ - public int getUpperZ() - { - return z2; - } - - /** - * Get the Blocks at the eight corners of the Cuboid. - * - * @return array of Block objects representing the Cuboid corners - */ - public Block[] corners() - { - Block[] res = new Block[8]; - World w = getWorld(); - res[0] = w.getBlockAt(x1, y1, z1); - res[1] = w.getBlockAt(x1, y1, z2); - res[2] = w.getBlockAt(x1, y2, z1); - res[3] = w.getBlockAt(x1, y2, z2); - res[4] = w.getBlockAt(x2, y1, z1); - res[5] = w.getBlockAt(x2, y1, z2); - res[6] = w.getBlockAt(x2, y2, z1); - res[7] = w.getBlockAt(x2, y2, z2); - return res; - } - - /** - * Expand the Cuboid in the given direction by the given amount. Negative - * amounts will shrink the Cuboid in the given direction. Shrinking a cuboid's - * face past the opposite face is not an error and will return a valid Cuboid. - * - * @param dir - * the direction in which to expand - * @param amount - * the number of blocks by which to expand - * @return a new Cuboid expanded by the given direction and amount - */ - public Cuboid expand(CuboidDirection dir, int amount) - { - switch(dir) - { - case North: - return new Cuboid(worldName, x1 - amount, y1, z1, x2, y2, z2); - case South: - return new Cuboid(worldName, x1, y1, z1, x2 + amount, y2, z2); - case East: - return new Cuboid(worldName, x1, y1, z1 - amount, x2, y2, z2); - case West: - return new Cuboid(worldName, x1, y1, z1, x2, y2, z2 + amount); - case Down: - return new Cuboid(worldName, x1, y1 - amount, z1, x2, y2, z2); - case Up: - return new Cuboid(worldName, x1, y1, z1, x2, y2 + amount, z2); - default: - throw new IllegalArgumentException("invalid direction " + dir); - } - } - - public Cuboid expand(Direction dir, int amount) - { - int ax = dir.toVector().getBlockX() == 1 ? amount : 0; - int sx = dir.toVector().getBlockX() == -1 ? -amount : 0; - int ay = dir.toVector().getBlockY() == 1 ? amount : 0; - int sy = dir.toVector().getBlockY() == -1 ? -amount : 0; - int az = dir.toVector().getBlockZ() == 1 ? amount : 0; - int sz = dir.toVector().getBlockZ() == -1 ? -amount : 0; - return new Cuboid(worldName, x1 + sx, y1 + sy, z1 + sz, x2 + ax, y2 + ay, z2 + az); - } - - /** - * Shift the Cuboid in the given direction by the given amount. - * - * @param dir - * the direction in which to shift - * @param amount - * the number of blocks by which to shift - * @return a new Cuboid shifted by the given direction and amount - */ - public Cuboid shift(CuboidDirection dir, int amount) - { - return expand(dir, amount).expand(dir.opposite(), -amount); - } - - /** - * Outset (grow) the Cuboid in the given direction by the given amount. - * - * @param dir - * the direction in which to outset (must be Horizontal, Vertical, or - * Both) - * @param amount - * the number of blocks by which to outset - * @return a new Cuboid outset by the given direction and amount - */ - public Cuboid outset(CuboidDirection dir, int amount) - { - Cuboid c; - switch(dir) - { - case Horizontal: - c = expand(CuboidDirection.North, amount).expand(CuboidDirection.South, amount).expand(CuboidDirection.East, amount).expand(CuboidDirection.West, amount); - break; - case Vertical: - c = expand(CuboidDirection.Down, amount).expand(CuboidDirection.Up, amount); - break; - case Both: - c = outset(CuboidDirection.Horizontal, amount).outset(CuboidDirection.Vertical, amount); - break; - default: - throw new IllegalArgumentException("invalid direction " + dir); - } - return c; - } - - /** - * Inset (shrink) the Cuboid in the given direction by the given amount. - * Equivalent to calling outset() with a negative amount. - * - * @param dir - * the direction in which to inset (must be Horizontal, Vertical, or - * Both) - * @param amount - * the number of blocks by which to inset - * @return a new Cuboid inset by the given direction and amount - */ - public Cuboid inset(CuboidDirection dir, int amount) - { - return outset(dir, -amount); - } - - /** - * Return true if the point at (x,y,z) is contained within this Cuboid. - * - * @param x - * the X co-ordinate - * @param y - * the Y co-ordinate - * @param z - * the Z co-ordinate - * @return true if the given point is within this Cuboid, false otherwise - */ - public boolean contains(int x, int y, int z) - { - return x >= x1 && x <= x2 && y >= y1 && y <= y2 && z >= z1 && z <= z2; - } - - /** - * Check if the given Block is contained within this Cuboid. - * - * @param b - * the Block to check for - * @return true if the Block is within this Cuboid, false otherwise - */ - public boolean contains(Block b) - { - return contains(b.getLocation()); - } - - /** - * Check if the given Location is contained within this Cuboid. - * - * @param l - * the Location to check for - * @return true if the Location is within this Cuboid, false otherwise - */ - public boolean contains(Location l) - { - return worldName.equals(l.getWorld().getName()) && contains(l.getBlockX(), l.getBlockY(), l.getBlockZ()); - } - - /** - * Get the volume of this Cuboid. - * - * @return the Cuboid volume, in blocks - */ - public int volume() - { - return getSizeX() * getSizeY() * getSizeZ(); - } - - /** - * Get the average light level of all empty (air) blocks in the Cuboid. Returns - * 0 if there are no empty blocks. - * - * @return the average light level of this Cuboid - */ - public byte averageLightLevel() - { - long total = 0; - int n = 0; - for(Block b : this) - { - if(b.isEmpty()) - { - total += b.getLightLevel(); - ++n; - } - } - return n > 0 ? (byte) (total / n) : 0; - } - - /** - * Contract the Cuboid, returning a Cuboid with any air around the edges - * removed, just large enough to include all non-air blocks. - * - * @return a new Cuboid with no external air blocks - */ - public Cuboid contract() - { - return this.contract(CuboidDirection.Down).contract(CuboidDirection.South).contract(CuboidDirection.East).contract(CuboidDirection.Up).contract(CuboidDirection.North).contract(CuboidDirection.West); - } - - /** - * Contract the Cuboid in the given direction, returning a new Cuboid which has - * no exterior empty space. E.g. a direction of Down will push the top face - * downwards as much as possible. - * - * @param dir - * the direction in which to contract - * @return a new Cuboid contracted in the given direction - */ - public Cuboid contract(CuboidDirection dir) - { - Cuboid face = getFace(dir.opposite()); - switch(dir) - { - case Down: - while(face.containsOnly(Material.AIR) && face.getLowerY() > this.getLowerY()) - { - face = face.shift(CuboidDirection.Down, 1); - } - return new Cuboid(worldName, x1, y1, z1, x2, face.getUpperY(), z2); - case Up: - while(face.containsOnly(Material.AIR) && face.getUpperY() < this.getUpperY()) - { - face = face.shift(CuboidDirection.Up, 1); - } - return new Cuboid(worldName, x1, face.getLowerY(), z1, x2, y2, z2); - case North: - while(face.containsOnly(Material.AIR) && face.getLowerX() > this.getLowerX()) - { - face = face.shift(CuboidDirection.North, 1); - } - return new Cuboid(worldName, x1, y1, z1, face.getUpperX(), y2, z2); - case South: - while(face.containsOnly(Material.AIR) && face.getUpperX() < this.getUpperX()) - { - face = face.shift(CuboidDirection.South, 1); - } - return new Cuboid(worldName, face.getLowerX(), y1, z1, x2, y2, z2); - case East: - while(face.containsOnly(Material.AIR) && face.getLowerZ() > this.getLowerZ()) - { - face = face.shift(CuboidDirection.East, 1); - } - return new Cuboid(worldName, x1, y1, z1, x2, y2, face.getUpperZ()); - case West: - while(face.containsOnly(Material.AIR) && face.getUpperZ() < this.getUpperZ()) - { - face = face.shift(CuboidDirection.West, 1); - } - return new Cuboid(worldName, x1, y1, face.getLowerZ(), x2, y2, z2); - default: - throw new IllegalArgumentException("Invalid direction " + dir); - } - } - - /** - * Get the Cuboid representing the face of this Cuboid. The resulting Cuboid - * will be one block thick in the axis perpendicular to the requested face. - * - * @param dir - * which face of the Cuboid to get - * @return the Cuboid representing this Cuboid's requested face - */ - public Cuboid getFace(CuboidDirection dir) - { - switch(dir) - { - case Down: - return new Cuboid(worldName, x1, y1, z1, x2, y1, z2); - case Up: - return new Cuboid(worldName, x1, y2, z1, x2, y2, z2); - case North: - return new Cuboid(worldName, x1, y1, z1, x1, y2, z2); - case South: - return new Cuboid(worldName, x2, y1, z1, x2, y2, z2); - case East: - return new Cuboid(worldName, x1, y1, z1, x2, y2, z1); - case West: - return new Cuboid(worldName, x1, y1, z2, x2, y2, z2); - default: - throw new IllegalArgumentException("Invalid direction " + dir); - } - } - - /** - * Check if the Cuboid contains only blocks of the given type - * - * @param material - * the material to check for - * @return true if this Cuboid contains only blocks of the given type - */ - public boolean containsOnly(Material material) - { - for(Block b : this) - { - if(b.getType() != material) - { - return false; - } - } - return true; - } - - /** - * Get the Cuboid big enough to hold both this Cuboid and the given one. - * - * @param other - * the other Cuboid to include - * @return a new Cuboid large enough to hold this Cuboid and the given Cuboid - */ - public Cuboid getBoundingCuboid(Cuboid other) - { - if(other == null) - { - return this; - } - - int xMin = Math.min(getLowerX(), other.getLowerX()); - int yMin = Math.min(getLowerY(), other.getLowerY()); - int zMin = Math.min(getLowerZ(), other.getLowerZ()); - int xMax = Math.max(getUpperX(), other.getUpperX()); - int yMax = Math.max(getUpperY(), other.getUpperY()); - int zMax = Math.max(getUpperZ(), other.getUpperZ()); - - return new Cuboid(worldName, xMin, yMin, zMin, xMax, yMax, zMax); - } - - /** - * Get a block relative to the lower NE point of the Cuboid. - * - * @param x - * the X co-ordinate - * @param y - * the Y co-ordinate - * @param z - * the Z co-ordinate - * @return the block at the given position - */ - public Block getRelativeBlock(int x, int y, int z) - { - return getWorld().getBlockAt(x1 + x, y1 + y, z1 + z); - } - - /** - * Get a block relative to the lower NE point of the Cuboid in the given World. - * This version of getRelativeBlock() should be used if being called many times, - * to avoid excessive calls to getWorld(). - * - * @param w - * the World - * @param x - * the X co-ordinate - * @param y - * the Y co-ordinate - * @param z - * the Z co-ordinate - * @return the block at the given position - */ - public Block getRelativeBlock(World w, int x, int y, int z) - { - return w.getBlockAt(x1 + x, y1 + y, z1 + z); - } - - /** - * Get a list of the chunks which are fully or partially contained in this - * cuboid. - * - * @return a list of Chunk objects - */ - public List getChunks() - { - List res = new ArrayList(); - - World w = getWorld(); - int x1 = getLowerX() & ~0xf; - int x2 = getUpperX() & ~0xf; - int z1 = getLowerZ() & ~0xf; - int z2 = getUpperZ() & ~0xf; - for(int x = x1; x <= x2; x += 16) - { - for(int z = z1; z <= z2; z += 16) - { - res.add(w.getChunkAt(x >> 4, z >> 4)); - } - } - return res; - } - - /** - * Set all the blocks within the Cuboid to the given block ID and data byte. - * - * @param blockId - * the block ID - * @param data - * the block data - * @deprecated use {@link #fill(MaterialData, MassBlockUpdate)} - */ - @Deprecated - public void fill(int blockId, byte data) - { - for(Block b : this) - { - b.setTypeIdAndData(blockId, data, false); - } - } - - /** - * Set all the blocks within the Cuboid to the given MaterialData, using a - * MassBlockUpdate object for fast updates. - * - * @param mat - * the MaterialData to set - * @param mbu - * the MassBlockUpdate object - */ - - /** - * Reset the light level of all blocks within this Cuboid. - */ - - /* - * (non-Javadoc) - * - * @see java.lang.Iterable#iterator() - */ - @Override - public Iterator iterator() - { - return new CuboidIterator(getWorld(), x1, y1, z1, x2, y2, z2); - } - - /* - * (non-Javadoc) - * - * @see java.lang.Object#clone() - */ - @Override - public Cuboid clone() throws CloneNotSupportedException - { - return new Cuboid(this); - } - - /* - * (non-Javadoc) - * - * @see java.lang.Object#toString() - */ - @Override - public String toString() - { - return "Cuboid: " + worldName + "," + x1 + "," + y1 + "," + z1 + "=>" + x2 + "," + y2 + "," + z2; - } - - public class CuboidIterator implements Iterator - { - private World w; - private int baseX, baseY, baseZ; - private int x, y, z; - private int sizeX, sizeY, sizeZ; - - public CuboidIterator(World w, int x1, int y1, int z1, int x2, int y2, int z2) - { - this.w = w; - baseX = x1; - baseY = y1; - baseZ = z1; - sizeX = Math.abs(x2 - x1) + 1; - sizeY = Math.abs(y2 - y1) + 1; - sizeZ = Math.abs(z2 - z1) + 1; - x = y = z = 0; - } - - @Override - public boolean hasNext() - { - return x < sizeX && y < sizeY && z < sizeZ; - } - - @Override - public Block next() - { - Block b = w.getBlockAt(baseX + x, baseY + y, baseZ + z); - if(++x >= sizeX) - { - x = 0; - if(++y >= sizeY) - { - y = 0; - ++z; - } - } - return b; - } - - @Override - public void remove() - { - // nop - } - } - - public enum CuboidDirection - { - - North, - East, - South, - West, - Up, - Down, - Horizontal, - Vertical, - Both, - Unknown; - - public CuboidDirection opposite() - { - switch(this) - { - case North: - return South; - case East: - return West; - case South: - return North; - case West: - return East; - case Horizontal: - return Vertical; - case Vertical: - return Horizontal; - case Up: - return Down; - case Down: - return Up; - case Both: - return Both; - default: - return Unknown; - } - } - } - -} \ No newline at end of file diff --git a/src/main/java/ninja/bytecode/iris/util/CuboidException.java b/src/main/java/ninja/bytecode/iris/util/CuboidException.java deleted file mode 100644 index 212f9f79c..000000000 --- a/src/main/java/ninja/bytecode/iris/util/CuboidException.java +++ /dev/null @@ -1,16 +0,0 @@ -package ninja.bytecode.iris.util; - -/** - * Represents a cuboid exception - * - * @author cyberpwn - */ -public class CuboidException extends Exception -{ - public CuboidException(String string) - { - super(string); - } - - private static final long serialVersionUID = 1L; -} \ No newline at end of file diff --git a/src/main/java/ninja/bytecode/iris/util/DOP.java b/src/main/java/ninja/bytecode/iris/util/DOP.java deleted file mode 100644 index b36611738..000000000 --- a/src/main/java/ninja/bytecode/iris/util/DOP.java +++ /dev/null @@ -1,20 +0,0 @@ -package ninja.bytecode.iris.util; - -import org.bukkit.util.Vector; - -public abstract class DOP -{ - private String type; - - public DOP(String type) - { - this.type = type; - } - - public abstract Vector op(Vector v); - - public String getType() - { - return type; - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/Dimension.java b/src/main/java/ninja/bytecode/iris/util/Dimension.java deleted file mode 100644 index c9b8a0db6..000000000 --- a/src/main/java/ninja/bytecode/iris/util/Dimension.java +++ /dev/null @@ -1,86 +0,0 @@ -package ninja.bytecode.iris.util; - -/** - * Dimensions - * - * @author cyberpwn - */ -public class Dimension -{ - private final int width; - private final int height; - private final int depth; - - /** - * Make a dimension - * - * @param width - * width of this (X) - * @param height - * the height (Y) - * @param depth - * the depth (Z) - */ - public Dimension(int width, int height, int depth) - { - this.width = width; - this.height = height; - this.depth = depth; - } - - /** - * Make a dimension - * - * @param width - * width of this (X) - * @param height - * the height (Y) - */ - public Dimension(int width, int height) - { - this.width = width; - this.height = height; - this.depth = 0; - } - - /** - * Get the direction of the flat part of this dimension (null if no thin - * face) - * - * @return the direction of the flat pane or null - */ - public DimensionFace getPane() - { - if(width == 1) - { - return DimensionFace.X; - } - - if(height == 1) - { - return DimensionFace.Y; - } - - if(depth == 1) - { - return DimensionFace.Z; - } - - return null; - } - - public int getWidth() - { - return width; - } - - public int getHeight() - { - return height; - } - - public int getDepth() - { - return depth; - } -} \ No newline at end of file diff --git a/src/main/java/ninja/bytecode/iris/util/DimensionFace.java b/src/main/java/ninja/bytecode/iris/util/DimensionFace.java deleted file mode 100644 index 0db5b6b07..000000000 --- a/src/main/java/ninja/bytecode/iris/util/DimensionFace.java +++ /dev/null @@ -1,24 +0,0 @@ -package ninja.bytecode.iris.util; - -/** - * Represents a dimension (coordinates not worlds) - * - * @author cyberpwn - */ -public enum DimensionFace -{ - /** - * The X dimension (width) - */ - X, - - /** - * The Y dimension (height) - */ - Y, - - /** - * The Z dimension (depth) - */ - Z -} \ No newline at end of file diff --git a/src/main/java/ninja/bytecode/iris/util/Direction.java b/src/main/java/ninja/bytecode/iris/util/Direction.java deleted file mode 100644 index 23ee8287d..000000000 --- a/src/main/java/ninja/bytecode/iris/util/Direction.java +++ /dev/null @@ -1,534 +0,0 @@ - -package ninja.bytecode.iris.util; - -import org.bukkit.block.BlockFace; -import org.bukkit.util.Vector; - -import ninja.bytecode.iris.util.Cuboid.CuboidDirection; -import ninja.bytecode.shuriken.collections.KList; -import ninja.bytecode.shuriken.collections.KMap; - -/** - * Directions - * - * @author cyberpwn - */ -public enum Direction -{ - U(0, 1, 0, CuboidDirection.Up), - D(0, -1, 0, CuboidDirection.Down), - N(0, 0, -1, CuboidDirection.North), - S(0, 0, 1, CuboidDirection.South), - E(1, 0, 0, CuboidDirection.East), - W(-1, 0, 0, CuboidDirection.West); - - private static KMap, DOP> permute = null; - - private int x; - private int y; - private int z; - private CuboidDirection f; - - public static Direction getDirection(BlockFace f) - { - switch(f) - { - case DOWN: - return D; - case EAST: - return E; - case EAST_NORTH_EAST: - return E; - case EAST_SOUTH_EAST: - return E; - case NORTH: - return N; - case NORTH_EAST: - return N; - case NORTH_NORTH_EAST: - return N; - case NORTH_NORTH_WEST: - return N; - case NORTH_WEST: - return N; - case SELF: - return U; - case SOUTH: - return S; - case SOUTH_EAST: - return S; - case SOUTH_SOUTH_EAST: - return S; - case SOUTH_SOUTH_WEST: - return S; - case SOUTH_WEST: - return S; - case UP: - return U; - case WEST: - return W; - case WEST_NORTH_WEST: - return W; - case WEST_SOUTH_WEST: - return W; - } - - return D; - } - - @Override - public String toString() - { - switch(this) - { - case D: - return "Down"; - case E: - return "East"; - case N: - return "North"; - case S: - return "South"; - case U: - return "Up"; - case W: - return "West"; - } - - return "?"; - } - - public boolean isVertical() - { - return equals(D) || equals(U); - } - - public static Direction closest(Vector v) - { - double m = Double.MAX_VALUE; - Direction s = null; - - for(Direction i : values()) - { - Vector x = i.toVector(); - double g = x.dot(v); - - if(g < m) - { - m = g; - s = i; - } - } - - return s; - } - - public static Direction closest(Vector v, Direction... d) - { - double m = Double.MAX_VALUE; - Direction s = null; - - for(Direction i : d) - { - Vector x = i.toVector(); - double g = x.distance(v); - - if(g < m) - { - m = g; - s = i; - } - } - - return s; - } - - public static Direction closest(Vector v, KList d) - { - double m = Double.MAX_VALUE; - Direction s = null; - - for(Direction i : d) - { - Vector x = i.toVector(); - double g = x.distance(v); - - if(g < m) - { - m = g; - s = i; - } - } - - return s; - } - - public Vector toVector() - { - return new Vector(x, y, z); - } - - public boolean isCrooked(Direction to) - { - if(equals(to.reverse())) - { - return false; - } - - if(equals(to)) - { - return false; - } - - return true; - } - - private Direction(int x, int y, int z, CuboidDirection f) - { - this.x = x; - this.y = y; - this.z = z; - this.f = f; - } - - public Vector angle(Vector initial, Direction d) - { - calculatePermutations(); - - for(GBiset i : permute.keySet()) - { - if(i.getA().equals(this) && i.getB().equals(d)) - { - return permute.get(i).op(initial); - } - } - - return initial; - } - - public Direction reverse() - { - switch(this) - { - case D: - return U; - case E: - return W; - case N: - return S; - case S: - return N; - case U: - return D; - case W: - return E; - default: - break; - } - - return null; - } - - public int x() - { - return x; - } - - public int y() - { - return y; - } - - public int z() - { - return z; - } - - public CuboidDirection f() - { - return f; - } - - public static KList news() - { - return new KList().add(N, E, W, S); - } - - public static Direction getDirection(Vector v) - { - Vector k = VectorMath.triNormalize(v.clone().normalize()); - - for(Direction i : udnews()) - { - if(i.x == k.getBlockX() && i.y == k.getBlockY() && i.z == k.getBlockZ()) - { - return i; - } - } - - return Direction.N; - } - - public static KList udnews() - { - return new KList().add(U, D, N, E, W, S); - } - - /** - * Get the directional value from the given byte from common directional blocks - * (MUST BE BETWEEN 0 and 5 INCLUSIVE) - * - * @param b - * the byte - * @return the direction or null if the byte is outside of the inclusive range - * 0-5 - */ - public static Direction fromByte(byte b) - { - if(b > 5 || b < 0) - { - return null; - } - - if(b == 0) - { - return D; - } - - else if(b == 1) - { - return U; - } - - else if(b == 2) - { - return N; - } - - else if(b == 3) - { - return S; - } - - else if(b == 4) - { - return W; - } - - else - { - return E; - } - } - - /** - * Get the byte value represented in some directional blocks - * - * @return the byte value - */ - public byte byteValue() - { - switch(this) - { - case D: - return 0; - case E: - return 5; - case N: - return 2; - case S: - return 3; - case U: - return 1; - case W: - return 4; - default: - break; - } - - return -1; - } - - public static void calculatePermutations() - { - if(permute != null) - { - return; - } - - permute = new KMap, DOP>(); - - for(Direction i : udnews()) - { - for(Direction j : udnews()) - { - GBiset b = new GBiset(i, j); - - if(i.equals(j)) - { - permute.put(b, new DOP("DIRECT") - { - @Override - public Vector op(Vector v) - { - return v; - } - }); - } - - else if(i.reverse().equals(j)) - { - if(i.isVertical()) - { - permute.put(b, new DOP("R180CCZ") - { - @Override - public Vector op(Vector v) - { - return VectorMath.rotate90CCZ(VectorMath.rotate90CCZ(v)); - } - }); - } - - else - { - permute.put(b, new DOP("R180CCY") - { - @Override - public Vector op(Vector v) - { - return VectorMath.rotate90CCY(VectorMath.rotate90CCY(v)); - } - }); - } - } - - else if(getDirection(VectorMath.rotate90CX(i.toVector())).equals(j)) - { - permute.put(b, new DOP("R90CX") - { - @Override - public Vector op(Vector v) - { - return VectorMath.rotate90CX(v); - } - }); - } - - else if(getDirection(VectorMath.rotate90CCX(i.toVector())).equals(j)) - { - permute.put(b, new DOP("R90CCX") - { - @Override - public Vector op(Vector v) - { - return VectorMath.rotate90CCX(v); - } - }); - } - - else if(getDirection(VectorMath.rotate90CY(i.toVector())).equals(j)) - { - permute.put(b, new DOP("R90CY") - { - @Override - public Vector op(Vector v) - { - return VectorMath.rotate90CY(v); - } - }); - } - - else if(getDirection(VectorMath.rotate90CCY(i.toVector())).equals(j)) - { - permute.put(b, new DOP("R90CCY") - { - @Override - public Vector op(Vector v) - { - return VectorMath.rotate90CCY(v); - } - }); - } - - else if(getDirection(VectorMath.rotate90CZ(i.toVector())).equals(j)) - { - permute.put(b, new DOP("R90CZ") - { - @Override - public Vector op(Vector v) - { - return VectorMath.rotate90CZ(v); - } - }); - } - - else if(getDirection(VectorMath.rotate90CCZ(i.toVector())).equals(j)) - { - permute.put(b, new DOP("R90CCZ") - { - @Override - public Vector op(Vector v) - { - return VectorMath.rotate90CCZ(v); - } - }); - } - - else - { - permute.put(b, new DOP("FAIL") - { - @Override - public Vector op(Vector v) - { - return v; - } - }); - } - } - } - } - - public BlockFace getFace() - { - switch(this) - { - case D: - return BlockFace.DOWN; - case E: - return BlockFace.EAST; - case N: - return BlockFace.NORTH; - case S: - return BlockFace.SOUTH; - case U: - return BlockFace.UP; - case W: - return BlockFace.WEST; - } - - return null; - } - - public Axis getAxis() - { - switch(this) - { - case D: - return Axis.Y; - case E: - return Axis.X; - case N: - return Axis.Z; - case S: - return Axis.Z; - case U: - return Axis.Y; - case W: - return Axis.X; - } - - return null; - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/GBiset.java b/src/main/java/ninja/bytecode/iris/util/GBiset.java deleted file mode 100644 index 901384c1a..000000000 --- a/src/main/java/ninja/bytecode/iris/util/GBiset.java +++ /dev/null @@ -1,77 +0,0 @@ -package ninja.bytecode.iris.util; - - -import java.io.Serializable; - -/** - * A Biset - * - * @author cyberpwn - * - * @param - * the first object type - * @param - * the second object type - */ -@SuppressWarnings("hiding") -public class GBiset implements Serializable -{ - private static final long serialVersionUID = 1L; - private A a; - private B b; - - /** - * Create a new Biset - * - * @param a - * the first object - * @param b - * the second object - */ - public GBiset(A a, B b) - { - this.a = a; - this.b = b; - } - - /** - * Get the object of the type A - * - * @return the first object - */ - public A getA() - { - return a; - } - - /** - * Set the first object - * - * @param a - * the first object A - */ - public void setA(A a) - { - this.a = a; - } - - /** - * Get the second object - * - * @return the second object - */ - public B getB() - { - return b; - } - - /** - * Set the second object - * - * @param b - */ - public void setB(B b) - { - this.b = b; - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/GListAdapter.java b/src/main/java/ninja/bytecode/iris/util/GListAdapter.java deleted file mode 100644 index d6c0d702b..000000000 --- a/src/main/java/ninja/bytecode/iris/util/GListAdapter.java +++ /dev/null @@ -1,51 +0,0 @@ -package ninja.bytecode.iris.util; - - -import java.util.List; - -import ninja.bytecode.shuriken.collections.KList; - -/** - * Adapts a list of objects into a list of other objects - * - * @author cyberpwn - * @param - * the from object in lists (the item INSIDE the list) - * @param - * the to object in lists (the item INSIDE the list) - */ -public abstract class GListAdapter -{ - /** - * Adapts a list of FROM to a list of TO - * - * @param from - * the from list - * @return the to list - */ - public List adapt(List from) - { - List adapted = new KList(); - - for(FROM i : from) - { - TO t = onAdapt(i); - - if(t != null) - { - adapted.add(onAdapt(i)); - } - } - - return adapted; - } - - /** - * Adapts a list object FROM to TO for use with the adapt method - * - * @param from - * the from object - * @return the to object - */ - public abstract TO onAdapt(FROM from); -} diff --git a/src/main/java/ninja/bytecode/iris/util/GRT.java b/src/main/java/ninja/bytecode/iris/util/GRT.java deleted file mode 100644 index 9285a4d9f..000000000 --- a/src/main/java/ninja/bytecode/iris/util/GRT.java +++ /dev/null @@ -1,10 +0,0 @@ -package ninja.bytecode.iris.util; - -import org.bukkit.entity.Entity; -import org.bukkit.entity.Player; - -@FunctionalInterface -public interface GRT -{ - public Glower getGlower(Entity entity, Player observer); -} diff --git a/src/main/java/ninja/bytecode/iris/util/GenLayer.java b/src/main/java/ninja/bytecode/iris/util/GenLayer.java deleted file mode 100644 index c71e88b19..000000000 --- a/src/main/java/ninja/bytecode/iris/util/GenLayer.java +++ /dev/null @@ -1,32 +0,0 @@ -package ninja.bytecode.iris.util; - -import java.util.Random; - -import org.bukkit.World; -import org.bukkit.block.Biome; - -import ninja.bytecode.iris.generator.IrisGenerator; -import ninja.bytecode.shuriken.math.RNG; - -public class GenLayer implements IGenLayer -{ - protected RNG rng; - protected World world; - protected Random random; - protected IrisGenerator iris; - protected Biome biome = Biome.OCEAN; - - public GenLayer(IrisGenerator iris, World world, Random random, RNG rng) - { - this.world = world; - this.random = random; - this.rng = rng; - this.iris = iris; - } - - @Override - public double generateLayer(double noise, double dx, double dz) - { - return 0; - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/GlossGlower.java b/src/main/java/ninja/bytecode/iris/util/GlossGlower.java deleted file mode 100644 index 0d1006e5b..000000000 --- a/src/main/java/ninja/bytecode/iris/util/GlossGlower.java +++ /dev/null @@ -1,106 +0,0 @@ -package ninja.bytecode.iris.util; - -import org.bukkit.ChatColor; -import org.bukkit.entity.Entity; -import org.bukkit.entity.Player; - -import mortar.api.nms.NMP; -import mortar.util.text.C; - -public class GlossGlower implements Glower -{ - private final Player observer; - private final Entity entity; - private ChatColor color; - private boolean sentTeam; - - public GlossGlower(Entity entity, Player observer) - { - sentTeam = false; - this.entity = entity; - this.observer = observer; - this.color = ChatColor.WHITE; - } - - @Override - public Entity getEntity() - { - return entity; - } - - @Override - public ChatColor getColor() - { - return color; - } - - @Override - public void setColor(ChatColor color) - { - if(color.isFormat()) - { - throw new UnsupportedOperationException("You cannot use format codes for glow colors"); - } - - this.color = color; - - if(observer == null) - { - for(Player i : entity.getWorld().getPlayers()) - { - NMP.host.sendGlowingColorMeta(i, getEntity(), C.values()[color.ordinal()]); - } - } - - else - { - NMP.host.sendGlowingColorMeta(getObserver(), getEntity(), C.values()[color.ordinal()]); - } - } - - @Override - public void setGlowing(boolean glowing) - { - if(observer == null) - { - for(Player i : entity.getWorld().getPlayers()) - { - NMP.host.sendEntityMetadata(i, getEntity().getEntityId(), NMP.host.getMetaEntityProperties(false, false, false, false, false, glowing, false)); - } - } - - else - { - NMP.host.sendEntityMetadata(observer, getEntity().getEntityId(), NMP.host.getMetaEntityProperties(false, false, false, false, false, glowing, false)); - } - } - - @Override - public void destroy() - { - setGlowing(false); - - if(sentTeam) - { - if(observer == null) - { - for(Player i : entity.getWorld().getPlayers()) - { - NMP.host.sendRemoveGlowingColorMeta(i, getEntity()); - } - } - - else - { - NMP.host.sendRemoveGlowingColorMeta(getObserver(), getEntity()); - } - - } - } - - @Override - public Player getObserver() - { - return observer; - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/GlowManager.java b/src/main/java/ninja/bytecode/iris/util/GlowManager.java deleted file mode 100644 index 2933abe26..000000000 --- a/src/main/java/ninja/bytecode/iris/util/GlowManager.java +++ /dev/null @@ -1,14 +0,0 @@ -package ninja.bytecode.iris.util; - -import org.bukkit.entity.Entity; -import org.bukkit.entity.Player; - -public class GlowManager -{ - public static GRT f = null; - - public static Glower create(Entity e, Player observer) - { - return f.getGlower(e, observer); - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/Glower.java b/src/main/java/ninja/bytecode/iris/util/Glower.java deleted file mode 100644 index c99fd420a..000000000 --- a/src/main/java/ninja/bytecode/iris/util/Glower.java +++ /dev/null @@ -1,20 +0,0 @@ -package ninja.bytecode.iris.util; - -import org.bukkit.ChatColor; -import org.bukkit.entity.Entity; -import org.bukkit.entity.Player; - -public interface Glower -{ - public Player getObserver(); - - public Entity getEntity(); - - public ChatColor getColor(); - - public void setColor(ChatColor color); - - public void setGlowing(boolean glowing); - - public void destroy(); -} diff --git a/src/main/java/ninja/bytecode/iris/util/GlowingBlock.java b/src/main/java/ninja/bytecode/iris/util/GlowingBlock.java deleted file mode 100644 index 1f00bb7cb..000000000 --- a/src/main/java/ninja/bytecode/iris/util/GlowingBlock.java +++ /dev/null @@ -1,178 +0,0 @@ -package ninja.bytecode.iris.util; - -import java.util.UUID; - -import org.bukkit.ChatColor; -import org.bukkit.Location; -import org.bukkit.entity.Player; -import org.bukkit.util.Vector; - -import mortar.api.nms.NMP; -import mortar.api.world.MaterialBlock; -import mortar.compute.math.M; - -public class GlowingBlock -{ - private static int idd = 123456789; - private int id; - private UUID uid; - private Location location; - private Location current; - private Player player; - private double factor; - private Vector velocity; - private boolean active; - private long mv = M.ms(); - private MaterialBlock mb; - private ChatColor c; - - public GlowingBlock(Player player, Location init, MaterialBlock mb, ChatColor c) - { - this.mb = mb; - this.uid = UUID.randomUUID(); - this.id = idd--; - location = init; - current = init.clone(); - this.player = player; - factor = Math.PI; - active = false; - velocity = new Vector(); - this.c = c; - } - - public int getId() - { - return id; - } - - public void sendMetadata(boolean glowing) - { - PacketGate.mark(PacketCategory.EFFECT); - NMP.host.sendEntityMetadata(player, id, NMP.host.getMetaEntityProperties(false, false, false, false, false, glowing, false)); - } - - public void sendMetadata(ChatColor c) - { - PacketGate.mark(PacketCategory.EFFECT); - //NMP.host.sendGlowingColorMetaEntity(getPlayer(), uid, C.values()[c.ordinal()]); - } - - public void update() - { - if(M.ms() - mv < 50) - { - return; - } - - if(location.getX() == current.getX() && location.getY() == current.getY() && location.getZ() == current.getZ()) - { - return; - } - - mv = M.ms(); - - if(location.distanceSquared(current) > 16) - { - if(PacketGate.can(PacketCategory.EFFECT)) - { - sendTeleport(location); - current = location; - } - } - - else - { - if(PacketGate.can(PacketCategory.EFFECT)) - { - double dx = location.getX() - current.getX(); - double dy = location.getY() - current.getY(); - double dz = location.getZ() - current.getZ(); - dx += velocity.getX(); - dy += velocity.getY(); - dz += velocity.getZ(); - dx = M.clip(dx, -8, 8); - dy = M.clip(dy, -8, 8); - dz = M.clip(dz, -8, 8); - sendMove(dx / factor, dy / factor, dz / factor); - current.add(dx / factor, dy / factor, dz / factor); - current.setX(Math.abs(location.getX() - current.getX()) < 0.00001 ? location.getX() : current.getX()); - current.setY(Math.abs(location.getY() - current.getY()) < 0.00001 ? location.getY() : current.getY()); - current.setZ(Math.abs(location.getZ() - current.getZ()) < 0.00001 ? location.getZ() : current.getZ()); - - if(location.getX() == current.getX() && location.getY() == current.getY() && location.getZ() == current.getZ()) - { - if(PacketGate.can(PacketCategory.EFFECT)) - { - sendTeleport(location); - current = location; - } - } - } - } - } - - public Location getPosition() - { - return location.clone(); - } - - public void setPosition(Location l) - { - location = l; - } - - public Player getPlayer() - { - return player; - } - - public void destroy() - { - sendDestroy(); - } - - public void create() - { - sendSpawn(); - } - - public boolean isActive() - { - return active; - } - - public void setFactor(int i) - { - factor = i; - } - - private void sendTeleport(Location l) - { - NMP.host.teleportEntity(id, player, l, false); - } - - private void sendMove(double x, double y, double z) - { - NMP.host.moveEntityRelative(id, player, x, y, z, false); - } - - public void sendDestroy() - { - active = false; - NMP.host.removeEntity(id, player); - NMP.host.sendRemoveGlowingColorMetaEntity(getPlayer(), uid); - sendMetadata(false); - PacketGate.mark(PacketCategory.EFFECT); - PacketGate.mark(PacketCategory.EFFECT); - } - - public void sendSpawn() - { - NMP.host.spawnFallingBlock(id, uid, location, player, mb); - sendMetadata(c); - sendMetadata(true); - active = true; - PacketGate.mark(PacketCategory.EFFECT); - PacketGate.mark(PacketCategory.EFFECT); - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/HotswapGenerator.java b/src/main/java/ninja/bytecode/iris/util/HotswapGenerator.java deleted file mode 100644 index 85abc67b8..000000000 --- a/src/main/java/ninja/bytecode/iris/util/HotswapGenerator.java +++ /dev/null @@ -1,74 +0,0 @@ -package ninja.bytecode.iris.util; - -import java.util.List; -import java.util.Random; - -import org.bukkit.Location; -import org.bukkit.World; -import org.bukkit.generator.BlockPopulator; -import org.bukkit.generator.ChunkGenerator; - -import ninja.bytecode.iris.generator.IrisGenerator; - -@SuppressWarnings("deprecation") -public class HotswapGenerator extends ChunkGenerator -{ - private IrisGenerator gen; - - public HotswapGenerator(IrisGenerator gen) - { - setGenerator(gen); - } - - public void setGenerator(IrisGenerator gen) - { - this.gen = gen; - } - - public IrisGenerator getGenerator() - { - return gen; - } - - @Override - public byte[] generate(World world, Random random, int x, int z) - { - return gen.generate(world, random, x, z); - } - - @Override - public short[][] generateExtBlockSections(World world, Random random, int x, int z, BiomeGrid biomes) - { - return gen.generateExtBlockSections(world, random, x, z, biomes); - } - - @Override - public byte[][] generateBlockSections(World world, Random random, int x, int z, BiomeGrid biomes) - { - return gen.generateBlockSections(world, random, x, z, biomes); - } - - @Override - public ChunkData generateChunkData(World world, Random random, int x, int z, BiomeGrid biome) - { - return gen.generateChunkData(world, random, x, z, biome); - } - - @Override - public boolean canSpawn(World world, int x, int z) - { - return gen.canSpawn(world, x, z); - } - - @Override - public List getDefaultPopulators(World world) - { - return gen.getDefaultPopulators(world); - } - - @Override - public Location getFixedSpawnLocation(World world, Random random) - { - return gen.getFixedSpawnLocation(world, random); - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/IGenLayer.java b/src/main/java/ninja/bytecode/iris/util/IGenLayer.java deleted file mode 100644 index 7ef327491..000000000 --- a/src/main/java/ninja/bytecode/iris/util/IGenLayer.java +++ /dev/null @@ -1,6 +0,0 @@ -package ninja.bytecode.iris.util; - -public interface IGenLayer -{ - public double generateLayer(double noise, double dx, double dz); -} diff --git a/src/main/java/ninja/bytecode/iris/util/ING.java b/src/main/java/ninja/bytecode/iris/util/ING.java new file mode 100644 index 000000000..e658a76d4 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/ING.java @@ -0,0 +1,38 @@ +package ninja.bytecode.iris.util; + +public class ING +{ + private SNG base; + private SNG[] children; + + public ING(RNG rng, int detail) + { + assert (detail >= 1); + this.children = new SNG[detail]; + + for(int i = 0; i < detail; i++) + { + children[i] = new SNG(rng.nextParallelRNG((i * 368989) % 13345)); + } + base = new SNG(rng.nextParallelRNG(13)); + } + + public double noise(double x, double z) + { + double cx = x; + double cz = z; + int i; + double j; + double k; + + for(i = 0; i < children.length; i++) + { + j = (i + 1) * 2; + k = (i + 1) * 1; + cx = cx + (children[i].noise((cx / j) + i, (cz / j) - i) * k); + cz = cz - (children[i].noise((cz / j) - i, (cx / j) + i) * k); + } + + return (base.noise(cx, cz) / 2D) + 0.5D; + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/IPlacer.java b/src/main/java/ninja/bytecode/iris/util/IPlacer.java deleted file mode 100644 index 81849c291..000000000 --- a/src/main/java/ninja/bytecode/iris/util/IPlacer.java +++ /dev/null @@ -1,19 +0,0 @@ -package ninja.bytecode.iris.util; - -import org.bukkit.Location; -import org.bukkit.World; - -public interface IPlacer -{ - public World getWorld(); - - public MB get(Location l); - - public void set(Location l, MB mb); - - public int getHighestY(Location l); - - public int getHighestYUnderwater(Location l); - - public void flush(); -} diff --git a/src/main/java/ninja/bytecode/iris/util/InterpolationMode.java b/src/main/java/ninja/bytecode/iris/util/InterpolationMode.java deleted file mode 100644 index d9204fd08..000000000 --- a/src/main/java/ninja/bytecode/iris/util/InterpolationMode.java +++ /dev/null @@ -1,9 +0,0 @@ -package ninja.bytecode.iris.util; - -public enum InterpolationMode -{ - NONE, - BILINEAR, - BICUBIC, - HERMITE_BICUBIC -} diff --git a/src/main/java/ninja/bytecode/iris/util/InterpolationType.java b/src/main/java/ninja/bytecode/iris/util/InterpolationType.java deleted file mode 100644 index 2b88c0a38..000000000 --- a/src/main/java/ninja/bytecode/iris/util/InterpolationType.java +++ /dev/null @@ -1,10 +0,0 @@ -package ninja.bytecode.iris.util; - -public enum InterpolationType -{ - LINEAR, - PARAMETRIC_2, - PARAMETRIC_4, - BEZIER, - NONE; -} diff --git a/src/main/java/ninja/bytecode/iris/util/IrisController.java b/src/main/java/ninja/bytecode/iris/util/IrisController.java deleted file mode 100644 index 9d3450a29..000000000 --- a/src/main/java/ninja/bytecode/iris/util/IrisController.java +++ /dev/null @@ -1,10 +0,0 @@ -package ninja.bytecode.iris.util; - -import org.bukkit.event.Listener; - -public interface IrisController extends Listener -{ - public void onStart(); - - public void onStop(); -} diff --git a/src/main/java/ninja/bytecode/iris/util/IrisControllerSet.java b/src/main/java/ninja/bytecode/iris/util/IrisControllerSet.java deleted file mode 100644 index 8fe9b1830..000000000 --- a/src/main/java/ninja/bytecode/iris/util/IrisControllerSet.java +++ /dev/null @@ -1,73 +0,0 @@ -package ninja.bytecode.iris.util; - -import java.io.File; -import java.io.IOException; - -import org.bukkit.Bukkit; -import org.bukkit.event.HandlerList; - -import ninja.bytecode.iris.Iris; -import ninja.bytecode.shuriken.collections.KMap; -import ninja.bytecode.shuriken.logging.L; -import ninja.bytecode.shuriken.tools.JarScanner; - -public class IrisControllerSet -{ - private KMap, IrisController> controllers; - - public IrisControllerSet() - { - controllers = new KMap<>(); - } - - public void startControllers(File jar) throws IOException - { - JarScanner ja = new JarScanner(jar, "ninja.bytecode.iris.controller"); - ja.scan(); - for(Class i : ja.getClasses()) - { - try - { - IrisController c = (IrisController) i.getConstructor().newInstance(); - Bukkit.getPluginManager().registerEvents(c, Iris.instance); - c.onStart(); - controllers.put(i, c); - } - - catch(Throwable e) - { - L.ex(e); - } - } - } - - public void stopControllers() - { - for(Class i : controllers.k()) - { - try - { - IrisController c = controllers.get(i); - HandlerList.unregisterAll(); - c.onStop(); - } - - catch(Throwable e) - { - L.ex(e); - } - } - - controllers.clear(); - } - - public IrisController get(Class c) - { - return controllers.get(c); - } - - public int size() - { - return controllers.size(); - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/IrisInterpolation.java b/src/main/java/ninja/bytecode/iris/util/IrisInterpolation.java deleted file mode 100644 index cd7bf2888..000000000 --- a/src/main/java/ninja/bytecode/iris/util/IrisInterpolation.java +++ /dev/null @@ -1,221 +0,0 @@ -package ninja.bytecode.iris.util; - -import ninja.bytecode.shuriken.math.M; - -public class IrisInterpolation -{ - public static double bezier(double t) - { - return t * t * (3.0d - 2.0d * t); - } - - public static double parametric(double t, double alpha) - { - double sqt = Math.pow(t, alpha); - return sqt / (alpha * (sqt - Math.pow(t, alpha - 1)) + 1.0d); - } - - public static double lerp(double a, double b, double f) - { - return a + (f * (b - a)); - } - - public static double lerpBezier(double a, double b, double f) - { - return a + (bezier(f) * (b - a)); - } - - public static double sinCenter(double f) - { - return Math.sin(f * Math.PI); - } - - public static double lerpCenterSinBezier(double a, double b, double f) - { - return lerpBezier(a, b, sinCenter(f)); - } - - public static double lerpCenterSin(double a, double b, double f) - { - return lerpBezier(a, b, sinCenter(f)); - } - - public static double lerpParametric(double a, double b, double f, double v) - { - return a + (parametric(f, v) * (b - a)); - } - - public static double blerp(double a, double b, double c, double d, double tx, double ty) - { - return lerp(lerp(a, b, tx), lerp(c, d, tx), ty); - } - - public static double blerp(double a, double b, double c, double d, double tx, double ty, InterpolationType type) - { - if(type.equals(InterpolationType.LINEAR)) - { - return blerp(a, b, c, d, tx, ty); - } - - if(type.equals(InterpolationType.BEZIER)) - { - return blerpBezier(a, b, c, d, tx, ty); - } - - if(type.equals(InterpolationType.PARAMETRIC_2)) - { - return blerpParametric(a, b, c, d, tx, ty, 2); - } - - if(type.equals(InterpolationType.PARAMETRIC_4)) - { - return blerpParametric(a, b, c, d, tx, ty, 4); - } - - return 0; - } - - public static double blerpBezier(double a, double b, double c, double d, double tx, double ty) - { - return lerpBezier(lerpBezier(a, b, tx), lerpBezier(c, d, tx), ty); - } - - public static double blerpParametric(double a, double b, double c, double d, double tx, double ty, double v) - { - return lerpParametric(lerpParametric(a, b, tx, v), lerpParametric(c, d, tx, v), ty, v); - } - - public static double hermite(double p0, double p1, double p2, double p3, double mu, double tension, double bias) - { - double m0, m1, mu2, mu3; - double a0, a1, a2, a3; - - mu2 = mu * mu; - mu3 = mu2 * mu; - m0 = (p1 - p0) * (1 + bias) * (1 - tension) / 2; - m0 += (p2 - p1) * (1 - bias) * (1 - tension) / 2; - m1 = (p2 - p1) * (1 + bias) * (1 - tension) / 2; - m1 += (p3 - p2) * (1 - bias) * (1 - tension) / 2; - a0 = 2 * mu3 - 3 * mu2 + 1; - a1 = mu3 - 2 * mu2 + mu; - a2 = mu3 - mu2; - a3 = -2 * mu3 + 3 * mu2; - - return (a0 * p1 + a1 * m0 + a2 * m1 + a3 * p2); - } - - public static double bihermite(double p00, double p01, double p02, double p03, double p10, double p11, double p12, double p13, double p20, double p21, double p22, double p23, double p30, double p31, double p32, double p33, double mux, double muy, double tension, double bias) - { - return hermite(hermite(p00, p01, p02, p03, muy, tension, bias), hermite(p10, p11, p12, p13, muy, tension, bias), hermite(p20, p21, p22, p23, muy, tension, bias), hermite(p30, p31, p32, p33, muy, tension, bias), mux, tension, bias); - } - - public static double cubic(double p0, double p1, double p2, double p3, double mu) - { - double a0, a1, a2, a3, mu2; - - mu2 = mu * mu; - a0 = p3 - p2 - p0 + p1; - a1 = p0 - p1 - a0; - a2 = p2 - p0; - a3 = p1; - - return a0 * mu * mu2 + a1 * mu2 + a2 * mu + a3; - } - - public static double bicubic(double p00, double p01, double p02, double p03, double p10, double p11, double p12, double p13, double p20, double p21, double p22, double p23, double p30, double p31, double p32, double p33, double mux, double muy) - { - return cubic(cubic(p00, p01, p02, p03, muy), cubic(p10, p11, p12, p13, muy), cubic(p20, p21, p22, p23, muy), cubic(p30, p31, p32, p33, muy), mux); - } - - public static double getBilinearNoise(int x, int z, double rad, NoiseProvider n) - { - int fx = (int) Math.floor(x / rad); - int fz = (int) Math.floor(z / rad); - int x1 = (int) Math.round(fx * rad); - int z1 = (int) Math.round(fz * rad); - int x2 = (int) Math.round((fx + 1) * rad); - int z2 = (int) Math.round((fz + 1) * rad); - double px = M.rangeScale(0, 1, x1, x2, x); - double pz = M.rangeScale(0, 1, z1, z2, z); - //@builder - return blerpBezier( - n.noise(x1, z1), - n.noise(x2, z1), - n.noise(x1, z2), - n.noise(x2, z2), - px, pz); - //@done - } - - public static double getBicubicNoise(int x, int z, double rad, NoiseProvider n) - { - int fx = (int) Math.floor(x / rad); - int fz = (int) Math.floor(z / rad); - int x0 = (int) Math.round((fx - 1) * rad); - int z0 = (int) Math.round((fz - 1) * rad); - int x1 = (int) Math.round(fx * rad); - int z1 = (int) Math.round(fz * rad); - int x2 = (int) Math.round((fx + 1) * rad); - int z2 = (int) Math.round((fz + 1) * rad); - int x3 = (int) Math.round((fx + 2) * rad); - int z3 = (int) Math.round((fz + 2) * rad); - double px = M.rangeScale(0, 1, x1, x2, x); - double pz = M.rangeScale(0, 1, z1, z2, z); - //@builder - return bicubic( - n.noise(x0, z0), - n.noise(x0, z1), - n.noise(x0, z2), - n.noise(x0, z3), - n.noise(x1, z0), - n.noise(x1, z1), - n.noise(x1, z2), - n.noise(x1, z3), - n.noise(x2, z0), - n.noise(x2, z1), - n.noise(x2, z2), - n.noise(x2, z3), - n.noise(x3, z0), - n.noise(x3, z1), - n.noise(x3, z2), - n.noise(x3, z3), - px, pz); - //@done - } - - public static double getHermiteNoise(int x, int z, double rad, NoiseProvider n) - { - int fx = (int) Math.floor(x / rad); - int fz = (int) Math.floor(z / rad); - int x0 = (int) Math.round((fx - 1) * rad); - int z0 = (int) Math.round((fz - 1) * rad); - int x1 = (int) Math.round(fx * rad); - int z1 = (int) Math.round(fz * rad); - int x2 = (int) Math.round((fx + 1) * rad); - int z2 = (int) Math.round((fz + 1) * rad); - int x3 = (int) Math.round((fx + 2) * rad); - int z3 = (int) Math.round((fz + 2) * rad); - double px = M.rangeScale(0, 1, x1, x2, x); - double pz = M.rangeScale(0, 1, z1, z2, z); - //@builder - return bihermite( - n.noise(x0, z0), - n.noise(x0, z1), - n.noise(x0, z2), - n.noise(x0, z3), - n.noise(x1, z0), - n.noise(x1, z1), - n.noise(x1, z2), - n.noise(x1, z3), - n.noise(x2, z0), - n.noise(x2, z1), - n.noise(x2, z2), - n.noise(x2, z3), - n.noise(x3, z0), - n.noise(x3, z1), - n.noise(x3, z2), - n.noise(x3, z3), - px, pz, 0.00001, 0.5); - //@done - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/IrisMetrics.java b/src/main/java/ninja/bytecode/iris/util/IrisMetrics.java deleted file mode 100644 index dabc80a57..000000000 --- a/src/main/java/ninja/bytecode/iris/util/IrisMetrics.java +++ /dev/null @@ -1,233 +0,0 @@ -package ninja.bytecode.iris.util; - -import java.util.function.Consumer; - -import org.bukkit.command.CommandSender; - -import mortar.compute.math.M; -import mortar.util.text.C; -import ninja.bytecode.iris.Iris; -import ninja.bytecode.shuriken.bench.PrecisionStopwatch; -import ninja.bytecode.shuriken.collections.KList; -import ninja.bytecode.shuriken.collections.KMap; -import ninja.bytecode.shuriken.format.Form; -import ninja.bytecode.shuriken.math.RollingSequence; - -public class IrisMetrics -{ - private int size; - private int generators; - private double scale; - private KMap sequences; - - public IrisMetrics(int generators, int size) - { - scale = 1; - this.size = size; - this.generators = generators; - sequences = new KMap<>(); - } - - public String avgMS(String s, int dec) - { - return Form.duration(get(s).getAverage(), dec); - } - - public String avg(String s, int dec) - { - return Form.f(get(s).getAverage(), dec); - } - - public String maxMS(String s, int dec) - { - return Form.duration(get(s).getMax(), dec); - } - - public String max(String s, int dec) - { - return Form.f(get(s).getMax(), dec); - } - - public String minMS(String s, int dec) - { - return Form.duration(get(s).getMin(), dec); - } - - public String min(String s, int dec) - { - return Form.f(get(s).getMin(), dec); - } - - public String medianMS(String s, int dec) - { - return Form.duration(get(s).getMedian(), dec); - } - - public String median(String s, int dec) - { - return Form.f(get(s).getMedian(), dec); - } - - public RollingSequence get(String s) - { - if(!sequences.containsKey(s)) - { - return new RollingSequence(2); - } - - return sequences.get(s); - } - - public PrecisionStopwatch start() - { - return PrecisionStopwatch.start(); - } - - public void stop(String f, PrecisionStopwatch g) - { - put(f, g.getMilliseconds()); - } - - public void put(String f, double t) - { - if(!sequences.containsKey(f)) - { - sequences.put(f, new RollingSequence(size)); - } - - sequences.get(f).put(t); - } - - public int getGenerators() - { - return generators; - } - - public void setGenerators(int generators) - { - this.generators = generators; - } - - public KMap getSequences() - { - return sequences; - } - - public void setSequences(KMap sequences) - { - this.sequences = sequences; - } - - public void send(CommandSender p, Consumer c) - { - send(p, c, null, 0); - } - - public void setParScale(double sf) - { - scale = sf; - } - - public void send(CommandSender p, Consumer c, String parent, int ind) - { - KMap out = new KMap<>(); - - looking: for(String i : getSequences().k()) - { - KList o = new KList<>(); - - if(i.contains(":")) - { - o.add(i.split("\\Q:\\E")); - } - - else - { - o.add(i); - } - - String pf = o.get(0); - o.remove(0); - getSequences().get(i).resetExtremes(); - double vmin = Math.abs(getSequences().get(i).getMin()); - double vmed = Math.abs(getSequences().get(i).getMedian()); - double vavg = Math.abs(getSequences().get(i).getAverage()); - double vmax = Math.abs(getSequences().get(i).getMax()); - - for(String k : o) - { - if(k.startsWith("x")) - { - Double mult = Double.valueOf(k.substring(1)); - vmin *= mult / (scale * 2D); - vmed *= mult / (scale * 2D); - vavg *= mult / (scale * 2D); - vmax *= mult / (scale * 2D); - } - } - - boolean ms = false; - boolean comma = false; - String myparent = null; - int dot = 0; - for(String k : o) - { - if(k.startsWith("/")) - { - myparent = k.substring(1); - } - - if(k.startsWith(".") && k.endsWith(".")) - { - dot = k.length(); - } - - else if(k.equals(",")) - { - comma = true; - } - - if(k.equals("ms")) - { - ms = true; - } - } - - if((parent != null) != (myparent != null)) - { - continue looking; - } - - if(parent != null && !myparent.equals(parent)) - { - continue looking; - } - - if(dot == 0 && vavg >= 1000 && !comma) - { - comma = true; - } - - String af = ms ? Form.duration(vmin, dot) : comma ? Form.f((int) vmin) : Form.f(vmin, dot); - String bf = ms ? Form.duration(vmed, dot) : comma ? Form.f((int) vmed) : Form.f(vmed, dot); - String cf = ms ? Form.duration(vavg, dot) : comma ? Form.f((int) vavg) : Form.f(vavg, dot); - String df = ms ? Form.duration(vmax, dot) : comma ? Form.f((int) vmax) : Form.f(vmax, dot); - - out.put(pf, C.DARK_GREEN.toString() + C.ITALIC + cf + C.RESET + C.GRAY + " (" + C.DARK_AQUA + C.ITALIC + af + C.RESET + C.GRAY + " > " + C.GOLD + C.ITALIC + bf + C.RESET + C.GRAY + " < " + C.DARK_RED + C.ITALIC + df + C.RESET + C.GRAY + ")"); - } - - if(ind == 0) - { - c.accept(C.WHITE.toString() + C.BOLD + "Total Generators: " + C.RESET + C.DARK_AQUA + C.ITALIC + Form.f(generators)); - c.accept(C.WHITE.toString() + C.BOLD + "Parallelism: " + C.RESET + C.DARK_PURPLE + C.ITALIC + Form.pc(scale) + C.WHITE + C.BOLD + " Threads: " + C.RESET + C.BLUE + C.ITALIC + Iris.exec().getTC()); - } - - for(String i : out.k()) - { - String g = Form.capitalizeWords(i.replaceAll("\\Q-\\E", " ").toLowerCase()); - c.accept(Form.repeat(" ", M.iclip(ind, 0, 4)) + C.WHITE + C.BOLD + g + C.RESET + ": " + out.get(i)); - - send(p, c, i, ind + 1); - } - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/IrisWorldData.java b/src/main/java/ninja/bytecode/iris/util/IrisWorldData.java deleted file mode 100644 index 45808e756..000000000 --- a/src/main/java/ninja/bytecode/iris/util/IrisWorldData.java +++ /dev/null @@ -1,274 +0,0 @@ -package ninja.bytecode.iris.util; - -import java.io.IOException; - -import org.bukkit.Bukkit; -import org.bukkit.World; - -import mortar.util.text.C; -import ninja.bytecode.iris.Iris; -import ninja.bytecode.iris.generator.atomics.AtomicChunkData; -import ninja.bytecode.iris.generator.atomics.AtomicRegionData; -import ninja.bytecode.iris.generator.atomics.AtomicWorldData; -import ninja.bytecode.shuriken.collections.KList; -import ninja.bytecode.shuriken.collections.KMap; -import ninja.bytecode.shuriken.logging.L; - -public class IrisWorldData -{ - private final World world; - private final AtomicWorldData data; - private boolean saving; - private final KMap loadedChunks; - - public IrisWorldData(World world) - { - this.world = world; - saving = true; - data = new AtomicWorldData(world); - loadedChunks = new KMap<>(); - Bukkit.getScheduler().scheduleSyncRepeatingTask(Iris.instance, this::softUnloadWorld, 200, 20); - } - - public void disableSaving() - { - saving = false; - } - - public void enableSaving() - { - saving = true; - } - - private void softUnloadWorld() - { - if(!saving) - { - return; - } - - for(SMCAVector i : getLoadedChunks()) - { - try - { - AtomicChunkData d = getChunk(i.getX(), i.getZ()); - if(d.getTimeSinceLastUse() > 15000) - { - unloadChunk(i.getX(), i.getZ(), true); - } - } - - catch(Throwable e) - { - e.printStackTrace(); - } - } - - for(SMCAVector i : getLoadedRegions()) - { - softUnloadRegion(i.getX(), i.getZ()); - } - } - - private boolean softUnloadRegion(int rx, int rz) - { - if(!saving) - { - return false; - } - - for(SMCAVector i : loadedChunks.keySet()) - { - if(i.getX() >> 5 == rx && i.getZ() >> 5 == rz) - { - return false; - } - } - - try - { - data.unloadSection(rx, rz, true); - return true; - } - - catch(IOException e) - { - e.printStackTrace(); - L.f(C.RED + "Failed to save Iris Subregion " + C.YELLOW + rx + " " + rz); - } - - return false; - } - - public boolean deleteChunk(int x, int z) - { - if(isChunkLoaded(x, z)) - { - unloadChunk(x, z, false); - } - - try - { - AtomicRegionData region = data.getSubregion(x >> 5, z >> 5); - region.delete(x & 31, z & 31); - return true; - } - - catch(IOException e) - { - L.f(C.RED + "Failed delete chunk " + C.YELLOW + x + " " + z + C.RED.toString() + " -> Failed to get Region " + C.YELLOW + (x >> 5) + " " + (z >> 5)); - e.printStackTrace(); - } - - return false; - } - - public boolean unloadChunk(int x, int z, boolean save) - { - if(!isChunkLoaded(x, z)) - { - return false; - } - - if(save) - { - saveChunk(x, z); - } - - loadedChunks.remove(new SMCAVector(x, z)); - return true; - } - - public boolean saveChunk(int x, int z) - { - if(!isChunkLoaded(x, z)) - { - return false; - } - - try - { - AtomicRegionData region = data.getSubregion(x >> 5, z >> 5); - region.set(x & 31, z & 31, getChunk(x, z)); - return true; - } - - catch(IOException e) - { - L.f(C.RED + "Failed save chunk " + C.YELLOW + x + " " + z + C.RED.toString() + " -> Failed to get Region " + C.YELLOW + (x >> 5) + " " + (z >> 5)); - e.printStackTrace(); - } - - return false; - } - - public AtomicChunkData getOnly(int x, int z) - { - if(!isChunkLoaded(x, z)) - { - return null; - } - - return getChunk(x, z); - } - - public AtomicChunkData getChunk(int x, int z) - { - if(!isChunkLoaded(x, z)) - { - try - { - AtomicRegionData region = data.getSubregion(x >> 5, z >> 5); - - if(region.contains(x & 31, z & 31)) - { - AtomicChunkData chunk = region.get(x & 31, z & 31); - loadedChunks.put(new SMCAVector(x, z), chunk); - } - - else - { - AtomicChunkData data = new AtomicChunkData(world); - loadedChunks.put(new SMCAVector(x, z), data); - } - } - - catch(IOException e) - { - L.f(C.RED + "Failed load chunk " + C.YELLOW + x + " " + z + C.RED.toString() + " -> Failed to get Region " + C.YELLOW + (x >> 5) + " " + (z >> 5)); - e.printStackTrace(); - } - } - - return loadedChunks.get(new SMCAVector(x, z)); - } - - public boolean isChunkLoaded(int x, int z) - { - return loadedChunks.containsKey(new SMCAVector(x, z)); - } - - public void inject(int x, int z, AtomicChunkData data) - { - getChunk(x, z).inject(data); - } - - public boolean exists(int x, int z) - { - try - { - return isChunkLoaded(x, z) || data.getSubregion(x >> 5, z >> 5).contains(x & 31, z & 31); - } - - catch(IOException e) - { - L.f(C.RED + "Failed check chunk " + C.YELLOW + x + " " + z + C.RED.toString() + " -> Failed to get Region " + C.YELLOW + (x >> 5) + " " + (z >> 5)); - e.printStackTrace(); - } - - return false; - } - - public KList getLoadedChunks() - { - return loadedChunks.k(); - } - - public KList getLoadedRegions() - { - return data.getLoadedRegions(); - } - - public void saveAll() - { - for(SMCAVector i : loadedChunks.k()) - { - saveChunk(i.getX(), i.getZ()); - } - - try - { - data.saveAll(); - } - - catch(IOException e) - { - e.printStackTrace(); - } - } - - public void setBlock(int x, int y, int z, int id, byte data) - { - getChunk(x >> 4, z >> 4).setBlock(x & 15, y, z & 15, id, data); - } - - public void dispose() - { - for(SMCAVector i : getLoadedChunks()) - { - unloadChunk(i.getX(), i.getZ(), true); - } - - softUnloadWorld(); - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/MB.java b/src/main/java/ninja/bytecode/iris/util/MB.java deleted file mode 100644 index a5e4254d2..000000000 --- a/src/main/java/ninja/bytecode/iris/util/MB.java +++ /dev/null @@ -1,102 +0,0 @@ -package ninja.bytecode.iris.util; - -import org.bukkit.Material; - -public class MB -{ - public final Material material; - public final byte data; - - @SuppressWarnings("deprecation") - public static MB of(String dat) - { - String material = dat; - byte data = 0; - - if(dat.contains(":")) - { - material = dat.split("\\Q:\\E")[0]; - data = Integer.valueOf(dat.split("\\Q:\\E")[1]).byteValue(); - } - - try - { - return new MB(Material.getMaterial(Integer.valueOf(material)), data); - } - - catch(Throwable e) - { - - } - - try - { - return new MB(Material.getMaterial(material), data); - } - - catch(Throwable e) - { - - } - - return MB.of(Material.AIR); - } - - public String toString() - { - if(data == 0) - { - return material.name(); - } - - return material.name() + ":" + data; - } - - public MB(Material material, int data) - { - this.material = material; - this.data = (byte) data; - } - - public MB(Material material) - { - this(material, 0); - } - - public static MB of(Material f) - { - return new MB(f); - } - - public static MB of(Material f, int a) - { - return new MB(f, a); - } - - @Override - public int hashCode() - { - final int prime = 31; - int result = 1; - result = prime * result + data; - result = prime * result + ((material == null) ? 0 : material.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) - { - if(this == obj) - return true; - if(obj == null) - return false; - if(getClass() != obj.getClass()) - return false; - MB other = (MB) obj; - if(data != other.data) - return false; - if(material != other.material) - return false; - return true; - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/MCAPos.java b/src/main/java/ninja/bytecode/iris/util/MCAPos.java deleted file mode 100644 index 60a1d18d9..000000000 --- a/src/main/java/ninja/bytecode/iris/util/MCAPos.java +++ /dev/null @@ -1,102 +0,0 @@ -package ninja.bytecode.iris.util; - -public class MCAPos -{ - private int x; - private int z; - - public static MCAPos fromChunk(int x, int z) - { - return new MCAPos(x >> 5, z >> 5); - } - - public MCAPos(String name) - { - fromFileName(name); - } - - public MCAPos(int x, int z) - { - this.x = x; - this.z = z; - } - - public void fromFileName(String n) - { - String[] f = n.split("\\Q.\\E"); - x = Integer.valueOf(f[0]); - z = Integer.valueOf(f[1]); - } - - public String toFileName() - { - return x + "." + z + ".imc"; - } - - public int getX() - { - return x; - } - - public void setX(int x) - { - this.x = x; - } - - public int getZ() - { - return z; - } - - public void setZ(int z) - { - this.z = z; - } - - public int getMinChunkX() - { - return x << 5; - } - - public int getMinChunkZ() - { - return z << 5; - } - - public int getMaxChunkX() - { - return getMinChunkX() + 32; - } - - public int getMaxChunkZ() - { - return getMinChunkZ() + 32; - } - - @Override - public int hashCode() - { - final int prime = 31; - int result = 1; - result = prime * result + x; - result = prime * result + z; - return result; - } - - @Override - public boolean equals(Object obj) - { - if(this == obj) - return true; - if(obj == null) - return false; - if(getClass() != obj.getClass()) - return false; - MCAPos other = (MCAPos) obj; - if(x != other.x) - return false; - if(z != other.z) - return false; - return true; - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/MCAState.java b/src/main/java/ninja/bytecode/iris/util/MCAState.java deleted file mode 100644 index d089bf987..000000000 --- a/src/main/java/ninja/bytecode/iris/util/MCAState.java +++ /dev/null @@ -1,80 +0,0 @@ -package ninja.bytecode.iris.util; - -import java.io.DataInputStream; -import java.io.DataOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - -import ninja.bytecode.shuriken.math.M; - -public class MCAState -{ - private boolean[] decorated; - private boolean dirty; - private long lastUsed; - - public MCAState() - { - lastUsed = M.ms(); - this.decorated = new boolean[1024]; - } - - public boolean isInUse() - { - return M.ms() - lastUsed < 30000; - } - - public void setDirty() - { - lastUsed = M.ms(); - this.dirty = true; - } - - public void saved() - { - lastUsed = M.ms(); - this.dirty = false; - } - - public boolean isDirty() - { - return dirty; - } - - public boolean isDecorated(int rcx, int rcz) - { - lastUsed = M.ms(); - return decorated[rcx + (32 * rcz)]; - } - - public void setDecorated(int rcx, int rcz, boolean decorated) - { - lastUsed = M.ms(); - this.decorated[rcx + (32 * rcz)] = decorated; - } - - public void read(InputStream in) throws IOException - { - DataInputStream din = new DataInputStream(in); - - for(int i = 0; i < 1024; i++) - { - decorated[i] = din.readBoolean(); - } - - din.close(); - } - - public void write(OutputStream out) throws IOException - { - DataOutputStream dos = new DataOutputStream(out); - - for(int i = 0; i < 1024; i++) - { - dos.writeBoolean(decorated[i]); - } - - dos.close(); - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/NoiseGenerator.java b/src/main/java/ninja/bytecode/iris/util/NoiseGenerator.java new file mode 100644 index 000000000..9ec5b32d0 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/NoiseGenerator.java @@ -0,0 +1,231 @@ +package ninja.bytecode.iris.util; + +/** + * Base class for all noise generators + */ +public abstract class NoiseGenerator +{ + protected final int perm[] = new int[512]; + protected double offsetX; + protected double offsetY; + protected double offsetZ; + + /** + * Speedy floor, faster than (int)Math.floor(x) + * + * @param x + * Value to floor + * @return Floored value + */ + public static int floor(double x) + { + return x >= 0 ? (int) x : (int) x - 1; + } + + protected static double fade(double x) + { + return x * x * x * (x * (x * 6 - 15) + 10); + } + + protected static double lerp(double x, double y, double z) + { + return y + x * (z - y); + } + + protected static double grad(int hash, double x, double y, double z) + { + hash &= 15; + double u = hash < 8 ? x : y; + double v = hash < 4 ? y : hash == 12 || hash == 14 ? x : z; + return ((hash & 1) == 0 ? u : -u) + ((hash & 2) == 0 ? v : -v); + } + + /** + * Computes and returns the 1D noise for the given coordinate in 1D space + * + * @param x + * X coordinate + * @return Noise at given location, from range -1 to 1 + */ + public double noise(double x) + { + return noise(x, 0, 0); + } + + /** + * Computes and returns the 2D noise for the given coordinates in 2D space + * + * @param x + * X coordinate + * @param y + * Y coordinate + * @return Noise at given location, from range -1 to 1 + */ + public double noise(double x, double y) + { + return noise(x, y, 0); + } + + /** + * Computes and returns the 3D noise for the given coordinates in 3D space + * + * @param x + * X coordinate + * @param y + * Y coordinate + * @param z + * Z coordinate + * @return Noise at given location, from range -1 to 1 + */ + public abstract double noise(double x, double y, double z); + + /** + * Generates noise for the 1D coordinates using the specified number of octaves + * and parameters + * + * @param x + * X-coordinate + * @param octaves + * Number of octaves to use + * @param frequency + * How much to alter the frequency by each octave + * @param amplitude + * How much to alter the amplitude by each octave + * @return Resulting noise + */ + public double noise(double x, int octaves, double frequency, double amplitude) + { + return noise(x, 0, 0, octaves, frequency, amplitude); + } + + /** + * Generates noise for the 1D coordinates using the specified number of octaves + * and parameters + * + * @param x + * X-coordinate + * @param octaves + * Number of octaves to use + * @param frequency + * How much to alter the frequency by each octave + * @param amplitude + * How much to alter the amplitude by each octave + * @param normalized + * If true, normalize the value to [-1, 1] + * @return Resulting noise + */ + public double noise(double x, int octaves, double frequency, double amplitude, boolean normalized) + { + return noise(x, 0, 0, octaves, frequency, amplitude, normalized); + } + + /** + * Generates noise for the 2D coordinates using the specified number of octaves + * and parameters + * + * @param x + * X-coordinate + * @param y + * Y-coordinate + * @param octaves + * Number of octaves to use + * @param frequency + * How much to alter the frequency by each octave + * @param amplitude + * How much to alter the amplitude by each octave + * @return Resulting noise + */ + public double noise(double x, double y, int octaves, double frequency, double amplitude) + { + return noise(x, y, 0, octaves, frequency, amplitude); + } + + /** + * Generates noise for the 2D coordinates using the specified number of octaves + * and parameters + * + * @param x + * X-coordinate + * @param y + * Y-coordinate + * @param octaves + * Number of octaves to use + * @param frequency + * How much to alter the frequency by each octave + * @param amplitude + * How much to alter the amplitude by each octave + * @param normalized + * If true, normalize the value to [-1, 1] + * @return Resulting noise + */ + public double noise(double x, double y, int octaves, double frequency, double amplitude, boolean normalized) + { + return noise(x, y, 0, octaves, frequency, amplitude, normalized); + } + + /** + * Generates noise for the 3D coordinates using the specified number of octaves + * and parameters + * + * @param x + * X-coordinate + * @param y + * Y-coordinate + * @param z + * Z-coordinate + * @param octaves + * Number of octaves to use + * @param frequency + * How much to alter the frequency by each octave + * @param amplitude + * How much to alter the amplitude by each octave + * @return Resulting noise + */ + public double noise(double x, double y, double z, int octaves, double frequency, double amplitude) + { + return noise(x, y, z, octaves, frequency, amplitude, false); + } + + /** + * Generates noise for the 3D coordinates using the specified number of octaves + * and parameters + * + * @param x + * X-coordinate + * @param y + * Y-coordinate + * @param z + * Z-coordinate + * @param octaves + * Number of octaves to use + * @param frequency + * How much to alter the frequency by each octave + * @param amplitude + * How much to alter the amplitude by each octave + * @param normalized + * If true, normalize the value to [-1, 1] + * @return Resulting noise + */ + public double noise(double x, double y, double z, int octaves, double frequency, double amplitude, boolean normalized) + { + double result = 0; + double amp = 1; + double freq = 1; + double max = 0; + + for(int i = 0; i < octaves; i++) + { + result += noise(x * freq, y * freq, z * freq) * amp; + max += amp; + freq *= frequency; + amp *= amplitude; + } + + if(normalized) + { + result /= max; + } + + return result; + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/NoiseProvider.java b/src/main/java/ninja/bytecode/iris/util/NoiseProvider.java deleted file mode 100644 index 33b45b11f..000000000 --- a/src/main/java/ninja/bytecode/iris/util/NoiseProvider.java +++ /dev/null @@ -1,7 +0,0 @@ -package ninja.bytecode.iris.util; - -@FunctionalInterface -public interface NoiseProvider -{ - public double noise(double x, double z); -} diff --git a/src/main/java/ninja/bytecode/iris/util/ObjectMode.java b/src/main/java/ninja/bytecode/iris/util/ObjectMode.java deleted file mode 100644 index 1162711ba..000000000 --- a/src/main/java/ninja/bytecode/iris/util/ObjectMode.java +++ /dev/null @@ -1,33 +0,0 @@ -package ninja.bytecode.iris.util; - -public enum ObjectMode -{ - /** - * Technically the fasted mode. I.e. Do nothing - */ - NONE, - - /** - * The fastest placer. Places without updating lighting or physics - * - * Lighting is applied later with packets - */ - QUICK_N_DIRTY, - - /** - * Somewhat slow but produces near-perfect results. Updates lighting. - */ - LIGHTING, - - /** - * Somewhat slow but produces near-perfect results. Updates lighting & physics - */ - LIGHTING_PHYSICS, - - /** - * Somewhat slow but never cascades and is instantly placed with terrain - * - * Lighting is applied later with packets - */ - PARALLAX; -} diff --git a/src/main/java/ninja/bytecode/iris/util/PacketCategory.java b/src/main/java/ninja/bytecode/iris/util/PacketCategory.java deleted file mode 100644 index cc5be7905..000000000 --- a/src/main/java/ninja/bytecode/iris/util/PacketCategory.java +++ /dev/null @@ -1,9 +0,0 @@ -package ninja.bytecode.iris.util; - -public enum PacketCategory -{ - BOARD, - HOLOGRAM, - EFFECT, - TABLIST; -} diff --git a/src/main/java/ninja/bytecode/iris/util/PacketGate.java b/src/main/java/ninja/bytecode/iris/util/PacketGate.java deleted file mode 100644 index a03026a34..000000000 --- a/src/main/java/ninja/bytecode/iris/util/PacketGate.java +++ /dev/null @@ -1,129 +0,0 @@ -package ninja.bytecode.iris.util; - -import mortar.compute.math.RollingAverage; -import mortar.lang.collection.GMap; - -public class PacketGate -{ - private static final GMap gates = new GMap<>(); - private final RollingAverage average; - private final int pps; - private int sent; - - private PacketGate(int pps) - { - sent = 0; - this.pps = pps; - average = new RollingAverage(100); - } - - public void tick() - { - average.put(sent * 20D); - sent = 0; - } - - public boolean can() - { - if(should()) - { - mark(); - return true; - } - - return false; - } - - public boolean should() - { - if(average.get() < pps) - { - return true; - } - - return false; - } - - public void mark() - { - sent++; - } - - private double getAveragePPS() - { - return average.get(); - } - - public static int getTotalPPS() - { - double m = 0; - - for(PacketCategory i : PacketCategory.values()) - { - m += getAveragePPS(i); - } - - return (int) m; - } - - public static void tickAll() - { - if(gates.isEmpty()) - { - reset(); - } - - for(PacketCategory i : PacketCategory.values()) - { - gates.get(i).tick(); - } - } - - public static double getAveragePPS(PacketCategory cat) - { - if(!gates.containsKey(cat)) - { - reset(); - } - - return gates.get(cat).getAveragePPS(); - } - - public static boolean can(PacketCategory cat) - { - if(!gates.containsKey(cat)) - { - reset(); - } - - return gates.get(cat).can(); - } - - public static void mark(PacketCategory cat) - { - if(!gates.containsKey(cat)) - { - reset(); - } - - gates.get(cat).mark(); - } - - public static boolean should(PacketCategory cat) - { - if(!gates.containsKey(cat)) - { - reset(); - } - - return gates.get(cat).should(); - } - - public static void reset() - { - gates.put(PacketCategory.BOARD, new PacketGate(100)); - gates.put(PacketCategory.EFFECT, new PacketGate(100)); - gates.put(PacketCategory.HOLOGRAM, new PacketGate(100)); - gates.put(PacketCategory.TABLIST, new PacketGate(100)); - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/ParticleBase.java b/src/main/java/ninja/bytecode/iris/util/ParticleBase.java deleted file mode 100644 index e1c50a9ae..000000000 --- a/src/main/java/ninja/bytecode/iris/util/ParticleBase.java +++ /dev/null @@ -1,30 +0,0 @@ -package ninja.bytecode.iris.util; - -import org.bukkit.Location; -import org.bukkit.entity.Player; - -import ninja.bytecode.shuriken.collections.KList; - -public abstract class ParticleBase implements VisualEffect -{ - @Override - public abstract void play(Location l, double range); - - @Override - public abstract void play(Location l, Player p); - - @Override - public void play(Location l) - { - play(l, 64); - } - - @Override - public void play(Location l, KList p) - { - for(Player i : p) - { - play(l, i); - } - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/ParticleEffect.java b/src/main/java/ninja/bytecode/iris/util/ParticleEffect.java deleted file mode 100644 index ba2f68f5a..000000000 --- a/src/main/java/ninja/bytecode/iris/util/ParticleEffect.java +++ /dev/null @@ -1,2101 +0,0 @@ -package ninja.bytecode.iris.util; - -import java.lang.reflect.Constructor; -import java.lang.reflect.Field; -import java.lang.reflect.Method; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; - -import org.bukkit.Bukkit; -import org.bukkit.Color; -import org.bukkit.Location; -import org.bukkit.Material; -import org.bukkit.entity.Player; -import org.bukkit.util.Vector; - -import ninja.bytecode.iris.util.ParticleEffect.ParticleData; -import ninja.bytecode.iris.util.ReflectionUtils.PackageType; - -/** - * ParticleEffect Library - *

- * This library was created by @DarkBlade12 and allows you to display all - * Minecraft particle effects on a Bukkit server - *

- * You are welcome to use it, modify it and redistribute it under the following - * conditions: - *

    - *
  • Don't claim this class as your own - *
  • Don't remove this disclaimer - *
- *

- * Special thanks: - *

    - *
  • @microgeek (original idea, names and packet parameters) - *
  • @ShadyPotato (1.8 names, ids and packet parameters) - *
  • @RingOfStorms (particle behavior) - *
  • @Cybermaxke (particle behavior) - *
  • @JamieSinn (hosting a jenkins server and documentation for - * particleeffect) - *
- *

- * It would be nice if you provide credit to me if you use this class in a - * published project - * - * @author DarkBlade12 - * @version 1.7 - */ -@SuppressWarnings("unused") -public enum ParticleEffect -{ - /** - * A particle effect which is displayed by exploding tnt and creepers: - *

    - *
  • It looks like a white cloud - *
  • The speed value influences the velocity at which the particle flies off - *
- */ - EXPLOSION_NORMAL("explode", 0, -1, ParticleProperty.DIRECTIONAL), - /** - * A particle effect which is displayed by exploding ghast fireballs and wither - * skulls: - *
    - *
  • It looks like a gray ball which is fading away - *
  • The speed value slightly influences the size of this particle effect - *
- */ - EXPLOSION_LARGE("largeexplode", 1, -1), - /** - * A particle effect which is displayed by exploding tnt and creepers: - *
    - *
  • It looks like a crowd of gray balls which are fading away - *
  • The speed value has no influence on this particle effect - *
- */ - EXPLOSION_HUGE("hugeexplosion", 2, -1), - /** - * A particle effect which is displayed by launching fireworks: - *
    - *
  • It looks like a white star which is sparkling - *
  • The speed value influences the velocity at which the particle flies off - *
- */ - FIREWORKS_SPARK("fireworksSpark", 3, -1, ParticleProperty.DIRECTIONAL), - /** - * A particle effect which is displayed by swimming entities and arrows in - * water: - *
    - *
  • It looks like a bubble - *
  • The speed value influences the velocity at which the particle flies off - *
- */ - WATER_BUBBLE("bubble", 4, -1, ParticleProperty.DIRECTIONAL, ParticleProperty.REQUIRES_WATER), - /** - * A particle effect which is displayed by swimming entities and shaking wolves: - *
    - *
  • It looks like a blue drop - *
  • The speed value has no influence on this particle effect - *
- */ - WATER_SPLASH("splash", 5, -1, ParticleProperty.DIRECTIONAL), - /** - * A particle effect which is displayed on water when fishing: - *
    - *
  • It looks like a blue droplet - *
  • The speed value influences the velocity at which the particle flies off - *
- */ - WATER_WAKE("wake", 6, 7, ParticleProperty.DIRECTIONAL), - /** - * A particle effect which is displayed by water: - *
    - *
  • It looks like a tiny blue square - *
  • The speed value has no influence on this particle effect - *
- */ - SUSPENDED("suspended", 7, -1, ParticleProperty.REQUIRES_WATER), - /** - * A particle effect which is displayed by air when close to bedrock and the in - * the void: - *
    - *
  • It looks like a tiny gray square - *
  • The speed value has no influence on this particle effect - *
- */ - SUSPENDED_DEPTH("depthSuspend", 8, -1, ParticleProperty.DIRECTIONAL), - /** - * A particle effect which is displayed when landing a critical hit and by - * arrows: - *
    - *
  • It looks like a light brown cross - *
  • The speed value influences the velocity at which the particle flies off - *
- */ - CRIT("crit", 9, -1, ParticleProperty.DIRECTIONAL), - /** - * A particle effect which is displayed when landing a hit with an enchanted - * weapon: - *
    - *
  • It looks like a cyan star - *
  • The speed value influences the velocity at which the particle flies off - *
- */ - CRIT_MAGIC("magicCrit", 10, -1, ParticleProperty.DIRECTIONAL), - /** - * A particle effect which is displayed by primed tnt, torches, droppers, - * dispensers, end portals, brewing stands and monster spawners: - *
    - *
  • It looks like a little gray cloud - *
  • The speed value influences the velocity at which the particle flies off - *
- */ - SMOKE_NORMAL("smoke", 11, -1, ParticleProperty.DIRECTIONAL), - /** - * A particle effect which is displayed by fire, minecarts with furnace and - * blazes: - *
    - *
  • It looks like a large gray cloud - *
  • The speed value influences the velocity at which the particle flies off - *
- */ - SMOKE_LARGE("largesmoke", 12, -1, ParticleProperty.DIRECTIONAL), - /** - * A particle effect which is displayed when splash potions or bottles o' - * enchanting hit something: - *
    - *
  • It looks like a white swirl - *
  • The speed value causes the particle to only move upwards when set to 0 - *
  • Only the motion on the y-axis can be controlled, the motion on the x- and - * z-axis are multiplied by 0.1 when setting the values to 0 - *
- */ - SPELL("spell", 13, -1), - /** - * A particle effect which is displayed when instant splash potions hit - * something: - *
    - *
  • It looks like a white cross - *
  • The speed value causes the particle to only move upwards when set to 0 - *
  • Only the motion on the y-axis can be controlled, the motion on the x- and - * z-axis are multiplied by 0.1 when setting the values to 0 - *
- */ - SPELL_INSTANT("instantSpell", 14, -1), - /** - * A particle effect which is displayed by entities with active potion effects: - *
    - *
  • It looks like a colored swirl - *
  • The speed value causes the particle to be colored black when set to 0 - *
  • The particle color gets lighter when increasing the speed and darker when - * decreasing the speed - *
- */ - SPELL_MOB("mobSpell", 15, -1, ParticleProperty.COLORABLE), - /** - * A particle effect which is displayed by entities with active potion effects - * applied through a beacon: - *
    - *
  • It looks like a transparent colored swirl - *
  • The speed value causes the particle to be always colored black when set - * to 0 - *
  • The particle color gets lighter when increasing the speed and darker when - * decreasing the speed - *
- */ - SPELL_MOB_AMBIENT("mobSpellAmbient", 16, -1, ParticleProperty.COLORABLE), - /** - * A particle effect which is displayed by witches: - *
    - *
  • It looks like a purple cross - *
  • The speed value causes the particle to only move upwards when set to 0 - *
  • Only the motion on the y-axis can be controlled, the motion on the x- and - * z-axis are multiplied by 0.1 when setting the values to 0 - *
- */ - SPELL_WITCH("witchMagic", 17, -1), - /** - * A particle effect which is displayed by blocks beneath a water source: - *
    - *
  • It looks like a blue drip - *
  • The speed value has no influence on this particle effect - *
- */ - DRIP_WATER("dripWater", 18, -1), - /** - * A particle effect which is displayed by blocks beneath a lava source: - *
    - *
  • It looks like an orange drip - *
  • The speed value has no influence on this particle effect - *
- */ - DRIP_LAVA("dripLava", 19, -1), - /** - * A particle effect which is displayed when attacking a villager in a village: - *
    - *
  • It looks like a cracked gray heart - *
  • The speed value has no influence on this particle effect - *
- */ - VILLAGER_ANGRY("angryVillager", 20, -1), - /** - * A particle effect which is displayed when using bone meal and trading with a - * villager in a village: - *
    - *
  • It looks like a green star - *
  • The speed value has no influence on this particle effect - *
- */ - VILLAGER_HAPPY("happyVillager", 21, -1, ParticleProperty.DIRECTIONAL), - /** - * A particle effect which is displayed by mycelium: - *
    - *
  • It looks like a tiny gray square - *
  • The speed value has no influence on this particle effect - *
- */ - TOWN_AURA("townaura", 22, -1, ParticleProperty.DIRECTIONAL), - /** - * A particle effect which is displayed by note blocks: - *
    - *
  • It looks like a colored note - *
  • The speed value causes the particle to be colored green when set to 0 - *
- */ - NOTE("note", 23, -1, ParticleProperty.COLORABLE), - /** - * A particle effect which is displayed by nether portals, endermen, ender - * pearls, eyes of ender, ender chests and dragon eggs: - *
    - *
  • It looks like a purple cloud - *
  • The speed value influences the spread of this particle effect - *
- */ - PORTAL("portal", 24, -1, ParticleProperty.DIRECTIONAL), - /** - * A particle effect which is displayed by enchantment tables which are nearby - * bookshelves: - *
    - *
  • It looks like a cryptic white letter - *
  • The speed value influences the spread of this particle effect - *
- */ - ENCHANTMENT_TABLE("enchantmenttable", 25, -1, ParticleProperty.DIRECTIONAL), - /** - * A particle effect which is displayed by torches, active furnaces, magma cubes - * and monster spawners: - *
    - *
  • It looks like a tiny flame - *
  • The speed value influences the velocity at which the particle flies off - *
- */ - FLAME("flame", 26, -1, ParticleProperty.DIRECTIONAL), - /** - * A particle effect which is displayed by lava: - *
    - *
  • It looks like a spark - *
  • The speed value has no influence on this particle effect - *
- */ - LAVA("lava", 27, -1), - /** - * A particle effect which is currently unused: - *
    - *
  • It looks like a transparent gray square - *
  • The speed value has no influence on this particle effect - *
- */ - FOOTSTEP("footstep", 28, -1), - /** - * A particle effect which is displayed when a mob dies: - *
    - *
  • It looks like a large white cloud - *
  • The speed value influences the velocity at which the particle flies off - *
- */ - CLOUD("cloud", 29, -1, ParticleProperty.DIRECTIONAL), - /** - * A particle effect which is displayed by redstone ore, powered redstone, - * redstone torches and redstone repeaters: - *
    - *
  • It looks like a tiny colored cloud - *
  • The speed value causes the particle to be colored red when set to 0 - *
- */ - REDSTONE("reddust", 30, -1, ParticleProperty.COLORABLE), - /** - * A particle effect which is displayed when snowballs hit a block: - *
    - *
  • It looks like a little piece with the snowball texture - *
  • The speed value has no influence on this particle effect - *
- */ - SNOWBALL("snowballpoof", 31, -1), - /** - * A particle effect which is currently unused: - *
    - *
  • It looks like a tiny white cloud - *
  • The speed value influences the velocity at which the particle flies off - *
- */ - SNOW_SHOVEL("snowshovel", 32, -1, ParticleProperty.DIRECTIONAL), - /** - * A particle effect which is displayed by slimes: - *
    - *
  • It looks like a tiny part of the slimeball icon - *
  • The speed value has no influence on this particle effect - *
- */ - SLIME("slime", 33, -1), - /** - * A particle effect which is displayed when breeding and taming animals: - *
    - *
  • It looks like a red heart - *
  • The speed value has no influence on this particle effect - *
- */ - HEART("heart", 34, -1), - /** - * A particle effect which is displayed by barriers: - *
    - *
  • It looks like a red box with a slash through it - *
  • The speed value has no influence on this particle effect - *
- */ - BARRIER("barrier", 35, 8), - /** - * A particle effect which is displayed when breaking a tool or eggs hit a - * block: - *
    - *
  • It looks like a little piece with an item texture - *
- */ - ITEM_CRACK("iconcrack", 36, -1, ParticleProperty.DIRECTIONAL, ParticleProperty.REQUIRES_DATA), - /** - * A particle effect which is displayed when breaking blocks or sprinting: - *
    - *
  • It looks like a little piece with a block texture - *
  • The speed value has no influence on this particle effect - *
- */ - BLOCK_CRACK("blockcrack", 37, -1, ParticleProperty.REQUIRES_DATA), - /** - * A particle effect which is displayed when falling: - *
    - *
  • It looks like a little piece with a block texture - *
- */ - BLOCK_DUST("blockdust", 38, 7, ParticleProperty.DIRECTIONAL, ParticleProperty.REQUIRES_DATA), - /** - * A particle effect which is displayed when rain hits the ground: - *
    - *
  • It looks like a blue droplet - *
  • The speed value has no influence on this particle effect - *
- */ - WATER_DROP("droplet", 39, 8), - /** - * A particle effect which is currently unused: - *
    - *
  • It has no visual effect - *
- */ - ITEM_TAKE("take", 40, 8), - - /** - * A particle effect which is displayed by elder guardians: - *
    - *
  • It looks like the shape of the elder guardian - *
  • The speed value has no influence on this particle effect - *
  • The offset values have no influence on this particle effect - *
- */ - MOB_APPEARANCE("mobappearance", 41, 8), - - /** - * A particle effect which is displayed by enderdragons - */ - DRAGON_BREATH("dragonbreath", 42, 9), - - /** - * The end rod particle effect from end rods - */ - END_ROD("endrod", 43, 9), - - /** - * A damage indicator particle effect - */ - DAMAGE_INDICATOR("damageindicator", 44, 9), - - /** - * A swipe sword effect - */ - SWEEP_ATTACK("sweepttack", 45, 9); - - private static final Map NAME_MAP = new HashMap(); - private static final Map ID_MAP = new HashMap(); - private final String name; - private final int id; - private final int requiredVersion; - private final List properties; - - // Initialize map for quick name and id lookup - static - { - for(ParticleEffect effect : values()) - { - NAME_MAP.put(effect.name, effect); - ID_MAP.put(effect.id, effect); - } - } - - /** - * Construct a new particle effect - * - * @param name - * Name of this particle effect - * @param id - * Id of this particle effect - * @param requiredVersion - * Version which is required (1.x) - * @param properties - * Properties of this particle effect - */ - private ParticleEffect(String name, int id, int requiredVersion, ParticleProperty... properties) - { - this.name = name; - this.id = id; - this.requiredVersion = requiredVersion; - this.properties = Arrays.asList(properties); - } - - /** - * Returns the name of this particle effect - * - * @return The name - */ - public String getName() - { - return name; - } - - /** - * Returns the id of this particle effect - * - * @return The id - */ - public int getId() - { - return id; - } - - /** - * Returns the required version for this particle effect (1.x) - * - * @return The required version - */ - public int getRequiredVersion() - { - return requiredVersion; - } - - /** - * Determine if this particle effect has a specific property - * - * @return Whether it has the property or not - */ - public boolean hasProperty(ParticleProperty property) - { - return properties.contains(property); - } - - /** - * Determine if this particle effect is supported by your current server version - * - * @return Whether the particle effect is supported or not - */ - public boolean isSupported() - { - return true; - } - - /** - * Returns the particle effect with the given name - * - * @param name - * Name of the particle effect - * @return The particle effect - */ - public static ParticleEffect fromName(String name) - { - for(Entry entry : NAME_MAP.entrySet()) - { - if(!entry.getKey().equalsIgnoreCase(name)) - { - continue; - } - return entry.getValue(); - } - return null; - } - - /** - * Returns the particle effect with the given id - * - * @param id - * Id of the particle effect - * @return The particle effect - */ - public static ParticleEffect fromId(int id) - { - for(Entry entry : ID_MAP.entrySet()) - { - if(entry.getKey() != id) - { - continue; - } - return entry.getValue(); - } - return null; - } - - /** - * Determine if water is at a certain location - * - * @param location - * Location to check - * @return Whether water is at this location or not - */ - private static boolean isWater(Location location) - { - Material material = location.getBlock().getType(); - return false; - } - - /** - * Determine if the distance between @param location and one of the players - * exceeds 256 - * - * @param location - * Location to check - * @return Whether the distance exceeds 256 or not - */ - private static boolean isLongDistance(Location location, List players) - { - String world = location.getWorld().getName(); - for(Player player : players) - { - Location playerLocation = player.getLocation(); - if(!world.equals(playerLocation.getWorld().getName()) || playerLocation.distanceSquared(location) < 65536) - { - continue; - } - return true; - } - return false; - } - - /** - * Determine if the data type for a particle effect is correct - * - * @param effect - * Particle effect - * @param data - * Particle data - * @return Whether the data type is correct or not - */ - private static boolean isDataCorrect(ParticleEffect effect, ParticleData data) - { - return ((effect == BLOCK_CRACK || effect == BLOCK_DUST) && data instanceof BlockData) || (effect == ITEM_CRACK && data instanceof ItemData); - } - - /** - * Determine if the color type for a particle effect is correct - * - * @param effect - * Particle effect - * @param color - * Particle color - * @return Whether the color type is correct or not - */ - private static boolean isColorCorrect(ParticleEffect effect, ParticleColor color) - { - return ((effect == SPELL_MOB || effect == SPELL_MOB_AMBIENT || effect == REDSTONE) && color instanceof OrdinaryColor) || (effect == NOTE && color instanceof NoteColor); - } - - /** - * Displays a particle effect which is only visible for all players within a - * certain range in the world of @param center - * - * @param offsetX - * Maximum distance particles can fly away from the center on the - * x-axis - * @param offsetY - * Maximum distance particles can fly away from the center on the - * y-axis - * @param offsetZ - * Maximum distance particles can fly away from the center on the - * z-axis - * @param speed - * Display speed of the particles - * @param amount - * Amount of particles - * @param center - * Center location of the effect - * @param range - * Range of the visibility - * @throws ParticleVersionException - * If the particle effect is not supported by the server version - * @throws ParticleDataException - * If the particle effect requires additional data - * @throws IllegalArgumentException - * If the particle effect requires water and none is at the center - * location - * @see ParticlePacket - * @see ParticlePacket#sendTo(Location, double) - */ - public void display(float speed, int amount, Location center, double range) throws ParticleVersionException, ParticleDataException, IllegalArgumentException - { - if(!isSupported()) - { - return; - } - - if(hasProperty(ParticleProperty.REQUIRES_DATA)) - { - throw new ParticleDataException("This particle effect requires additional data"); - } - - if(hasProperty(ParticleProperty.REQUIRES_WATER) && !isWater(center)) - { - throw new IllegalArgumentException("There is no water at the center location"); - } - - new ParticlePacket(this, 0, 0, 0, speed, amount, range > 256, null).sendTo(center, range); - } - - /** - * Displays a particle effect which is only visible for the specified players - * - * @param offsetX - * Maximum distance particles can fly away from the center on the - * x-axis - * @param offsetY - * Maximum distance particles can fly away from the center on the - * y-axis - * @param offsetZ - * Maximum distance particles can fly away from the center on the - * z-axis - * @param speed - * Display speed of the particles - * @param amount - * Amount of particles - * @param center - * Center location of the effect - * @param players - * Receivers of the effect - * @throws ParticleVersionException - * If the particle effect is not supported by the server version - * @throws ParticleDataException - * If the particle effect requires additional data - * @throws IllegalArgumentException - * If the particle effect requires water and none is at the center - * location - * @see ParticlePacket - * @see ParticlePacket#sendTo(Location, List) - */ - public void display(float speed, int amount, Location center, List players) throws ParticleVersionException, ParticleDataException, IllegalArgumentException - { - if(!isSupported()) - { - throw new ParticleVersionException("This particle effect is not supported by your server version"); - } - if(hasProperty(ParticleProperty.REQUIRES_DATA)) - { - throw new ParticleDataException("This particle effect requires additional data"); - } - if(hasProperty(ParticleProperty.REQUIRES_WATER) && !isWater(center)) - { - throw new IllegalArgumentException("There is no water at the center location"); - } - new ParticlePacket(this, 0, 0, 0, speed, amount, isLongDistance(center, players), null).sendTo(center, players); - } - - /** - * Displays a particle effect which is only visible for the specified players - * - * @param offsetX - * Maximum distance particles can fly away from the center on the - * x-axis - * @param offsetY - * Maximum distance particles can fly away from the center on the - * y-axis - * @param offsetZ - * Maximum distance particles can fly away from the center on the - * z-axis - * @param speed - * Display speed of the particles - * @param amount - * Amount of particles - * @param center - * Center location of the effect - * @param players - * Receivers of the effect - * @throws ParticleVersionException - * If the particle effect is not supported by the server version - * @throws ParticleDataException - * If the particle effect requires additional data - * @throws IllegalArgumentException - * If the particle effect requires water and none is at the center - * location - * @see #display(float, float, float, float, int, Location, List) - */ - public void display(float speed, int amount, Location center, Player... players) throws ParticleVersionException, ParticleDataException, IllegalArgumentException - { - display(speed, amount, center, Arrays.asList(players)); - } - - /** - * Displays a single particle which flies into a determined direction and is - * only visible for all players within a certain range in the world of @param - * center - * - * @param direction - * Direction of the particle - * @param speed - * Display speed of the particle - * @param center - * Center location of the effect - * @param range - * Range of the visibility - * @throws ParticleVersionException - * If the particle effect is not supported by the server version - * @throws ParticleDataException - * If the particle effect requires additional data - * @throws IllegalArgumentException - * If the particle effect is not directional or if it requires water - * and none is at the center location - * @see ParticlePacket#ParticlePacket(ParticleEffect, Vector, float, boolean, - * ParticleData) - * @see ParticlePacket#sendTo(Location, double) - */ - public void display(Vector direction, float speed, Location center, double range) throws ParticleVersionException, ParticleDataException, IllegalArgumentException - { - if(!isSupported()) - { - throw new ParticleVersionException("This particle effect is not supported by your server version"); - } - if(hasProperty(ParticleProperty.REQUIRES_DATA)) - { - throw new ParticleDataException("This particle effect requires additional data"); - } - if(!hasProperty(ParticleProperty.DIRECTIONAL)) - { - throw new IllegalArgumentException("This particle effect is not directional"); - } - if(hasProperty(ParticleProperty.REQUIRES_WATER) && !isWater(center)) - { - throw new IllegalArgumentException("There is no water at the center location"); - } - new ParticlePacket(this, direction, speed, range > 256, null).sendTo(center, range); - } - - /** - * Displays a single particle which flies into a determined direction and is - * only visible for the specified players - * - * @param direction - * Direction of the particle - * @param speed - * Display speed of the particle - * @param center - * Center location of the effect - * @param players - * Receivers of the effect - * @throws ParticleVersionException - * If the particle effect is not supported by the server version - * @throws ParticleDataException - * If the particle effect requires additional data - * @throws IllegalArgumentException - * If the particle effect is not directional or if it requires water - * and none is at the center location - * @see ParticlePacket#ParticlePacket(ParticleEffect, Vector, float, boolean, - * ParticleData) - * @see ParticlePacket#sendTo(Location, List) - */ - public void display(Vector direction, float speed, Location center, List players) throws ParticleVersionException, ParticleDataException, IllegalArgumentException - { - if(!isSupported()) - { - throw new ParticleVersionException("This particle effect is not supported by your server version"); - } - if(hasProperty(ParticleProperty.REQUIRES_DATA)) - { - throw new ParticleDataException("This particle effect requires additional data"); - } - if(!hasProperty(ParticleProperty.DIRECTIONAL)) - { - throw new IllegalArgumentException("This particle effect is not directional"); - } - if(hasProperty(ParticleProperty.REQUIRES_WATER) && !isWater(center)) - { - throw new IllegalArgumentException("There is no water at the center location"); - } - new ParticlePacket(this, direction, speed, isLongDistance(center, players), null).sendTo(center, players); - } - - /** - * Displays a single particle which flies into a determined direction and is - * only visible for the specified players - * - * @param direction - * Direction of the particle - * @param speed - * Display speed of the particle - * @param center - * Center location of the effect - * @param players - * Receivers of the effect - * @throws ParticleVersionException - * If the particle effect is not supported by the server version - * @throws ParticleDataException - * If the particle effect requires additional data - * @throws IllegalArgumentException - * If the particle effect is not directional or if it requires water - * and none is at the center location - * @see #display(Vector, float, Location, List) - */ - public void display(Vector direction, float speed, Location center, Player... players) throws ParticleVersionException, ParticleDataException, IllegalArgumentException - { - display(direction, speed, center, Arrays.asList(players)); - } - - /** - * Displays a single particle which is colored and only visible for all players - * within a certain range in the world of @param center - * - * @param color - * Color of the particle - * @param center - * Center location of the effect - * @param range - * Range of the visibility - * @throws ParticleVersionException - * If the particle effect is not supported by the server version - * @throws ParticleColorException - * If the particle effect is not colorable or the color type is - * incorrect - * @see ParticlePacket#ParticlePacket(ParticleEffect, ParticleColor, boolean) - * @see ParticlePacket#sendTo(Location, double) - */ - public void display(ParticleColor color, Location center, double range) throws ParticleVersionException, ParticleColorException - { - if(!isSupported()) - { - throw new ParticleVersionException("This particle effect is not supported by your server version"); - } - if(!hasProperty(ParticleProperty.COLORABLE)) - { - throw new ParticleColorException("This particle effect is not colorable"); - } - if(!isColorCorrect(this, color)) - { - throw new ParticleColorException("The particle color type is incorrect"); - } - new ParticlePacket(this, color, range > 256).sendTo(center, range); - } - - /** - * Displays a single particle which is colored and only visible for the - * specified players - * - * @param color - * Color of the particle - * @param center - * Center location of the effect - * @param players - * Receivers of the effect - * @throws ParticleVersionException - * If the particle effect is not supported by the server version - * @throws ParticleColorException - * If the particle effect is not colorable or the color type is - * incorrect - * @see ParticlePacket#ParticlePacket(ParticleEffect, ParticleColor, boolean) - * @see ParticlePacket#sendTo(Location, List) - */ - public void display(ParticleColor color, Location center, List players) throws ParticleVersionException, ParticleColorException - { - if(!isSupported()) - { - throw new ParticleVersionException("This particle effect is not supported by your server version"); - } - if(!hasProperty(ParticleProperty.COLORABLE)) - { - throw new ParticleColorException("This particle effect is not colorable"); - } - if(!isColorCorrect(this, color)) - { - throw new ParticleColorException("The particle color type is incorrect"); - } - new ParticlePacket(this, color, isLongDistance(center, players)).sendTo(center, players); - } - - /** - * Displays a single particle which is colored and only visible for the - * specified players - * - * @param color - * Color of the particle - * @param center - * Center location of the effect - * @param players - * Receivers of the effect - * @throws ParticleVersionException - * If the particle effect is not supported by the server version - * @throws ParticleColorException - * If the particle effect is not colorable or the color type is - * incorrect - * @see #display(ParticleColor, Location, List) - */ - public void display(ParticleColor color, Location center, Player... players) throws ParticleVersionException, ParticleColorException - { - display(color, center, Arrays.asList(players)); - } - - /** - * Displays a particle effect which requires additional data and is only visible - * for all players within a certain range in the world of @param center - * - * @param data - * Data of the effect - * @param offsetX - * Maximum distance particles can fly away from the center on the - * x-axis - * @param offsetY - * Maximum distance particles can fly away from the center on the - * y-axis - * @param offsetZ - * Maximum distance particles can fly away from the center on the - * z-axis - * @param speed - * Display speed of the particles - * @param amount - * Amount of particles - * @param center - * Center location of the effect - * @param range - * Range of the visibility - * @throws ParticleVersionException - * If the particle effect is not supported by the server version - * @throws ParticleDataException - * If the particle effect does not require additional data or if the - * data type is incorrect - * @see ParticlePacket - * @see ParticlePacket#sendTo(Location, double) - */ - public void display(ParticleData data, float speed, int amount, Location center, double range) throws ParticleVersionException, ParticleDataException - { - if(!isSupported()) - { - throw new ParticleVersionException("This particle effect is not supported by your server version"); - } - - if(!hasProperty(ParticleProperty.REQUIRES_DATA)) - { - throw new ParticleDataException("This particle effect does not require additional data"); - } - - if(!isDataCorrect(this, data)) - { - throw new ParticleDataException("The particle data type is incorrect"); - } - - new ParticlePacket(this, 0, 0, 0, speed, amount, range > 256, data).sendTo(center, range); - } - - /** - * Displays a particle effect which requires additional data and is only visible - * for the specified players - * - * @param data - * Data of the effect - * @param offsetX - * Maximum distance particles can fly away from the center on the - * x-axis - * @param offsetY - * Maximum distance particles can fly away from the center on the - * y-axis - * @param offsetZ - * Maximum distance particles can fly away from the center on the - * z-axis - * @param speed - * Display speed of the particles - * @param amount - * Amount of particles - * @param center - * Center location of the effect - * @param players - * Receivers of the effect - * @throws ParticleVersionException - * If the particle effect is not supported by the server version - * @throws ParticleDataException - * If the particle effect does not require additional data or if the - * data type is incorrect - * @see ParticlePacket - * @see ParticlePacket#sendTo(Location, List) - */ - public void display(ParticleData data, float speed, int amount, Location center, List players) throws ParticleVersionException, ParticleDataException - { - if(!isSupported()) - { - throw new ParticleVersionException("This particle effect is not supported by your server version"); - } - if(!hasProperty(ParticleProperty.REQUIRES_DATA)) - { - throw new ParticleDataException("This particle effect does not require additional data"); - } - if(!isDataCorrect(this, data)) - { - throw new ParticleDataException("The particle data type is incorrect"); - } - new ParticlePacket(this, 0, 0, 0, speed, amount, isLongDistance(center, players), data).sendTo(center, players); - } - - /** - * Displays a particle effect which requires additional data and is only visible - * for the specified players - * - * @param data - * Data of the effect - * @param offsetX - * Maximum distance particles can fly away from the center on the - * x-axis - * @param offsetY - * Maximum distance particles can fly away from the center on the - * y-axis - * @param offsetZ - * Maximum distance particles can fly away from the center on the - * z-axis - * @param speed - * Display speed of the particles - * @param amount - * Amount of particles - * @param center - * Center location of the effect - * @param players - * Receivers of the effect - * @throws ParticleVersionException - * If the particle effect is not supported by the server version - * @throws ParticleDataException - * If the particle effect does not require additional data or if the - * data type is incorrect - * @see #display(ParticleData, float, float, float, float, int, Location, List) - */ - public void display(ParticleData data, float speed, int amount, Location center, Player... players) throws ParticleVersionException, ParticleDataException - { - display(data, speed, amount, center, Arrays.asList(players)); - } - - /** - * Displays a single particle which requires additional data that flies into a - * determined direction and is only visible for all players within a certain - * range in the world of @param center - * - * @param data - * Data of the effect - * @param direction - * Direction of the particle - * @param speed - * Display speed of the particles - * @param center - * Center location of the effect - * @param range - * Range of the visibility - * @throws ParticleVersionException - * If the particle effect is not supported by the server version - * @throws ParticleDataException - * If the particle effect does not require additional data or if the - * data type is incorrect - * @see ParticlePacket - * @see ParticlePacket#sendTo(Location, double) - */ - public void display(ParticleData data, Vector direction, float speed, Location center, double range) throws ParticleVersionException, ParticleDataException - { - if(!isSupported()) - { - throw new ParticleVersionException("This particle effect is not supported by your server version"); - } - if(!hasProperty(ParticleProperty.REQUIRES_DATA)) - { - throw new ParticleDataException("This particle effect does not require additional data"); - } - if(!isDataCorrect(this, data)) - { - throw new ParticleDataException("The particle data type is incorrect"); - } - new ParticlePacket(this, direction, speed, range > 256, data).sendTo(center, range); - } - - /** - * Displays a single particle which requires additional data that flies into a - * determined direction and is only visible for the specified players - * - * @param data - * Data of the effect - * @param direction - * Direction of the particle - * @param speed - * Display speed of the particles - * @param center - * Center location of the effect - * @param players - * Receivers of the effect - * @throws ParticleVersionException - * If the particle effect is not supported by the server version - * @throws ParticleDataException - * If the particle effect does not require additional data or if the - * data type is incorrect - * @see ParticlePacket - * @see ParticlePacket#sendTo(Location, List) - */ - public void display(ParticleData data, Vector direction, float speed, Location center, List players) throws ParticleVersionException, ParticleDataException - { - if(!isSupported()) - { - throw new ParticleVersionException("This particle effect is not supported by your server version"); - } - if(!hasProperty(ParticleProperty.REQUIRES_DATA)) - { - throw new ParticleDataException("This particle effect does not require additional data"); - } - if(!isDataCorrect(this, data)) - { - throw new ParticleDataException("The particle data type is incorrect"); - } - new ParticlePacket(this, direction, speed, isLongDistance(center, players), data).sendTo(center, players); - } - - /** - * Displays a single particle which requires additional data that flies into a - * determined direction and is only visible for the specified players - * - * @param data - * Data of the effect - * @param direction - * Direction of the particle - * @param speed - * Display speed of the particles - * @param center - * Center location of the effect - * @param players - * Receivers of the effect - * @throws ParticleVersionException - * If the particle effect is not supported by the server version - * @throws ParticleDataException - * If the particle effect does not require additional data or if the - * data type is incorrect - * @see #display(ParticleData, Vector, float, Location, List) - */ - public void display(ParticleData data, Vector direction, float speed, Location center, Player... players) throws ParticleVersionException, ParticleDataException - { - display(data, direction, speed, center, Arrays.asList(players)); - } - - /** - * Represents the property of a particle effect - *

- * This class is part of the ParticleEffect Library and follows the same - * usage conditions - * - * @author DarkBlade12 - * @since 1.7 - */ - public static enum ParticleProperty - { - /** - * The particle effect requires water to be displayed - */ - REQUIRES_WATER, - /** - * The particle effect requires block or item data to be displayed - */ - REQUIRES_DATA, - /** - * The particle effect uses the offsets as direction values - */ - DIRECTIONAL, - /** - * The particle effect uses the offsets as color values - */ - COLORABLE; - } - - /** - * Represents the particle data for effects like - * {@link ParticleEffect#ITEM_CRACK}, {@link ParticleEffect#BLOCK_CRACK} and - * {@link ParticleEffect#BLOCK_DUST} - *

- * This class is part of the ParticleEffect Library and follows the same - * usage conditions - * - * @author DarkBlade12 - * @since 1.6 - */ - public static abstract class ParticleData - { - private final Material material; - private final byte data; - private final int[] packetData; - - /** - * Construct a new particle data - * - * @param material - * Material of the item/block - * @param data - * Data value of the item/block - */ - @SuppressWarnings("deprecation") - public ParticleData(Material material, byte data) - { - this.material = material; - this.data = data; - this.packetData = new int[] {material.getId(), data}; - } - - /** - * Returns the material of this data - * - * @return The material - */ - public Material getMaterial() - { - return material; - } - - /** - * Returns the data value of this data - * - * @return The data value - */ - public byte getData() - { - return data; - } - - /** - * Returns the data as an int array for packet construction - * - * @return The data for the packet - */ - public int[] getPacketData() - { - return packetData; - } - - /** - * Returns the data as a string for pre 1.8 versions - * - * @return The data string for the packet - */ - public String getPacketDataString() - { - return "_" + packetData[0] + "_" + packetData[1]; - } - } - - /** - * Represents the item data for the {@link ParticleEffect#ITEM_CRACK} effect - *

- * This class is part of the ParticleEffect Library and follows the same - * usage conditions - * - * @author DarkBlade12 - * @since 1.6 - */ - public static final class ItemData extends ParticleData - { - /** - * Construct a new item data - * - * @param material - * Material of the item - * @param data - * Data value of the item - * @see ParticleData#ParticleData(Material, byte) - */ - public ItemData(Material material, byte data) - { - super(material, data); - } - } - - /** - * Represents the block data for the {@link ParticleEffect#BLOCK_CRACK} and - * {@link ParticleEffect#BLOCK_DUST} effects - *

- * This class is part of the ParticleEffect Library and follows the same - * usage conditions - * - * @author DarkBlade12 - * @since 1.6 - */ - public static final class BlockData extends ParticleData - { - /** - * Construct a new block data - * - * @param material - * Material of the block - * @param data - * Data value of the block - * @throws IllegalArgumentException - * If the material is not a block - * @see ParticleData#ParticleData(Material, byte) - */ - public BlockData(Material material, byte data) throws IllegalArgumentException - { - super(material, data); - if(!material.isBlock()) - { - throw new IllegalArgumentException("The material is not a block"); - } - } - } - - /** - * Represents the color for effects like {@link ParticleEffect#SPELL_MOB}, - * {@link ParticleEffect#SPELL_MOB_AMBIENT}, {@link ParticleEffect#REDSTONE} and - * {@link ParticleEffect#NOTE} - *

- * This class is part of the ParticleEffect Library and follows the same - * usage conditions - * - * @author DarkBlade12 - * @since 1.7 - */ - public static abstract class ParticleColor - { - /** - * Returns the value for the offsetX field - * - * @return The offsetX value - */ - public abstract float getValueX(); - - /** - * Returns the value for the offsetY field - * - * @return The offsetY value - */ - public abstract float getValueY(); - - /** - * Returns the value for the offsetZ field - * - * @return The offsetZ value - */ - public abstract float getValueZ(); - } - - /** - * Represents the color for effects like {@link ParticleEffect#SPELL_MOB}, - * {@link ParticleEffect#SPELL_MOB_AMBIENT} and {@link ParticleEffect#NOTE} - *

- * This class is part of the ParticleEffect Library and follows the same - * usage conditions - * - * @author DarkBlade12 - * @since 1.7 - */ - public static final class OrdinaryColor extends ParticleColor - { - private final int red; - private final int green; - private final int blue; - - /** - * Construct a new ordinary color - * - * @param red - * Red value of the RGB format - * @param green - * Green value of the RGB format - * @param blue - * Blue value of the RGB format - * @throws IllegalArgumentException - * If one of the values is lower than 0 or higher than 255 - */ - public OrdinaryColor(int red, int green, int blue) throws IllegalArgumentException - { - if(red < 0) - { - throw new IllegalArgumentException("The red value is lower than 0"); - } - if(red > 255) - { - throw new IllegalArgumentException("The red value is higher than 255"); - } - this.red = red; - if(green < 0) - { - throw new IllegalArgumentException("The green value is lower than 0"); - } - if(green > 255) - { - throw new IllegalArgumentException("The green value is higher than 255"); - } - this.green = green; - if(blue < 0) - { - throw new IllegalArgumentException("The blue value is lower than 0"); - } - if(blue > 255) - { - throw new IllegalArgumentException("The blue value is higher than 255"); - } - this.blue = blue; - } - - /** - * Construct a new ordinary color - * - * @param color - * Bukkit color - */ - public OrdinaryColor(Color color) - { - this(color.getRed(), color.getGreen(), color.getBlue()); - } - - /** - * Returns the red value of the RGB format - * - * @return The red value - */ - public int getRed() - { - return red; - } - - /** - * Returns the green value of the RGB format - * - * @return The green value - */ - public int getGreen() - { - return green; - } - - /** - * Returns the blue value of the RGB format - * - * @return The blue value - */ - public int getBlue() - { - return blue; - } - - /** - * Returns the red value divided by 255 - * - * @return The offsetX value - */ - @Override - public float getValueX() - { - return (float) red / 255F; - } - - /** - * Returns the green value divided by 255 - * - * @return The offsetY value - */ - @Override - public float getValueY() - { - return (float) green / 255F; - } - - /** - * Returns the blue value divided by 255 - * - * @return The offsetZ value - */ - @Override - public float getValueZ() - { - return (float) blue / 255F; - } - } - - /** - * Represents the color for the {@link ParticleEffect#NOTE} effect - *

- * This class is part of the ParticleEffect Library and follows the same - * usage conditions - * - * @author DarkBlade12 - * @since 1.7 - */ - public static final class NoteColor extends ParticleColor - { - private final int note; - - /** - * Construct a new note color - * - * @param note - * Note id which determines color - * @throws IllegalArgumentException - * If the note value is lower than 0 or higher than 24 - */ - public NoteColor(int note) throws IllegalArgumentException - { - if(note < 0) - { - throw new IllegalArgumentException("The note value is lower than 0"); - } - if(note > 24) - { - throw new IllegalArgumentException("The note value is higher than 24"); - } - this.note = note; - } - - /** - * Returns the note value divided by 24 - * - * @return The offsetX value - */ - @Override - public float getValueX() - { - return (float) note / 24F; - } - - /** - * Returns zero because the offsetY value is unused - * - * @return zero - */ - @Override - public float getValueY() - { - return 0; - } - - /** - * Returns zero because the offsetZ value is unused - * - * @return zero - */ - @Override - public float getValueZ() - { - return 0; - } - - } - - /** - * Represents a runtime exception that is thrown either if the displayed - * particle effect requires data and has none or vice-versa or if the data type - * is incorrect - *

- * This class is part of the ParticleEffect Library and follows the same - * usage conditions - * - * @author DarkBlade12 - * @since 1.6 - */ - private static final class ParticleDataException extends RuntimeException - { - private static final long serialVersionUID = 3203085387160737484L; - - /** - * Construct a new particle data exception - * - * @param message - * Message that will be logged - */ - public ParticleDataException(String message) - { - super(message); - } - } - - /** - * Represents a runtime exception that is thrown either if the displayed - * particle effect is not colorable or if the particle color type is incorrect - *

- * This class is part of the ParticleEffect Library and follows the same - * usage conditions - * - * @author DarkBlade12 - * @since 1.7 - */ - private static final class ParticleColorException extends RuntimeException - { - private static final long serialVersionUID = 3203085387160737484L; - - /** - * Construct a new particle color exception - * - * @param message - * Message that will be logged - */ - public ParticleColorException(String message) - { - super(message); - } - } - - /** - * Represents a runtime exception that is thrown if the displayed particle - * effect requires a newer version - *

- * This class is part of the ParticleEffect Library and follows the same - * usage conditions - * - * @author DarkBlade12 - * @since 1.6 - */ - private static final class ParticleVersionException extends RuntimeException - { - private static final long serialVersionUID = 3203085387160737484L; - - /** - * Construct a new particle version exception - * - * @param message - * Message that will be logged - */ - public ParticleVersionException(String message) - { - super(message); - } - } - - /** - * Represents a particle effect packet with all attributes which is used for - * sending packets to the players - *

- * This class is part of the ParticleEffect Library and follows the same - * usage conditions - * - * @author DarkBlade12 - * @since 1.5 - */ - public static final class ParticlePacket - { - private static int version; - private static Class enumParticle; - private static Constructor packetConstructor; - private static Method getHandle; - private static Field playerConnection; - private static Method sendPacket; - private static boolean initialized; - private final ParticleEffect effect; - private float offsetX; - private final float offsetY; - private final float offsetZ; - private final float speed; - private final int amount; - private final boolean longDistance; - private final ParticleData data; - private Object packet; - - /** - * Construct a new particle packet - * - * @param effect - * Particle effect - * @param offsetX - * Maximum distance particles can fly away from the center on the - * x-axis - * @param offsetY - * Maximum distance particles can fly away from the center on the - * y-axis - * @param offsetZ - * Maximum distance particles can fly away from the center on the - * z-axis - * @param speed - * Display speed of the particles - * @param amount - * Amount of particles - * @param longDistance - * Indicates whether the maximum distance is increased from 256 to - * 65536 - * @param data - * Data of the effect - * @throws IllegalArgumentException - * If the speed or amount is lower than 0 - * @see #initialize() - */ - public ParticlePacket(ParticleEffect effect, float offsetX, float offsetY, float offsetZ, float speed, int amount, boolean longDistance, ParticleData data) throws IllegalArgumentException - { - initialize(); - if(speed < 0) - { - throw new IllegalArgumentException("The speed is lower than 0"); - } - if(amount < 0) - { - throw new IllegalArgumentException("The amount is lower than 0"); - } - this.effect = effect; - this.offsetX = offsetX; - this.offsetY = offsetY; - this.offsetZ = offsetZ; - this.speed = speed; - this.amount = amount; - this.longDistance = longDistance; - this.data = data; - } - - /** - * Construct a new particle packet of a single particle flying into a determined - * direction - * - * @param effect - * Particle effect - * @param direction - * Direction of the particle - * @param speed - * Display speed of the particle - * @param longDistance - * Indicates whether the maximum distance is increased from 256 to - * 65536 - * @param data - * Data of the effect - * @throws IllegalArgumentException - * If the speed is lower than 0 - * @see #ParticleEffect(ParticleEffect, float, float, float, float, int, - * boolean, ParticleData) - */ - public ParticlePacket(ParticleEffect effect, Vector direction, float speed, boolean longDistance, ParticleData data) throws IllegalArgumentException - { - this(effect, (float) direction.getX(), (float) direction.getY(), (float) direction.getZ(), speed, 0, longDistance, data); - } - - /** - * Construct a new particle packet of a single colored particle - * - * @param effect - * Particle effect - * @param color - * Color of the particle - * @param longDistance - * Indicates whether the maximum distance is increased from 256 to - * 65536 - * @see #ParticleEffect(ParticleEffect, float, float, float, float, int, - * boolean, ParticleData) - */ - public ParticlePacket(ParticleEffect effect, ParticleColor color, boolean longDistance) - { - this(effect, color.getValueX(), color.getValueY(), color.getValueZ(), 1, 0, longDistance, null); - if(effect == ParticleEffect.REDSTONE && color instanceof OrdinaryColor && ((OrdinaryColor) color).getRed() == 0) - { - offsetX = Float.MIN_NORMAL; - } - } - - /** - * Initializes {@link #packetConstructor}, {@link #getHandle}, - * {@link #playerConnection} and {@link #sendPacket} and sets - * {@link #initialized} to true if it succeeds - *

- * Note: These fields only have to be initialized once, so it will return - * if {@link #initialized} is already set to true - * - * @throws VersionIncompatibleException - * if your bukkit version is not supported by this library - */ - public static void initialize() throws VersionIncompatibleException - { - if(initialized) - { - return; - } - - try - { - String ver = PackageType.getServerVersion(); - int un1 = ver.indexOf("_") + 1; - int un2 = ver.lastIndexOf("_"); - - version = Integer.parseInt(ver.substring(un1, un2)); - - if(version > 7) - { - enumParticle = PackageType.MINECRAFT_SERVER.getClass("EnumParticle"); - } - - Class packetClass = PackageType.MINECRAFT_SERVER.getClass(version < 7 ? "Packet63WorldParticles" : "PacketPlayOutWorldParticles"); - - packetConstructor = ReflectionUtils.getConstructor(packetClass); - getHandle = ReflectionUtils.getMethod("CraftPlayer", PackageType.CRAFTBUKKIT_ENTITY, "getHandle"); - playerConnection = ReflectionUtils.getField("EntityPlayer", PackageType.MINECRAFT_SERVER, false, "playerConnection"); - sendPacket = ReflectionUtils.getMethod(playerConnection.getType(), "sendPacket", PackageType.MINECRAFT_SERVER.getClass("Packet")); - } - - catch(Exception exception) - { - - } - - initialized = true; - - if(initialized) - { - return; - } - } - - /** - * Returns the version of your server (1.x) - * - * @return The version number - */ - public static int getVersion() - { - if(!initialized) - { - initialize(); - } - return version; - } - - /** - * Determine if {@link #packetConstructor}, {@link #getHandle}, - * {@link #playerConnection} and {@link #sendPacket} are initialized - * - * @return Whether these fields are initialized or not - * @see #initialize() - */ - public static boolean isInitialized() - { - return initialized; - } - - /** - * Initializes {@link #packet} with all set values - * - * @param center - * Center location of the effect - * @throws PacketInstantiationException - * If instantion fails due to an unknown error - */ - private void initializePacket(Location center) throws PacketInstantiationException - { - if(packet != null) - { - return; - } - try - { - packet = packetConstructor.newInstance(); - - if(version < 8) - { - String name = effect.getName(); - if(data != null) - { - name += data.getPacketDataString(); - } - ReflectionUtils.setValue(packet, true, "a", name); - } - else - { - ReflectionUtils.setValue(packet, true, "a", enumParticle.getEnumConstants()[effect.getId()]); - ReflectionUtils.setValue(packet, true, "j", longDistance); - if(data != null) - { - int[] packetData = data.getPacketData(); - ReflectionUtils.setValue(packet, true, "k", effect == ParticleEffect.ITEM_CRACK ? packetData : new int[] {packetData[0] | (packetData[1] << 12)}); - } - } - ReflectionUtils.setValue(packet, true, "b", (float) center.getX()); - ReflectionUtils.setValue(packet, true, "c", (float) center.getY()); - ReflectionUtils.setValue(packet, true, "d", (float) center.getZ()); - ReflectionUtils.setValue(packet, true, "e", offsetX); - ReflectionUtils.setValue(packet, true, "f", offsetY); - ReflectionUtils.setValue(packet, true, "g", offsetZ); - ReflectionUtils.setValue(packet, true, "h", speed); - ReflectionUtils.setValue(packet, true, "i", amount); - } - - catch(Exception exception) - { - - } - } - - /** - * Sends the packet to a single player and caches it - * - * @param center - * Center location of the effect - * @param player - * Receiver of the packet - * @throws PacketInstantiationException - * If instantion fails due to an unknown error - * @throws PacketSendingException - * If sending fails due to an unknown error - * @see #initializePacket(Location) - */ - public void sendTo(Location center, Player player) throws PacketInstantiationException, PacketSendingException - { - initializePacket(center); - try - { - sendPacket.invoke(playerConnection.get(getHandle.invoke(player)), packet); - } - - catch(Exception exception) - { - } - } - - /** - * Sends the packet to all players in the list - * - * @param center - * Center location of the effect - * @param players - * Receivers of the packet - * @throws IllegalArgumentException - * If the player list is empty - * @see #sendTo(Location center, Player player) - */ - public void sendTo(Location center, List players) throws IllegalArgumentException - { - if(players.isEmpty()) - { - throw new IllegalArgumentException("The player list is empty"); - } - for(Player player : players) - { - sendTo(center, player); - } - } - - /** - * Sends the packet to all players in a certain range - * - * @param center - * Center location of the effect - * @param range - * Range in which players will receive the packet (Maximum range for - * particles is usually 16, but it can differ for some types) - * @throws IllegalArgumentException - * If the range is lower than 1 - * @see #sendTo(Location center, Player player) - */ - public void sendTo(Location center, double range) throws IllegalArgumentException - { - if(range < 1) - { - throw new IllegalArgumentException("The range is lower than 1"); - } - String worldName = center.getWorld().getName(); - double squared = range * range; - for(Player player : Bukkit.getOnlinePlayers()) - { - if(!player.getWorld().getName().equals(worldName) || player.getLocation().distanceSquared(center) > squared) - { - continue; - } - sendTo(center, player); - } - } - - /** - * Represents a runtime exception that is thrown if a bukkit version is not - * compatible with this library - *

- * This class is part of the ParticleEffect Library and follows the same - * usage conditions - * - * @author DarkBlade12 - * @since 1.5 - */ - private static final class VersionIncompatibleException extends RuntimeException - { - private static final long serialVersionUID = 3203085387160737484L; - - /** - * Construct a new version incompatible exception - * - * @param message - * Message that will be logged - * @param cause - * Cause of the exception - */ - public VersionIncompatibleException(String message, Throwable cause) - { - super(message, cause); - } - } - - /** - * Represents a runtime exception that is thrown if packet instantiation fails - *

- * This class is part of the ParticleEffect Library and follows the same - * usage conditions - * - * @author DarkBlade12 - * @since 1.4 - */ - private static final class PacketInstantiationException extends RuntimeException - { - private static final long serialVersionUID = 3203085387160737484L; - - /** - * Construct a new packet instantiation exception - * - * @param message - * Message that will be logged - * @param cause - * Cause of the exception - */ - public PacketInstantiationException(String message, Throwable cause) - { - super(message, cause); - } - } - - /** - * Represents a runtime exception that is thrown if packet sending fails - *

- * This class is part of the ParticleEffect Library and follows the same - * usage conditions - * - * @author DarkBlade12 - * @since 1.4 - */ - private static final class PacketSendingException extends RuntimeException - { - private static final long serialVersionUID = 3203085387160737484L; - - /** - * Construct a new packet sending exception - * - * @param message - * Message that will be logged - * @param cause - * Cause of the exception - */ - public PacketSendingException(String message, Throwable cause) - { - super(message, cause); - } - } - } -} \ No newline at end of file diff --git a/src/main/java/ninja/bytecode/iris/util/ParticleRedstone.java b/src/main/java/ninja/bytecode/iris/util/ParticleRedstone.java deleted file mode 100644 index 369b0fb7c..000000000 --- a/src/main/java/ninja/bytecode/iris/util/ParticleRedstone.java +++ /dev/null @@ -1,56 +0,0 @@ -package ninja.bytecode.iris.util; - -import java.awt.Color; - -import org.bukkit.Location; -import org.bukkit.entity.Player; - -import ninja.bytecode.iris.util.ParticleEffect.OrdinaryColor; - -public class ParticleRedstone extends ParticleBase implements ColoredEffect -{ - private Color color; - private float size; - - public ParticleRedstone() - { - this.color = Color.WHITE; - size = 1f; - } - - @Override - public void play(Location l, double range) - { - ParticleEffect.REDSTONE.display(new OrdinaryColor(getColor().getRed(), getColor().getGreen(), getColor().getBlue()), l , range); - } - - @Override - public void play(Location l, Player p) - { - ParticleEffect.REDSTONE.display(new OrdinaryColor(getColor().getRed(), getColor().getGreen(), getColor().getBlue()), l , p); - } - - @Override - public ParticleRedstone setColor(Color color) - { - this.color = color; - return this; - } - - @Override - public Color getColor() - { - return color; - } - - public ParticleRedstone setSize(float size) - { - this.size = size; - return this; - } - - public float getSize() - { - return size; - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/PerformanceMode.java b/src/main/java/ninja/bytecode/iris/util/PerformanceMode.java deleted file mode 100644 index 3dfc3279f..000000000 --- a/src/main/java/ninja/bytecode/iris/util/PerformanceMode.java +++ /dev/null @@ -1,11 +0,0 @@ -package ninja.bytecode.iris.util; - -public enum PerformanceMode -{ - SINGLE_THREADED, - UNLIMITED, - MATCH_CPU, - DOUBLE_CPU, - HALF_CPU, - EXPLICIT, -} diff --git a/src/main/java/ninja/bytecode/iris/util/PerlinNoise.java b/src/main/java/ninja/bytecode/iris/util/PerlinNoise.java new file mode 100644 index 000000000..6b74faf34 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/PerlinNoise.java @@ -0,0 +1,175 @@ +package ninja.bytecode.iris.util; + +import java.util.Random; + +public class PerlinNoise extends BasePerlinNoiseGenerator +{ + + /** + * Creates an instance using the given PRNG. + * + * @param rand + * the PRNG used to generate the seed permutation + */ + public PerlinNoise(Random rand) + { + offsetX = rand.nextDouble() * 256; + offsetY = rand.nextDouble() * 256; + offsetZ = rand.nextDouble() * 256; + // The only reason why I'm re-implementing the constructor code is that I've + // read + // on at least 3 different sources that the permutation table should initially + // be + // populated with indices. + // "The permutation table is his answer to the issue of random numbers. + // First take an array of decent length, usually 256 values. Fill it + // sequentially with each + // number in that range: so index 1 gets 1, index 8 gets 8, index 251 gets 251, + // etc... + // Then randomly shuffle the values so you have a table of 256 random values, + // but only + // contains the values between 0 and 255." + // source: https://code.google.com/p/fractalterraingeneration/wiki/Perlin_Noise + for(int i = 0; i < 256; i++) + { + perm[i] = i; + } + for(int i = 0; i < 256; i++) + { + int pos = rand.nextInt(256 - i) + i; + int old = perm[i]; + perm[i] = perm[pos]; + perm[pos] = old; + perm[i + 256] = perm[i]; + } + } + + public static int floor(double x) + { + int floored = (int) x; + return x < floored ? floored - 1 : floored; + } + + /** + * Generates a rectangular section of this generator's noise. + * + * @param noise + * the output of the previous noise layer + * @param x + * the X offset + * @param y + * the Y offset + * @param z + * the Z offset + * @param sizeX + * the size on the X axis + * @param sizeY + * the size on the Y axis + * @param sizeZ + * the size on the Z axis + * @param scaleX + * the X scale parameter + * @param scaleY + * the Y scale parameter + * @param scaleZ + * the Z scale parameter + * @param amplitude + * the amplitude parameter + * @return {@code noise} with this layer of noise added + */ + public double[] getNoise(double[] noise, double x, double y, double z, int sizeX, int sizeY, int sizeZ, double scaleX, double scaleY, double scaleZ, double amplitude) + { + if(sizeY == 1) + { + return get2dNoise(noise, x, z, sizeX, sizeZ, scaleX, scaleZ, amplitude); + } + else + { + return get3dNoise(noise, x, y, z, sizeX, sizeY, sizeZ, scaleX, scaleY, scaleZ, amplitude); + } + } + + protected double[] get2dNoise(double[] noise, double x, double z, int sizeX, int sizeZ, double scaleX, double scaleZ, double amplitude) + { + int index = 0; + for(int i = 0; i < sizeX; i++) + { + double dx = x + offsetX + i * scaleX; + int floorX = floor(dx); + int ix = floorX & 255; + dx -= floorX; + double fx = fade(dx); + for(int j = 0; j < sizeZ; j++) + { + double dz = z + offsetZ + j * scaleZ; + int floorZ = floor(dz); + int iz = floorZ & 255; + dz -= floorZ; + double fz = fade(dz); + // Hash coordinates of the square corners + int a = perm[ix]; + int aa = perm[a] + iz; + int b = perm[ix + 1]; + int ba = perm[b] + iz; + double x1 = lerp(fx, grad(perm[aa], dx, 0, dz), grad(perm[ba], dx - 1, 0, dz)); + double x2 = lerp(fx, grad(perm[aa + 1], dx, 0, dz - 1), grad(perm[ba + 1], dx - 1, 0, dz - 1)); + noise[index++] += lerp(fz, x1, x2) * amplitude; + } + } + return noise; + } + + protected double[] get3dNoise(double[] noise, double x, double y, double z, int sizeX, int sizeY, int sizeZ, double scaleX, double scaleY, double scaleZ, double amplitude) + { + int n = -1; + double x1 = 0; + double x2 = 0; + double x3 = 0; + double x4 = 0; + int index = 0; + for(int i = 0; i < sizeX; i++) + { + double dx = x + offsetX + i * scaleX; + int floorX = floor(dx); + int ix = floorX & 255; + dx -= floorX; + double fx = fade(dx); + for(int j = 0; j < sizeZ; j++) + { + double dz = z + offsetZ + j * scaleZ; + int floorZ = floor(dz); + int iz = floorZ & 255; + dz -= floorZ; + double fz = fade(dz); + for(int k = 0; k < sizeY; k++) + { + double dy = y + offsetY + k * scaleY; + int floorY = floor(dy); + int iy = floorY & 255; + dy -= floorY; + double fy = fade(dy); + if(k == 0 || iy != n) + { + n = iy; + // Hash coordinates of the cube corners + int a = perm[ix] + iy; + int aa = perm[a] + iz; + int ab = perm[a + 1] + iz; + int b = perm[ix + 1] + iy; + int ba = perm[b] + iz; + int bb = perm[b + 1] + iz; + x1 = lerp(fx, grad(perm[aa], dx, dy, dz), grad(perm[ba], dx - 1, dy, dz)); + x2 = lerp(fx, grad(perm[ab], dx, dy - 1, dz), grad(perm[bb], dx - 1, dy - 1, dz)); + x3 = lerp(fx, grad(perm[aa + 1], dx, dy, dz - 1), grad(perm[ba + 1], dx - 1, dy, dz - 1)); + x4 = lerp(fx, grad(perm[ab + 1], dx, dy - 1, dz - 1), grad(perm[bb + 1], dx - 1, dy - 1, dz - 1)); + } + double y1 = lerp(fy, x1, x2); + double y2 = lerp(fy, x3, x4); + + noise[index++] += lerp(fz, y1, y2) * amplitude; + } + } + } + return noise; + } +} \ No newline at end of file diff --git a/src/main/java/ninja/bytecode/iris/util/Placer.java b/src/main/java/ninja/bytecode/iris/util/Placer.java deleted file mode 100644 index d0450fb3e..000000000 --- a/src/main/java/ninja/bytecode/iris/util/Placer.java +++ /dev/null @@ -1,24 +0,0 @@ -package ninja.bytecode.iris.util; - -import org.bukkit.World; - -public abstract class Placer implements IPlacer -{ - protected final World world; - - public Placer(World world) - { - this.world = world; - } - - @Override - public World getWorld() - { - return world; - } - - public void flush() - { - - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/PolygonGenerator.java b/src/main/java/ninja/bytecode/iris/util/PolygonGenerator.java deleted file mode 100644 index 3f8795e76..000000000 --- a/src/main/java/ninja/bytecode/iris/util/PolygonGenerator.java +++ /dev/null @@ -1,219 +0,0 @@ -package ninja.bytecode.iris.util; - -import java.util.function.Function; - -import mortar.lang.collection.GList; -import mortar.lang.collection.GMap; -import ninja.bytecode.shuriken.math.CNG; -import ninja.bytecode.shuriken.math.M; -import ninja.bytecode.shuriken.math.RNG; - -public class PolygonGenerator -{ - private double[] rarity; - private CNG[] gen; - private int bits; - private int possibilities; - private boolean useRarity; - - public PolygonGenerator(RNG rng, int possibilities, double scale, int octaves, Function factory) - { - useRarity = false; - bits = 1; - this.possibilities = possibilities; - - while(Math.pow(2, bits) <= possibilities) - { - bits++; - } - - bits++; - bits = bits > 32 ? 32 : bits; - rarity = new double[possibilities]; - gen = new CNG[bits]; - - for(int i = 0; i < bits; i++) - { - gen[i] = new CNG(rng.nextParallelRNG(2118 + (i * 3305)), 1D, 1).scale(scale / possibilities); - gen[i] = factory.apply(gen[i]); - } - } - - public PolygonGenerator useRarity() - { - useRarity = true; - return this; - } - - public void setRarity(int index, double r) - { - rarity[index] = 1D - Math.pow(0.5, r); - } - - public boolean hasBorder(int checks, double distance, double... dims) - { - int current = getIndex(dims); - double ajump = 360D / (double) checks; - - if(dims.length == 2) - { - for(int i = 0; i < checks; i++) - { - double dx = M.sin((float) Math.toRadians(ajump * i)); - double dz = M.cos((float) Math.toRadians(ajump * i)); - if(current != getIndex((dx * distance) + dims[0], (dz * distance) + dims[1])) - { - return true; - } - } - } - - if(dims.length == 3) - { - for(int i = 0; i < checks; i++) - { - double dx = M.sin((float) Math.toRadians(ajump * i)); - double dz = M.cos((float) Math.toRadians(ajump * i)); - double dy = Math.tan(Math.toRadians(ajump * i)); - if(current != getIndex((dx * distance) + dims[0], (dz * distance) + dims[1], (dy * distance) + dims[2])) - { - return true; - } - } - } - - return false; - } - - public boolean hasBorder3D(int checks, double distance, double... dims) - { - int current = getIndex(dims); - double ajump = 360D / (double) checks; - int hit = -1; - - if(dims.length == 3) - { - for(int i = 0; i < checks; i++) - { - double dx = M.sin((float) Math.toRadians(ajump * i)); - double dz = M.cos((float) Math.toRadians(ajump * i)); - double dy = Math.tan(Math.toRadians(ajump * i)); - int d = getIndex((dx * distance) + dims[0], (dz * distance) + dims[1], (dy * distance) + dims[2]); - if(current != d) - { - if(hit >= 0 && hit != current && hit != d) - { - return true; - } - - if(hit < 0) - { - hit = d; - } - } - } - } - - return false; - } - - /** - * Returns 0.0 to 1.0 where 0.0 is directly on the border of another region and - * 1.0 is perfectly in the center of a region - * - * @param x - * the x - * @param z - * the z - * @return the closest neighbor threshold. - */ - public double getClosestNeighbor(double... dim) - { - double closest = 0.5; - - for(int i = 0; i < gen.length; i++) - { - double distance = Math.abs(gen[i].noise(dim) - 0.5); - - if(distance < closest) - { - closest = distance; - } - } - - return (closest * 2); - } - - public int getIndex(double... dim) - { - int data = 0; - int adjusted = 0; - double[] noise = new double[gen.length]; - - for(int i = 0; i < gen.length; i++) - { - data |= (noise[i] = gen[i].noise(dim)) > 0.5 ? i == 0 ? 1 : 1 << i : 0; - } - - if(!useRarity) - { - return data % possibilities; - } - - double r = rarity[data % possibilities]; - - for(int i = 0; i < gen.length; i++) - { - adjusted |= noise[i] > r ? i == 0 ? 1 : 1 << i : 0; - } - - return adjusted % possibilities; - } - - public static class EnumPolygonGenerator extends PolygonGenerator - { - private T[] choices; - - public EnumPolygonGenerator(RNG rng, double scale, int octaves, T[] choices, Function factory) - { - super(rng, choices.length, scale / (double) choices.length, octaves, factory); - this.choices = choices; - } - - public EnumPolygonGenerator useRarity() - { - super.useRarity(); - return this; - } - - @SuppressWarnings("unchecked") - public EnumPolygonGenerator(RNG rng, double scale, int octaves, GList c, GMap choiceRarities, Function factory) - { - super(rng, choiceRarities.size(), scale / (double) choiceRarities.size(), octaves, factory); - this.choices = (T[]) c.toArray(); - int m = 0; - - for(T i : c) - { - setRarity(m++, choiceRarities.get(i)); - } - } - - public void setRarity(T t, double rarity) - { - for(int i = 0; i < choices.length; i++) - { - if(choices[i].equals(t)) - { - setRarity(i, rarity); - return; - } - } - } - - public T getChoice(double... dim) - { - return choices[getIndex(dim)]; - } - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/PrepackagedChunk.java b/src/main/java/ninja/bytecode/iris/util/PrepackagedChunk.java deleted file mode 100644 index da6344608..000000000 --- a/src/main/java/ninja/bytecode/iris/util/PrepackagedChunk.java +++ /dev/null @@ -1,37 +0,0 @@ -package ninja.bytecode.iris.util; - -import org.bukkit.block.Biome; - -import ninja.bytecode.iris.generator.atomics.AtomicChunkData; - -public class PrepackagedChunk -{ - private AtomicChunkData data; - private Biome[] biome; - - public PrepackagedChunk(AtomicChunkData data, Biome[] biome) - { - this.data = data; - this.biome = biome; - } - - public AtomicChunkData getData() - { - return data; - } - - public void setData(AtomicChunkData data) - { - this.data = data; - } - - public Biome[] getBiome() - { - return biome; - } - - public void setBiome(Biome[] biome) - { - this.biome = biome; - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/RNG.java b/src/main/java/ninja/bytecode/iris/util/RNG.java new file mode 100644 index 000000000..f14330f1f --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/RNG.java @@ -0,0 +1,176 @@ +package ninja.bytecode.iris.util; + +import java.nio.charset.StandardCharsets; +import java.util.Random; +import java.util.UUID; + +public class RNG extends Random +{ + private static final char[] CHARGEN = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-=!@#$%^&*()_+`~[];',./<>?:\\\"{}|\\\\".toCharArray(); + private static final long serialVersionUID = 5222938581174415179L; + public static final RNG r = new RNG(); + private final long sx; + public RNG() + { + super(); + sx = 0; + } + + public RNG(long seed) + { + super(seed); + this.sx = seed; + } + + /** + * Creates a seed (long) from the hash of the seed string + * + * @param seed + * the seed (string) + */ + public RNG(String seed) + { + this(UUID.nameUUIDFromBytes(seed.getBytes(StandardCharsets.UTF_8)).getLeastSignificantBits() + UUID.nameUUIDFromBytes(seed.getBytes(StandardCharsets.UTF_8)).getMostSignificantBits() + (seed.length() * 32564)); + } + + public RNG nextParallelRNG(int signature) + { + return new RNG(sx + signature); + } + + @Deprecated + public RNG nextRNG() + { + return new RNG(nextLong()); + } + + public String s(int length) + { + StringBuilder sb = new StringBuilder(); + + for(int i = 0; i < length; i++) + { + sb.append(c()); + } + + return sb.toString(); + } + + public char c() + { + return CHARGEN[i(CHARGEN.length - 1)]; + } + + /** + * Pick a random enum + * + * @param t + * the enum class + * @return the enum + */ + public T e(Class t) + { + T[] c = t.getEnumConstants(); + return c[i(c.length)]; + } + + public boolean b() + { + return nextBoolean(); + } + + public boolean b(double percent) + { + return d() > percent; + } + + public short si(int lowerBound, int upperBound) + { + return (short) (lowerBound + (nextFloat() * ((upperBound - lowerBound) + 1))); + } + + public short si(int upperBound) + { + return si(0, upperBound); + } + + public short si() + { + return si(1); + } + + public float f(float lowerBound, float upperBound) + { + return lowerBound + (nextFloat() * ((upperBound - lowerBound))); + } + + public float f(float upperBound) + { + return f(0, upperBound); + } + + public float f() + { + return f(1); + } + + public double d(double lowerBound, double upperBound) + { + return lowerBound + (nextDouble() * ((upperBound - lowerBound))); + } + + public double d(double upperBound) + { + return d(0, upperBound); + } + + public double d() + { + return d(1); + } + + public int i(int lowerBound, int upperBound) + { + return (int) Math.round(d(lowerBound, upperBound)); + } + + public int i(int upperBound) + { + return i(0, upperBound); + } + + public long l(long lowerBound, long upperBound) + { + return Math.round(d(lowerBound, upperBound)); + } + + public long l(long upperBound) + { + return l(0, upperBound); + } + + public int imax() + { + return i(Integer.MIN_VALUE, Integer.MAX_VALUE); + } + + public long lmax() + { + return l(Long.MIN_VALUE, Long.MAX_VALUE); + } + + public float fmax() + { + return f(Float.MIN_VALUE, Float.MAX_VALUE); + } + + public double dmax() + { + return d(Double.MIN_VALUE, Double.MAX_VALUE); + } + + public short simax() + { + return si(Short.MIN_VALUE, Short.MAX_VALUE); + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/RealBiome.java b/src/main/java/ninja/bytecode/iris/util/RealBiome.java deleted file mode 100644 index 18aa2c97a..000000000 --- a/src/main/java/ninja/bytecode/iris/util/RealBiome.java +++ /dev/null @@ -1,44 +0,0 @@ -package ninja.bytecode.iris.util; - -import org.bukkit.Material; -import org.bukkit.block.Biome; - -import net.minecraft.server.v1_12_R1.BiomeBase; -import net.minecraft.server.v1_12_R1.Block; -import net.minecraft.server.v1_12_R1.IBlockData; -import ninja.bytecode.shuriken.format.Form; - -public class RealBiome -{ - private Biome b; - private double temperature; - private double height; - private double humidity; - private MB surface; - private MB dirt; - - public RealBiome(Biome b) - { - this.b = b; - BiomeBase base = BiomeBase.a(b.ordinal()); - surface = toMB(base.q); - dirt = toMB(base.r); - temperature = base.getTemperature(); - humidity = base.getHumidity(); - height = base.j(); - } - - public String toString() - { - return Form.capitalizeWords(b.toString().toLowerCase().replaceAll("\\Q_\\E", " ")) + " Temp: " + temperature + " Humidity: " + humidity + " Height: " + height + " Surf: " + Form.capitalizeWords(surface.material.toString().replaceAll("_", " ").toLowerCase())+ " Dirt: " + Form.capitalizeWords(dirt.material.toString().replaceAll("_", " ").toLowerCase()); - } - - @SuppressWarnings("deprecation") - public MB toMB(IBlockData d) - { - int i = Block.getCombinedId(d); - int j = i & 4095; - int k = i >> 12 & 15; - return new MB(Material.getMaterial(j), k); - } -} \ No newline at end of file diff --git a/src/main/java/ninja/bytecode/iris/util/ReflectionUtils.java b/src/main/java/ninja/bytecode/iris/util/ReflectionUtils.java deleted file mode 100644 index 8df919aea..000000000 --- a/src/main/java/ninja/bytecode/iris/util/ReflectionUtils.java +++ /dev/null @@ -1,822 +0,0 @@ -package ninja.bytecode.iris.util; -import java.lang.reflect.Constructor; -import java.lang.reflect.Field; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.util.HashMap; -import java.util.Map; - -import org.bukkit.Bukkit; - -/** - * ReflectionUtils - *

- * This class provides useful methods which makes dealing with reflection much - * easier, especially when working with Bukkit - *

- * You are welcome to use it, modify it and redistribute it under the following - * conditions: - *

    - *
  • Don't claim this class as your own - *
  • Don't remove this disclaimer - *
- *

- * It would be nice if you provide credit to me if you use this class in a - * published project - * - * @author DarkBlade12 - * @version 1.1 - */ -public final class ReflectionUtils -{ - // Prevent accidental construction - private ReflectionUtils() - { - - } - - /** - * Returns the constructor of a given class with the given parameter types - * - * @param clazz - * Target class - * @param parameterTypes - * Parameter types of the desired constructor - * @return The constructor of the target class with the specified parameter - * types - * @throws NoSuchMethodException - * If the desired constructor with the specified parameter types - * cannot be found - * @see DataType - * @see DataType#getPrimitive(Class[]) - * @see DataType#compare(Class[], Class[]) - */ - public static Constructor getConstructor(Class clazz, Class... parameterTypes) throws NoSuchMethodException - { - Class[] primitiveTypes = DataType.getPrimitive(parameterTypes); - for(Constructor constructor : clazz.getConstructors()) - { - if(!DataType.compare(DataType.getPrimitive(constructor.getParameterTypes()), primitiveTypes)) - { - continue; - } - return constructor; - } - throw new NoSuchMethodException("There is no such constructor in this class with the specified parameter types"); - } - - /** - * Returns the constructor of a desired class with the given parameter types - * - * @param className - * Name of the desired target class - * @param packageType - * Package where the desired target class is located - * @param parameterTypes - * Parameter types of the desired constructor - * @return The constructor of the desired target class with the specified - * parameter types - * @throws NoSuchMethodException - * If the desired constructor with the specified parameter types - * cannot be found - * @throws ClassNotFoundException - * ClassNotFoundException If the desired target class with the - * specified name and package cannot be found - * @see #getConstructor(Class, Class...) - */ - public static Constructor getConstructor(String className, PackageType packageType, Class... parameterTypes) throws NoSuchMethodException, ClassNotFoundException - { - return getConstructor(packageType.getClass(className), parameterTypes); - } - - /** - * Returns an instance of a class with the given arguments - * - * @param clazz - * Target class - * @param arguments - * Arguments which are used to construct an object of the target - * class - * @return The instance of the target class with the specified arguments - * @throws InstantiationException - * If you cannot create an instance of the target class due to - * certain circumstances - * @throws IllegalAccessException - * If the desired constructor cannot be accessed due to certain - * circumstances - * @throws IllegalArgumentException - * If the types of the arguments do not match the parameter - * types of the constructor (this should not occur since it - * searches for a constructor with the types of the arguments) - * @throws InvocationTargetException - * If the desired constructor cannot be invoked - * @throws NoSuchMethodException - * If the desired constructor with the specified arguments - * cannot be found - */ - public static Object instantiateObject(Class clazz, Object... arguments) throws InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException - { - return getConstructor(clazz, DataType.getPrimitive(arguments)).newInstance(arguments); - } - - /** - * Returns an instance of a desired class with the given arguments - * - * @param className - * Name of the desired target class - * @param packageType - * Package where the desired target class is located - * @param arguments - * Arguments which are used to construct an object of the desired - * target class - * @return The instance of the desired target class with the specified - * arguments - * @throws InstantiationException - * If you cannot create an instance of the desired target class - * due to certain circumstances - * @throws IllegalAccessException - * If the desired constructor cannot be accessed due to certain - * circumstances - * @throws IllegalArgumentException - * If the types of the arguments do not match the parameter - * types of the constructor (this should not occur since it - * searches for a constructor with the types of the arguments) - * @throws InvocationTargetException - * If the desired constructor cannot be invoked - * @throws NoSuchMethodException - * If the desired constructor with the specified arguments - * cannot be found - * @throws ClassNotFoundException - * If the desired target class with the specified name and - * package cannot be found - * @see #instantiateObject(Class, Object...) - */ - public static Object instantiateObject(String className, PackageType packageType, Object... arguments) throws InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException, ClassNotFoundException - { - return instantiateObject(packageType.getClass(className), arguments); - } - - /** - * Returns a method of a class with the given parameter types - * - * @param clazz - * Target class - * @param methodName - * Name of the desired method - * @param parameterTypes - * Parameter types of the desired method - * @return The method of the target class with the specified name and - * parameter types - * @throws NoSuchMethodException - * If the desired method of the target class with the specified - * name and parameter types cannot be found - * @see DataType#getPrimitive(Class[]) - * @see DataType#compare(Class[], Class[]) - */ - public static Method getMethod(Class clazz, String methodName, Class... parameterTypes) throws NoSuchMethodException - { - Class[] primitiveTypes = DataType.getPrimitive(parameterTypes); - for(Method method : clazz.getMethods()) - { - if(!method.getName().equals(methodName) || !DataType.compare(DataType.getPrimitive(method.getParameterTypes()), primitiveTypes)) - { - continue; - } - return method; - } - throw new NoSuchMethodException("There is no such method in this class with the specified name and parameter types"); - } - - /** - * Returns a method of a desired class with the given parameter types - * - * @param className - * Name of the desired target class - * @param packageType - * Package where the desired target class is located - * @param methodName - * Name of the desired method - * @param parameterTypes - * Parameter types of the desired method - * @return The method of the desired target class with the specified name - * and parameter types - * @throws NoSuchMethodException - * If the desired method of the desired target class with the - * specified name and parameter types cannot be found - * @throws ClassNotFoundException - * If the desired target class with the specified name and - * package cannot be found - * @see #getMethod(Class, String, Class...) - */ - public static Method getMethod(String className, PackageType packageType, String methodName, Class... parameterTypes) throws NoSuchMethodException, ClassNotFoundException - { - return getMethod(packageType.getClass(className), methodName, parameterTypes); - } - - /** - * Invokes a method on an object with the given arguments - * - * @param instance - * Target object - * @param methodName - * Name of the desired method - * @param arguments - * Arguments which are used to invoke the desired method - * @return The result of invoking the desired method on the target object - * @throws IllegalAccessException - * If the desired method cannot be accessed due to certain - * circumstances - * @throws IllegalArgumentException - * If the types of the arguments do not match the parameter - * types of the method (this should not occur since it searches - * for a method with the types of the arguments) - * @throws InvocationTargetException - * If the desired method cannot be invoked on the target object - * @throws NoSuchMethodException - * If the desired method of the class of the target object with - * the specified name and arguments cannot be found - * @see #getMethod(Class, String, Class...) - * @see DataType#getPrimitive(Object[]) - */ - public static Object invokeMethod(Object instance, String methodName, Object... arguments) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException - { - return getMethod(instance.getClass(), methodName, DataType.getPrimitive(arguments)).invoke(instance, arguments); - } - - /** - * Invokes a method of the target class on an object with the given - * arguments - * - * @param instance - * Target object - * @param clazz - * Target class - * @param methodName - * Name of the desired method - * @param arguments - * Arguments which are used to invoke the desired method - * @return The result of invoking the desired method on the target object - * @throws IllegalAccessException - * If the desired method cannot be accessed due to certain - * circumstances - * @throws IllegalArgumentException - * If the types of the arguments do not match the parameter - * types of the method (this should not occur since it searches - * for a method with the types of the arguments) - * @throws InvocationTargetException - * If the desired method cannot be invoked on the target object - * @throws NoSuchMethodException - * If the desired method of the target class with the specified - * name and arguments cannot be found - * @see #getMethod(Class, String, Class...) - * @see DataType#getPrimitive(Object[]) - */ - public static Object invokeMethod(Object instance, Class clazz, String methodName, Object... arguments) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException - { - return getMethod(clazz, methodName, DataType.getPrimitive(arguments)).invoke(instance, arguments); - } - - /** - * Invokes a method of a desired class on an object with the given arguments - * - * @param instance - * Target object - * @param className - * Name of the desired target class - * @param packageType - * Package where the desired target class is located - * @param methodName - * Name of the desired method - * @param arguments - * Arguments which are used to invoke the desired method - * @return The result of invoking the desired method on the target object - * @throws IllegalAccessException - * If the desired method cannot be accessed due to certain - * circumstances - * @throws IllegalArgumentException - * If the types of the arguments do not match the parameter - * types of the method (this should not occur since it searches - * for a method with the types of the arguments) - * @throws InvocationTargetException - * If the desired method cannot be invoked on the target object - * @throws NoSuchMethodException - * If the desired method of the desired target class with the - * specified name and arguments cannot be found - * @throws ClassNotFoundException - * If the desired target class with the specified name and - * package cannot be found - * @see #invokeMethod(Object, Class, String, Object...) - */ - public static Object invokeMethod(Object instance, String className, PackageType packageType, String methodName, Object... arguments) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException, ClassNotFoundException - { - return invokeMethod(instance, packageType.getClass(className), methodName, arguments); - } - - /** - * Returns a field of the target class with the given name - * - * @param clazz - * Target class - * @param declared - * Whether the desired field is declared or not - * @param fieldName - * Name of the desired field - * @return The field of the target class with the specified name - * @throws NoSuchFieldException - * If the desired field of the given class cannot be found - * @throws SecurityException - * If the desired field cannot be made accessible - */ - public static Field getField(Class clazz, boolean declared, String fieldName) throws NoSuchFieldException, SecurityException - { - Field field = declared ? clazz.getDeclaredField(fieldName) : clazz.getField(fieldName); - field.setAccessible(true); - return field; - } - - /** - * Returns a field of a desired class with the given name - * - * @param className - * Name of the desired target class - * @param packageType - * Package where the desired target class is located - * @param declared - * Whether the desired field is declared or not - * @param fieldName - * Name of the desired field - * @return The field of the desired target class with the specified name - * @throws NoSuchFieldException - * If the desired field of the desired class cannot be found - * @throws SecurityException - * If the desired field cannot be made accessible - * @throws ClassNotFoundException - * If the desired target class with the specified name and - * package cannot be found - * @see #getField(Class, boolean, String) - */ - public static Field getField(String className, PackageType packageType, boolean declared, String fieldName) throws NoSuchFieldException, SecurityException, ClassNotFoundException - { - return getField(packageType.getClass(className), declared, fieldName); - } - - /** - * Returns the value of a field of the given class of an object - * - * @param instance - * Target object - * @param clazz - * Target class - * @param declared - * Whether the desired field is declared or not - * @param fieldName - * Name of the desired field - * @return The value of field of the target object - * @throws IllegalArgumentException - * If the target object does not feature the desired field - * @throws IllegalAccessException - * If the desired field cannot be accessed - * @throws NoSuchFieldException - * If the desired field of the target class cannot be found - * @throws SecurityException - * If the desired field cannot be made accessible - * @see #getField(Class, boolean, String) - */ - public static Object getValue(Object instance, Class clazz, boolean declared, String fieldName) throws IllegalArgumentException, IllegalAccessException, NoSuchFieldException, SecurityException - { - return getField(clazz, declared, fieldName).get(instance); - } - - /** - * Returns the value of a field of a desired class of an object - * - * @param instance - * Target object - * @param className - * Name of the desired target class - * @param packageType - * Package where the desired target class is located - * @param declared - * Whether the desired field is declared or not - * @param fieldName - * Name of the desired field - * @return The value of field of the target object - * @throws IllegalArgumentException - * If the target object does not feature the desired field - * @throws IllegalAccessException - * If the desired field cannot be accessed - * @throws NoSuchFieldException - * If the desired field of the desired class cannot be found - * @throws SecurityException - * If the desired field cannot be made accessible - * @throws ClassNotFoundException - * If the desired target class with the specified name and - * package cannot be found - * @see #getValue(Object, Class, boolean, String) - */ - public static Object getValue(Object instance, String className, PackageType packageType, boolean declared, String fieldName) throws IllegalArgumentException, IllegalAccessException, NoSuchFieldException, SecurityException, ClassNotFoundException - { - return getValue(instance, packageType.getClass(className), declared, fieldName); - } - - /** - * Returns the value of a field with the given name of an object - * - * @param instance - * Target object - * @param declared - * Whether the desired field is declared or not - * @param fieldName - * Name of the desired field - * @return The value of field of the target object - * @throws IllegalArgumentException - * If the target object does not feature the desired field - * (should not occur since it searches for a field with the - * given name in the class of the object) - * @throws IllegalAccessException - * If the desired field cannot be accessed - * @throws NoSuchFieldException - * If the desired field of the target object cannot be found - * @throws SecurityException - * If the desired field cannot be made accessible - * @see #getValue(Object, Class, boolean, String) - */ - public static Object getValue(Object instance, boolean declared, String fieldName) throws IllegalArgumentException, IllegalAccessException, NoSuchFieldException, SecurityException - { - return getValue(instance, instance.getClass(), declared, fieldName); - } - - /** - * Sets the value of a field of the given class of an object - * - * @param instance - * Target object - * @param clazz - * Target class - * @param declared - * Whether the desired field is declared or not - * @param fieldName - * Name of the desired field - * @param value - * New value - * @throws IllegalArgumentException - * If the type of the value does not match the type of the - * desired field - * @throws IllegalAccessException - * If the desired field cannot be accessed - * @throws NoSuchFieldException - * If the desired field of the target class cannot be found - * @throws SecurityException - * If the desired field cannot be made accessible - * @see #getField(Class, boolean, String) - */ - public static void setValue(Object instance, Class clazz, boolean declared, String fieldName, Object value) throws IllegalArgumentException, IllegalAccessException, NoSuchFieldException, SecurityException - { - getField(clazz, declared, fieldName).set(instance, value); - } - - /** - * Sets the value of a field of a desired class of an object - * - * @param instance - * Target object - * @param className - * Name of the desired target class - * @param packageType - * Package where the desired target class is located - * @param declared - * Whether the desired field is declared or not - * @param fieldName - * Name of the desired field - * @param value - * New value - * @throws IllegalArgumentException - * If the type of the value does not match the type of the - * desired field - * @throws IllegalAccessException - * If the desired field cannot be accessed - * @throws NoSuchFieldException - * If the desired field of the desired class cannot be found - * @throws SecurityException - * If the desired field cannot be made accessible - * @throws ClassNotFoundException - * If the desired target class with the specified name and - * package cannot be found - * @see #setValue(Object, Class, boolean, String, Object) - */ - public static void setValue(Object instance, String className, PackageType packageType, boolean declared, String fieldName, Object value) throws IllegalArgumentException, IllegalAccessException, NoSuchFieldException, SecurityException, ClassNotFoundException - { - setValue(instance, packageType.getClass(className), declared, fieldName, value); - } - - /** - * Sets the value of a field with the given name of an object - * - * @param instance - * Target object - * @param declared - * Whether the desired field is declared or not - * @param fieldName - * Name of the desired field - * @param value - * New value - * @throws IllegalArgumentException - * If the type of the value does not match the type of the - * desired field - * @throws IllegalAccessException - * If the desired field cannot be accessed - * @throws NoSuchFieldException - * If the desired field of the target object cannot be found - * @throws SecurityException - * If the desired field cannot be made accessible - * @see #setValue(Object, Class, boolean, String, Object) - */ - public static void setValue(Object instance, boolean declared, String fieldName, Object value) throws IllegalArgumentException, IllegalAccessException, NoSuchFieldException, SecurityException - { - setValue(instance, instance.getClass(), declared, fieldName, value); - } - - /** - * Represents an enumeration of dynamic packages of NMS and CraftBukkit - *

- * This class is part of the ReflectionUtils and follows the same - * usage conditions - * - * @author DarkBlade12 - * @since 1.0 - */ - public enum PackageType - { - MINECRAFT_SERVER("net.minecraft.server." + getServerVersion()), CRAFTBUKKIT("org.bukkit.craftbukkit." + getServerVersion()), CRAFTBUKKIT_BLOCK(CRAFTBUKKIT, "block"), CRAFTBUKKIT_CHUNKIO(CRAFTBUKKIT, "chunkio"), CRAFTBUKKIT_COMMAND(CRAFTBUKKIT, "command"), CRAFTBUKKIT_CONVERSATIONS(CRAFTBUKKIT, "conversations"), CRAFTBUKKIT_ENCHANTMENS(CRAFTBUKKIT, "enchantments"), CRAFTBUKKIT_ENTITY(CRAFTBUKKIT, "entity"), CRAFTBUKKIT_EVENT(CRAFTBUKKIT, "event"), CRAFTBUKKIT_GENERATOR(CRAFTBUKKIT, "generator"), CRAFTBUKKIT_HELP(CRAFTBUKKIT, "help"), CRAFTBUKKIT_INVENTORY(CRAFTBUKKIT, "inventory"), CRAFTBUKKIT_MAP(CRAFTBUKKIT, "map"), CRAFTBUKKIT_METADATA(CRAFTBUKKIT, "metadata"), CRAFTBUKKIT_POTION(CRAFTBUKKIT, "potion"), CRAFTBUKKIT_PROJECTILES(CRAFTBUKKIT, "projectiles"), CRAFTBUKKIT_SCHEDULER(CRAFTBUKKIT, "scheduler"), CRAFTBUKKIT_SCOREBOARD(CRAFTBUKKIT, "scoreboard"), CRAFTBUKKIT_UPDATER(CRAFTBUKKIT, "updater"), CRAFTBUKKIT_UTIL(CRAFTBUKKIT, "util"); - - private final String path; - - /** - * Construct a new package type - * - * @param path - * Path of the package - */ - private PackageType(String path) - { - this.path = path; - } - - /** - * Construct a new package type - * - * @param parent - * Parent package of the package - * @param path - * Path of the package - */ - private PackageType(PackageType parent, String path) - { - this(parent + "." + path); - } - - /** - * Returns the path of this package type - * - * @return The path - */ - public String getPath() - { - return path; - } - - /** - * Returns the class with the given name - * - * @param className - * Name of the desired class - * @return The class with the specified name - * @throws ClassNotFoundException - * If the desired class with the specified name and package - * cannot be found - */ - public Class getClass(String className) throws ClassNotFoundException - { - return Class.forName(this + "." + className); - } - - // Override for convenience - @Override - public String toString() - { - return path; - } - - /** - * Returns the version of your server - * - * @return The server version - */ - public static String getServerVersion() - { - return Bukkit.getServer().getClass().getPackage().getName().substring(23); - } - } - - /** - * Represents an enumeration of Java data types with corresponding classes - *

- * This class is part of the ReflectionUtils and follows the same - * usage conditions - * - * @author DarkBlade12 - * @since 1.0 - */ - public enum DataType - { - BYTE(byte.class, Byte.class), SHORT(short.class, Short.class), INTEGER(int.class, Integer.class), LONG(long.class, Long.class), CHARACTER(char.class, Character.class), FLOAT(float.class, Float.class), DOUBLE(double.class, Double.class), BOOLEAN(boolean.class, Boolean.class); - - private static final Map, DataType> CLASS_MAP = new HashMap, DataType>(); - private final Class primitive; - private final Class reference; - - // Initialize map for quick class lookup - static - { - for(DataType type : values()) - { - CLASS_MAP.put(type.primitive, type); - CLASS_MAP.put(type.reference, type); - } - } - - /** - * Construct a new data type - * - * @param primitive - * Primitive class of this data type - * @param reference - * Reference class of this data type - */ - private DataType(Class primitive, Class reference) - { - this.primitive = primitive; - this.reference = reference; - } - - /** - * Returns the primitive class of this data type - * - * @return The primitive class - */ - public Class getPrimitive() - { - return primitive; - } - - /** - * Returns the reference class of this data type - * - * @return The reference class - */ - public Class getReference() - { - return reference; - } - - /** - * Returns the data type with the given primitive/reference class - * - * @param clazz - * Primitive/Reference class of the data type - * @return The data type - */ - public static DataType fromClass(Class clazz) - { - return CLASS_MAP.get(clazz); - } - - /** - * Returns the primitive class of the data type with the given reference - * class - * - * @param clazz - * Reference class of the data type - * @return The primitive class - */ - public static Class getPrimitive(Class clazz) - { - DataType type = fromClass(clazz); - return type == null ? clazz : type.getPrimitive(); - } - - /** - * Returns the reference class of the data type with the given primitive - * class - * - * @param clazz - * Primitive class of the data type - * @return The reference class - */ - public static Class getReference(Class clazz) - { - DataType type = fromClass(clazz); - return type == null ? clazz : type.getReference(); - } - - /** - * Returns the primitive class array of the given class array - * - * @param classes - * Given class array - * @return The primitive class array - */ - public static Class[] getPrimitive(Class[] classes) - { - int length = classes == null ? 0 : classes.length; - Class[] types = new Class[length]; - for(int index = 0; index < length; index++) - { - types[index] = getPrimitive(classes[index]); - } - return types; - } - - /** - * Returns the reference class array of the given class array - * - * @param classes - * Given class array - * @return The reference class array - */ - public static Class[] getReference(Class[] classes) - { - int length = classes == null ? 0 : classes.length; - Class[] types = new Class[length]; - for(int index = 0; index < length; index++) - { - types[index] = getReference(classes[index]); - } - return types; - } - - /** - * Returns the primitive class array of the given object array - * - * @param objects - * Given object array - * @return The primitive class array - */ - public static Class[] getPrimitive(Object[] objects) - { - int length = objects == null ? 0 : objects.length; - Class[] types = new Class[length]; - for(int index = 0; index < length; index++) - { - types[index] = getPrimitive(objects[index].getClass()); - } - return types; - } - - /** - * Returns the reference class array of the given object array - * - * @param objects - * Given object array - * @return The reference class array - */ - public static Class[] getReference(Object[] objects) - { - int length = objects == null ? 0 : objects.length; - Class[] types = new Class[length]; - for(int index = 0; index < length; index++) - { - types[index] = getReference(objects[index].getClass()); - } - return types; - } - - /** - * Compares two class arrays on equivalence - * - * @param primary - * Primary class array - * @param secondary - * Class array which is compared to the primary array - * @return Whether these arrays are equal or not - */ - public static boolean compare(Class[] primary, Class[] secondary) - { - if(primary == null || secondary == null || primary.length != secondary.length) - { - return false; - } - for(int index = 0; index < primary.length; index++) - { - Class primaryClass = primary[index]; - Class secondaryClass = secondary[index]; - if(primaryClass.equals(secondaryClass) || primaryClass.isAssignableFrom(secondaryClass)) - { - continue; - } - return false; - } - return true; - } - } -} \ No newline at end of file diff --git a/src/main/java/ninja/bytecode/iris/util/SBlockVector.java b/src/main/java/ninja/bytecode/iris/util/SBlockVector.java deleted file mode 100644 index f9cd1e181..000000000 --- a/src/main/java/ninja/bytecode/iris/util/SBlockVector.java +++ /dev/null @@ -1,169 +0,0 @@ -package ninja.bytecode.iris.util; - -import org.bukkit.configuration.serialization.SerializableAs; -import org.bukkit.util.BlockVector; -import org.bukkit.util.Vector; - -/** - * A vector with a hash function that floors the X, Y, Z components, a la - * BlockVector in WorldEdit. BlockVectors can be used in hash sets and hash - * maps. Be aware that BlockVectors are mutable, but it is important that - * BlockVectors are never changed once put into a hash set or hash map. - */ -@SerializableAs("BlockVector") -public class SBlockVector -{ - private short x; - private short y; - private short z; - - /** - * Construct the vector with all components as 0. - */ - public SBlockVector() - { - this.x = 0; - this.y = 0; - this.z = 0; - } - - /** - * Construct the vector with another vector. - * - * @param vec - * The other vector. - */ - public SBlockVector(Vector vec) - { - this.x = (short) vec.getX(); - this.y = (short) vec.getY(); - this.z = (short) vec.getZ(); - } - - /** - * Construct the vector with provided integer components. - * - * @param x - * X component - * @param y - * Y component - * @param z - * Z component - */ - public SBlockVector(int x, int y, int z) - { - this.x = (short) x; - this.y = (short) y; - this.z = (short) z; - } - - /** - * Construct the vector with provided double components. - * - * @param x - * X component - * @param y - * Y component - * @param z - * Z component - */ - public SBlockVector(double x, double y, double z) - { - this.x = (short) x; - this.y = (short) y; - this.z = (short) z; - } - - /** - * Construct the vector with provided float components. - * - * @param x - * X component - * @param y - * Y component - * @param z - * Z component - */ - public SBlockVector(float x, float y, float z) - { - this.x = (short) x; - this.y = (short) y; - this.z = (short) z; - } - - /** - * Get a new block vector. - * - * @return vector - */ - @Override - public SBlockVector clone() - { - return new SBlockVector(x, y, z); - } - - public double getX() - { - return x; - } - - public void setX(double x) - { - this.x = (short) x; - } - - public double getY() - { - return y; - } - - public void setY(double y) - { - this.y = (short) y; - } - - public double getZ() - { - return z; - } - - public void setZ(double z) - { - this.z = (short) z; - } - - @Override - public int hashCode() - { - final int prime = 31; - int result = 1; - result = prime * result + x; - result = prime * result + y; - result = prime * result + z; - return result; - } - - @Override - public boolean equals(Object obj) - { - if(this == obj) - return true; - if(obj == null) - return false; - if(getClass() != obj.getClass()) - return false; - SBlockVector other = (SBlockVector) obj; - if(x != other.x) - return false; - if(y != other.y) - return false; - if(z != other.z) - return false; - return true; - } - - public BlockVector toBlockVector() - { - return new BlockVector(x, y, z); - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/SChunkVector.java b/src/main/java/ninja/bytecode/iris/util/SChunkVector.java deleted file mode 100644 index 31e1c080a..000000000 --- a/src/main/java/ninja/bytecode/iris/util/SChunkVector.java +++ /dev/null @@ -1,76 +0,0 @@ -package ninja.bytecode.iris.util; - -public class SChunkVector -{ - private byte x; - private byte z; - - public SChunkVector(int x, int z) - { - this.x = (byte) (x); - this.z = (byte) (z); - } - - public SChunkVector(byte x, byte z) - { - this.x = x; - this.z = z; - } - - public SChunkVector(double x, double z) - { - this((int) Math.round(x), (int) Math.round(z)); - } - - public SChunkVector() - { - this((byte) 0, (byte) 0); - } - - public int getX() - { - return x; - } - - public void setX(int x) - { - this.x = (byte) x; - } - - public int getZ() - { - return z; - } - - public void setZ(int z) - { - this.z = (byte) z; - } - - @Override - public int hashCode() - { - final int prime = 31; - int result = 1; - result = prime * result + x; - result = prime * result + z; - return result; - } - - @Override - public boolean equals(Object obj) - { - if(this == obj) - return true; - if(obj == null) - return false; - if(getClass() != obj.getClass()) - return false; - SChunkVector other = (SChunkVector) obj; - if(x != other.x) - return false; - if(z != other.z) - return false; - return true; - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/SChunkVectorShort.java b/src/main/java/ninja/bytecode/iris/util/SChunkVectorShort.java deleted file mode 100644 index 57cae1305..000000000 --- a/src/main/java/ninja/bytecode/iris/util/SChunkVectorShort.java +++ /dev/null @@ -1,72 +0,0 @@ -package ninja.bytecode.iris.util; - -import java.util.Objects; - -public class SChunkVectorShort -{ - private short x; - private short z; - - public SChunkVectorShort(int x, int z) - { - this.x = (short) (x); - this.z = (short) (z); - } - - public SChunkVectorShort(short x, short z) - { - this.x = x; - this.z = z; - } - - public SChunkVectorShort(double x, double z) - { - this((int) Math.round(x), (int) Math.round(z)); - } - - public SChunkVectorShort() - { - this((short) 0, (short) 0); - } - - public int getX() - { - return x; - } - - public void setX(int x) - { - this.x = (short) x; - } - - public int getZ() - { - return z; - } - - public void setZ(int z) - { - this.z = (short) z; - } - - @Override - public int hashCode() - { - return Objects.hash(x, z); - } - - @Override - public boolean equals(Object obj) - { - if(this == obj) - { - return true; - } - if(!(obj instanceof SChunkVectorShort)) - { - return false; - } - SChunkVectorShort other = (SChunkVectorShort) obj; - return x == other.x && z == other.z; - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/SMCAVector.java b/src/main/java/ninja/bytecode/iris/util/SMCAVector.java deleted file mode 100644 index 1becfc7d1..000000000 --- a/src/main/java/ninja/bytecode/iris/util/SMCAVector.java +++ /dev/null @@ -1,61 +0,0 @@ -package ninja.bytecode.iris.util; - -import java.util.Objects; - -public class SMCAVector -{ - private int x; - private int z; - - public SMCAVector(int x, int z) - { - this.x = x; - this.z = z; - } - - public SMCAVector() - { - this(0, 0); - } - - public int getX() - { - return x; - } - - public void setX(int x) - { - this.x = x; - } - - public int getZ() - { - return z; - } - - public void setZ(int z) - { - this.z = z; - } - - @Override - public int hashCode() - { - return Objects.hash(x, z); - } - - @Override - public boolean equals(Object obj) - { - if(this == obj) - { - return true; - } - if(!(obj instanceof SMCAVector)) - { - return false; - } - SMCAVector other = (SMCAVector) obj; - return x == other.x && z == other.z; - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/SNG.java b/src/main/java/ninja/bytecode/iris/util/SNG.java new file mode 100644 index 000000000..a177cc48b --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/SNG.java @@ -0,0 +1,378 @@ +package ninja.bytecode.iris.util; + +import java.util.Random; + +/** + * A speed-improved simplex noise algorithm. + * + *

+ * Based on example code by Stefan Gustavson (stegu@itn.liu.se). Optimisations + * by Peter Eastman (peastman@drizzle.stanford.edu). Better rank ordering method + * by Stefan Gustavson in 2012. + * + *

+ * This could be sped up even further, but it's useful as is. + */ +public class SNG extends PerlinNoise +{ + + protected static final double SQRT_3 = 1.7320508075688772; // Math.sqrt(3) + protected static final double F2 = 0.5 * (SQRT_3 - 1); + protected static final double G2 = (3 - SQRT_3) / 6; + protected static final double G22 = G2 * 2.0 - 1; + protected static final double F3 = 1.0 / 3.0; + protected static final double G3 = 1.0 / 6.0; + protected static final double G32 = G3 * 2.0; + protected static final double G33 = G3 * 3.0 - 1.0; + private static Grad[] grad3 = {new Grad(1, 1, 0), new Grad(-1, 1, 0), new Grad(1, -1, 0), new Grad(-1, -1, 0), new Grad(1, 0, 1), new Grad(-1, 0, 1), new Grad(1, 0, -1), new Grad(-1, 0, -1), new Grad(0, 1, 1), new Grad(0, -1, 1), new Grad(0, 1, -1), new Grad(0, -1, -1)}; + protected final int[] permMod12 = new int[512]; + + /** + * Creates a simplex noise generator. + * + * @param rand + * the PRNG to use + */ + public SNG(Random rand) + { + super(rand); + for(int i = 0; i < 512; i++) + { + permMod12[i] = perm[i] % 12; + } + } + + public static int floor(double x) + { + return x > 0 ? (int) x : (int) x - 1; + } + + protected static double dot(Grad g, double x, double y) + { + return g.x * x + g.y * y; + } + + protected static double dot(Grad g, double x, double y, double z) + { + return g.x * x + g.y * y + g.z * z; + } + + @Override + protected double[] get2dNoise(double[] noise, double x, double z, int sizeX, int sizeY, double scaleX, double scaleY, double amplitude) + { + int index = 0; + for(int i = 0; i < sizeY; i++) + { + double zin = offsetY + (z + i) * scaleY; + for(int j = 0; j < sizeX; j++) + { + double xin = offsetX + (x + j) * scaleX; + noise[index++] += simplex2D(xin, zin) * amplitude; + } + } + return noise; + } + + @Override + protected double[] get3dNoise(double[] noise, double x, double y, double z, int sizeX, int sizeY, int sizeZ, double scaleX, double scaleY, double scaleZ, double amplitude) + { + int index = 0; + for(int i = 0; i < sizeZ; i++) + { + double zin = offsetZ + (z + i) * scaleZ; + for(int j = 0; j < sizeX; j++) + { + double xin = offsetX + (x + j) * scaleX; + for(int k = 0; k < sizeY; k++) + { + double yin = offsetY + (y + k) * scaleY; + noise[index++] += simplex3D(xin, yin, zin) * amplitude; + } + } + } + return noise; + } + + @Override + public double noise(double xin, double yin) + { + xin += offsetX; + yin += offsetY; + return simplex2D(xin, yin); + } + + @Override + public double noise(double xin, double yin, double zin) + { + xin += offsetX; + yin += offsetY; + zin += offsetZ; + return simplex3D(xin, yin, zin); + } + + private double simplex2D(double xin, double yin) + { + // Skew the input space to determine which simplex cell we're in + double s = (xin + yin) * F2; // Hairy factor for 2D + int i = floor(xin + s); + int j = floor(yin + s); + double t = (i + j) * G2; + double dx0 = i - t; // Unskew the cell origin back to (x,y) space + double dy0 = j - t; + double x0 = xin - dx0; // The x,y distances from the cell origin + double y0 = yin - dy0; + + // For the 2D case, the simplex shape is an equilateral triangle. + + // Determine which simplex we are in. + int i1; // Offsets for second (middle) corner of simplex in (i,j) coords + int j1; + if(x0 > y0) + { + i1 = 1; // lower triangle, XY order: (0,0)->(1,0)->(1,1) + j1 = 0; + } + else + { + i1 = 0; // upper triangle, YX order: (0,0)->(0,1)->(1,1) + j1 = 1; + } + + // A step of (1,0) in (i,j) means a step of (1-c,-c) in (x,y), and + // a step of (0,1) in (i,j) means a step of (-c,1-c) in (x,y), where + // c = (3-sqrt(3))/6 + + double x1 = x0 - i1 + G2; // Offsets for middle corner in (x,y) unskewed coords + double y1 = y0 - j1 + G2; + double x2 = x0 + G22; // Offsets for last corner in (x,y) unskewed coords + double y2 = y0 + G22; + + // Work out the hashed gradient indices of the three simplex corners + int ii = i & 255; + int jj = j & 255; + int gi0 = permMod12[ii + perm[jj]]; + int gi1 = permMod12[ii + i1 + perm[jj + j1]]; + int gi2 = permMod12[ii + 1 + perm[jj + 1]]; + + // Calculate the contribution from the three corners + double t0 = 0.5 - x0 * x0 - y0 * y0; + double n0; + if(t0 < 0) + { + n0 = 0.0; + } + else + { + t0 *= t0; + n0 = t0 * t0 * dot(grad3[gi0], x0, y0); // (x,y) of grad3 used for 2D gradient + } + + double t1 = 0.5 - x1 * x1 - y1 * y1; + double n1; + if(t1 < 0) + { + n1 = 0.0; + } + else + { + t1 *= t1; + n1 = t1 * t1 * dot(grad3[gi1], x1, y1); + } + + double t2 = 0.5 - x2 * x2 - y2 * y2; + double n2; + if(t2 < 0) + { + n2 = 0.0; + } + else + { + t2 *= t2; + n2 = t2 * t2 * dot(grad3[gi2], x2, y2); + } + + // Add contributions from each corner to get the final noise value. + // The result is scaled to return values in the interval [-1,1]. + return 70.0 * (n0 + n1 + n2); + } + + private double simplex3D(double xin, double yin, double zin) + { + // Skew the input space to determine which simplex cell we're in + double s = (xin + yin + zin) * F3; // Very nice and simple skew factor for 3D + int i = floor(xin + s); + int j = floor(yin + s); + int k = floor(zin + s); + double t = (i + j + k) * G3; + double dx0 = i - t; // Unskew the cell origin back to (x,y,z) space + double dy0 = j - t; + double dz0 = k - t; + + // For the 3D case, the simplex shape is a slightly irregular tetrahedron. + + int i1; // Offsets for second corner of simplex in (i,j,k) coords + int j1; + int k1; + int i2; // Offsets for third corner of simplex in (i,j,k) coords + int j2; + int k2; + + double x0 = xin - dx0; // The x,y,z distances from the cell origin + double y0 = yin - dy0; + double z0 = zin - dz0; + // Determine which simplex we are in + if(x0 >= y0) + { + if(y0 >= z0) + { + i1 = 1; // X Y Z order + j1 = 0; + k1 = 0; + i2 = 1; + j2 = 1; + k2 = 0; + } + else if(x0 >= z0) + { + i1 = 1; // X Z Y order + j1 = 0; + k1 = 0; + i2 = 1; + j2 = 0; + k2 = 1; + } + else + { + i1 = 0; // Z X Y order + j1 = 0; + k1 = 1; + i2 = 1; + j2 = 0; + k2 = 1; + } + } + else + { // x0 split(BlockFace f) - { - KList faces = new KList(); - - switch(f) - { - case DOWN: - faces.add(BlockFace.DOWN); - break; - case EAST: - faces.add(BlockFace.EAST); - break; - case EAST_NORTH_EAST: - faces.add(BlockFace.EAST); - faces.add(BlockFace.EAST); - faces.add(BlockFace.NORTH); - break; - case EAST_SOUTH_EAST: - faces.add(BlockFace.EAST); - faces.add(BlockFace.EAST); - faces.add(BlockFace.SOUTH); - break; - case NORTH: - faces.add(BlockFace.NORTH); - break; - case NORTH_EAST: - faces.add(BlockFace.NORTH); - faces.add(BlockFace.EAST); - break; - case NORTH_NORTH_EAST: - faces.add(BlockFace.NORTH); - faces.add(BlockFace.NORTH); - faces.add(BlockFace.EAST); - break; - case NORTH_NORTH_WEST: - faces.add(BlockFace.NORTH); - faces.add(BlockFace.NORTH); - faces.add(BlockFace.WEST); - break; - case NORTH_WEST: - faces.add(BlockFace.NORTH); - faces.add(BlockFace.WEST); - break; - case SELF: - faces.add(BlockFace.SELF); - break; - case SOUTH: - faces.add(BlockFace.SOUTH); - break; - case SOUTH_EAST: - faces.add(BlockFace.SOUTH); - faces.add(BlockFace.EAST); - break; - case SOUTH_SOUTH_EAST: - faces.add(BlockFace.SOUTH); - faces.add(BlockFace.SOUTH); - faces.add(BlockFace.EAST); - break; - case SOUTH_SOUTH_WEST: - faces.add(BlockFace.SOUTH); - faces.add(BlockFace.SOUTH); - faces.add(BlockFace.WEST); - break; - case SOUTH_WEST: - faces.add(BlockFace.SOUTH); - faces.add(BlockFace.WEST); - break; - case UP: - faces.add(BlockFace.UP); - break; - case WEST: - faces.add(BlockFace.WEST); - break; - case WEST_NORTH_WEST: - faces.add(BlockFace.WEST); - faces.add(BlockFace.WEST); - faces.add(BlockFace.NORTH); - break; - case WEST_SOUTH_WEST: - faces.add(BlockFace.WEST); - faces.add(BlockFace.WEST); - faces.add(BlockFace.SOUTH); - break; - default: - break; - } - - return faces; - } - - /** - * Get a normalized vector going from a location to another - * - * @param from - * from here - * @param to - * to here - * @return the normalized vector direction - */ - public static Vector direction(Location from, Location to) - { - return to.clone().subtract(from.clone()).toVector().normalize(); - } - - public static Vector directionNoNormal(Location from, Location to) - { - return to.clone().subtract(from.clone()).toVector(); - } - - /** - * Get the vector direction from the yaw and pitch - * - * @param yaw - * the yaw - * @param pitch - * the pitch - * @return the vector - */ - public static Vector toVector(float yaw, float pitch) - { - return new Vector(Math.cos(pitch) * Math.cos(yaw), Math.sin(pitch), Math.cos(pitch) * Math.sin(-yaw)); - } - - /** - * Add an impulse (force) to an entity - * - * @param e - * the entity - * @param v - * the vector - */ - public static void impulse(Entity e, Vector v) - { - impulse(e, v, 1.0); - } - - /** - * Add an impulse (force) on an entity - * - * @param e - * the entity - * @param v - * the vector - * @param effectiveness - * the effectiveness - */ - public static void impulse(Entity e, Vector v, double effectiveness) - { - Vector vx = e.getVelocity(); - vx.add(v.clone().multiply(effectiveness)); - e.setVelocity(vx); - } - - /** - * Reverse a direction - * - * @param v - * the direction - * @return the reversed direction - */ - public static Vector reverse(Vector v) - { - if(v.getX() != 0) - { - v.setX(-v.getX()); - } - - if(v.getY() != 0) - { - v.setY(-v.getY()); - } - - if(v.getZ() != 0) - { - v.setZ(-v.getZ()); - } - - return v; - } - - /** - * Get a speed value from a vector (velocity) - * - * @param v - * the vector - * @return the speed - */ - public static double getSpeed(Vector v) - { - Vector vi = new Vector(0, 0, 0); - Vector vt = new Vector(0, 0, 0).add(v); - - return vi.distance(vt); - } - - /** - * Shift all vectors based on the given vector - * - * @param vector - * the vector direction to shift the vectors - * @param vectors - * the vectors to be shifted - * @return the shifted vectors - */ - public static KList shift(Vector vector, KList vectors) - { - return new KList(new GListAdapter() - { - @Override - public Vector onAdapt(Vector from) - { - return from.add(vector); - } - }.adapt(vectors)); - } - - /** - * Attempt to get the blockFace for the vector (will be tri-normalized) - * - * @param v - * the vector - * @return the block face or null - */ - public static BlockFace getBlockFace(Vector v) - { - Vector p = triNormalize(v); - - for(BlockFace i : BlockFace.values()) - { - if(p.getX() == i.getModX() && p.getY() == i.getModY() && p.getZ() == i.getModZ()) - { - return i; - } - } - - for(BlockFace i : BlockFace.values()) - { - if(p.getX() == i.getModX() && p.getZ() == i.getModZ()) - { - return i; - } - } - - for(BlockFace i : BlockFace.values()) - { - if(p.getY() == i.getModY() && p.getZ() == i.getModZ()) - { - return i; - } - } - - for(BlockFace i : BlockFace.values()) - { - if(p.getX() == i.getModX() || p.getY() == i.getModY()) - { - return i; - } - } - - for(BlockFace i : BlockFace.values()) - { - if(p.getX() == i.getModX() || p.getY() == i.getModY() || p.getZ() == i.getModZ()) - { - return i; - } - } - - return null; - } - - /** - * Angle the vector in a self relative direction - * - * @param v - * the initial direction - * @param amt - * the amount to shift in the direction - * @return the shifted direction - */ - public static Vector angleLeft(Vector v, float amt) - { - Location l = new Location(Bukkit.getWorlds().get(0), 0, 0, 0); - l.setDirection(v); - float y = l.getYaw(); - float p = l.getPitch(); - CDou cy = new CDou(360); - CDou cp = new CDou(180); - cy.set(y); - cp.set(p); - cy.sub(amt); - l.setYaw((float) cy.get()); - l.setPitch((float) cp.get()); - - return l.getDirection(); - } - - /** - * Angle the vector in a self relative direction - * - * @param v - * the initial direction - * @param amt - * the amount to shift in the direction - * @return the shifted direction - */ - public static Vector angleRight(Vector v, float amt) - { - Location l = new Location(Bukkit.getWorlds().get(0), 0, 0, 0); - l.setDirection(v); - float y = l.getYaw(); - float p = l.getPitch(); - CDou cy = new CDou(360); - CDou cp = new CDou(180); - cy.set(y); - cp.set(p); - cy.add(amt); - l.setYaw((float) cy.get()); - l.setPitch((float) cp.get()); - - return l.getDirection(); - } - - /** - * Angle the vector in a self relative direction - * - * @param v - * the initial direction - * @param amt - * the amount to shift in the direction - * @return the shifted direction - */ - public static Vector angleUp(Vector v, float amt) - { - Location l = new Location(Bukkit.getWorlds().get(0), 0, 0, 0); - l.setDirection(v); - float y = l.getYaw(); - float p = l.getPitch(); - CDou cy = new CDou(360); - cy.set(y); - l.setYaw((float) cy.get()); - l.setPitch((float) Math.max(-90, p - amt)); - - return l.getDirection(); - } - - /** - * Angle the vector in a self relative direction - * - * @param v - * the initial direction - * @param amt - * the amount to shift in the direction - * @return the shifted direction - */ - public static Vector angleDown(Vector v, float amt) - { - Location l = new Location(Bukkit.getWorlds().get(0), 0, 0, 0); - l.setDirection(v); - float y = l.getYaw(); - float p = l.getPitch(); - CDou cy = new CDou(360); - cy.set(y); - l.setYaw((float) cy.get()); - l.setPitch((float) Math.min(90, p + amt)); - - return l.getDirection(); - } - - /** - * (clone) Force normalize the vector into three points, 1, 0, or -1. If the - * value is > 0.333 (1) if the value is less than -0.333 (-1) else 0 - * - * @param direction - * the direction - * @return the vector - */ - public static Vector triNormalize(Vector direction) - { - Vector v = direction.clone(); - v.normalize(); - - if(v.getX() > 0.333) - { - v.setX(1); - } - - else if(v.getX() < -0.333) - { - v.setX(-1); - } - - else - { - v.setX(0); - } - - if(v.getY() > 0.333) - { - v.setY(1); - } - - else if(v.getY() < -0.333) - { - v.setY(-1); - } - - else - { - v.setY(0); - } - - if(v.getZ() > 0.333) - { - v.setZ(1); - } - - else if(v.getZ() < -0.333) - { - v.setZ(-1); - } - - else - { - v.setZ(0); - } - - return v; - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/VisualEffect.java b/src/main/java/ninja/bytecode/iris/util/VisualEffect.java deleted file mode 100644 index 2f619b094..000000000 --- a/src/main/java/ninja/bytecode/iris/util/VisualEffect.java +++ /dev/null @@ -1,17 +0,0 @@ -package ninja.bytecode.iris.util; - -import org.bukkit.Location; -import org.bukkit.entity.Player; - -import ninja.bytecode.shuriken.collections.KList; - -public interface VisualEffect -{ - public void play(Location l); - - public void play(Location l, double r); - - public void play(Location l, Player p); - - public void play(Location l, KList p); -} diff --git a/src/main/java/ninja/bytecode/iris/util/WorldState.java b/src/main/java/ninja/bytecode/iris/util/WorldState.java deleted file mode 100644 index a50485ef3..000000000 --- a/src/main/java/ninja/bytecode/iris/util/WorldState.java +++ /dev/null @@ -1,132 +0,0 @@ -package ninja.bytecode.iris.util; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.util.zip.GZIPInputStream; - -import org.bukkit.Bukkit; -import org.bukkit.World; -import org.bukkit.event.HandlerList; -import org.bukkit.event.Listener; - -import net.md_5.bungee.api.ChatColor; -import ninja.bytecode.iris.Iris; -import ninja.bytecode.shuriken.collections.KMap; -import ninja.bytecode.shuriken.io.CustomOutputStream; -import ninja.bytecode.shuriken.logging.L; - -public class WorldState implements Listener -{ - private int taskId; - private KMap stateCache; - private World world; - - @SuppressWarnings("deprecation") - public WorldState(World world) - { - this.world = world; - taskId = Bukkit.getScheduler().scheduleAsyncRepeatingTask(Iris.instance, this::tick, 20, 20 * 18); - Bukkit.getPluginManager().registerEvents(this, Iris.instance); - } - - public void tick() - { - for(MCAPos i : stateCache.k()) - { - MCAState state = stateCache.get(i); - - if(state.isDirty()) - { - try - { - saveMCAState(i, state); - } - - catch(IOException e) - { - L.f(ChatColor.RED + "Failed to save MCA State " + i.toFileName()); - L.ex(e); - } - } - } - } - - public void close() - { - HandlerList.unregisterAll(this); - Bukkit.getScheduler().cancelTask(taskId); - - for(MCAPos i : stateCache.k()) - { - try - { - saveMCAState(i, stateCache.get(i)); - } - - catch(IOException e) - { - e.printStackTrace(); - } - } - } - - public void unloadState(MCAPos pos) - { - stateCache.remove(pos); - L.v(ChatColor.GRAY + "Unloaded MCA State " + pos.toFileName()); - } - - public MCAState getState(MCAPos pos) - { - if(!stateCache.containsKey(pos)) - { - try - { - stateCache.put(pos, loadMCAState(pos)); - } - - catch(IOException e) - { - L.f(ChatColor.RED + "Failed to read MCA State " + pos.toFileName()); - L.ex(e); - L.w(ChatColor.YELLOW + "Created Fallback MCA State " + pos.toString()); - stateCache.put(pos, new MCAState()); - } - } - - return stateCache.get(pos); - } - - private void saveMCAState(MCAPos pos, MCAState state) throws IOException - { - File file = new File(world.getWorldFolder(), "iris/state/" + pos.toFileName()); - file.getParentFile().mkdirs(); - FileOutputStream fos = new FileOutputStream(file); - CustomOutputStream cos = new CustomOutputStream(fos, 9); - state.write(cos); - state.saved(); - L.v(ChatColor.GRAY + "Saved MCA State " + pos.toString()); - } - - private MCAState loadMCAState(MCAPos pos) throws IOException - { - MCAState state = new MCAState(); - File file = new File(world.getWorldFolder(), "iris/state/" + pos.toFileName()); - - if(!file.exists()) - { - file.getParentFile().mkdirs(); - state.setDirty(); - L.v(ChatColor.GRAY + "Created MCA State " + pos.toString()); - return state; - } - - FileInputStream fin = new FileInputStream(file); - GZIPInputStream gzi = new GZIPInputStream(fin); - state.read(gzi); - L.v(ChatColor.GRAY + "Loaded MCA State " + pos.toString()); - return state; - } -} diff --git a/src/main/java/org/jnbt/ByteArrayTag.java b/src/main/java/org/jnbt/ByteArrayTag.java deleted file mode 100644 index 9b88ae90e..000000000 --- a/src/main/java/org/jnbt/ByteArrayTag.java +++ /dev/null @@ -1,82 +0,0 @@ -package org.jnbt; - -/* - * JNBT License - * - * Copyright (c) 2010 Graham Edgecombe - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * * Neither the name of the JNBT team nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ -/** - * The TAG_Byte_Array tag. - * - * @author Graham Edgecombe - * - */ -public final class ByteArrayTag extends Tag { - - /** - * The value. - */ - private final byte[] value; - - /** - * Creates the tag. - * - * @param name The name. - * @param value The value. - */ - public ByteArrayTag(String name, byte[] value) { - super(name); - this.value = value; - } - - @Override - public byte[] getValue() { - return value; - } - - @Override - public String toString() { - StringBuilder hex = new StringBuilder(); - for (byte b : value) { - String hexDigits = Integer.toHexString(b).toUpperCase(); - if (hexDigits.length() == 1) { - hex.append("0"); - } - hex.append(hexDigits).append(" "); - } - String name = getName(); - String append = ""; - if (name != null && !name.equals("")) { - append = "(\"" + this.getName() + "\")"; - } - return "TAG_Byte_Array" + append + ": " + hex.toString(); - } - -} diff --git a/src/main/java/org/jnbt/ByteTag.java b/src/main/java/org/jnbt/ByteTag.java deleted file mode 100644 index f259f9b2a..000000000 --- a/src/main/java/org/jnbt/ByteTag.java +++ /dev/null @@ -1,74 +0,0 @@ -package org.jnbt; - -/* - * JNBT License - * - * Copyright (c) 2010 Graham Edgecombe - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * * Neither the name of the JNBT team nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ -/** - * The TAG_Byte tag. - * - * @author Graham Edgecombe - * - */ -public final class ByteTag extends Tag { - - /** - * The value. - */ - private final byte value; - - /** - * Creates the tag. - * - * @param name The name. - * @param value The value. - */ - public ByteTag(String name, byte value) { - super(name); - this.value = value; - } - - @Override - public Byte getValue() { - return value; - } - - @Override - public String toString() { - String name = getName(); - String append = ""; - if (name != null && !name.equals("")) { - append = "(\"" + this.getName() + "\")"; - } - return "TAG_Byte" + append + ": " + value; - } - -} diff --git a/src/main/java/org/jnbt/CompoundTag.java b/src/main/java/org/jnbt/CompoundTag.java deleted file mode 100644 index 30225f8dd..000000000 --- a/src/main/java/org/jnbt/CompoundTag.java +++ /dev/null @@ -1,83 +0,0 @@ -package org.jnbt; - -/* - * JNBT License - * - * Copyright (c) 2010 Graham Edgecombe - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * * Neither the name of the JNBT team nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ -import java.util.Collections; -import java.util.Map; - -/** - * The TAG_Compound tag. - * - * @author Graham Edgecombe - * - */ -public final class CompoundTag extends Tag { - - /** - * The value. - */ - private final Map value; - - /** - * Creates the tag. - * - * @param name The name. - * @param value The value. - */ - public CompoundTag(String name, Map value) { - super(name); - this.value = Collections.unmodifiableMap(value); - } - - @Override - public Map getValue() { - return value; - } - - @Override - public String toString() { - String name = getName(); - String append = ""; - if (name != null && !name.equals("")) { - append = "(\"" + this.getName() + "\")"; - } - StringBuilder bldr = new StringBuilder(); - bldr.append("TAG_Compound" + append + ": " + value.size() + " entries\r\n{\r\n"); - for (Map.Entry entry : value.entrySet()) { - bldr.append(" " + entry.getValue().toString().replaceAll("\r\n", "\r\n ") + "\r\n"); - } - bldr.append("}"); - return bldr.toString(); - } - -} diff --git a/src/main/java/org/jnbt/DoubleTag.java b/src/main/java/org/jnbt/DoubleTag.java deleted file mode 100644 index 31327f0c7..000000000 --- a/src/main/java/org/jnbt/DoubleTag.java +++ /dev/null @@ -1,74 +0,0 @@ -package org.jnbt; - -/* - * JNBT License - * - * Copyright (c) 2010 Graham Edgecombe - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * * Neither the name of the JNBT team nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ -/** - * The TAG_Double tag. - * - * @author Graham Edgecombe - * - */ -public final class DoubleTag extends Tag { - - /** - * The value. - */ - private final double value; - - /** - * Creates the tag. - * - * @param name The name. - * @param value The value. - */ - public DoubleTag(String name, double value) { - super(name); - this.value = value; - } - - @Override - public Double getValue() { - return value; - } - - @Override - public String toString() { - String name = getName(); - String append = ""; - if (name != null && !name.equals("")) { - append = "(\"" + this.getName() + "\")"; - } - return "TAG_Double" + append + ": " + value; - } - -} diff --git a/src/main/java/org/jnbt/EndTag.java b/src/main/java/org/jnbt/EndTag.java deleted file mode 100644 index 0420ccf83..000000000 --- a/src/main/java/org/jnbt/EndTag.java +++ /dev/null @@ -1,60 +0,0 @@ -package org.jnbt; - -/* - * JNBT License - * - * Copyright (c) 2010 Graham Edgecombe - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * * Neither the name of the JNBT team nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ -/** - * The TAG_End tag. - * - * @author Graham Edgecombe - * - */ -public final class EndTag extends Tag { - - /** - * Creates the tag. - */ - public EndTag() { - super(""); - } - - @Override - public Object getValue() { - return null; - } - - @Override - public String toString() { - return "TAG_End"; - } - -} diff --git a/src/main/java/org/jnbt/FloatTag.java b/src/main/java/org/jnbt/FloatTag.java deleted file mode 100644 index fc7e4cb2a..000000000 --- a/src/main/java/org/jnbt/FloatTag.java +++ /dev/null @@ -1,74 +0,0 @@ -package org.jnbt; - -/* - * JNBT License - * - * Copyright (c) 2010 Graham Edgecombe - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * * Neither the name of the JNBT team nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ -/** - * The TAG_Float tag. - * - * @author Graham Edgecombe - * - */ -public final class FloatTag extends Tag { - - /** - * The value. - */ - private final float value; - - /** - * Creates the tag. - * - * @param name The name. - * @param value The value. - */ - public FloatTag(String name, float value) { - super(name); - this.value = value; - } - - @Override - public Float getValue() { - return value; - } - - @Override - public String toString() { - String name = getName(); - String append = ""; - if (name != null && !name.equals("")) { - append = "(\"" + this.getName() + "\")"; - } - return "TAG_Float" + append + ": " + value; - } - -} diff --git a/src/main/java/org/jnbt/IntArrayTag.java b/src/main/java/org/jnbt/IntArrayTag.java deleted file mode 100644 index d5ef03ebd..000000000 --- a/src/main/java/org/jnbt/IntArrayTag.java +++ /dev/null @@ -1,76 +0,0 @@ -package org.jnbt; - -import java.util.Arrays; - -/* - * JNBT License - * - * Copyright (c) 2015 Neil Wightman - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * * Neither the name of the JNBT team nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ -/** - * The TAG_Int_Array tag. - * - * @author Neil Wightman - * - */ -public final class IntArrayTag extends Tag { - - /** - * The value. - */ - private final int[] value; - - /** - * Creates the tag. - * - * @param name The name. - * @param value The value. - */ - public IntArrayTag(String name, int[] value) { - super(name); - this.value = value; - } - - @Override - public int[] getValue() { - return value; - } - - @Override - public String toString() { - String name = getName(); - String append = ""; - if (name != null && !name.equals("")) { - append = "(\"" + this.getName() + "\")"; - } - return "TAG_Int_Array" + append + ": " + Arrays.toString(value); - } - -} diff --git a/src/main/java/org/jnbt/IntTag.java b/src/main/java/org/jnbt/IntTag.java deleted file mode 100644 index 798f8e0e2..000000000 --- a/src/main/java/org/jnbt/IntTag.java +++ /dev/null @@ -1,74 +0,0 @@ -package org.jnbt; - -/* - * JNBT License - * - * Copyright (c) 2010 Graham Edgecombe - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * * Neither the name of the JNBT team nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ -/** - * The TAG_Int tag. - * - * @author Graham Edgecombe - * - */ -public final class IntTag extends Tag { - - /** - * The value. - */ - private final int value; - - /** - * Creates the tag. - * - * @param name The name. - * @param value The value. - */ - public IntTag(String name, int value) { - super(name); - this.value = value; - } - - @Override - public Integer getValue() { - return value; - } - - @Override - public String toString() { - String name = getName(); - String append = ""; - if (name != null && !name.equals("")) { - append = "(\"" + this.getName() + "\")"; - } - return "TAG_Int" + append + ": " + value; - } - -} diff --git a/src/main/java/org/jnbt/ListTag.java b/src/main/java/org/jnbt/ListTag.java deleted file mode 100644 index e12eb54c4..000000000 --- a/src/main/java/org/jnbt/ListTag.java +++ /dev/null @@ -1,99 +0,0 @@ -package org.jnbt; - -/* - * JNBT License - * - * Copyright (c) 2010 Graham Edgecombe - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * * Neither the name of the JNBT team nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ -import java.util.Collections; -import java.util.List; - -/** - * The TAG_List tag. - * - * @author Graham Edgecombe - * - */ -public final class ListTag extends Tag { - - /** - * The type. - */ - private final Class type; - - /** - * The value. - */ - private final List value; - - /** - * Creates the tag. - * - * @param name The name. - * @param type The type of item in the list. - * @param value The value. - */ - public ListTag(String name, Class type, List value) { - super(name); - this.type = type; - this.value = Collections.unmodifiableList(value); - } - - /** - * Gets the type of item in this list. - * - * @return The type of item in this list. - */ - public Class getType() { - return type; - } - - @Override - public List getValue() { - return value; - } - - @Override - public String toString() { - String name = getName(); - String append = ""; - if (name != null && !name.equals("")) { - append = "(\"" + this.getName() + "\")"; - } - StringBuilder bldr = new StringBuilder(); - bldr.append("TAG_List" + append + ": " + value.size() + " entries of type " + NBTUtils.getTypeName(type) + "\r\n{\r\n"); - for (Tag t : value) { - bldr.append(" " + t.toString().replaceAll("\r\n", "\r\n ") + "\r\n"); - } - bldr.append("}"); - return bldr.toString(); - } - -} diff --git a/src/main/java/org/jnbt/LongTag.java b/src/main/java/org/jnbt/LongTag.java deleted file mode 100644 index a7d4d7939..000000000 --- a/src/main/java/org/jnbt/LongTag.java +++ /dev/null @@ -1,74 +0,0 @@ -package org.jnbt; - -/* - * JNBT License - * - * Copyright (c) 2010 Graham Edgecombe - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * * Neither the name of the JNBT team nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ -/** - * The TAG_Long tag. - * - * @author Graham Edgecombe - * - */ -public final class LongTag extends Tag { - - /** - * The value. - */ - private final long value; - - /** - * Creates the tag. - * - * @param name The name. - * @param value The value. - */ - public LongTag(String name, long value) { - super(name); - this.value = value; - } - - @Override - public Long getValue() { - return value; - } - - @Override - public String toString() { - String name = getName(); - String append = ""; - if (name != null && !name.equals("")) { - append = "(\"" + this.getName() + "\")"; - } - return "TAG_Long" + append + ": " + value; - } - -} diff --git a/src/main/java/org/jnbt/NBTConstants.java b/src/main/java/org/jnbt/NBTConstants.java deleted file mode 100644 index 4696afcc5..000000000 --- a/src/main/java/org/jnbt/NBTConstants.java +++ /dev/null @@ -1,77 +0,0 @@ -package org.jnbt; - -/* - * JNBT License - * - * Copyright (c) 2015 Neil Wightman - * Copyright (c) 2010 Graham Edgecombe - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * * Neither the name of the JNBT team nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ -import java.nio.charset.Charset; - -/** - * Changes : Neil Wightman - Support 19133 Tag_Int_Array tag - */ -/** - * A class which holds constant values. - * - * @author Graham Edgecombe - * - */ -public final class NBTConstants { - - /** - * The character set used by NBT (UTF-8). - */ - public static final Charset CHARSET = Charset.forName("UTF-8"); - - /** - * Tag type constants. - */ - public static final int TYPE_END = 0, - TYPE_BYTE = 1, - TYPE_SHORT = 2, - TYPE_INT = 3, - TYPE_LONG = 4, - TYPE_FLOAT = 5, - TYPE_DOUBLE = 6, - TYPE_BYTE_ARRAY = 7, - TYPE_STRING = 8, - TYPE_LIST = 9, - TYPE_COMPOUND = 10, - TYPE_INT_ARRAY = 11; - - /** - * Default private constructor. - */ - private NBTConstants() { - - } - -} diff --git a/src/main/java/org/jnbt/NBTInputStream.java b/src/main/java/org/jnbt/NBTInputStream.java deleted file mode 100644 index 676666bd4..000000000 --- a/src/main/java/org/jnbt/NBTInputStream.java +++ /dev/null @@ -1,205 +0,0 @@ -package org.jnbt; - -/* - * JNBT License - * - * Copyright (c) 2015 Neil Wightman - * Copyright (c) 2010 Graham Edgecombe - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * * Neither the name of the JNBT team nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -import java.io.Closeable; -import java.io.DataInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.zip.GZIPInputStream; - -/** - * Changes : - * Neil Wightman - Support 19133 Tag_Int_Array tag - */ - -/** - *

- * This class reads NBT, or - * Named Binary Tag streams, and produces an object graph of subclasses of the Tag object.

- * - *
- * - * @author Graham Edgecombe - * - */ -public final class NBTInputStream implements Closeable { - - /** - * The data input stream. - */ - private final DataInputStream is; - - /** - * Create a new NBTInputStream, which will source its data from the specified input stream. - * @param is The output stream - */ - public NBTInputStream(DataInputStream is) { - this.is = is; - } - - /** - * Creates a new NBTInputStream, which will source its data from the specified input stream. - * The stream will be decompressed using GZIP. - * - * @param is The input stream. - * @throws IOException if an I/O error occurs. - */ - public NBTInputStream(InputStream is) throws IOException { - this.is = new DataInputStream(new GZIPInputStream(is)); - } - - /** - * Reads an NBT tag from the stream. - * - * @return The tag that was read. - * @throws IOException if an I/O error occurs. - */ - public Tag readTag() throws IOException { - return readTag(0); - } - - /** - * Reads an NBT from the stream. - * - * @param depth The depth of this tag. - * @return The tag that was read. - * @throws IOException if an I/O error occurs. - */ - private Tag readTag(int depth) throws IOException { - int type = is.readByte() & 0xFF; - - String name; - if (type != NBTConstants.TYPE_END) { - int nameLength = is.readShort() & 0xFFFF; - byte[] nameBytes = new byte[nameLength]; - is.readFully(nameBytes); - name = new String(nameBytes, NBTConstants.CHARSET); - } else { - name = ""; - } - - return readTagPayload(type, name, depth); - } - - /** - * Reads the payload of a tag, given the name and type. - * - * @param type The type. - * @param name The name. - * @param depth The depth. - * @return The tag. - * @throws IOException if an I/O error occurs. - */ - private Tag readTagPayload(int type, String name, int depth) throws IOException { - switch (type) { - case NBTConstants.TYPE_END: - if (depth == 0) { - throw new IOException("TAG_End found without a TAG_Compound/TAG_List tag preceding it."); - } else { - return new EndTag(); - } - case NBTConstants.TYPE_BYTE: - return new ByteTag(name, is.readByte()); - case NBTConstants.TYPE_SHORT: - return new ShortTag(name, is.readShort()); - case NBTConstants.TYPE_INT: - return new IntTag(name, is.readInt()); - case NBTConstants.TYPE_LONG: - return new LongTag(name, is.readLong()); - case NBTConstants.TYPE_FLOAT: - return new FloatTag(name, is.readFloat()); - case NBTConstants.TYPE_DOUBLE: - return new DoubleTag(name, is.readDouble()); - case NBTConstants.TYPE_BYTE_ARRAY: - int length = is.readInt(); - byte[] bytes = new byte[length]; - is.readFully(bytes); - return new ByteArrayTag(name, bytes); - case NBTConstants.TYPE_STRING: - length = is.readShort(); - bytes = new byte[length]; - is.readFully(bytes); - return new StringTag(name, new String(bytes, NBTConstants.CHARSET)); - case NBTConstants.TYPE_LIST: - int childType = is.readByte(); - length = is.readInt(); - - List tagList = new ArrayList(); - for (int i = 0; i < length; i++) { - Tag tag = readTagPayload(childType, "", depth + 1); - if (tag instanceof EndTag) { - throw new IOException("TAG_End not permitted in a list."); - } - tagList.add(tag); - } - - return new ListTag(name, NBTUtils.getTypeClass(childType), tagList); - case NBTConstants.TYPE_COMPOUND: - Map tagMap = new HashMap(); - while (true) { - Tag tag = readTag(depth + 1); - if (tag instanceof EndTag) { - break; - } else { - tagMap.put(tag.getName(), tag); - } - } - - return new CompoundTag(name, tagMap); - case NBTConstants.TYPE_INT_ARRAY: - length = is.readInt(); - int[] value = new int[length]; - for (int i = 0; i < length; i++) { - value[i] = is.readInt(); - } - return new IntArrayTag(name, value); - default: - throw new IOException("Invalid tag type: " + type + "."); - } - } - - @Override - public void close() throws IOException { - is.close(); - } - -} diff --git a/src/main/java/org/jnbt/NBTOutputStream.java b/src/main/java/org/jnbt/NBTOutputStream.java deleted file mode 100644 index b7db3f745..000000000 --- a/src/main/java/org/jnbt/NBTOutputStream.java +++ /dev/null @@ -1,301 +0,0 @@ -package org.jnbt; - -/* - * JNBT License - * - * Copyright (c) 2015 Neil Wightman - * Copyright (c) 2010 Graham Edgecombe - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * * Neither the name of the JNBT team nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ -import java.io.Closeable; -import java.io.DataOutputStream; -import java.io.IOException; -import java.io.OutputStream; -import java.util.List; -import java.util.zip.GZIPOutputStream; -/** - * Changes : Neil Wightman - Support 19133 Tag_Int_Array tag - */ - -/** - *

- * This class writes NBT, or - * Named Binary Tag Tag objects to an underlying OutputStream.

- * - *

- * The NBT format was created by Markus Persson, and the specification may be found at - * http://www.minecraft.net/docs/NBT.txt.

- * - * @author Graham Edgecombe - * - */ -public final class NBTOutputStream implements Closeable { - - /** - * The output stream. - */ - private final DataOutputStream os; - - /** - * Create a new NBTOutputStream, which will write data to the specified underlying output stream. - * @param os The output stream - */ - public NBTOutputStream(DataOutputStream os) { - this.os = os; - } - - /** - * Creates a new NBTOutputStream, which will write data to the specified underlying output stream. - * the stream will be compressed using GZIP. - * - * @param os The output stream. - * @throws IOException if an I/O error occurs. - */ - public NBTOutputStream(OutputStream os) throws IOException { - this.os = new DataOutputStream(new GZIPOutputStream(os)); - } - - /** - * Writes a tag. - * - * @param tag The tag to write. - * @throws IOException if an I/O error occurs. - */ - public void writeTag(Tag tag) throws IOException { - int type = NBTUtils.getTypeCode(tag.getClass()); - String name = tag.getName(); - byte[] nameBytes = name.getBytes(NBTConstants.CHARSET); - - os.writeByte(type); - os.writeShort(nameBytes.length); - os.write(nameBytes); - - if (type == NBTConstants.TYPE_END) { - throw new IOException("Named TAG_End not permitted."); - } - - writeTagPayload(tag); - } - - /** - * Writes tag payload. - * - * @param tag The tag. - * @throws IOException if an I/O error occurs. - */ - private void writeTagPayload(Tag tag) throws IOException { - int type = NBTUtils.getTypeCode(tag.getClass()); - switch (type) { - case NBTConstants.TYPE_END: - writeEndTagPayload((EndTag) tag); - break; - case NBTConstants.TYPE_BYTE: - writeByteTagPayload((ByteTag) tag); - break; - case NBTConstants.TYPE_SHORT: - writeShortTagPayload((ShortTag) tag); - break; - case NBTConstants.TYPE_INT: - writeIntTagPayload((IntTag) tag); - break; - case NBTConstants.TYPE_LONG: - writeLongTagPayload((LongTag) tag); - break; - case NBTConstants.TYPE_FLOAT: - writeFloatTagPayload((FloatTag) tag); - break; - case NBTConstants.TYPE_DOUBLE: - writeDoubleTagPayload((DoubleTag) tag); - break; - case NBTConstants.TYPE_BYTE_ARRAY: - writeByteArrayTagPayload((ByteArrayTag) tag); - break; - case NBTConstants.TYPE_STRING: - writeStringTagPayload((StringTag) tag); - break; - case NBTConstants.TYPE_LIST: - writeListTagPayload((ListTag) tag); - break; - case NBTConstants.TYPE_COMPOUND: - writeCompoundTagPayload((CompoundTag) tag); - break; - case NBTConstants.TYPE_INT_ARRAY: - writeIntArrayTagPayload((IntArrayTag) tag); - break; - default: - throw new IOException("Invalid tag type: " + type + "."); - } - } - - /** - * Writes a TAG_Byte tag. - * - * @param tag The tag. - * @throws IOException if an I/O error occurs. - */ - private void writeByteTagPayload(ByteTag tag) throws IOException { - os.writeByte(tag.getValue()); - } - - /** - * Writes a TAG_Byte_Array tag. - * - * @param tag The tag. - * @throws IOException if an I/O error occurs. - */ - private void writeByteArrayTagPayload(ByteArrayTag tag) throws IOException { - byte[] bytes = tag.getValue(); - os.writeInt(bytes.length); - os.write(bytes); - } - - - /** - * Writes a TAG_Compound tag. - * - * @param tag The tag. - * @throws IOException if an I/O error occurs. - */ - private void writeCompoundTagPayload(CompoundTag tag) throws IOException { - for (Tag childTag : tag.getValue().values()) { - writeTag(childTag); - } - os.writeByte((byte) 0); // end tag - better way? - } - - /** - * Writes a TAG_List tag. - * - * @param tag The tag. - * @throws IOException if an I/O error occurs. - */ - private void writeListTagPayload(ListTag tag) throws IOException { - Class clazz = tag.getType(); - List tags = tag.getValue(); - int size = tags.size(); - - os.writeByte(NBTUtils.getTypeCode(clazz)); - os.writeInt(size); - for (int i = 0; i < size; i++) { - writeTagPayload(tags.get(i)); - } - } - - /** - * Writes a TAG_String tag. - * - * @param tag The tag. - * @throws IOException if an I/O error occurs. - */ - private void writeStringTagPayload(StringTag tag) throws IOException { - byte[] bytes = tag.getValue().getBytes(NBTConstants.CHARSET); - os.writeShort(bytes.length); - os.write(bytes); - } - - /** - * Writes a TAG_Double tag. - * - * @param tag The tag. - * @throws IOException if an I/O error occurs. - */ - private void writeDoubleTagPayload(DoubleTag tag) throws IOException { - os.writeDouble(tag.getValue()); - } - - /** - * Writes a TAG_Float tag. - * - * @param tag The tag. - * @throws IOException if an I/O error occurs. - */ - private void writeFloatTagPayload(FloatTag tag) throws IOException { - os.writeFloat(tag.getValue()); - } - - /** - * Writes a TAG_Long tag. - * - * @param tag The tag. - * @throws IOException if an I/O error occurs. - */ - private void writeLongTagPayload(LongTag tag) throws IOException { - os.writeLong(tag.getValue()); - } - - /** - * Writes a TAG_Int tag. - * - * @param tag The tag. - * @throws IOException if an I/O error occurs. - */ - private void writeIntTagPayload(IntTag tag) throws IOException { - os.writeInt(tag.getValue()); - } - - /** - * Writes a TAG_Short tag. - * - * @param tag The tag. - * @throws IOException if an I/O error occurs. - */ - private void writeShortTagPayload(ShortTag tag) throws IOException { - os.writeShort(tag.getValue()); - } - - /** - * Writes a TAG_Empty tag. - * - * @param tag The tag. - * @throws IOException if an I/O error occurs. - */ - private void writeEndTagPayload(EndTag tag) { - /* empty */ - } - - /** - * Writes a TAG_Int_Array tag. - * - * @param tag The tag. - * @throws IOException if an I/O error occurs. - */ - private void writeIntArrayTagPayload(IntArrayTag tag) throws IOException { - final int[] values = tag.getValue(); - os.writeInt(values.length); - for(final int value : values) { - os.writeInt(value); - } - } - - @Override - public void close() throws IOException { - os.close(); - } - -} diff --git a/src/main/java/org/jnbt/NBTUtils.java b/src/main/java/org/jnbt/NBTUtils.java deleted file mode 100644 index c4879af10..000000000 --- a/src/main/java/org/jnbt/NBTUtils.java +++ /dev/null @@ -1,165 +0,0 @@ -package org.jnbt; - -/* - * JNBT License - * - * Copyright (c) 2015 Neil Wightman - * Copyright (c) 2010 Graham Edgecombe - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * * Neither the name of the JNBT team nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ -/** - * Changes : Neil Wightman - Support 19133 Tag_Int_Array tag - */ -/** - * A class which contains NBT-related utility methods. This currently supports reading 19133 but only writing 19132. - * - * @author Graham Edgecombe - * - */ -public final class NBTUtils { - - /** - * Gets the type name of a tag. - * - * @param clazz The tag class. - * @return The type name. - */ - public static String getTypeName(Class clazz) { - if (clazz.equals(ByteArrayTag.class)) { - return "TAG_Byte_Array"; - } else if (clazz.equals(ByteTag.class)) { - return "TAG_Byte"; - } else if (clazz.equals(CompoundTag.class)) { - return "TAG_Compound"; - } else if (clazz.equals(DoubleTag.class)) { - return "TAG_Double"; - } else if (clazz.equals(EndTag.class)) { - return "TAG_End"; - } else if (clazz.equals(FloatTag.class)) { - return "TAG_Float"; - } else if (clazz.equals(IntTag.class)) { - return "TAG_Int"; - } else if (clazz.equals(ListTag.class)) { - return "TAG_List"; - } else if (clazz.equals(LongTag.class)) { - return "TAG_Long"; - } else if (clazz.equals(ShortTag.class)) { - return "TAG_Short"; - } else if (clazz.equals(StringTag.class)) { - return "TAG_String"; - } else if (clazz.equals(IntArrayTag.class)) { - return "TAG_Int_Array"; - } else { - throw new IllegalArgumentException("Invalid tag classs (" + clazz.getName() + ")."); - } - } - - /** - * Gets the type code of a tag class. - * - * @param clazz The tag class. - * @return The type code. - * @throws IllegalArgumentException if the tag class is invalid. - */ - public static int getTypeCode(Class clazz) { - if (clazz.equals(ByteArrayTag.class)) { - return NBTConstants.TYPE_BYTE_ARRAY; - } else if (clazz.equals(ByteTag.class)) { - return NBTConstants.TYPE_BYTE; - } else if (clazz.equals(CompoundTag.class)) { - return NBTConstants.TYPE_COMPOUND; - } else if (clazz.equals(DoubleTag.class)) { - return NBTConstants.TYPE_DOUBLE; - } else if (clazz.equals(EndTag.class)) { - return NBTConstants.TYPE_END; - } else if (clazz.equals(FloatTag.class)) { - return NBTConstants.TYPE_FLOAT; - } else if (clazz.equals(IntTag.class)) { - return NBTConstants.TYPE_INT; - } else if (clazz.equals(ListTag.class)) { - return NBTConstants.TYPE_LIST; - } else if (clazz.equals(LongTag.class)) { - return NBTConstants.TYPE_LONG; - } else if (clazz.equals(ShortTag.class)) { - return NBTConstants.TYPE_SHORT; - } else if (clazz.equals(StringTag.class)) { - return NBTConstants.TYPE_STRING; - } else if (clazz.equals(IntArrayTag.class)) { - return NBTConstants.TYPE_INT_ARRAY; - } else { - throw new IllegalArgumentException("Invalid tag classs (" + clazz.getName() + ")."); - } - } - - /** - * Gets the class of a type of tag. - * - * @param type The type. - * @return The class. - * @throws IllegalArgumentException if the tag type is invalid. - */ - public static Class getTypeClass(int type) { - switch (type) { - case NBTConstants.TYPE_END: - return EndTag.class; - case NBTConstants.TYPE_BYTE: - return ByteTag.class; - case NBTConstants.TYPE_SHORT: - return ShortTag.class; - case NBTConstants.TYPE_INT: - return IntTag.class; - case NBTConstants.TYPE_LONG: - return LongTag.class; - case NBTConstants.TYPE_FLOAT: - return FloatTag.class; - case NBTConstants.TYPE_DOUBLE: - return DoubleTag.class; - case NBTConstants.TYPE_BYTE_ARRAY: - return ByteArrayTag.class; - case NBTConstants.TYPE_STRING: - return StringTag.class; - case NBTConstants.TYPE_LIST: - return ListTag.class; - case NBTConstants.TYPE_COMPOUND: - return CompoundTag.class; - case NBTConstants.TYPE_INT_ARRAY: - return IntArrayTag.class; - default: - throw new IllegalArgumentException("Invalid tag type : " + type + "."); - } - } - - /** - * Default private constructor. - */ - private NBTUtils() { - - } - -} diff --git a/src/main/java/org/jnbt/ShortTag.java b/src/main/java/org/jnbt/ShortTag.java deleted file mode 100644 index cf5448114..000000000 --- a/src/main/java/org/jnbt/ShortTag.java +++ /dev/null @@ -1,74 +0,0 @@ -package org.jnbt; - -/* - * JNBT License - * - * Copyright (c) 2010 Graham Edgecombe - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * * Neither the name of the JNBT team nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ -/** - * The TAG_Short tag. - * - * @author Graham Edgecombe - * - */ -public final class ShortTag extends Tag { - - /** - * The value. - */ - private final short value; - - /** - * Creates the tag. - * - * @param name The name. - * @param value The value. - */ - public ShortTag(String name, short value) { - super(name); - this.value = value; - } - - @Override - public Short getValue() { - return value; - } - - @Override - public String toString() { - String name = getName(); - String append = ""; - if (name != null && !name.equals("")) { - append = "(\"" + this.getName() + "\")"; - } - return "TAG_Short" + append + ": " + value; - } - -} diff --git a/src/main/java/org/jnbt/StringTag.java b/src/main/java/org/jnbt/StringTag.java deleted file mode 100644 index 80e8ba1d6..000000000 --- a/src/main/java/org/jnbt/StringTag.java +++ /dev/null @@ -1,74 +0,0 @@ -package org.jnbt; - -/* - * JNBT License - * - * Copyright (c) 2010 Graham Edgecombe - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * * Neither the name of the JNBT team nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ -/** - * The TAG_String tag. - * - * @author Graham Edgecombe - * - */ -public final class StringTag extends Tag { - - /** - * The value. - */ - private final String value; - - /** - * Creates the tag. - * - * @param name The name. - * @param value The value. - */ - public StringTag(String name, String value) { - super(name); - this.value = value; - } - - @Override - public String getValue() { - return value; - } - - @Override - public String toString() { - String name = getName(); - String append = ""; - if (name != null && !name.equals("")) { - append = "(\"" + this.getName() + "\")"; - } - return "TAG_String" + append + ": " + value; - } - -} diff --git a/src/main/java/org/jnbt/Tag.java b/src/main/java/org/jnbt/Tag.java deleted file mode 100644 index 80c7ff6f9..000000000 --- a/src/main/java/org/jnbt/Tag.java +++ /dev/null @@ -1,73 +0,0 @@ -package org.jnbt; - -/* - * JNBT License - * - * Copyright (c) 2010 Graham Edgecombe - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * * Neither the name of the JNBT team nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ -/** - * Represents a single NBT tag. - * - * @author Graham Edgecombe - * - */ -public abstract class Tag { - - /** - * The name of this tag. - */ - private final String name; - - /** - * Creates the tag with the specified name. - * - * @param name The name. - */ - public Tag(String name) { - this.name = name; - } - - /** - * Gets the name of this tag. - * - * @return The name of this tag. - */ - public final String getName() { - return name; - } - - /** - * Gets the value of this tag. - * - * @return The value of this tag. - */ - public abstract Object getValue(); - -} diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index cf9f2607f..29268c6cb 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -2,5 +2,5 @@ name: ${project.name} version: ${project.version} main: ninja.bytecode.iris.Iris load: STARTUP -depend: [Mortar] +api-version: 1.15 hotload-dependencies: false \ No newline at end of file From a97cb3df4fcb2afb5997ce191718682a8d554b6a Mon Sep 17 00:00:00 2001 From: Daniel Mills Date: Mon, 16 Mar 2020 17:11:31 -0400 Subject: [PATCH 02/20] Moar --- src/main/java/ninja/bytecode/iris/Iris.java | 8 + .../ninja/bytecode/iris/IrisGenerator.java | 30 +- .../ninja/bytecode/iris/util/Average.java | 85 + .../java/ninja/bytecode/iris/util/CNG.java | 155 ++ .../ninja/bytecode/iris/util/Callback.java | 6 + .../ninja/bytecode/iris/util/ChronoLatch.java | 29 + .../ninja/bytecode/iris/util/Chunker.java | 57 + .../ninja/bytecode/iris/util/Consumer2.java | 7 + .../ninja/bytecode/iris/util/Consumer3.java | 7 + .../ninja/bytecode/iris/util/Contained.java | 33 + .../bytecode/iris/util/DoubleArrayUtils.java | 29 + .../java/ninja/bytecode/iris/util/Form.java | 1564 +++++++++++++ .../ninja/bytecode/iris/util/Formula.java | 50 + .../ninja/bytecode/iris/util/Function2.java | 7 + .../ninja/bytecode/iris/util/Function3.java | 7 + .../ninja/bytecode/iris/util/Function4.java | 7 + .../java/ninja/bytecode/iris/util/HTTP.java | 201 ++ .../ninja/bytecode/iris/util/HTTPTokener.java | 91 + .../java/ninja/bytecode/iris/util/ING.java | 33 +- .../java/ninja/bytecode/iris/util/IO.java | 1910 +++++++++++++++ .../bytecode/iris/util/InterpolationType.java | 9 + .../bytecode/iris/util/IrisInterpolation.java | 224 ++ src/main/java/ninja/bytecode/iris/util/J.java | 133 ++ .../ninja/bytecode/iris/util/JSONArray.java | 1252 ++++++++++ .../bytecode/iris/util/JSONException.java | 50 + .../java/ninja/bytecode/iris/util/JSONML.java | 555 +++++ .../ninja/bytecode/iris/util/JSONObject.java | 2072 +++++++++++++++++ .../ninja/bytecode/iris/util/JSONString.java | 21 + .../bytecode/iris/util/JSONStringer.java | 86 + .../ninja/bytecode/iris/util/JSONTokener.java | 504 ++++ .../ninja/bytecode/iris/util/JSONWriter.java | 388 +++ .../java/ninja/bytecode/iris/util/KList.java | 642 +++++ .../java/ninja/bytecode/iris/util/KMap.java | 424 ++++ .../java/ninja/bytecode/iris/util/KSet.java | 29 + .../ninja/bytecode/iris/util/KeyPair.java | 45 + .../java/ninja/bytecode/iris/util/Looper.java | 34 + src/main/java/ninja/bytecode/iris/util/M.java | 443 ++++ .../bytecode/iris/util/NastyFunction.java | 6 + .../ninja/bytecode/iris/util/NastyFuture.java | 6 + .../bytecode/iris/util/NastyRunnable.java | 6 + .../bytecode/iris/util/NoiseInjector.java | 7 + .../bytecode/iris/util/NoiseProvider.java | 6 + .../bytecode/iris/util/PolygonGenerator.java | 214 ++ .../iris/util/PrecisionStopwatch.java | 101 + .../java/ninja/bytecode/iris/util/Queue.java | 31 + .../bytecode/iris/util/QueueExecutor.java | 54 + .../bytecode/iris/util/RollingSequence.java | 101 + .../java/ninja/bytecode/iris/util/SNG.java | 1 - .../ninja/bytecode/iris/util/Shrinkwrap.java | 26 + .../bytecode/iris/util/ShurikenQueue.java | 88 + .../ninja/bytecode/iris/util/WeightMap.java | 51 + .../java/ninja/bytecode/iris/util/XML.java | 584 +++++ .../ninja/bytecode/iris/util/XMLTokener.java | 425 ++++ 53 files changed, 12886 insertions(+), 48 deletions(-) create mode 100644 src/main/java/ninja/bytecode/iris/util/Average.java create mode 100644 src/main/java/ninja/bytecode/iris/util/CNG.java create mode 100644 src/main/java/ninja/bytecode/iris/util/Callback.java create mode 100644 src/main/java/ninja/bytecode/iris/util/ChronoLatch.java create mode 100644 src/main/java/ninja/bytecode/iris/util/Chunker.java create mode 100644 src/main/java/ninja/bytecode/iris/util/Consumer2.java create mode 100644 src/main/java/ninja/bytecode/iris/util/Consumer3.java create mode 100644 src/main/java/ninja/bytecode/iris/util/Contained.java create mode 100644 src/main/java/ninja/bytecode/iris/util/DoubleArrayUtils.java create mode 100644 src/main/java/ninja/bytecode/iris/util/Form.java create mode 100644 src/main/java/ninja/bytecode/iris/util/Formula.java create mode 100644 src/main/java/ninja/bytecode/iris/util/Function2.java create mode 100644 src/main/java/ninja/bytecode/iris/util/Function3.java create mode 100644 src/main/java/ninja/bytecode/iris/util/Function4.java create mode 100644 src/main/java/ninja/bytecode/iris/util/HTTP.java create mode 100644 src/main/java/ninja/bytecode/iris/util/HTTPTokener.java create mode 100644 src/main/java/ninja/bytecode/iris/util/IO.java create mode 100644 src/main/java/ninja/bytecode/iris/util/InterpolationType.java create mode 100644 src/main/java/ninja/bytecode/iris/util/IrisInterpolation.java create mode 100644 src/main/java/ninja/bytecode/iris/util/J.java create mode 100644 src/main/java/ninja/bytecode/iris/util/JSONArray.java create mode 100644 src/main/java/ninja/bytecode/iris/util/JSONException.java create mode 100644 src/main/java/ninja/bytecode/iris/util/JSONML.java create mode 100644 src/main/java/ninja/bytecode/iris/util/JSONObject.java create mode 100644 src/main/java/ninja/bytecode/iris/util/JSONString.java create mode 100644 src/main/java/ninja/bytecode/iris/util/JSONStringer.java create mode 100644 src/main/java/ninja/bytecode/iris/util/JSONTokener.java create mode 100644 src/main/java/ninja/bytecode/iris/util/JSONWriter.java create mode 100644 src/main/java/ninja/bytecode/iris/util/KList.java create mode 100644 src/main/java/ninja/bytecode/iris/util/KMap.java create mode 100644 src/main/java/ninja/bytecode/iris/util/KSet.java create mode 100644 src/main/java/ninja/bytecode/iris/util/KeyPair.java create mode 100644 src/main/java/ninja/bytecode/iris/util/Looper.java create mode 100644 src/main/java/ninja/bytecode/iris/util/M.java create mode 100644 src/main/java/ninja/bytecode/iris/util/NastyFunction.java create mode 100644 src/main/java/ninja/bytecode/iris/util/NastyFuture.java create mode 100644 src/main/java/ninja/bytecode/iris/util/NastyRunnable.java create mode 100644 src/main/java/ninja/bytecode/iris/util/NoiseInjector.java create mode 100644 src/main/java/ninja/bytecode/iris/util/NoiseProvider.java create mode 100644 src/main/java/ninja/bytecode/iris/util/PolygonGenerator.java create mode 100644 src/main/java/ninja/bytecode/iris/util/PrecisionStopwatch.java create mode 100644 src/main/java/ninja/bytecode/iris/util/Queue.java create mode 100644 src/main/java/ninja/bytecode/iris/util/QueueExecutor.java create mode 100644 src/main/java/ninja/bytecode/iris/util/RollingSequence.java create mode 100644 src/main/java/ninja/bytecode/iris/util/Shrinkwrap.java create mode 100644 src/main/java/ninja/bytecode/iris/util/ShurikenQueue.java create mode 100644 src/main/java/ninja/bytecode/iris/util/WeightMap.java create mode 100644 src/main/java/ninja/bytecode/iris/util/XML.java create mode 100644 src/main/java/ninja/bytecode/iris/util/XMLTokener.java diff --git a/src/main/java/ninja/bytecode/iris/Iris.java b/src/main/java/ninja/bytecode/iris/Iris.java index f241a0f33..67e3d4112 100644 --- a/src/main/java/ninja/bytecode/iris/Iris.java +++ b/src/main/java/ninja/bytecode/iris/Iris.java @@ -1,5 +1,6 @@ package ninja.bytecode.iris; +import java.io.File; import java.util.UUID; import org.bukkit.Bukkit; @@ -13,8 +14,15 @@ import org.bukkit.entity.Player; import org.bukkit.generator.ChunkGenerator; import org.bukkit.plugin.java.JavaPlugin; +import ninja.bytecode.iris.util.IO; + public class Iris extends JavaPlugin { + public Iris() + { + IO.delete(new File("iris")); + } + public void onEnable() { diff --git a/src/main/java/ninja/bytecode/iris/IrisGenerator.java b/src/main/java/ninja/bytecode/iris/IrisGenerator.java index d3a74a5e7..40cf7b5bd 100644 --- a/src/main/java/ninja/bytecode/iris/IrisGenerator.java +++ b/src/main/java/ninja/bytecode/iris/IrisGenerator.java @@ -7,18 +7,23 @@ import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.World; +import org.bukkit.block.data.BlockData; import org.bukkit.generator.BlockPopulator; import org.bukkit.generator.ChunkGenerator; -import ninja.bytecode.iris.util.ING; +import ninja.bytecode.iris.util.CNG; +import ninja.bytecode.iris.util.PolygonGenerator.EnumPolygonGenerator; import ninja.bytecode.iris.util.RNG; public class IrisGenerator extends ChunkGenerator { private boolean initialized = false; - private ING sng; + private CNG gen; + private EnumPolygonGenerator pog; + private BlockData[] d = {Material.RED_CONCRETE.createBlockData(), Material.GREEN_CONCRETE.createBlockData(), Material.BLUE_CONCRETE.createBlockData(), + }; - public void onInit() + public void onInit(World world, RNG rng) { if(initialized) { @@ -26,8 +31,8 @@ public class IrisGenerator extends ChunkGenerator } initialized = true; - - sng = new ING(new RNG(), 2); + gen = CNG.signature(rng.nextParallelRNG(0)); + pog = new EnumPolygonGenerator(rng.nextParallelRNG(1), 0.1, 1, d, (c) -> c); } @Override @@ -37,9 +42,10 @@ public class IrisGenerator extends ChunkGenerator } @Override - public ChunkData generateChunkData(World world, Random random, int x, int z, BiomeGrid biome) + public ChunkData generateChunkData(World world, Random no, int x, int z, BiomeGrid biome) { - onInit(); + RNG random = new RNG(world.getSeed()); + onInit(world, random.nextParallelRNG(0)); ChunkData data = Bukkit.createChunkData(world); for(int i = 0; i < 16; i++) @@ -48,16 +54,8 @@ public class IrisGenerator extends ChunkGenerator { double wx = (x * 16) + i; double wz = (z * 16) + j; - int y = (int) Math.round(sng.noise(wx / 30D, wz / 30D) * 20); - for(int k = 0; k < 4; k++) - { - if(k < 0) - { - continue; - } - data.setBlock(i, k + y, j, Material.STONE.createBlockData()); - } + data.setBlock(i, 0, j, pog.getChoice(wx, wz)); } } diff --git a/src/main/java/ninja/bytecode/iris/util/Average.java b/src/main/java/ninja/bytecode/iris/util/Average.java new file mode 100644 index 000000000..aa00b327d --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/Average.java @@ -0,0 +1,85 @@ +package ninja.bytecode.iris.util; + +/** + * Provides an incredibly fast averaging object. It swaps values from a sum + * using an array. Averages do not use any form of looping. An average of 10,000 + * entries is the same speed as an average with 5 entries. + * + * @author cyberpwn + * + */ +public class Average { + protected double[] values; + private double average; + private double lastSum; + private boolean dirty; + protected int cursor; + private boolean brandNew; + + /** + * Create an average holder + * + * @param size the size of entries to keep + */ + public Average(int size) { + values = new double[size]; + DoubleArrayUtils.fill(values, 0); + brandNew = true; + average = 0; + cursor = 0; + lastSum = 0; + dirty = false; + } + + /** + * Put a value into the average (rolls over if full) + * + * @param i the value + */ + public void put(double i) { + + dirty = true; + + if(brandNew) + { + DoubleArrayUtils.fill(values, i); + lastSum = size() * i; + brandNew = false; + return; + } + + double current = values[cursor]; + lastSum = (lastSum - current) + i; + values[cursor] = i; + cursor = cursor + 1 < size() ? cursor + 1 : 0; + } + + /** + * Get the current average + * + * @return the average + */ + public double getAverage() { + if (dirty) { + calculateAverage(); + return getAverage(); + } + + return average; + } + + private void calculateAverage() { + average = lastSum / (double) size(); + dirty = false; + } + + public int size() + { + return values.length; + } + + public boolean isDirty() + { + return dirty; + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/CNG.java b/src/main/java/ninja/bytecode/iris/util/CNG.java new file mode 100644 index 000000000..a4d8dc576 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/CNG.java @@ -0,0 +1,155 @@ +package ninja.bytecode.iris.util; + +public class CNG +{ + public static long hits = 0; + public static long creates = 0; + public static final NoiseInjector ADD = (s, v) -> new double[] {s + v, 1}; + public static final NoiseInjector SRC_SUBTRACT = (s, v) -> new double[] {s - v < 0 ? 0 : s - v, -1}; + public static final NoiseInjector DST_SUBTRACT = (s, v) -> new double[] {v - s < 0 ? 0 : s - v, -1}; + public static final NoiseInjector MULTIPLY = (s, v) -> new double[] {s * v, 0}; + public static final NoiseInjector MAX = (s, v) -> new double[] {Math.max(s, v), 0}; + public static final NoiseInjector MIN = (s, v) -> new double[] {Math.min(s, v), 0}; + public static final NoiseInjector SRC_MOD = (s, v) -> new double[] {s % v, 0}; + public static final NoiseInjector SRC_POW = (s, v) -> new double[] {Math.pow(s, v), 0}; + public static final NoiseInjector DST_MOD = (s, v) -> new double[] {v % s, 0}; + public static final NoiseInjector DST_POW = (s, v) -> new double[] {Math.pow(v, s), 0}; + private double freq; + private double amp; + private double scale; + private double fscale; + private KList children; + private CNG fracture; + private SNG generator; + private final double opacity; + private NoiseInjector injector; + private RNG rng; + private int oct; + private double power; + + public static CNG signature(RNG rng) + { + //@builder + return new CNG(rng.nextParallelRNG(17), 1D, 8) + .scale(0.012) + .amp(0.5) + .freq(1.1) + .fractureWith(new CNG(rng.nextParallelRNG(18), 1, 5) + .scale(0.018) + .child(new CNG(rng.nextParallelRNG(19), 0.745, 2) + .scale(0.1)) + .fractureWith(new CNG(rng.nextParallelRNG(20), 1, 3) + .scale(0.15), 24), 44); + //@done + } + + public CNG(RNG random) + { + this(random, 1); + } + + public CNG(RNG random, int octaves) + { + this(random, 1D, octaves); + } + + public CNG(RNG random, double opacity, int octaves) + { + creates += octaves; + this.oct = octaves; + this.rng = random; + power = 1; + freq = 1; + amp = 1; + scale = 1; + fscale = 1; + fracture = null; + generator = new SNG(random); + this.opacity = opacity; + this.injector = ADD; + } + + public CNG child(CNG c) + { + if(children == null) + { + children = new KList<>(); + } + + children.add(c); + return this; + } + + @Deprecated + public RNG nextRNG() + { + return getRNG().nextRNG(); + } + + public RNG getRNG() + { + return rng; + } + + public CNG fractureWith(CNG c, double scale) + { + fracture = c; + fscale = scale; + return this; + } + + public CNG scale(double c) + { + scale = c; + return this; + } + + public CNG freq(double c) + { + freq = c; + return this; + } + + public CNG amp(double c) + { + amp = c; + return this; + } + + public CNG injectWith(NoiseInjector i) + { + injector = i; + return this; + } + + public double noise(double... dim) + { + double f = fracture != null ? (fracture.noise(dim) - 0.5) * fscale : 0D; + double x = dim.length > 0 ? dim[0] + f : 0D; + double y = dim.length > 1 ? dim[1] - f : 0D; + double z = dim.length > 2 ? dim[2] + f : 0D; + double n = ((generator.noise(x * scale, y * scale, z * scale, oct, freq, amp, true) / 2D) + 0.5D) * opacity; + n = power != 1D ? Math.pow(n, power) : n; + double m = 1; + hits += oct; + if(children == null) + { + return n; + } + + for(CNG i : children) + { + double[] r = injector.combine(n, i.noise(dim)); + n = r[0]; + m += r[1]; + } + + return n / m; + } + + public CNG pow(double power) + { + this.power = power; + return this; + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/Callback.java b/src/main/java/ninja/bytecode/iris/util/Callback.java new file mode 100644 index 000000000..9cf3374c1 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/Callback.java @@ -0,0 +1,6 @@ +package ninja.bytecode.iris.util; + +public interface Callback +{ + public void run(T t); +} diff --git a/src/main/java/ninja/bytecode/iris/util/ChronoLatch.java b/src/main/java/ninja/bytecode/iris/util/ChronoLatch.java new file mode 100644 index 000000000..eed55bf8d --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/ChronoLatch.java @@ -0,0 +1,29 @@ +package ninja.bytecode.iris.util; + +public class ChronoLatch +{ + private long interval; + private long since; + + public ChronoLatch(long interval, boolean openedAtStart) + { + this.interval = interval; + since = System.currentTimeMillis() - (openedAtStart ? interval * 2 : 0); + } + + public ChronoLatch(long interval) + { + this(interval, true); + } + + public boolean flip() + { + if(System.currentTimeMillis() - since > interval) + { + since = System.currentTimeMillis(); + return true; + } + + return false; + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/Chunker.java b/src/main/java/ninja/bytecode/iris/util/Chunker.java new file mode 100644 index 000000000..914d9fee1 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/Chunker.java @@ -0,0 +1,57 @@ +package ninja.bytecode.iris.util; + +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; +import java.util.function.Consumer; + +public class Chunker +{ + private ExecutorService executor; + private int threads; + private int workload; + private KList q; + + public Chunker(KList q) + { + this.q = q; + } + + public Chunker threads(int threads) + { + this.threads = threads; + return this; + } + + public Chunker workload(int workload) + { + this.workload = workload; + return this; + } + + public void execute(Consumer consumer, Callback progress, int progressInterval) + { + ChronoLatch cl = new ChronoLatch(progressInterval); + Contained consumed = new Contained(0); + executor = Executors.newFixedThreadPool(threads); + int length = q.size(); + int remaining = length; + + while(remaining > 0) + { + int at = remaining; + remaining -= (remaining > workload ? workload : remaining); + int to = remaining; + + executor.submit(() -> + { + J.dofor(at, (i) -> i >= to, -1, (i) -> J.attempt(() -> consumer.accept(q.get(i)))); + consumed.mod((c) -> c += workload); + J.doif(() -> progress != null && cl.flip(), () -> progress.run((double) consumed.get() / (double) length)); + }); + } + + executor.shutdown(); + J.attempt(() -> executor.awaitTermination(100, TimeUnit.HOURS)); + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/Consumer2.java b/src/main/java/ninja/bytecode/iris/util/Consumer2.java new file mode 100644 index 000000000..1f6366b26 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/Consumer2.java @@ -0,0 +1,7 @@ +package ninja.bytecode.iris.util; + +@FunctionalInterface +public interface Consumer2 +{ + public void accept(A a, B b); +} diff --git a/src/main/java/ninja/bytecode/iris/util/Consumer3.java b/src/main/java/ninja/bytecode/iris/util/Consumer3.java new file mode 100644 index 000000000..38711feea --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/Consumer3.java @@ -0,0 +1,7 @@ +package ninja.bytecode.iris.util; + +@FunctionalInterface +public interface Consumer3 +{ + public void accept(A a, B b, C c); +} diff --git a/src/main/java/ninja/bytecode/iris/util/Contained.java b/src/main/java/ninja/bytecode/iris/util/Contained.java new file mode 100644 index 000000000..9570b6de6 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/Contained.java @@ -0,0 +1,33 @@ +package ninja.bytecode.iris.util; + +import java.util.function.Function; + +public class Contained +{ + private T t; + + public Contained(T t) + { + set(t); + } + + public Contained() + { + this(null); + } + + public void mod(Function x) + { + set(x.apply(t)); + } + + public T get() + { + return t; + } + + public void set(T t) + { + this.t = t; + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/DoubleArrayUtils.java b/src/main/java/ninja/bytecode/iris/util/DoubleArrayUtils.java new file mode 100644 index 000000000..d811feff0 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/DoubleArrayUtils.java @@ -0,0 +1,29 @@ +package ninja.bytecode.iris.util; + + +public class DoubleArrayUtils +{ + public static void shiftRight(double[] values, double push) + { + for(int index = values.length - 2; index >= 0; index--) + { + values[index + 1] = values[index]; + } + + values[0] = push; + } + + public static void wrapRight(double[] values) + { + double last = values[values.length - 1]; + shiftRight(values, last); + } + + public static void fill(double[] values, double value) + { + for(int i = 0; i < values.length; i++) + { + values[i] = value; + } + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/Form.java b/src/main/java/ninja/bytecode/iris/util/Form.java new file mode 100644 index 000000000..bef89fb55 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/Form.java @@ -0,0 +1,1564 @@ +package ninja.bytecode.iris.util; + +import java.math.BigInteger; +import java.text.DecimalFormat; +import java.text.NumberFormat; +import java.util.Calendar; +import java.util.Date; +import java.util.LinkedHashMap; +import java.util.Locale; +import java.util.Map; +import java.util.Map.Entry; +import java.util.NavigableMap; +import java.util.TreeMap; +import java.util.concurrent.TimeUnit; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class Form +{ + private static NumberFormat NF; + private static DecimalFormat DF; + + private static final String NAMES[] = new String[] {"Thousand", "Million", "Billion", "Trillion", "Quadrillion", "Quintillion", "Sextillion", "Septillion", "Octillion", "Nonillion", "Decillion", "Undecillion", "Duodecillion", "Tredecillion", "Quattuordecillion", "Quindecillion", "Sexdecillion", "Septendecillion", "Octodecillion", "Novemdecillion", "Vigintillion",}; + private static final BigInteger THOUSAND = BigInteger.valueOf(1000); + private static final NavigableMap MAP; + + static + { + MAP = new TreeMap(); + for(int i = 0; i < NAMES.length; i++) + { + MAP.put(THOUSAND.pow(i + 1), NAMES[i]); + } + } + + private static void instantiate() + { + if(NF == null) + { + NF = NumberFormat.getInstance(Locale.US); + } + } + + /** + * Scroll text + * + * @param smx + * the text + * @param viewport + * the viewport length + * @param time + * the timeline value + * @return + */ + public static String scroll(String smx, int viewport, long time) + { + String src = Form.repeat(" ", viewport) + smx + Form.repeat(" ", viewport); + int len = src.length(); + int walk = (int) (time % (len - viewport)); + String base = src.substring(walk, M.min(walk + viewport, len - 1)); + base = base.length() < viewport ? base + Form.repeat(" ", (viewport - base.length()) - 3) : base; + + return base; + } + + /** + * Capitalize the first letter + * + * @param s + * the string + * @return the capitalized string + */ + public static String capitalize(String s) + { + String roll = ""; + boolean f = true; + + for(Character i : s.trim().toCharArray()) + { + if(f) + { + roll += Character.toUpperCase(i); + f = false; + } + + else + { + roll += i; + } + } + + return roll; + } + + /** + * Capitalize all words in the string + * + * @param s + * the string + * @return the capitalized string + */ + public static String capitalizeWords(String s) + { + String rollx = ""; + + for(String i : s.trim().split(" ")) + { + rollx += " " + capitalize(i.trim()); + } + + return rollx.substring(1); + } + + /** + * Hard word wrap + * + * @param s + * the words + * @param len + * the length per line + * @return the wrapped string + */ + public static String wrap(String s, int len) + { + return wrap(s, len, (String) null, false); + } + + /** + * Soft Word wrap + * + * @param s + * the string + * @param len + * the length to wrap + * @return the wrapped string + */ + public static String wrapWords(String s, int len) + { + return wrap(s, len, (String) null, true); + } + + /** + * Wrap words + * + * @param s + * the string + * @param len + * the wrap length + * @param newLineSep + * the new line seperator + * @param soft + * should it be soft wrapped or hard wrapped? + * @return the wrapped words + */ + public static String wrap(String s, int len, String newLineSep, boolean soft) + { + return wrap(s, len, newLineSep, soft, " "); + } + + /** + * Wrap words + * + * @param s + * the string + * @param len + * the length + * @param newLineSep + * the new line seperator + * @param soft + * soft or hard wrapping + * @param regex + * the regex + * @return the wrapped string + */ + public static String wrap(String s, int len, String newLineSep, boolean soft, String regex) + { + if(s == null) + { + return null; + } + + else + { + if(newLineSep == null) + { + newLineSep = "\n"; + } + + if(len < 1) + { + len = 1; + } + + if(regex.trim().equals("")) + { + regex = " "; + } + + Pattern arg4 = Pattern.compile(regex); + int arg5 = s.length(); + int arg6 = 0; + StringBuilder arg7 = new StringBuilder(arg5 + 32); + + while(arg6 < arg5) + { + int arg8 = -1; + Matcher arg9 = arg4.matcher(s.substring(arg6, Math.min(arg6 + len + 1, arg5))); + if(arg9.find()) + { + if(arg9.start() == 0) + { + arg6 += arg9.end(); + continue; + } + + arg8 = arg9.start(); + } + + if(arg5 - arg6 <= len) + { + break; + } + + while(arg9.find()) + { + arg8 = arg9.start() + arg6; + } + + if(arg8 >= arg6) + { + arg7.append(s.substring(arg6, arg8)); + arg7.append(newLineSep); + arg6 = arg8 + 1; + } + else if(soft) + { + arg7.append(s.substring(arg6, len + arg6)); + arg7.append(newLineSep); + arg6 += len; + } + else + { + arg9 = arg4.matcher(s.substring(arg6 + len)); + if(arg9.find()) + { + arg8 = arg9.start() + arg6 + len; + } + + if(arg8 >= 0) + { + arg7.append(s.substring(arg6, arg8)); + arg7.append(newLineSep); + arg6 = arg8 + 1; + } + else + { + arg7.append(s.substring(arg6)); + arg6 = arg5; + } + } + } + + arg7.append(s.substring(arg6)); + return arg7.toString(); + } + } + + /** + * Returns a fancy duration up to Years + * + * @param rollingSequence + * + * @param duration + * the duration in ms + * @return the fancy duration + */ + public static String duration(RollingSequence rollingSequence, long duration) + { + String suffix = "Millisecond"; + double phantom = duration; + int div = 1000; + + if(phantom > div) + { + phantom /= div; + suffix = "Second"; + div = 60; + + if(phantom > div) + { + phantom /= div; + suffix = "Minute"; + + if(phantom > div) + { + phantom /= div; + suffix = "Hour"; + div = 24; + + if(phantom > 24) + { + phantom /= div; + suffix = "Day"; + div = 7; + + if(phantom > div) + { + phantom /= div; + suffix = "Week"; + div = 4; + + if(phantom > div) + { + phantom /= div; + suffix = "Month"; + div = 12; + + if(phantom > div) + { + phantom /= div; + suffix = "Year"; + return Form.fd(phantom, 0) + " " + suffix + ((int) phantom == 1 ? "" : "s"); + } + + else + { + return Form.fd(phantom, 0) + " " + suffix + ((int) phantom == 1 ? "" : "s"); + } + } + + else + { + return Form.fd(phantom, 0) + " " + suffix + ((int) phantom == 1 ? "" : "s"); + } + } + + else + { + return Form.fd(phantom, 0) + " " + suffix + ((int) phantom == 1 ? "" : "s"); + } + } + + else + { + return Form.fd(phantom, 0) + " " + suffix + ((int) phantom == 1 ? "" : "s"); + } + } + + else + { + return Form.fd(phantom, 0) + " " + suffix + ((int) phantom == 1 ? "" : "s"); + } + } + + else + { + return Form.fd(phantom, 0) + " " + suffix + ((int) phantom == 1 ? "" : "s"); + } + } + + else + { + return "Under a Second"; + } + } + + /** + * Fixes the minute issue with formatting + * + * @param c + * the calendar + * @return the minute string + */ + public static String fmin(Calendar c) + { + String s = c.get(Calendar.MINUTE) + ""; + if(s.length() == 1) + { + return "0" + s; + } + + return s; + } + + /** + * Get a fancy time stamp + * + * @param time + * the stamp in time (ago) + * @return the fancy stamp in time (ago) + */ + public static String ago(long time) + { + long current = M.ms(); + + if(time > current - TimeUnit.SECONDS.toMillis(30) && time < current) + { + return "Just Now"; + } + + else if(time > current - TimeUnit.SECONDS.toMillis(60) && time < current) + { + return "Seconds Ago"; + } + + else if(time > current - TimeUnit.MINUTES.toMillis(10) && time < current) + { + return "Minutes Ago"; + } + + else + { + Calendar now = Calendar.getInstance(); + Calendar c = Calendar.getInstance(); + c.setTimeInMillis(time); + boolean sameYear = now.get(Calendar.YEAR) == c.get(Calendar.YEAR); + boolean sameDay = now.get(Calendar.DAY_OF_YEAR) == c.get(Calendar.DAY_OF_YEAR); + + if(sameDay) + { + int h = c.get(Calendar.HOUR); + h = h == 0 ? 12 : h; + + return "Today at " + h + ":" + fmin(c) + " " + (c.get(Calendar.AM_PM) == Calendar.PM ? "PM" : "AM"); + } + + else if(sameYear) + { + boolean yesterday = now.get(Calendar.DAY_OF_YEAR) - 1 == c.get(Calendar.DAY_OF_YEAR); + + if(yesterday) + { + int h = c.get(Calendar.HOUR); + h = h == 0 ? 12 : h; + + return "Yesterday at " + h + ":" + fmin(c) + " " + (c.get(Calendar.AM_PM) == Calendar.PM ? "PM" : "AM"); + } + + else + { + int h = c.get(Calendar.HOUR); + h = h == 0 ? 12 : h; + String dow = "Error Day"; + + switch(c.get(Calendar.DAY_OF_WEEK)) + { + case Calendar.SUNDAY: + dow = "Sunday"; + break; + case Calendar.MONDAY: + dow = "Monday"; + break; + case Calendar.TUESDAY: + dow = "Tuesday"; + break; + case Calendar.WEDNESDAY: + dow = "Wednesday"; + break; + case Calendar.THURSDAY: + dow = "Thursday"; + break; + case Calendar.FRIDAY: + dow = "Friday"; + break; + case Calendar.SATURDAY: + dow = "Saturday"; + break; + } + + String monthName = "Error Month"; + int month = c.get(Calendar.MONTH); + + switch(month) + { + case Calendar.JANUARY: + monthName = "Jan"; + break; + case Calendar.FEBRUARY: + monthName = "Feb"; + break; + case Calendar.MARCH: + monthName = "Mar"; + break; + case Calendar.APRIL: + monthName = "Apr"; + break; + case Calendar.MAY: + monthName = "May"; + break; + case Calendar.JUNE: + monthName = "Jun"; + break; + case Calendar.JULY: + monthName = "Jul"; + break; + case Calendar.AUGUST: + monthName = "Aug"; + break; + case Calendar.SEPTEMBER: + monthName = "Sep"; + break; + case Calendar.OCTOBER: + monthName = "Oct"; + break; + case Calendar.NOVEMBER: + monthName = "Nov"; + break; + case Calendar.DECEMBER: + monthName = "Dec"; + break; + } + + int dayOfMonth = c.get(Calendar.DAY_OF_MONTH); + String suffix = numberSuffix(dayOfMonth); + + return dow + ", " + monthName + " " + suffix + " at " + h + ":" + fmin(c) + " " + (c.get(Calendar.AM_PM) == Calendar.PM ? "PM" : "AM"); + } + } + + else + { + int h = c.get(Calendar.HOUR); + h = h == 0 ? 12 : h; + String dow = "Error Day"; + + switch(c.get(Calendar.DAY_OF_WEEK)) + { + case Calendar.SUNDAY: + dow = "Sunday"; + break; + case Calendar.MONDAY: + dow = "Monday"; + break; + case Calendar.TUESDAY: + dow = "Tuesday"; + break; + case Calendar.WEDNESDAY: + dow = "Wednesday"; + break; + case Calendar.THURSDAY: + dow = "Thursday"; + break; + case Calendar.FRIDAY: + dow = "Friday"; + break; + case Calendar.SATURDAY: + dow = "Saturday"; + break; + } + + String monthName = "Error Month"; + int month = c.get(Calendar.MONTH); + + switch(month) + { + case Calendar.JANUARY: + monthName = "Jan"; + break; + case Calendar.FEBRUARY: + monthName = "Feb"; + break; + case Calendar.MARCH: + monthName = "Mar"; + break; + case Calendar.APRIL: + monthName = "Apr"; + break; + case Calendar.MAY: + monthName = "May"; + break; + case Calendar.JUNE: + monthName = "Jun"; + break; + case Calendar.JULY: + monthName = "Jul"; + break; + case Calendar.AUGUST: + monthName = "Aug"; + break; + case Calendar.SEPTEMBER: + monthName = "Sep"; + break; + case Calendar.OCTOBER: + monthName = "Oct"; + break; + case Calendar.NOVEMBER: + monthName = "Nov"; + break; + case Calendar.DECEMBER: + monthName = "Dec"; + break; + } + + int dayOfMonth = c.get(Calendar.DAY_OF_MONTH); + String suffix = numberSuffix(dayOfMonth); + int year = c.get(Calendar.YEAR); + + return year + ", " + dow + ", " + monthName + " " + suffix + " at " + h + ":" + fmin(c) + " " + (c.get(Calendar.AM_PM) == Calendar.PM ? "PM" : "AM"); + } + } + } + + /** + * Get the suffix for a number i.e. 1st 2nd 3rd + * + * @param i + * the number + * @return the suffix + */ + public static String numberSuffix(int i) + { + String[] sufixes = new String[] {"th", "st", "nd", "rd", "th", "th", "th", "th", "th", "th"}; + switch(i % 100) + { + case 11: + case 12: + case 13: + return i + "th"; + default: + return i + sufixes[i % 10]; + + } + } + + /** + * Get a high accuracy but limited range duration (accurate up to a couple + * minutes) + * + * @param ms + * the milliseconds (double) + * @param prec + * the precision (decimal format) + * @return the formatted string + */ + public static String duration(double ms, int prec) + { + if(ms < 1000.0) + { + return Form.f(ms, prec) + "ms"; + } + + if(ms / 1000.0 < 60.0) + { + return Form.f(ms / 1000.0, prec) + "s"; + } + + if(ms / 1000.0 / 60.0 < 60.0) + { + return Form.f(ms / 1000.0 / 60.0, prec) + "m"; + } + + if(ms / 1000.0 / 60.0 / 60.0 < 24.0) + { + return Form.f(ms / 1000.0 / 60.0 / 60.0, prec) + " hours"; + } + + if(ms / 1000.0 / 60.0 / 60.0 / 24.0 < 7) + { + return Form.f(ms / 1000.0 / 60.0 / 24.0, prec) + " days"; + } + + return Form.f(ms, prec) + "ms"; + } + + public static String duration(long ms) + { + return duration(ms, 0); + } + + /** + * Get a duration from milliseconds up to days + * + * @param ms + * the ms + * @param prec + * the precision (decimal format) + * @return the formatted string + */ + public static String duration(long ms, int prec) + { + if(ms < 1000.0) + { + return Form.f(ms, prec) + "ms"; + } + + if(ms / 1000.0 < 60.0) + { + return Form.f(ms / 1000.0, prec) + " seconds"; + } + + if(ms / 1000.0 / 60.0 < 60.0) + { + return Form.f(ms / 1000.0 / 60.0, prec) + " minutes"; + } + + if(ms / 1000.0 / 60.0 / 60.0 < 24.0) + { + return Form.f(ms / 1000.0 / 60.0 / 60.0, prec) + " hours"; + } + + if(ms / 1000.0 / 60.0 / 60.0 / 24.0 < 7) + { + return Form.f(ms / 1000.0 / 60.0 / 24.0, prec) + " days"; + } + + return Form.f(ms, prec) + "ms"; + } + + /** + * Format a big value + * + * @param i + * the number + * @return the full value in string + */ + public static String b(int i) + { + return b(new BigInteger(String.valueOf(i))); + } + + /** + * Format a big value + * + * @param i + * the number + * @return the full value in string + */ + public static String b(long i) + { + return b(new BigInteger(String.valueOf(i))); + } + + /** + * Format a big value + * + * @param i + * the number + * @return the full value in string + */ + public static String b(double i) + { + return b(new BigInteger(String.valueOf((long) i))); + } + + /** + * Format a big number + * + * @param number + * the big number + * @return the value in string + */ + public static String b(BigInteger number) + { + Entry entry = MAP.floorEntry(number); + if(entry == null) + { + return "Nearly nothing"; + } + + BigInteger key = entry.getKey(); + BigInteger d = key.divide(THOUSAND); + BigInteger m = number.divide(d); + float f = m.floatValue() / 1000.0f; + float rounded = ((int) (f * 100.0)) / 100.0f; + + if(rounded % 1 == 0) + { + return ((int) rounded) + " " + entry.getValue(); + } + + return rounded + " " + entry.getValue(); + } + + /** + * Calculate a fancy string representation of a file size. Adds a suffix of B, + * KB, MB, GB, or TB + * + * @param s + * the size (in bytes) + * @return the string + */ + public static String fileSize(long s) + { + return ofSize(s, 1000); + } + + /** + * ":", "a", "b", "c" -> a:b:c + * + * @param splitter + * the splitter that goes in between + * @param strings + * the strings + * @return the result + */ + public static String split(String splitter, String... strings) + { + StringBuilder b = new StringBuilder(); + + for(String i : strings) + { + b.append(splitter); + b.append(i); + } + + return b.toString().substring(splitter.length()); + } + + /** + * Calculate a fancy string representation of a file size. Adds a suffix of B, + * KB, MB, GB, or TB + * + * @param s + * the size (in bytes) + * @return the string + */ + public static String memSize(long s) + { + return ofSize(s, 1024); + } + + public static String memSize(long s, int dec) + { + return ofSize(s, 1024, dec); + } + + /** + * Get the timestamp of the time t (ms since 1970) + * + * @param t + * the time + * @return the stamp + */ + @SuppressWarnings("deprecation") + public static String stamp(long t) + { + Date d = new Date(t); + return d.getMonth() + "-" + d.getDate() + "-" + (d.getYear() + 1900) + " " + d.getHours() + "h " + d.getMinutes() + "m " + d.getSeconds() + "s "; + } + + @SuppressWarnings("deprecation") + public static String stampTime(long t) + { + Date d = new Date(t); + + return Calendar.getInstance().get(Calendar.HOUR_OF_DAY) + ":" + forceDoubleDigit(d.getMinutes()) + ":" + forceDoubleDigit(d.getSeconds()); + } + + public static String forceDoubleDigit(int dig) + { + if(dig < 10) + { + return "0" + dig; + } + + return dig + ""; + } + + @SuppressWarnings("deprecation") + public static String stampDay(long t) + { + Date d = new Date(t); + return d.getMonth() + "-" + d.getDate() + "-" + (d.getYear() + 1900); + } + + /** + * Calculate a fancy string representation of a size in B, KB, MB, GB, or TB + * with a special divisor. The divisor decides how much goes up in the suffix + * chain. + * + * @param s + * the size (in bytes) + * @param div + * the divisor + * @return the string + */ + public static String ofSize(long s, int div) + { + Double d = (double) s; + String sub = "Bytes"; + + if(d > div - 1) + { + d /= div; + sub = "KB"; + + if(d > div - 1) + { + d /= div; + sub = "MB"; + + if(d > div - 1) + { + d /= div; + sub = "GB"; + + if(d > div - 1) + { + d /= div; + sub = "TB"; + } + } + } + } + + if(sub.equals("GB") || sub.equals("TB")) + { + return Form.f(d, 1) + sub; + } + + else + { + return Form.f(d, 0) + sub; + } + } + + /** + * Calculate a fancy string representation of a size in B, KB, MB, GB, or TB + * with a special divisor. The divisor decides how much goes up in the suffix + * chain. + * + * @param s + * the size (in bytes) + * @param div + * the divisor + * @param dec + * the decimal places + * @return the string + */ + public static String ofSize(long s, int div, int dec) + { + Double d = (double) s; + String sub = "Bytes"; + + if(d > div - 1) + { + d /= div; + sub = "KB"; + + if(d > div - 1) + { + d /= div; + sub = "MB"; + + if(d > div - 1) + { + d /= div; + sub = "GB"; + + if(d > div - 1) + { + d /= div; + sub = "TB"; + } + } + } + } + + return Form.f(d, dec) + " " + sub; + } + + /** + * Calculate a fancy string representation of a size in Grams, KG, MG, GG, TG + * with a special divisor. The divisor decides how much goes up in the suffix + * chain. + * + * @param s + * the size (in bytes) + * @param div + * the divisor + * @param dec + * the decimal places + * @return the string + */ + public static String ofSizeMetricWeight(long s, int div, int dec) + { + boolean neg = s < 0; + if(neg) + { + s = -s; + } + Double d = (double) s; + String sub = "Grams"; + + if(d > div - 1) + { + d /= div; + sub = "KG"; + + if(d > div - 1) + { + d /= div; + sub = "MG"; + + if(d > div - 1) + { + d /= div; + sub = "GG"; + + if(d > div - 1) + { + d /= div; + sub = "TG"; + } + } + } + } + + return (neg ? "-" : "") + Form.f(d, dec) + " " + sub; + } + + /** + * Trim a string to a length, then append ... at the end if it extends the limit + * + * @param s + * the string + * @param l + * the limit + * @return the modified string + */ + public static String trim(String s, int l) + { + if(s.length() <= l) + { + return s; + } + + return s.substring(0, l) + "..."; + } + + /** + * Get a class name into a configuration/filename key For example, + * PhantomController.class is converted to phantom-controller + * + * @param clazz + * the class + * @return the string representation + */ + public static String cname(String clazz) + { + String codeName = ""; + + for(Character i : clazz.toCharArray()) + { + if(Character.isUpperCase(i)) + { + codeName = codeName + "-" + Character.toLowerCase(i); + } + + else + { + codeName = codeName + i; + } + } + + if(codeName.startsWith("-")) + { + codeName = codeName.substring(1); + } + + return codeName; + } + + /** + * Get a formatted representation of the memory given in megabytes + * + * @param mb + * the megabytes + * @return the string representation with suffixes + */ + public static String mem(long mb) + { + if(mb < 1024) + { + return f(mb) + " MB"; + } + + else + { + return f(((double) mb / (double) 1024), 1) + " GB"; + } + } + + /** + * Get a formatted representation of the memory given in kilobytes + * + * @param mb + * the kilobytes + * @return the string representation with suffixes + */ + public static String memx(long kb) + { + if(kb < 1024) + { + return fd(kb, 2) + " KB"; + } + + else + { + double mb = (double) kb / 1024.0; + + if(mb < 1024) + { + return fd(mb, 2) + " MB"; + } + + else + { + double gb = (double) mb / 1024.0; + + return fd(gb, 2) + " GB"; + } + } + } + + /** + * Format a long. Changes -10334 into -10,334 + * + * @param i + * the number + * @return the string representation of the number + */ + public static String f(long i) + { + instantiate(); + return NF.format(i); + } + + /** + * Format a number. Changes -10334 into -10,334 + * + * @param i + * the number + * @return the string representation of the number + */ + public static String f(int i) + { + instantiate(); + return NF.format(i); + } + + /** + * Formats a double's decimals to a limit + * + * @param i + * the double + * @param p + * the number of decimal places to use + * @return the formated string + */ + public static String f(double i, int p) + { + String form = "#"; + + if(p > 0) + { + form = form + "." + repeat("#", p); + } + + DF = new DecimalFormat(form); + + return DF.format(i); + } + + /** + * Formats a double's decimals to a limit, however, this will add zeros to the + * decimal places that dont need to be placed down. 2.4343 formatted with 6 + * decimals gets returned as 2.434300 + * + * @param i + * the double + * @param p + * the number of decimal places to use + * @return the formated string + */ + public static String fd(double i, int p) + { + String form = "0"; + + if(p > 0) + { + form = form + "." + repeat("0", p); + } + + DF = new DecimalFormat(form); + + return DF.format(i); + } + + /** + * Formats a float's decimals to a limit + * + * @param i + * the float + * @param p + * the number of decimal places to use + * @return the formated string + */ + public static String f(float i, int p) + { + String form = "#"; + + if(p > 0) + { + form = form + "." + repeat("#", p); + } + + DF = new DecimalFormat(form); + + return DF.format(i); + } + + /** + * Formats a double's decimals (one decimal point) + * + * @param i + * the double + */ + public static String f(double i) + { + return f(i, 1); + } + + /** + * Formats a float's decimals (one decimal point) + * + * @param i + * the float + */ + public static String f(float i) + { + return f(i, 1); + } + + /** + * Get a percent representation of a double and decimal places (0.53) would + * return 53% + * + * @param i + * the double + * @param p + * the number of decimal points + * @return a string + */ + public static String pc(double i, int p) + { + return f(i * 100.0, p) + "%"; + } + + /** + * Get a percent representation of a float and decimal places (0.53) would + * return 53% + * + * @param i + * the float + * @param p + * the number of decimal points + * @return a string + */ + public static String pc(float i, int p) + { + return f(i * 100, p) + "%"; + } + + /** + * Get a percent representation of a double and zero decimal places (0.53) would + * return 53% + * + * @param i + * the double + * @return a string + */ + public static String pc(double i) + { + return f(i * 100, 0) + "%"; + } + + /** + * Get a percent representation of a float and zero decimal places (0.53) would + * return 53% + * + * @param i + * the double + * @return a string + */ + public static String pc(float i) + { + return f(i * 100, 0) + "%"; + } + + /** + * Get a percent as the percent of i out of "of" with custom decimal places + * + * @param i + * the percent out of + * @param of + * of of + * @param p + * the decimal places + * @return the string + */ + public static String pc(int i, int of, int p) + { + return f(100.0 * (((double) i) / ((double) of)), p) + "%"; + } + + /** + * Get a percent as the percent of i out of "of" + * + * @param i + * the percent out of + * @param of + * of of + * @return the string + */ + public static String pc(int i, int of) + { + return pc(i, of, 0); + } + + /** + * Get a percent as the percent of i out of "of" with custom decimal places + * + * @param i + * the percent out of + * @param of + * of of + * @param p + * the decimal places + * @return the string + */ + public static String pc(long i, long of, int p) + { + return f(100.0 * (((double) i) / ((double) of)), p) + "%"; + } + + /** + * Get a percent as the percent of i out of "of" + * + * @param i + * the percent out of + * @param of + * of of + * @return the string + */ + public static String pc(long i, long of) + { + return pc(i, of, 0); + } + + /** + * Milliseconds to seconds (double) + * + * @param ms + * the milliseconds + * @return a formatted string to milliseconds + */ + public static String msSeconds(long ms) + { + return f((double) ms / 1000.0); + } + + /** + * Milliseconds to seconds (double) custom decimals + * + * @param ms + * the milliseconds + * @param p + * number of decimal points + * @return a formatted string to milliseconds + */ + public static String msSeconds(long ms, int p) + { + return f((double) ms / 1000.0, p); + } + + /** + * nanoseconds to seconds (double) + * + * @param ms + * the nanoseconds + * @return a formatted string to nanoseconds + */ + public static String nsMs(long ns) + { + return f((double) ns / 1000000.0); + } + + /** + * nanoseconds to seconds (double) custom decimals + * + * @param ms + * the nanoseconds + * @param p + * number of decimal points + * @return a formatted string to nanoseconds + */ + public static String nsMs(long ns, int p) + { + return f((double) ns / 1000000.0, p); + } + + /** + * nanoseconds to seconds (double) custom decimals + * + * @param ms + * the nanoseconds + * @param p + * number of decimal points + * @return a formatted string to nanoseconds + */ + public static String nsMsd(long ns, int p) + { + return fd((double) ns / 1000000.0, p); + } + + /** + * Get roman numeral representation of the int + * + * @param num + * the int + * @return the numerals + */ + public static String toRoman(int num) + { + LinkedHashMap roman_numerals = new LinkedHashMap(); + + roman_numerals.put("M", 1000); + roman_numerals.put("CM", 900); + roman_numerals.put("D", 500); + roman_numerals.put("CD", 400); + roman_numerals.put("C", 100); + roman_numerals.put("XC", 90); + roman_numerals.put("L", 50); + roman_numerals.put("XL", 40); + roman_numerals.put("X", 10); + roman_numerals.put("IX", 9); + roman_numerals.put("V", 5); + roman_numerals.put("IV", 4); + roman_numerals.put("I", 1); + + String res = ""; + + for(Map.Entry entry : roman_numerals.entrySet()) + { + int matches = num / entry.getValue(); + + res += repeat(entry.getKey(), matches); + num = num % entry.getValue(); + } + + return res; + } + + /** + * Get the number representation from roman numerals. + * + * @param number + * the roman number + * @return the int representation + */ + public static int fromRoman(String number) + { + if(number.isEmpty()) + { + return 0; + } + + number = number.toUpperCase(); + + if(number.startsWith("M")) + { + return 1000 + fromRoman(number.substring(1)); + } + + if(number.startsWith("CM")) + { + return 900 + fromRoman(number.substring(2)); + } + + if(number.startsWith("D")) + { + return 500 + fromRoman(number.substring(1)); + } + + if(number.startsWith("CD")) + { + return 400 + fromRoman(number.substring(2)); + } + + if(number.startsWith("C")) + { + return 100 + fromRoman(number.substring(1)); + } + + if(number.startsWith("XC")) + { + return 90 + fromRoman(number.substring(2)); + } + + if(number.startsWith("L")) + { + return 50 + fromRoman(number.substring(1)); + } + + if(number.startsWith("XL")) + { + return 40 + fromRoman(number.substring(2)); + } + + if(number.startsWith("X")) + { + return 10 + fromRoman(number.substring(1)); + } + + if(number.startsWith("IX")) + { + return 9 + fromRoman(number.substring(2)); + } + + if(number.startsWith("V")) + { + return 5 + fromRoman(number.substring(1)); + } + + if(number.startsWith("IV")) + { + return 4 + fromRoman(number.substring(2)); + } + + if(number.startsWith("I")) + { + return 1 + fromRoman(number.substring(1)); + } + + return 0; + } + + /** + * Repeat a string + * + * @param s + * the string + * @param n + * the amount of times to repeat + * @return the repeated string + */ + public static String repeat(String s, int n) + { + if(s == null) + { + return null; + } + + final StringBuilder sb = new StringBuilder(); + + for(int i = 0; i < n; i++) + { + sb.append(s); + } + + return sb.toString(); + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/Formula.java b/src/main/java/ninja/bytecode/iris/util/Formula.java new file mode 100644 index 000000000..470c081a5 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/Formula.java @@ -0,0 +1,50 @@ +package ninja.bytecode.iris.util; + +import javax.script.ScriptException; + +/** + * Evaluates an expression using javascript engine and returns the double + * result. This can take variable parameters, so you need to define them. + * Parameters are defined as $[0-9]. For example evaluate("4$0/$1", 1, 2); This + * makes the expression (4x1)/2 == 2. Keep note that you must use 0-9, you + * cannot skip, or start at a number other than 0. + * + * @author cyberpwn + */ +public class Formula +{ + private String expression; + + /** + * Evaluates an expression using javascript engine and returns the double + * result. This can take variable parameters, so you need to define them. + * Parameters are defined as $[0-9]. For example evaluate("4$0/$1", 1, 2); This + * makes the expression (4x1)/2 == 2. Keep note that you must use 0-9, you + * cannot skip, or start at a number other than 0. + * + * @param expression + * the expression with variables + * @param args + * the arguments/variables + */ + public Formula(String expression) + { + this.expression = expression; + } + + /** + * Evaluates the given args + * + * @param args + * the args + * @return the return result + * @throws IndexOutOfBoundsException + * invalid number of args + * @throws ScriptException + * syntax issue + */ + public double evaluate(Double... args) throws IndexOutOfBoundsException, ScriptException + { + return M.evaluate(expression, args); + } +} \ No newline at end of file diff --git a/src/main/java/ninja/bytecode/iris/util/Function2.java b/src/main/java/ninja/bytecode/iris/util/Function2.java new file mode 100644 index 000000000..86543682f --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/Function2.java @@ -0,0 +1,7 @@ +package ninja.bytecode.iris.util; + +@FunctionalInterface +public interface Function2 +{ + public R apply(A a, B b); +} diff --git a/src/main/java/ninja/bytecode/iris/util/Function3.java b/src/main/java/ninja/bytecode/iris/util/Function3.java new file mode 100644 index 000000000..02bc754de --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/Function3.java @@ -0,0 +1,7 @@ +package ninja.bytecode.iris.util; + +@FunctionalInterface +public interface Function3 +{ + public R apply(A a, B b, C c); +} diff --git a/src/main/java/ninja/bytecode/iris/util/Function4.java b/src/main/java/ninja/bytecode/iris/util/Function4.java new file mode 100644 index 000000000..79742d544 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/Function4.java @@ -0,0 +1,7 @@ +package ninja.bytecode.iris.util; + +@FunctionalInterface +public interface Function4 +{ + public R apply(A a, B b, C c, D d); +} diff --git a/src/main/java/ninja/bytecode/iris/util/HTTP.java b/src/main/java/ninja/bytecode/iris/util/HTTP.java new file mode 100644 index 000000000..2665d698d --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/HTTP.java @@ -0,0 +1,201 @@ +package ninja.bytecode.iris.util; + + +/* +Copyright (c) 2002 JSON.org + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +The Software shall be used for Good, not Evil. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +import java.util.Iterator; + +/** + * Convert an HTTP header to a JSONObject and back. + * + * @author JSON.org + * @version 2014-05-03 + */ +public class HTTP +{ + + /** Carriage return/line feed. */ + public static final String CRLF = "\r\n"; + + /** + * Convert an HTTP header string into a JSONObject. It can be a request + * header or a response header. A request header will contain + * + *
+	 * {
+	 *    Method: "POST" (for example),
+	 *    "Request-URI": "/" (for example),
+	 *    "HTTP-Version": "HTTP/1.1" (for example)
+	 * }
+	 * 
+ * + * A response header will contain + * + *
+	 * {
+	 *    "HTTP-Version": "HTTP/1.1" (for example),
+	 *    "Status-Code": "200" (for example),
+	 *    "Reason-Phrase": "OK" (for example)
+	 * }
+	 * 
+ * + * In addition, the other parameters in the header will be captured, using + * the HTTP field names as JSON names, so that + * + *
+	 *    Date: Sun, 26 May 2002 18:06:04 GMT
+	 *    Cookie: Q=q2=PPEAsg--; B=677gi6ouf29bn&b=2&f=s
+	 *    Cache-Control: no-cache
+	 * 
+ * + * become + * + *
+	 * {...
+	 *    Date: "Sun, 26 May 2002 18:06:04 GMT",
+	 *    Cookie: "Q=q2=PPEAsg--; B=677gi6ouf29bn&b=2&f=s",
+	 *    "Cache-Control": "no-cache",
+	 * ...}
+	 * 
+ * + * It does no further checking or conversion. It does not parse dates. It + * does not do '%' transforms on URLs. + * + * @param string + * An HTTP header string. + * @return A JSONObject containing the elements and attributes of the XML + * string. + * @throws JSONException + */ + public static JSONObject toJSONObject(String string) throws JSONException + { + JSONObject jo = new JSONObject(); + HTTPTokener x = new HTTPTokener(string); + String token; + + token = x.nextToken(); + if(token.toUpperCase().startsWith("HTTP")) + { + + // Response + + jo.put("HTTP-Version", token); + jo.put("Status-Code", x.nextToken()); + jo.put("Reason-Phrase", x.nextTo('\0')); + x.next(); + + } else + { + + // Request + + jo.put("Method", token); + jo.put("Request-URI", x.nextToken()); + jo.put("HTTP-Version", x.nextToken()); + } + + // Fields + + while(x.more()) + { + String name = x.nextTo(':'); + x.next(':'); + jo.put(name, x.nextTo('\0')); + x.next(); + } + return jo; + } + + /** + * Convert a JSONObject into an HTTP header. A request header must contain + * + *
+	 * {
+	 *    Method: "POST" (for example),
+	 *    "Request-URI": "/" (for example),
+	 *    "HTTP-Version": "HTTP/1.1" (for example)
+	 * }
+	 * 
+ * + * A response header must contain + * + *
+	 * {
+	 *    "HTTP-Version": "HTTP/1.1" (for example),
+	 *    "Status-Code": "200" (for example),
+	 *    "Reason-Phrase": "OK" (for example)
+	 * }
+	 * 
+ * + * Any other members of the JSONObject will be output as HTTP fields. The + * result will end with two CRLF pairs. + * + * @param jo + * A JSONObject + * @return An HTTP header string. + * @throws JSONException + * if the object does not contain enough information. + */ + public static String toString(JSONObject jo) throws JSONException + { + Iterator keys = jo.keys(); + String string; + StringBuilder sb = new StringBuilder(); + if(jo.has("Status-Code") && jo.has("Reason-Phrase")) + { + sb.append(jo.getString("HTTP-Version")); + sb.append(' '); + sb.append(jo.getString("Status-Code")); + sb.append(' '); + sb.append(jo.getString("Reason-Phrase")); + } else if(jo.has("Method") && jo.has("Request-URI")) + { + sb.append(jo.getString("Method")); + sb.append(' '); + sb.append('"'); + sb.append(jo.getString("Request-URI")); + sb.append('"'); + sb.append(' '); + sb.append(jo.getString("HTTP-Version")); + } else + { + throw new JSONException("Not enough material for an HTTP header."); + } + sb.append(CRLF); + while(keys.hasNext()) + { + string = keys.next(); + if(!"HTTP-Version".equals(string) && !"Status-Code".equals(string) && !"Reason-Phrase".equals(string) && !"Method".equals(string) && !"Request-URI".equals(string) && !jo.isNull(string)) + { + sb.append(string); + sb.append(": "); + sb.append(jo.getString(string)); + sb.append(CRLF); + } + } + sb.append(CRLF); + return sb.toString(); + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/HTTPTokener.java b/src/main/java/ninja/bytecode/iris/util/HTTPTokener.java new file mode 100644 index 000000000..14c419f8d --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/HTTPTokener.java @@ -0,0 +1,91 @@ +package ninja.bytecode.iris.util; + + +/* +Copyright (c) 2002 JSON.org + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +The Software shall be used for Good, not Evil. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +/** + * The HTTPTokener extends the JSONTokener to provide additional methods for the + * parsing of HTTP headers. + * + * @author JSON.org + * @version 2014-05-03 + */ +public class HTTPTokener extends JSONTokener +{ + + /** + * Construct an HTTPTokener from a string. + * + * @param string + * A source string. + */ + public HTTPTokener(String string) + { + super(string); + } + + /** + * Get the next token or string. This is used in parsing HTTP headers. + * + * @throws JSONException + * @return A String. + */ + public String nextToken() throws JSONException + { + char c; + char q; + StringBuilder sb = new StringBuilder(); + do + { + c = next(); + } while(Character.isWhitespace(c)); + if(c == '"' || c == '\'') + { + q = c; + for(;;) + { + c = next(); + if(c < ' ') + { + throw syntaxError("Unterminated string."); + } + if(c == q) + { + return sb.toString(); + } + sb.append(c); + } + } + for(;;) + { + if(c == 0 || Character.isWhitespace(c)) + { + return sb.toString(); + } + sb.append(c); + c = next(); + } + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/ING.java b/src/main/java/ninja/bytecode/iris/util/ING.java index e658a76d4..49e9d35ad 100644 --- a/src/main/java/ninja/bytecode/iris/util/ING.java +++ b/src/main/java/ninja/bytecode/iris/util/ING.java @@ -2,37 +2,8 @@ package ninja.bytecode.iris.util; public class ING { - private SNG base; - private SNG[] children; - - public ING(RNG rng, int detail) + public ING(RNG rng) { - assert (detail >= 1); - this.children = new SNG[detail]; - - for(int i = 0; i < detail; i++) - { - children[i] = new SNG(rng.nextParallelRNG((i * 368989) % 13345)); - } - base = new SNG(rng.nextParallelRNG(13)); - } - - public double noise(double x, double z) - { - double cx = x; - double cz = z; - int i; - double j; - double k; - - for(i = 0; i < children.length; i++) - { - j = (i + 1) * 2; - k = (i + 1) * 1; - cx = cx + (children[i].noise((cx / j) + i, (cz / j) - i) * k); - cz = cz - (children[i].noise((cz / j) - i, (cx / j) + i) * k); - } - - return (base.noise(cx, cz) / 2D) + 0.5D; + } } diff --git a/src/main/java/ninja/bytecode/iris/util/IO.java b/src/main/java/ninja/bytecode/iris/util/IO.java new file mode 100644 index 000000000..d2ad16dba --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/IO.java @@ -0,0 +1,1910 @@ +package ninja.bytecode.iris.util; + +import java.io.BufferedInputStream; +import java.io.BufferedReader; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.CharArrayWriter; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.io.PrintWriter; +import java.io.Reader; +import java.io.StringWriter; +import java.io.Writer; +import java.nio.charset.StandardCharsets; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.util.ArrayList; +import java.util.Base64; +import java.util.Collection; +import java.util.Enumeration; +import java.util.Iterator; +import java.util.List; +import java.util.function.Consumer; +import java.util.zip.GZIPInputStream; +import java.util.zip.ZipEntry; +import java.util.zip.ZipException; +import java.util.zip.ZipFile; + +public class IO +{ + /** + * The Unix directory separator character. + */ + public static final char DIR_SEPARATOR_UNIX = '/'; + /** + * The Windows directory separator character. + */ + public static final char DIR_SEPARATOR_WINDOWS = '\\'; + /** + * The system directory separator character. + */ + public static final char DIR_SEPARATOR = File.separatorChar; + /** + * The Unix line separator string. + */ + public static final String LINE_SEPARATOR_UNIX = "\n"; + /** + * The Windows line separator string. + */ + public static final String LINE_SEPARATOR_WINDOWS = "\r\n"; + /** + * The system line separator string. + */ + public static final String LINE_SEPARATOR; + + /** + * The default buffer size to use. + */ + private static final int DEFAULT_BUFFER_SIZE = 1024 * 4; + private final static char[] hexArray = "0123456789ABCDEF".toCharArray(); + + public static String decompress(String gz) throws IOException + { + ByteArrayInputStream bin = new ByteArrayInputStream(Base64.getUrlDecoder().decode(gz)); + GZIPInputStream gzi = new GZIPInputStream(bin); + ByteArrayOutputStream boas = new ByteArrayOutputStream(); + IO.fullTransfer(gzi, boas, 256); + gzi.close(); + + return new String(boas.toByteArray(), StandardCharsets.UTF_8); + } + + public static byte[] sdecompress(String compressed) throws IOException + { + ByteArrayInputStream bin = new ByteArrayInputStream(Base64.getUrlDecoder().decode(compressed)); + GZIPInputStream gzi = new GZIPInputStream(bin); + ByteArrayOutputStream boas = new ByteArrayOutputStream(); + IO.fullTransfer(gzi, boas, 256); + gzi.close(); + + return boas.toByteArray(); + } + + public static String encode(byte[] data) + { + return Base64.getUrlEncoder().encodeToString(data); + } + + public static byte[] decode(String u) + { + return Base64.getUrlDecoder().decode(u); + } + + public static String hash(String b) + { + try + { + MessageDigest d = MessageDigest.getInstance("SHA-256"); + return bytesToHex(d.digest(b.getBytes(StandardCharsets.UTF_8))); + } + + catch(NoSuchAlgorithmException e) + { + e.printStackTrace(); + } + + return "¯\\_(ツ)_/¯"; + } + + public static String bytesToHex(byte[] bytes) + { + char[] hexChars = new char[bytes.length * 2]; + for(int j = 0; j < bytes.length; j++) + { + int v = bytes[j] & 0xFF; + hexChars[j * 2] = hexArray[v >>> 4]; + hexChars[j * 2 + 1] = hexArray[v & 0x0F]; + } + + return new String(hexChars).toUpperCase(); + } + + /** + * Transfers the length of the buffer amount of data from the input stream to + * the output stream + * + * @param in + * the input + * @param out + * the output + * @param amount + * the buffer and size to use + * @return the actual transfered amount + * @throws IOException + * shit happens + */ + public static int transfer(InputStream in, OutputStream out, byte[] buffer) throws IOException + { + int r = in.read(buffer); + + if(r != -1) + { + out.write(buffer, 0, r); + } + + return r; + } + + /** + * Transfers the length of the buffer amount of data from the input stream to + * the output stream + * + * @param in + * the input + * @param out + * the output + * @param targetBuffer + * the buffer and size to use + * @param totalSize + * the total amount to transfer + * @return the actual transfered amount + * @throws IOException + * shit happens + */ + public static long transfer(InputStream in, OutputStream out, int targetBuffer, long totalSize) throws IOException + { + long total = totalSize; + long wrote = 0; + byte[] buf = new byte[targetBuffer]; + int r = 0; + + while((r = in.read(buf, 0, (int) (total < targetBuffer ? total : targetBuffer))) != -1) + { + total -= r; + out.write(buf, 0, r); + wrote += r; + + if(total <= 0) + { + break; + } + } + + return wrote; + } + + /** + * Fully move data from a finite inputstream to an output stream using a buffer + * size of 8192. This does NOT close streams. + * + * @param in + * @param out + * @return total size transfered + * @throws IOException + */ + public static long fillTransfer(InputStream in, OutputStream out) throws IOException + { + return fullTransfer(in, out, 8192); + } + + public static void deleteUp(File f) + { + if(f.exists()) + { + f.delete(); + + if(f.getParentFile().list().length == 0) + { + deleteUp(f.getParentFile()); + } + } + } + + /** + * Fully move data from a finite inputstream to an output stream using a given + * buffer size. This does NOT close streams. + * + * @param in + * the input stream to read from + * @param out + * the output stream to write to + * @param bufferSize + * the target buffer size + * @return total size transfered + * @throws IOException + * shit happens + */ + public static long fullTransfer(InputStream in, OutputStream out, int bufferSize) throws IOException + { + long wrote = 0; + byte[] buf = new byte[bufferSize]; + int r = 0; + + while((r = in.read(buf)) != -1) + { + out.write(buf, 0, r); + wrote += r; + } + + return wrote; + } + + /** + * Recursive delete (deleting folders) + * + * @param f + * the file to delete (and subfiles if folder) + */ + public static void delete(File f) + { + if(f == null || !f.exists()) + { + return; + } + + if(f.isDirectory()) + { + for(File i : f.listFiles()) + { + delete(i); + } + } + + f.delete(); + } + + public static long size(File file) + { + long s = 0; + + if(file.exists()) + { + if(file.isDirectory()) + { + for(File i : file.listFiles()) + { + s += size(i); + } + } + + else + { + s += file.length(); + } + } + + return s; + } + + public static long count(File file) + { + long s = 0; + + if(file.exists()) + { + if(file.isDirectory()) + { + for(File i : file.listFiles()) + { + s += count(i); + } + } + + else + { + s++; + } + } + + return s; + } + + public static long transfer(InputStream in, OutputStream out, byte[] buf, int totalSize) throws IOException + { + long total = totalSize; + long wrote = 0; + int r = 0; + + while((r = in.read(buf, 0, (int) (total < buf.length ? total : buf.length))) != -1) + { + total -= r; + out.write(buf, 0, r); + wrote += r; + + if(total <= 0) + { + break; + } + } + + return wrote; + } + + public static void readEntry(File zipfile, String entryname, Consumer v) throws ZipException, IOException + { + ZipFile file = new ZipFile(zipfile); + Throwable x = null; + + try + { + Enumeration entries = file.entries(); + while(entries.hasMoreElements()) + { + ZipEntry entry = entries.nextElement(); + + if(entryname.equals(entry.getName())) + { + InputStream in = file.getInputStream(entry); + v.accept(in); + } + } + } + + catch(Exception ex) + { + x = ex.getCause(); + } + + finally + { + file.close(); + } + + if(x != null) + { + throw new IOException("Failed to read zip entry, however it has been closed safely.", x); + } + } + + public static void writeAll(File f, Object c) throws IOException + { + PrintWriter pw = new PrintWriter(new FileWriter(f)); + pw.println(c.toString()); + pw.close(); + } + + public static String readAll(File f) throws IOException + { + BufferedReader bu = new BufferedReader(new FileReader(f)); + String c = ""; + String l = ""; + + while((l = bu.readLine()) != null) + { + c += l + "\n"; + } + + bu.close(); + + return c; + } + + public static String readAll(InputStream in) throws IOException + { + BufferedReader bu = new BufferedReader(new InputStreamReader(in)); + String c = ""; + String l = ""; + + while((l = bu.readLine()) != null) + { + c += l + "\n"; + } + + bu.close(); + + return c; + } + + /** + * Implements the same behaviour as the "touch" utility on Unix. It creates a + * new file with size 0 or, if the file exists already, it is opened and closed + * without modifying it, but updating the file date and time. + * + * @param file + * the File to touch + * @throws IOException + * If an I/O problem occurs + */ + public static void touch(File file) throws IOException + { + if(!file.exists()) + { + OutputStream out = new FileOutputStream(file); + out.close(); + } + file.setLastModified(System.currentTimeMillis()); + } + + /** + * Copies a file to a new location preserving the file date. + *

+ * This method copies the contents of the specified source file to the specified + * destination file. The directory holding the destination file is created if it + * does not exist. If the destination file exists, then this method will + * overwrite it. + * + * @param srcFile + * an existing file to copy, must not be null + * @param destFile + * the new file, must not be null + * + * @throws NullPointerException + * if source or destination is null + * @throws IOException + * if source or destination is invalid + * @throws IOException + * if an IO error occurs during copying + * @see #copyFileToDirectory + */ + public static void copyFile(File srcFile, File destFile) throws IOException + { + copyFile(srcFile, destFile, true); + } + + /** + * Copies a file to a new location. + *

+ * This method copies the contents of the specified source file to the specified + * destination file. The directory holding the destination file is created if it + * does not exist. If the destination file exists, then this method will + * overwrite it. + * + * @param srcFile + * an existing file to copy, must not be null + * @param destFile + * the new file, must not be null + * @param preserveFileDate + * true if the file date of the copy should be the same as the + * original + * + * @throws NullPointerException + * if source or destination is null + * @throws IOException + * if source or destination is invalid + * @throws IOException + * if an IO error occurs during copying + * @see #copyFileToDirectory + */ + public static void copyFile(File srcFile, File destFile, boolean preserveFileDate) throws IOException + { + if(srcFile == null) + { + throw new NullPointerException("Source must not be null"); + } + if(destFile == null) + { + throw new NullPointerException("Destination must not be null"); + } + if(srcFile.exists() == false) + { + throw new FileNotFoundException("Source '" + srcFile + "' does not exist"); + } + if(srcFile.isDirectory()) + { + throw new IOException("Source '" + srcFile + "' exists but is a directory"); + } + if(srcFile.getCanonicalPath().equals(destFile.getCanonicalPath())) + { + throw new IOException("Source '" + srcFile + "' and destination '" + destFile + "' are the same"); + } + if(destFile.getParentFile() != null && destFile.getParentFile().exists() == false) + { + if(destFile.getParentFile().mkdirs() == false) + { + throw new IOException("Destination '" + destFile + "' directory cannot be created"); + } + } + if(destFile.exists() && destFile.canWrite() == false) + { + throw new IOException("Destination '" + destFile + "' exists but is read-only"); + } + doCopyFile(srcFile, destFile, preserveFileDate); + } + + /** + * Internal copy file method. + * + * @param srcFile + * the validated source file, not null + * @param destFile + * the validated destination file, not null + * @param preserveFileDate + * whether to preserve the file date + * @throws IOException + * if an error occurs + */ + private static void doCopyFile(File srcFile, File destFile, boolean preserveFileDate) throws IOException + { + if(destFile.exists() && destFile.isDirectory()) + { + throw new IOException("Destination '" + destFile + "' exists but is a directory"); + } + + FileInputStream input = new FileInputStream(srcFile); + try + { + FileOutputStream output = new FileOutputStream(destFile); + try + { + IO.copy(input, output); + } + finally + { + output.close(); + } + } + finally + { + input.close(); + } + + if(srcFile.length() != destFile.length()) + { + throw new IOException("Failed to copy full contents from '" + srcFile + "' to '" + destFile + "'"); + } + if(preserveFileDate) + { + destFile.setLastModified(srcFile.lastModified()); + } + } + + // ----------------------------------------------------------------------- + /** + * Unconditionally close an Reader. + *

+ * Equivalent to {@link Reader#close()}, except any exceptions will be + * ignored. This is typically used in finally blocks. + * + * @param input + * the Reader to close, may be null or already closed + */ + public static void closeQuietly(Reader input) + { + try + { + if(input != null) + { + input.close(); + } + } catch(IOException ioe) + { + // ignore + } + } + + /** + * Unconditionally close a Writer. + *

+ * Equivalent to {@link Writer#close()}, except any exceptions will be + * ignored. This is typically used in finally blocks. + * + * @param output + * the Writer to close, may be null or already closed + */ + public static void closeQuietly(Writer output) + { + try + { + if(output != null) + { + output.close(); + } + } catch(IOException ioe) + { + // ignore + } + } + + /** + * Unconditionally close an InputStream. + *

+ * Equivalent to {@link InputStream#close()}, except any exceptions will be + * ignored. This is typically used in finally blocks. + * + * @param input + * the InputStream to close, may be null or already closed + */ + public static void closeQuietly(InputStream input) + { + try + { + if(input != null) + { + input.close(); + } + } catch(IOException ioe) + { + // ignore + } + } + + /** + * Unconditionally close an OutputStream. + *

+ * Equivalent to {@link OutputStream#close()}, except any exceptions will be + * ignored. This is typically used in finally blocks. + * + * @param output + * the OutputStream to close, may be null or already closed + */ + public static void closeQuietly(OutputStream output) + { + try + { + if(output != null) + { + output.close(); + } + } catch(IOException ioe) + { + // ignore + } + } + + // read toByteArray + // ----------------------------------------------------------------------- + /** + * Get the contents of an InputStream as a byte[]. + *

+ * This method buffers the input internally, so there is no need to use a + * BufferedInputStream. + * + * @param input + * the InputStream to read from + * @return the requested byte array + * @throws NullPointerException + * if the input is null + * @throws IOException + * if an I/O error occurs + */ + public static byte[] toByteArray(InputStream input) throws IOException + { + ByteArrayOutputStream output = new ByteArrayOutputStream(); + copy(input, output); + return output.toByteArray(); + } + + /** + * Get the contents of a Reader as a byte[] using + * the default character encoding of the platform. + *

+ * This method buffers the input internally, so there is no need to use a + * BufferedReader. + * + * @param input + * the Reader to read from + * @return the requested byte array + * @throws NullPointerException + * if the input is null + * @throws IOException + * if an I/O error occurs + */ + public static byte[] toByteArray(Reader input) throws IOException + { + ByteArrayOutputStream output = new ByteArrayOutputStream(); + copy(input, output); + return output.toByteArray(); + } + + /** + * Get the contents of a Reader as a byte[] using + * the specified character encoding. + *

+ * Character encoding names can be found at + * IANA. + *

+ * This method buffers the input internally, so there is no need to use a + * BufferedReader. + * + * @param input + * the Reader to read from + * @param encoding + * the encoding to use, null means platform default + * @return the requested byte array + * @throws NullPointerException + * if the input is null + * @throws IOException + * if an I/O error occurs + * @since Commons IO 1.1 + */ + public static byte[] toByteArray(Reader input, String encoding) throws IOException + { + ByteArrayOutputStream output = new ByteArrayOutputStream(); + copy(input, output, encoding); + return output.toByteArray(); + } + + /** + * Get the contents of a String as a byte[] using + * the default character encoding of the platform. + *

+ * This is the same as {@link String#getBytes()}. + * + * @param input + * the String to convert + * @return the requested byte array + * @throws NullPointerException + * if the input is null + * @throws IOException + * if an I/O error occurs (never occurs) + * @deprecated Use {@link String#getBytes()} + */ + public static byte[] toByteArray(String input) throws IOException + { + return input.getBytes(); + } + + // read char[] + // ----------------------------------------------------------------------- + /** + * Get the contents of an InputStream as a character array + * using the default character encoding of the platform. + *

+ * This method buffers the input internally, so there is no need to use a + * BufferedInputStream. + * + * @param is + * the InputStream to read from + * @return the requested character array + * @throws NullPointerException + * if the input is null + * @throws IOException + * if an I/O error occurs + * @since Commons IO 1.1 + */ + public static char[] toCharArray(InputStream is) throws IOException + { + CharArrayWriter output = new CharArrayWriter(); + copy(is, output); + return output.toCharArray(); + } + + /** + * Get the contents of an InputStream as a character array + * using the specified character encoding. + *

+ * Character encoding names can be found at + * IANA. + *

+ * This method buffers the input internally, so there is no need to use a + * BufferedInputStream. + * + * @param is + * the InputStream to read from + * @param encoding + * the encoding to use, null means platform default + * @return the requested character array + * @throws NullPointerException + * if the input is null + * @throws IOException + * if an I/O error occurs + * @since Commons IO 1.1 + */ + public static char[] toCharArray(InputStream is, String encoding) throws IOException + { + CharArrayWriter output = new CharArrayWriter(); + copy(is, output, encoding); + return output.toCharArray(); + } + + /** + * Get the contents of a Reader as a character array. + *

+ * This method buffers the input internally, so there is no need to use a + * BufferedReader. + * + * @param input + * the Reader to read from + * @return the requested character array + * @throws NullPointerException + * if the input is null + * @throws IOException + * if an I/O error occurs + * @since Commons IO 1.1 + */ + public static char[] toCharArray(Reader input) throws IOException + { + CharArrayWriter sw = new CharArrayWriter(); + copy(input, sw); + return sw.toCharArray(); + } + + // read toString + // ----------------------------------------------------------------------- + /** + * Get the contents of an InputStream as a String using the + * default character encoding of the platform. + *

+ * This method buffers the input internally, so there is no need to use a + * BufferedInputStream. + * + * @param input + * the InputStream to read from + * @return the requested String + * @throws NullPointerException + * if the input is null + * @throws IOException + * if an I/O error occurs + */ + public static String toString(InputStream input) throws IOException + { + StringWriter sw = new StringWriter(); + copy(input, sw); + return sw.toString(); + } + + /** + * Get the contents of an InputStream as a String using the + * specified character encoding. + *

+ * Character encoding names can be found at + * IANA. + *

+ * This method buffers the input internally, so there is no need to use a + * BufferedInputStream. + * + * @param input + * the InputStream to read from + * @param encoding + * the encoding to use, null means platform default + * @return the requested String + * @throws NullPointerException + * if the input is null + * @throws IOException + * if an I/O error occurs + */ + public static String toString(InputStream input, String encoding) throws IOException + { + StringWriter sw = new StringWriter(); + copy(input, sw, encoding); + return sw.toString(); + } + + /** + * Get the contents of a Reader as a String. + *

+ * This method buffers the input internally, so there is no need to use a + * BufferedReader. + * + * @param input + * the Reader to read from + * @return the requested String + * @throws NullPointerException + * if the input is null + * @throws IOException + * if an I/O error occurs + */ + public static String toString(Reader input) throws IOException + { + StringWriter sw = new StringWriter(); + copy(input, sw); + return sw.toString(); + } + + /** + * Get the contents of a byte[] as a String using the default + * character encoding of the platform. + * + * @param input + * the byte array to read from + * @return the requested String + * @throws NullPointerException + * if the input is null + * @throws IOException + * if an I/O error occurs (never occurs) + * @deprecated Use {@link String#String(byte[])} + */ + public static String toString(byte[] input) throws IOException + { + return new String(input); + } + + /** + * Get the contents of a byte[] as a String using the specified + * character encoding. + *

+ * Character encoding names can be found at + * IANA. + * + * @param input + * the byte array to read from + * @param encoding + * the encoding to use, null means platform default + * @return the requested String + * @throws NullPointerException + * if the input is null + * @throws IOException + * if an I/O error occurs (never occurs) + * @deprecated Use {@link String#String(byte[],String)} + */ + public static String toString(byte[] input, String encoding) throws IOException + { + if(encoding == null) + { + return new String(input); + } else + { + return new String(input, encoding); + } + } + + // readLines + // ----------------------------------------------------------------------- + /** + * Get the contents of an InputStream as a list of Strings, one + * entry per line, using the default character encoding of the platform. + *

+ * This method buffers the input internally, so there is no need to use a + * BufferedInputStream. + * + * @param input + * the InputStream to read from, not null + * @return the list of Strings, never null + * @throws NullPointerException + * if the input is null + * @throws IOException + * if an I/O error occurs + * @since Commons IO 1.1 + */ + public static List readLines(InputStream input) throws IOException + { + InputStreamReader reader = new InputStreamReader(input); + return readLines(reader); + } + + /** + * Get the contents of an InputStream as a list of Strings, one + * entry per line, using the specified character encoding. + *

+ * Character encoding names can be found at + * IANA. + *

+ * This method buffers the input internally, so there is no need to use a + * BufferedInputStream. + * + * @param input + * the InputStream to read from, not null + * @param encoding + * the encoding to use, null means platform default + * @return the list of Strings, never null + * @throws NullPointerException + * if the input is null + * @throws IOException + * if an I/O error occurs + * @since Commons IO 1.1 + */ + public static List readLines(InputStream input, String encoding) throws IOException + { + if(encoding == null) + { + return readLines(input); + } else + { + InputStreamReader reader = new InputStreamReader(input, encoding); + return readLines(reader); + } + } + + /** + * Get the contents of a Reader as a list of Strings, one entry + * per line. + *

+ * This method buffers the input internally, so there is no need to use a + * BufferedReader. + * + * @param input + * the Reader to read from, not null + * @return the list of Strings, never null + * @throws NullPointerException + * if the input is null + * @throws IOException + * if an I/O error occurs + * @since Commons IO 1.1 + */ + public static List readLines(Reader input) throws IOException + { + BufferedReader reader = new BufferedReader(input); + List list = new ArrayList(); + String line = reader.readLine(); + while(line != null) + { + list.add(line); + line = reader.readLine(); + } + return list; + } + + // ----------------------------------------------------------------------- + /** + * Convert the specified string to an input stream, encoded as bytes using + * the default character encoding of the platform. + * + * @param input + * the string to convert + * @return an input stream + * @since Commons IO 1.1 + */ + public static InputStream toInputStream(String input) + { + byte[] bytes = input.getBytes(); + return new ByteArrayInputStream(bytes); + } + + /** + * Convert the specified string to an input stream, encoded as bytes using + * the specified character encoding. + *

+ * Character encoding names can be found at + * IANA. + * + * @param input + * the string to convert + * @param encoding + * the encoding to use, null means platform default + * @throws IOException + * if the encoding is invalid + * @return an input stream + * @since Commons IO 1.1 + */ + public static InputStream toInputStream(String input, String encoding) throws IOException + { + byte[] bytes = encoding != null ? input.getBytes(encoding) : input.getBytes(); + return new ByteArrayInputStream(bytes); + } + + // write byte[] + // ----------------------------------------------------------------------- + /** + * Writes bytes from a byte[] to an OutputStream. + * + * @param data + * the byte array to write, do not modify during output, null + * ignored + * @param output + * the OutputStream to write to + * @throws NullPointerException + * if output is null + * @throws IOException + * if an I/O error occurs + * @since Commons IO 1.1 + */ + public static void write(byte[] data, OutputStream output) throws IOException + { + if(data != null) + { + output.write(data); + } + } + + /** + * Writes bytes from a byte[] to chars on a Writer + * using the default character encoding of the platform. + *

+ * This method uses {@link String#String(byte[])}. + * + * @param data + * the byte array to write, do not modify during output, null + * ignored + * @param output + * the Writer to write to + * @throws NullPointerException + * if output is null + * @throws IOException + * if an I/O error occurs + * @since Commons IO 1.1 + */ + public static void write(byte[] data, Writer output) throws IOException + { + if(data != null) + { + output.write(new String(data)); + } + } + + /** + * Writes bytes from a byte[] to chars on a Writer + * using the specified character encoding. + *

+ * Character encoding names can be found at + * IANA. + *

+ * This method uses {@link String#String(byte[], String)}. + * + * @param data + * the byte array to write, do not modify during output, null + * ignored + * @param output + * the Writer to write to + * @param encoding + * the encoding to use, null means platform default + * @throws NullPointerException + * if output is null + * @throws IOException + * if an I/O error occurs + * @since Commons IO 1.1 + */ + public static void write(byte[] data, Writer output, String encoding) throws IOException + { + if(data != null) + { + if(encoding == null) + { + write(data, output); + } else + { + output.write(new String(data, encoding)); + } + } + } + + // write char[] + // ----------------------------------------------------------------------- + /** + * Writes chars from a char[] to a Writer using + * the default character encoding of the platform. + * + * @param data + * the char array to write, do not modify during output, null + * ignored + * @param output + * the Writer to write to + * @throws NullPointerException + * if output is null + * @throws IOException + * if an I/O error occurs + * @since Commons IO 1.1 + */ + public static void write(char[] data, Writer output) throws IOException + { + if(data != null) + { + output.write(data); + } + } + + /** + * Writes chars from a char[] to bytes on an + * OutputStream. + *

+ * This method uses {@link String#String(char[])} and + * {@link String#getBytes()}. + * + * @param data + * the char array to write, do not modify during output, null + * ignored + * @param output + * the OutputStream to write to + * @throws NullPointerException + * if output is null + * @throws IOException + * if an I/O error occurs + * @since Commons IO 1.1 + */ + public static void write(char[] data, OutputStream output) throws IOException + { + if(data != null) + { + output.write(new String(data).getBytes()); + } + } + + /** + * Writes chars from a char[] to bytes on an + * OutputStream using the specified character encoding. + *

+ * Character encoding names can be found at + * IANA. + *

+ * This method uses {@link String#String(char[])} and + * {@link String#getBytes(String)}. + * + * @param data + * the char array to write, do not modify during output, null + * ignored + * @param output + * the OutputStream to write to + * @param encoding + * the encoding to use, null means platform default + * @throws NullPointerException + * if output is null + * @throws IOException + * if an I/O error occurs + * @since Commons IO 1.1 + */ + public static void write(char[] data, OutputStream output, String encoding) throws IOException + { + if(data != null) + { + if(encoding == null) + { + write(data, output); + } else + { + output.write(new String(data).getBytes(encoding)); + } + } + } + + // write String + // ----------------------------------------------------------------------- + /** + * Writes chars from a String to a Writer. + * + * @param data + * the String to write, null ignored + * @param output + * the Writer to write to + * @throws NullPointerException + * if output is null + * @throws IOException + * if an I/O error occurs + * @since Commons IO 1.1 + */ + public static void write(String data, Writer output) throws IOException + { + if(data != null) + { + output.write(data); + } + } + + /** + * Writes chars from a String to bytes on an + * OutputStream using the default character encoding of the + * platform. + *

+ * This method uses {@link String#getBytes()}. + * + * @param data + * the String to write, null ignored + * @param output + * the OutputStream to write to + * @throws NullPointerException + * if output is null + * @throws IOException + * if an I/O error occurs + * @since Commons IO 1.1 + */ + public static void write(String data, OutputStream output) throws IOException + { + if(data != null) + { + output.write(data.getBytes()); + } + } + + /** + * Writes chars from a String to bytes on an + * OutputStream using the specified character encoding. + *

+ * Character encoding names can be found at + * IANA. + *

+ * This method uses {@link String#getBytes(String)}. + * + * @param data + * the String to write, null ignored + * @param output + * the OutputStream to write to + * @param encoding + * the encoding to use, null means platform default + * @throws NullPointerException + * if output is null + * @throws IOException + * if an I/O error occurs + * @since Commons IO 1.1 + */ + public static void write(String data, OutputStream output, String encoding) throws IOException + { + if(data != null) + { + if(encoding == null) + { + write(data, output); + } else + { + output.write(data.getBytes(encoding)); + } + } + } + + // write StringBuffer + // ----------------------------------------------------------------------- + /** + * Writes chars from a StringBuffer to a Writer. + * + * @param data + * the StringBuffer to write, null ignored + * @param output + * the Writer to write to + * @throws NullPointerException + * if output is null + * @throws IOException + * if an I/O error occurs + * @since Commons IO 1.1 + */ + public static void write(StringBuffer data, Writer output) throws IOException + { + if(data != null) + { + output.write(data.toString()); + } + } + + /** + * Writes chars from a StringBuffer to bytes on an + * OutputStream using the default character encoding of the + * platform. + *

+ * This method uses {@link String#getBytes()}. + * + * @param data + * the StringBuffer to write, null ignored + * @param output + * the OutputStream to write to + * @throws NullPointerException + * if output is null + * @throws IOException + * if an I/O error occurs + * @since Commons IO 1.1 + */ + public static void write(StringBuffer data, OutputStream output) throws IOException + { + if(data != null) + { + output.write(data.toString().getBytes()); + } + } + + /** + * Writes chars from a StringBuffer to bytes on an + * OutputStream using the specified character encoding. + *

+ * Character encoding names can be found at + * IANA. + *

+ * This method uses {@link String#getBytes(String)}. + * + * @param data + * the StringBuffer to write, null ignored + * @param output + * the OutputStream to write to + * @param encoding + * the encoding to use, null means platform default + * @throws NullPointerException + * if output is null + * @throws IOException + * if an I/O error occurs + * @since Commons IO 1.1 + */ + public static void write(StringBuffer data, OutputStream output, String encoding) throws IOException + { + if(data != null) + { + if(encoding == null) + { + write(data, output); + } else + { + output.write(data.toString().getBytes(encoding)); + } + } + } + + // writeLines + // ----------------------------------------------------------------------- + /** + * Writes the toString() value of each item in a collection to + * an OutputStream line by line, using the default character + * encoding of the platform and the specified line ending. + * + * @param lines + * the lines to write, null entries produce blank lines + * @param lineEnding + * the line separator to use, null is system default + * @param output + * the OutputStream to write to, not null, not + * closed + * @throws NullPointerException + * if the output is null + * @throws IOException + * if an I/O error occurs + * @since Commons IO 1.1 + */ + public static void writeLines(Collection lines, String lineEnding, OutputStream output) throws IOException + { + if(lines == null) + { + return; + } + if(lineEnding == null) + { + lineEnding = LINE_SEPARATOR; + } + for(Iterator it = lines.iterator(); it.hasNext();) + { + Object line = it.next(); + if(line != null) + { + output.write(line.toString().getBytes()); + } + output.write(lineEnding.getBytes()); + } + } + + /** + * Writes the toString() value of each item in a collection to + * an OutputStream line by line, using the specified character + * encoding and the specified line ending. + *

+ * Character encoding names can be found at + * IANA. + * + * @param lines + * the lines to write, null entries produce blank lines + * @param lineEnding + * the line separator to use, null is system default + * @param output + * the OutputStream to write to, not null, not + * closed + * @param encoding + * the encoding to use, null means platform default + * @throws NullPointerException + * if the output is null + * @throws IOException + * if an I/O error occurs + * @since Commons IO 1.1 + */ + public static void writeLines(Collection lines, String lineEnding, OutputStream output, String encoding) throws IOException + { + if(encoding == null) + { + writeLines(lines, lineEnding, output); + } else + { + if(lines == null) + { + return; + } + if(lineEnding == null) + { + lineEnding = LINE_SEPARATOR; + } + for(Iterator it = lines.iterator(); it.hasNext();) + { + Object line = it.next(); + if(line != null) + { + output.write(line.toString().getBytes(encoding)); + } + output.write(lineEnding.getBytes(encoding)); + } + } + } + + /** + * Writes the toString() value of each item in a collection to + * a Writer line by line, using the specified line ending. + * + * @param lines + * the lines to write, null entries produce blank lines + * @param lineEnding + * the line separator to use, null is system default + * @param writer + * the Writer to write to, not null, not closed + * @throws NullPointerException + * if the input is null + * @throws IOException + * if an I/O error occurs + * @since Commons IO 1.1 + */ + public static void writeLines(Collection lines, String lineEnding, Writer writer) throws IOException + { + if(lines == null) + { + return; + } + if(lineEnding == null) + { + lineEnding = LINE_SEPARATOR; + } + for(Iterator it = lines.iterator(); it.hasNext();) + { + Object line = it.next(); + if(line != null) + { + writer.write(line.toString()); + } + writer.write(lineEnding); + } + } + + // copy from InputStream + // ----------------------------------------------------------------------- + /** + * Copy bytes from an InputStream to an + * OutputStream. + *

+ * This method buffers the input internally, so there is no need to use a + * BufferedInputStream. + *

+ * Large streams (over 2GB) will return a bytes copied value of + * -1 after the copy has completed since the correct number of + * bytes cannot be returned as an int. For large streams use the + * copyLarge(InputStream, OutputStream) method. + * + * @param input + * the InputStream to read from + * @param output + * the OutputStream to write to + * @return the number of bytes copied + * @throws NullPointerException + * if the input or output is null + * @throws IOException + * if an I/O error occurs + * @throws ArithmeticException + * if the byte count is too large + * @since Commons IO 1.1 + */ + public static int copy(InputStream input, OutputStream output) throws IOException + { + long count = copyLarge(input, output); + if(count > Integer.MAX_VALUE) + { + return -1; + } + return (int) count; + } + + /** + * Copy bytes from a large (over 2GB) InputStream to an + * OutputStream. + *

+ * This method buffers the input internally, so there is no need to use a + * BufferedInputStream. + * + * @param input + * the InputStream to read from + * @param output + * the OutputStream to write to + * @return the number of bytes copied + * @throws NullPointerException + * if the input or output is null + * @throws IOException + * if an I/O error occurs + * @since Commons IO 1.3 + */ + public static long copyLarge(InputStream input, OutputStream output) throws IOException + { + byte[] buffer = new byte[DEFAULT_BUFFER_SIZE]; + long count = 0; + int n = 0; + while(-1 != (n = input.read(buffer))) + { + output.write(buffer, 0, n); + count += n; + } + return count; + } + + /** + * Copy bytes from an InputStream to chars on a + * Writer using the default character encoding of the platform. + *

+ * This method buffers the input internally, so there is no need to use a + * BufferedInputStream. + *

+ * This method uses {@link InputStreamReader}. + * + * @param input + * the InputStream to read from + * @param output + * the Writer to write to + * @throws NullPointerException + * if the input or output is null + * @throws IOException + * if an I/O error occurs + * @since Commons IO 1.1 + */ + public static void copy(InputStream input, Writer output) throws IOException + { + InputStreamReader in = new InputStreamReader(input); + copy(in, output); + } + + /** + * Copy bytes from an InputStream to chars on a + * Writer using the specified character encoding. + *

+ * This method buffers the input internally, so there is no need to use a + * BufferedInputStream. + *

+ * Character encoding names can be found at + * IANA. + *

+ * This method uses {@link InputStreamReader}. + * + * @param input + * the InputStream to read from + * @param output + * the Writer to write to + * @param encoding + * the encoding to use, null means platform default + * @throws NullPointerException + * if the input or output is null + * @throws IOException + * if an I/O error occurs + * @since Commons IO 1.1 + */ + public static void copy(InputStream input, Writer output, String encoding) throws IOException + { + if(encoding == null) + { + copy(input, output); + } else + { + InputStreamReader in = new InputStreamReader(input, encoding); + copy(in, output); + } + } + + // copy from Reader + // ----------------------------------------------------------------------- + /** + * Copy chars from a Reader to a Writer. + *

+ * This method buffers the input internally, so there is no need to use a + * BufferedReader. + *

+ * Large streams (over 2GB) will return a chars copied value of + * -1 after the copy has completed since the correct number of + * chars cannot be returned as an int. For large streams use the + * copyLarge(Reader, Writer) method. + * + * @param input + * the Reader to read from + * @param output + * the Writer to write to + * @return the number of characters copied + * @throws NullPointerException + * if the input or output is null + * @throws IOException + * if an I/O error occurs + * @throws ArithmeticException + * if the character count is too large + * @since Commons IO 1.1 + */ + public static int copy(Reader input, Writer output) throws IOException + { + long count = copyLarge(input, output); + if(count > Integer.MAX_VALUE) + { + return -1; + } + return (int) count; + } + + /** + * Copy chars from a large (over 2GB) Reader to a + * Writer. + *

+ * This method buffers the input internally, so there is no need to use a + * BufferedReader. + * + * @param input + * the Reader to read from + * @param output + * the Writer to write to + * @return the number of characters copied + * @throws NullPointerException + * if the input or output is null + * @throws IOException + * if an I/O error occurs + * @since Commons IO 1.3 + */ + public static long copyLarge(Reader input, Writer output) throws IOException + { + char[] buffer = new char[DEFAULT_BUFFER_SIZE]; + long count = 0; + int n = 0; + while(-1 != (n = input.read(buffer))) + { + output.write(buffer, 0, n); + count += n; + } + return count; + } + + /** + * Copy chars from a Reader to bytes on an + * OutputStream using the default character encoding of the + * platform, and calling flush. + *

+ * This method buffers the input internally, so there is no need to use a + * BufferedReader. + *

+ * Due to the implementation of OutputStreamWriter, this method performs a + * flush. + *

+ * This method uses {@link OutputStreamWriter}. + * + * @param input + * the Reader to read from + * @param output + * the OutputStream to write to + * @throws NullPointerException + * if the input or output is null + * @throws IOException + * if an I/O error occurs + * @since Commons IO 1.1 + */ + public static void copy(Reader input, OutputStream output) throws IOException + { + OutputStreamWriter out = new OutputStreamWriter(output); + copy(input, out); + // have to flush here. + out.flush(); + } + + /** + * Copy chars from a Reader to bytes on an + * OutputStream using the specified character encoding, and + * calling flush. + *

+ * This method buffers the input internally, so there is no need to use a + * BufferedReader. + *

+ * Character encoding names can be found at + * IANA. + *

+ * Due to the implementation of OutputStreamWriter, this method performs a + * flush. + *

+ * This method uses {@link OutputStreamWriter}. + * + * @param input + * the Reader to read from + * @param output + * the OutputStream to write to + * @param encoding + * the encoding to use, null means platform default + * @throws NullPointerException + * if the input or output is null + * @throws IOException + * if an I/O error occurs + * @since Commons IO 1.1 + */ + public static void copy(Reader input, OutputStream output, String encoding) throws IOException + { + if(encoding == null) + { + copy(input, output); + } else + { + OutputStreamWriter out = new OutputStreamWriter(output, encoding); + copy(input, out); + // we have to flush here. + out.flush(); + } + } + + // content equals + // ----------------------------------------------------------------------- + /** + * Compare the contents of two Streams to determine if they are equal or + * not. + *

+ * This method buffers the input internally using + * BufferedInputStream if they are not already buffered. + * + * @param input1 + * the first stream + * @param input2 + * the second stream + * @return true if the content of the streams are equal or they both don't + * exist, false otherwise + * @throws NullPointerException + * if either input is null + * @throws IOException + * if an I/O error occurs + */ + public static boolean contentEquals(InputStream input1, InputStream input2) throws IOException + { + if(!(input1 instanceof BufferedInputStream)) + { + input1 = new BufferedInputStream(input1); + } + if(!(input2 instanceof BufferedInputStream)) + { + input2 = new BufferedInputStream(input2); + } + + int ch = input1.read(); + while(-1 != ch) + { + int ch2 = input2.read(); + if(ch != ch2) + { + return false; + } + ch = input1.read(); + } + + int ch2 = input2.read(); + return (ch2 == -1); + } + + /** + * Compare the contents of two Readers to determine if they are equal or + * not. + *

+ * This method buffers the input internally using + * BufferedReader if they are not already buffered. + * + * @param input1 + * the first reader + * @param input2 + * the second reader + * @return true if the content of the readers are equal or they both don't + * exist, false otherwise + * @throws NullPointerException + * if either input is null + * @throws IOException + * if an I/O error occurs + * @since Commons IO 1.1 + */ + public static boolean contentEquals(Reader input1, Reader input2) throws IOException + { + if(!(input1 instanceof BufferedReader)) + { + input1 = new BufferedReader(input1); + } + if(!(input2 instanceof BufferedReader)) + { + input2 = new BufferedReader(input2); + } + + int ch = input1.read(); + while(-1 != ch) + { + int ch2 = input2.read(); + if(ch != ch2) + { + return false; + } + ch = input1.read(); + } + + int ch2 = input2.read(); + return (ch2 == -1); + } + + static + { + // avoid security issues + StringWriter buf = new StringWriter(4); + PrintWriter out = new PrintWriter(buf); + out.println(); + LINE_SEPARATOR = buf.toString(); + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/InterpolationType.java b/src/main/java/ninja/bytecode/iris/util/InterpolationType.java new file mode 100644 index 000000000..238e0e820 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/InterpolationType.java @@ -0,0 +1,9 @@ +package ninja.bytecode.iris.util; +public enum InterpolationType +{ + LINEAR, + PARAMETRIC_2, + PARAMETRIC_4, + BEZIER, + NONE; +} \ No newline at end of file diff --git a/src/main/java/ninja/bytecode/iris/util/IrisInterpolation.java b/src/main/java/ninja/bytecode/iris/util/IrisInterpolation.java new file mode 100644 index 000000000..89e87f0a7 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/IrisInterpolation.java @@ -0,0 +1,224 @@ +package ninja.bytecode.iris.util; + +public class IrisInterpolation +{ + public static double bezier(double t) + { + return t * t * (3.0d - 2.0d * t); + } + + public static double parametric(double t, double alpha) + { + double sqt = Math.pow(t, alpha); + return sqt / (alpha * (sqt - Math.pow(t, alpha - 1)) + 1.0d); + } + + public static double lerp(double a, double b, double f) + { + return a + (f * (b - a)); + } + + public static double lerpBezier(double a, double b, double f) + { + return a + (bezier(f) * (b - a)); + } + + public static double sinCenter(double f) + { + return Math.sin(f * Math.PI); + } + + public static double lerpCenterSinBezier(double a, double b, double f) + { + return lerpBezier(a, b, sinCenter(f)); + } + + public static double lerpCenterSin(double a, double b, double f) + { + return lerpBezier(a, b, sinCenter(f)); + } + + public static double lerpParametric(double a, double b, double f, double v) + { + return a + (parametric(f, v) * (b - a)); + } + + public static double blerp(double a, double b, double c, double d, double tx, double ty) + { + return lerp(lerp(a, b, tx), lerp(c, d, tx), ty); + } + + public static double blerp(double a, double b, double c, double d, double tx, double ty, InterpolationType type) + { + if(type.equals(InterpolationType.LINEAR)) + { + return blerp(a, b, c, d, tx, ty); + } + + if(type.equals(InterpolationType.BEZIER)) + { + return blerpBezier(a, b, c, d, tx, ty); + } + + if(type.equals(InterpolationType.PARAMETRIC_2)) + { + return blerpParametric(a, b, c, d, tx, ty, 2); + } + + if(type.equals(InterpolationType.PARAMETRIC_4)) + { + return blerpParametric(a, b, c, d, tx, ty, 4); + } + + return 0; + } + + public static double blerpBezier(double a, double b, double c, double d, double tx, double ty) + { + return lerpBezier(lerpBezier(a, b, tx), lerpBezier(c, d, tx), ty); + } + + public static double blerpParametric(double a, double b, double c, double d, double tx, double ty, double v) + { + return lerpParametric(lerpParametric(a, b, tx, v), lerpParametric(c, d, tx, v), ty, v); + } + + public static double hermite(double p0, double p1, double p2, double p3, double mu, double tension, double bias) + { + double m0, m1, mu2, mu3; + double a0, a1, a2, a3; + + mu2 = mu * mu; + mu3 = mu2 * mu; + m0 = (p1 - p0) * (1 + bias) * (1 - tension) / 2; + m0 += (p2 - p1) * (1 - bias) * (1 - tension) / 2; + m1 = (p2 - p1) * (1 + bias) * (1 - tension) / 2; + m1 += (p3 - p2) * (1 - bias) * (1 - tension) / 2; + a0 = 2 * mu3 - 3 * mu2 + 1; + a1 = mu3 - 2 * mu2 + mu; + a2 = mu3 - mu2; + a3 = -2 * mu3 + 3 * mu2; + + return (a0 * p1 + a1 * m0 + a2 * m1 + a3 * p2); + } + + public static double bihermite(double p00, double p01, double p02, double p03, double p10, double p11, double p12, double p13, double p20, double p21, double p22, double p23, double p30, double p31, double p32, double p33, double mux, double muy, double tension, double bias) + { + return hermite(hermite(p00, p01, p02, p03, muy, tension, bias), hermite(p10, p11, p12, p13, muy, tension, bias), hermite(p20, p21, p22, p23, muy, tension, bias), hermite(p30, p31, p32, p33, muy, tension, bias), mux, tension, bias); + } + + public static double cubic(double p0, double p1, double p2, double p3, double mu) + { + double a0, a1, a2, a3, mu2; + + mu2 = mu * mu; + a0 = p3 - p2 - p0 + p1; + a1 = p0 - p1 - a0; + a2 = p2 - p0; + a3 = p1; + + return a0 * mu * mu2 + a1 * mu2 + a2 * mu + a3; + } + + public static double bicubic(double p00, double p01, double p02, double p03, double p10, double p11, double p12, double p13, double p20, double p21, double p22, double p23, double p30, double p31, double p32, double p33, double mux, double muy) + { + return cubic(cubic(p00, p01, p02, p03, muy), cubic(p10, p11, p12, p13, muy), cubic(p20, p21, p22, p23, muy), cubic(p30, p31, p32, p33, muy), mux); + } + + public static double getBilinearNoise(int x, int z, double rad, NoiseProvider n) + { + int fx = (int) Math.floor(x / rad); + int fz = (int) Math.floor(z / rad); + int x1 = (int) Math.round(fx * rad); + int z1 = (int) Math.round(fz * rad); + int x2 = (int) Math.round((fx + 1) * rad); + int z2 = (int) Math.round((fz + 1) * rad); + double px = rangeScale(0, 1, x1, x2, x); + double pz = rangeScale(0, 1, z1, z2, z); + //@builder + return blerpBezier( + n.noise(x1, z1), + n.noise(x2, z1), + n.noise(x1, z2), + n.noise(x2, z2), + px, pz); + //@done + } + + public static double getBicubicNoise(int x, int z, double rad, NoiseProvider n) + { + int fx = (int) Math.floor(x / rad); + int fz = (int) Math.floor(z / rad); + int x0 = (int) Math.round((fx - 1) * rad); + int z0 = (int) Math.round((fz - 1) * rad); + int x1 = (int) Math.round(fx * rad); + int z1 = (int) Math.round(fz * rad); + int x2 = (int) Math.round((fx + 1) * rad); + int z2 = (int) Math.round((fz + 1) * rad); + int x3 = (int) Math.round((fx + 2) * rad); + int z3 = (int) Math.round((fz + 2) * rad); + double px = rangeScale(0, 1, x1, x2, x); + double pz = rangeScale(0, 1, z1, z2, z); + //@builder + return bicubic( + n.noise(x0, z0), + n.noise(x0, z1), + n.noise(x0, z2), + n.noise(x0, z3), + n.noise(x1, z0), + n.noise(x1, z1), + n.noise(x1, z2), + n.noise(x1, z3), + n.noise(x2, z0), + n.noise(x2, z1), + n.noise(x2, z2), + n.noise(x2, z3), + n.noise(x3, z0), + n.noise(x3, z1), + n.noise(x3, z2), + n.noise(x3, z3), + px, pz); + //@done + } + + public static double getHermiteNoise(int x, int z, double rad, NoiseProvider n) + { + int fx = (int) Math.floor(x / rad); + int fz = (int) Math.floor(z / rad); + int x0 = (int) Math.round((fx - 1) * rad); + int z0 = (int) Math.round((fz - 1) * rad); + int x1 = (int) Math.round(fx * rad); + int z1 = (int) Math.round(fz * rad); + int x2 = (int) Math.round((fx + 1) * rad); + int z2 = (int) Math.round((fz + 1) * rad); + int x3 = (int) Math.round((fx + 2) * rad); + int z3 = (int) Math.round((fz + 2) * rad); + double px = rangeScale(0, 1, x1, x2, x); + double pz = rangeScale(0, 1, z1, z2, z); + //@builder + return bihermite( + n.noise(x0, z0), + n.noise(x0, z1), + n.noise(x0, z2), + n.noise(x0, z3), + n.noise(x1, z0), + n.noise(x1, z1), + n.noise(x1, z2), + n.noise(x1, z3), + n.noise(x2, z0), + n.noise(x2, z1), + n.noise(x2, z2), + n.noise(x2, z3), + n.noise(x3, z0), + n.noise(x3, z1), + n.noise(x3, z2), + n.noise(x3, z3), + px, pz, 0.00001, 0.5); + //@done + } + + public static double rangeScale(double amin, double amax, double bmin, double bmax, double b) + { + return amin + ((amax - amin) * ((b - bmin) / (bmax - bmin))); + } +} \ No newline at end of file diff --git a/src/main/java/ninja/bytecode/iris/util/J.java b/src/main/java/ninja/bytecode/iris/util/J.java new file mode 100644 index 000000000..ccd885d94 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/J.java @@ -0,0 +1,133 @@ +package ninja.bytecode.iris.util; + +import java.util.concurrent.Callable; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; +import java.util.concurrent.ThreadFactory; +import java.util.function.Consumer; +import java.util.function.Function; +import java.util.function.Supplier; + +public class J +{ + private static int tid = 0; + private static final ExecutorService e = Executors.newCachedThreadPool(new ThreadFactory() + { + @Override + public Thread newThread(Runnable r) + { + tid++; + Thread t = new Thread(r); + t.setName("Actuator " + tid); + t.setPriority(Thread.MIN_PRIORITY); + t.setUncaughtExceptionHandler((et, e) -> { + e.printStackTrace(); + }); + + return t; + } + }); + + public static void dofor(int a, Function c, int ch, Consumer d) + { + for(int i = a; c.apply(i); i+=ch) + { + c.apply(i); + } + } + + public static boolean doif(Supplier c, Runnable g) + { + if(c.get()) + { + g.run(); + return true; + } + + return false; + } + + public static void a(Runnable a) + { + e.submit(a); + } + + public static Future a(Callable a) + { + return e.submit(a); + } + + public static void attemptAsync(NastyRunnable r) + { + J.a(() -> J.attempt(r)); + } + + public static R attemptResult(NastyFuture r, R onError) + { + try + { + return r.run(); + } + + catch(Throwable e) + { + + } + + return onError; + } + + public static R attemptFunction(NastyFunction r, T param, R onError) + { + try + { + return r.run(param); + } + + catch(Throwable e) + { + + } + + return onError; + } + + public static boolean sleep(long ms) + { + return J.attempt(() -> Thread.sleep(ms)); + } + + public static boolean attempt(NastyRunnable r) + { + return attemptCatch(r) == null; + } + + public static Throwable attemptCatch(NastyRunnable r) + { + try + { + r.run(); + } + + catch(Throwable e) + { + return e; + } + + return null; + } + + public static T attempt(Supplier t, T i) + { + try + { + return t.get(); + } + + catch(Throwable e) + { + return i; + } + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/JSONArray.java b/src/main/java/ninja/bytecode/iris/util/JSONArray.java new file mode 100644 index 000000000..2e6c3bedf --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/JSONArray.java @@ -0,0 +1,1252 @@ +package ninja.bytecode.iris.util; + + +/* + Copyright (c) 2002 JSON.org + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + The Software shall be used for Good, not Evil. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + */ + +import java.io.IOException; +import java.io.StringWriter; +import java.io.Writer; +import java.lang.reflect.Array; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Iterator; +import java.util.Map; + +/** + * A JSONArray is an ordered sequence of values. Its external text form is a + * string wrapped in square brackets with commas separating the values. The + * internal form is an object having get and opt + * methods for accessing the values by index, and put methods for + * adding or replacing values. The values can be any of these types: + * Boolean, JSONArray, JSONObject, + * Number, String, or the + * JSONObject.NULL object. + *

+ * The constructor can convert a JSON text into a Java object. The + * toString method converts to JSON text. + *

+ * A get method returns a value if one can be found, and throws an + * exception if one cannot be found. An opt method returns a + * default value instead of throwing an exception, and so is useful for + * obtaining optional values. + *

+ * The generic get() and opt() methods return an + * object which you can cast or query for type. There are also typed + * get and opt methods that do type checking and type + * coercion for you. + *

+ * The texts produced by the toString methods strictly conform to + * JSON syntax rules. The constructors are more forgiving in the texts they will + * accept: + *

    + *
  • An extra , (comma) may appear just + * before the closing bracket.
  • + *
  • The null value will be inserted when there is , + *  (comma) elision.
  • + *
  • Strings may be quoted with ' (single + * quote).
  • + *
  • Strings do not need to be quoted at all if they do not begin with a quote + * or single quote, and if they do not contain leading or trailing spaces, and + * if they do not contain any of these characters: + * { } [ ] / \ : , # and if they do not look like numbers and if + * they are not the reserved words true, false, or + * null.
  • + *
+ * + * @author JSON.org + * @version 2015-07-22 + */ +public class JSONArray implements Iterable +{ + + /** + * The arrayList where the JSONArray's properties are kept. + */ + private final ArrayList myArrayList; + + /** + * Construct an empty JSONArray. + */ + public JSONArray() + { + this.myArrayList = new ArrayList(); + } + + /** + * Construct a JSONArray from a JSONTokener. + * + * @param x + * A JSONTokener + * @throws JSONException + * If there is a syntax error. + */ + public JSONArray(JSONTokener x) throws JSONException + { + this(); + if(x.nextClean() != '[') + { + throw x.syntaxError("A JSONArray text must start with '['"); + } + if(x.nextClean() != ']') + { + x.back(); + for(;;) + { + if(x.nextClean() == ',') + { + x.back(); + this.myArrayList.add(JSONObject.NULL); + } else + { + x.back(); + this.myArrayList.add(x.nextValue()); + } + switch(x.nextClean()) + { + case ',': + if(x.nextClean() == ']') + { + return; + } + x.back(); + break; + case ']': + return; + default: + throw x.syntaxError("Expected a ',' or ']'"); + } + } + } + } + + /** + * Construct a JSONArray from a source JSON text. + * + * @param source + * A string that begins with [ (left + * bracket) and ends with ]   + * (right bracket). + * @throws JSONException + * If there is a syntax error. + */ + public JSONArray(String source) throws JSONException + { + this(new JSONTokener(source)); + } + + /** + * Construct a JSONArray from a Collection. + * + * @param collection + * A Collection. + */ + public JSONArray(Collection collection) + { + this.myArrayList = new ArrayList(); + if(collection != null) + { + Iterator iter = collection.iterator(); + while(iter.hasNext()) + { + this.myArrayList.add(JSONObject.wrap(iter.next())); + } + } + } + + /** + * Construct a JSONArray from an array + * + * @throws JSONException + * If not an array. + */ + public JSONArray(Object array) throws JSONException + { + this(); + if(array.getClass().isArray()) + { + int length = Array.getLength(array); + for(int i = 0; i < length; i += 1) + { + this.put(JSONObject.wrap(Array.get(array, i))); + } + } else + { + throw new JSONException("JSONArray initial value should be a string or collection or array."); + } + } + + @Override + public Iterator iterator() + { + return myArrayList.iterator(); + } + + /** + * Get the object value associated with an index. + * + * @param index + * The index must be between 0 and length() - 1. + * @return An object value. + * @throws JSONException + * If there is no value for the index. + */ + public Object get(int index) throws JSONException + { + Object object = this.opt(index); + if(object == null) + { + throw new JSONException("JSONArray[" + index + "] not found."); + } + return object; + } + + /** + * Get the boolean value associated with an index. The string values "true" + * and "false" are converted to boolean. + * + * @param index + * The index must be between 0 and length() - 1. + * @return The truth. + * @throws JSONException + * If there is no value for the index or if the value is not + * convertible to boolean. + */ + public boolean getBoolean(int index) throws JSONException + { + Object object = this.get(index); + if(object.equals(Boolean.FALSE) || (object instanceof String && ((String) object).equalsIgnoreCase("false"))) + { + return false; + } else if(object.equals(Boolean.TRUE) || (object instanceof String && ((String) object).equalsIgnoreCase("true"))) + { + return true; + } + throw new JSONException("JSONArray[" + index + "] is not a boolean."); + } + + /** + * Get the double value associated with an index. + * + * @param index + * The index must be between 0 and length() - 1. + * @return The value. + * @throws JSONException + * If the key is not found or if the value cannot be converted + * to a number. + */ + public double getDouble(int index) throws JSONException + { + Object object = this.get(index); + try + { + return object instanceof Number ? ((Number) object).doubleValue() : Double.parseDouble((String) object); + } catch(Exception e) + { + throw new JSONException("JSONArray[" + index + "] is not a number."); + } + } + + /** + * Get the enum value associated with an index. + * + * @param clazz + * The type of enum to retrieve. + * @param index + * The index must be between 0 and length() - 1. + * @return The enum value at the index location + * @throws JSONException + * if the key is not found or if the value cannot be converted + * to an enum. + */ + public > E getEnum(Class clazz, int index) throws JSONException + { + E val = optEnum(clazz, index); + if(val == null) + { + // JSONException should really take a throwable argument. + // If it did, I would re-implement this with the Enum.valueOf + // method and place any thrown exception in the JSONException + throw new JSONException("JSONObject[" + JSONObject.quote(Integer.toString(index)) + "] is not an enum of type " + JSONObject.quote(clazz.getSimpleName()) + "."); + } + return val; + } + + /** + * Get the BigDecimal value associated with an index. + * + * @param index + * The index must be between 0 and length() - 1. + * @return The value. + * @throws JSONException + * If the key is not found or if the value cannot be converted + * to a BigDecimal. + */ + public BigDecimal getBigDecimal(int index) throws JSONException + { + Object object = this.get(index); + try + { + return new BigDecimal(object.toString()); + } catch(Exception e) + { + throw new JSONException("JSONArray[" + index + "] could not convert to BigDecimal."); + } + } + + /** + * Get the BigInteger value associated with an index. + * + * @param index + * The index must be between 0 and length() - 1. + * @return The value. + * @throws JSONException + * If the key is not found or if the value cannot be converted + * to a BigInteger. + */ + public BigInteger getBigInteger(int index) throws JSONException + { + Object object = this.get(index); + try + { + return new BigInteger(object.toString()); + } catch(Exception e) + { + throw new JSONException("JSONArray[" + index + "] could not convert to BigInteger."); + } + } + + /** + * Get the int value associated with an index. + * + * @param index + * The index must be between 0 and length() - 1. + * @return The value. + * @throws JSONException + * If the key is not found or if the value is not a number. + */ + public int getInt(int index) throws JSONException + { + Object object = this.get(index); + try + { + return object instanceof Number ? ((Number) object).intValue() : Integer.parseInt((String) object); + } catch(Exception e) + { + throw new JSONException("JSONArray[" + index + "] is not a number."); + } + } + + /** + * Get the JSONArray associated with an index. + * + * @param index + * The index must be between 0 and length() - 1. + * @return A JSONArray value. + * @throws JSONException + * If there is no value for the index. or if the value is not a + * JSONArray + */ + public JSONArray getJSONArray(int index) throws JSONException + { + Object object = this.get(index); + if(object instanceof JSONArray) + { + return (JSONArray) object; + } + throw new JSONException("JSONArray[" + index + "] is not a JSONArray."); + } + + /** + * Get the JSONObject associated with an index. + * + * @param index + * subscript + * @return A JSONObject value. + * @throws JSONException + * If there is no value for the index or if the value is not a + * JSONObject + */ + public JSONObject getJSONObject(int index) throws JSONException + { + Object object = this.get(index); + if(object instanceof JSONObject) + { + return (JSONObject) object; + } + throw new JSONException("JSONArray[" + index + "] is not a JSONObject."); + } + + /** + * Get the long value associated with an index. + * + * @param index + * The index must be between 0 and length() - 1. + * @return The value. + * @throws JSONException + * If the key is not found or if the value cannot be converted + * to a number. + */ + public long getLong(int index) throws JSONException + { + Object object = this.get(index); + try + { + return object instanceof Number ? ((Number) object).longValue() : Long.parseLong((String) object); + } catch(Exception e) + { + throw new JSONException("JSONArray[" + index + "] is not a number."); + } + } + + /** + * Get the string associated with an index. + * + * @param index + * The index must be between 0 and length() - 1. + * @return A string value. + * @throws JSONException + * If there is no string value for the index. + */ + public String getString(int index) throws JSONException + { + Object object = this.get(index); + if(object instanceof String) + { + return (String) object; + } + throw new JSONException("JSONArray[" + index + "] not a string."); + } + + /** + * Determine if the value is null. + * + * @param index + * The index must be between 0 and length() - 1. + * @return true if the value at the index is null, or if there is no value. + */ + public boolean isNull(int index) + { + return JSONObject.NULL.equals(this.opt(index)); + } + + /** + * Make a string from the contents of this JSONArray. The + * separator string is inserted between each element. Warning: + * This method assumes that the data structure is acyclical. + * + * @param separator + * A string that will be inserted between the elements. + * @return a string. + * @throws JSONException + * If the array contains an invalid number. + */ + public String join(String separator) throws JSONException + { + int len = this.length(); + StringBuilder sb = new StringBuilder(); + + for(int i = 0; i < len; i += 1) + { + if(i > 0) + { + sb.append(separator); + } + sb.append(JSONObject.valueToString(this.myArrayList.get(i))); + } + return sb.toString(); + } + + /** + * Get the number of elements in the JSONArray, included nulls. + * + * @return The length (or size). + */ + public int length() + { + return this.myArrayList.size(); + } + + /** + * Get the optional object value associated with an index. + * + * @param index + * The index must be between 0 and length() - 1. + * @return An object value, or null if there is no object at that index. + */ + public Object opt(int index) + { + return (index < 0 || index >= this.length()) ? null : this.myArrayList.get(index); + } + + /** + * Get the optional boolean value associated with an index. It returns false + * if there is no value at that index, or if the value is not Boolean.TRUE + * or the String "true". + * + * @param index + * The index must be between 0 and length() - 1. + * @return The truth. + */ + public boolean optBoolean(int index) + { + return this.optBoolean(index, false); + } + + /** + * Get the optional boolean value associated with an index. It returns the + * defaultValue if there is no value at that index or if it is not a Boolean + * or the String "true" or "false" (case insensitive). + * + * @param index + * The index must be between 0 and length() - 1. + * @param defaultValue + * A boolean default. + * @return The truth. + */ + public boolean optBoolean(int index, boolean defaultValue) + { + try + { + return this.getBoolean(index); + } catch(Exception e) + { + return defaultValue; + } + } + + /** + * Get the optional double value associated with an index. NaN is returned + * if there is no value for the index, or if the value is not a number and + * cannot be converted to a number. + * + * @param index + * The index must be between 0 and length() - 1. + * @return The value. + */ + public double optDouble(int index) + { + return this.optDouble(index, Double.NaN); + } + + /** + * Get the optional double value associated with an index. The defaultValue + * is returned if there is no value for the index, or if the value is not a + * number and cannot be converted to a number. + * + * @param index + * subscript + * @param defaultValue + * The default value. + * @return The value. + */ + public double optDouble(int index, double defaultValue) + { + try + { + return this.getDouble(index); + } catch(Exception e) + { + return defaultValue; + } + } + + /** + * Get the optional int value associated with an index. Zero is returned if + * there is no value for the index, or if the value is not a number and + * cannot be converted to a number. + * + * @param index + * The index must be between 0 and length() - 1. + * @return The value. + */ + public int optInt(int index) + { + return this.optInt(index, 0); + } + + /** + * Get the optional int value associated with an index. The defaultValue is + * returned if there is no value for the index, or if the value is not a + * number and cannot be converted to a number. + * + * @param index + * The index must be between 0 and length() - 1. + * @param defaultValue + * The default value. + * @return The value. + */ + public int optInt(int index, int defaultValue) + { + try + { + return this.getInt(index); + } catch(Exception e) + { + return defaultValue; + } + } + + /** + * Get the enum value associated with a key. + * + * @param clazz + * The type of enum to retrieve. + * @param index + * The index must be between 0 and length() - 1. + * @return The enum value at the index location or null if not found + */ + public > E optEnum(Class clazz, int index) + { + return this.optEnum(clazz, index, null); + } + + /** + * Get the enum value associated with a key. + * + * @param clazz + * The type of enum to retrieve. + * @param index + * The index must be between 0 and length() - 1. + * @param defaultValue + * The default in case the value is not found + * @return The enum value at the index location or defaultValue if the value + * is not found or cannot be assigned to clazz + */ + public > E optEnum(Class clazz, int index, E defaultValue) + { + try + { + Object val = this.opt(index); + if(JSONObject.NULL.equals(val)) + { + return defaultValue; + } + if(clazz.isAssignableFrom(val.getClass())) + { + // we just checked it! + @SuppressWarnings("unchecked") + E myE = (E) val; + return myE; + } + return Enum.valueOf(clazz, val.toString()); + } + + catch(IllegalArgumentException e) + { + return defaultValue; + } + + catch(NullPointerException e) + { + return defaultValue; + } + } + + /** + * Get the optional BigInteger value associated with an index. The + * defaultValue is returned if there is no value for the index, or if the + * value is not a number and cannot be converted to a number. + * + * @param index + * The index must be between 0 and length() - 1. + * @param defaultValue + * The default value. + * @return The value. + */ + public BigInteger optBigInteger(int index, BigInteger defaultValue) + { + try + { + return this.getBigInteger(index); + } catch(Exception e) + { + return defaultValue; + } + } + + /** + * Get the optional BigDecimal value associated with an index. The + * defaultValue is returned if there is no value for the index, or if the + * value is not a number and cannot be converted to a number. + * + * @param index + * The index must be between 0 and length() - 1. + * @param defaultValue + * The default value. + * @return The value. + */ + public BigDecimal optBigDecimal(int index, BigDecimal defaultValue) + { + try + { + return this.getBigDecimal(index); + } catch(Exception e) + { + return defaultValue; + } + } + + /** + * Get the optional JSONArray associated with an index. + * + * @param index + * subscript + * @return A JSONArray value, or null if the index has no value, or if the + * value is not a JSONArray. + */ + public JSONArray optJSONArray(int index) + { + Object o = this.opt(index); + return o instanceof JSONArray ? (JSONArray) o : null; + } + + /** + * Get the optional JSONObject associated with an index. Null is returned if + * the key is not found, or null if the index has no value, or if the value + * is not a JSONObject. + * + * @param index + * The index must be between 0 and length() - 1. + * @return A JSONObject value. + */ + public JSONObject optJSONObject(int index) + { + Object o = this.opt(index); + return o instanceof JSONObject ? (JSONObject) o : null; + } + + /** + * Get the optional long value associated with an index. Zero is returned if + * there is no value for the index, or if the value is not a number and + * cannot be converted to a number. + * + * @param index + * The index must be between 0 and length() - 1. + * @return The value. + */ + public long optLong(int index) + { + return this.optLong(index, 0); + } + + /** + * Get the optional long value associated with an index. The defaultValue is + * returned if there is no value for the index, or if the value is not a + * number and cannot be converted to a number. + * + * @param index + * The index must be between 0 and length() - 1. + * @param defaultValue + * The default value. + * @return The value. + */ + public long optLong(int index, long defaultValue) + { + try + { + return this.getLong(index); + } catch(Exception e) + { + return defaultValue; + } + } + + /** + * Get the optional string value associated with an index. It returns an + * empty string if there is no value at that index. If the value is not a + * string and is not null, then it is coverted to a string. + * + * @param index + * The index must be between 0 and length() - 1. + * @return A String value. + */ + public String optString(int index) + { + return this.optString(index, ""); + } + + /** + * Get the optional string associated with an index. The defaultValue is + * returned if the key is not found. + * + * @param index + * The index must be between 0 and length() - 1. + * @param defaultValue + * The default value. + * @return A String value. + */ + public String optString(int index, String defaultValue) + { + Object object = this.opt(index); + return JSONObject.NULL.equals(object) ? defaultValue : object.toString(); + } + + /** + * Append a boolean value. This increases the array's length by one. + * + * @param value + * A boolean value. + * @return this. + */ + public JSONArray put(boolean value) + { + this.put(value ? Boolean.TRUE : Boolean.FALSE); + return this; + } + + /** + * Put a value in the JSONArray, where the value will be a JSONArray which + * is produced from a Collection. + * + * @param value + * A Collection value. + * @return this. + */ + public JSONArray put(Collection value) + { + this.put(new JSONArray(value)); + return this; + } + + /** + * Append a double value. This increases the array's length by one. + * + * @param value + * A double value. + * @throws JSONException + * if the value is not finite. + * @return this. + */ + public JSONArray put(double value) throws JSONException + { + Double d = new Double(value); + JSONObject.testValidity(d); + this.put(d); + return this; + } + + /** + * Append an int value. This increases the array's length by one. + * + * @param value + * An int value. + * @return this. + */ + public JSONArray put(int value) + { + this.put(new Integer(value)); + return this; + } + + /** + * Append an long value. This increases the array's length by one. + * + * @param value + * A long value. + * @return this. + */ + public JSONArray put(long value) + { + this.put(new Long(value)); + return this; + } + + /** + * Put a value in the JSONArray, where the value will be a JSONObject which + * is produced from a Map. + * + * @param value + * A Map value. + * @return this. + */ + public JSONArray put(Map value) + { + this.put(new JSONObject(value)); + return this; + } + + /** + * Append an object value. This increases the array's length by one. + * + * @param value + * An object value. The value should be a Boolean, Double, + * Integer, JSONArray, JSONObject, Long, or String, or the + * JSONObject.NULL object. + * @return this. + */ + public JSONArray put(Object value) + { + this.myArrayList.add(value); + return this; + } + + /** + * Put or replace a boolean value in the JSONArray. If the index is greater + * than the length of the JSONArray, then null elements will be added as + * necessary to pad it out. + * + * @param index + * The subscript. + * @param value + * A boolean value. + * @return this. + * @throws JSONException + * If the index is negative. + */ + public JSONArray put(int index, boolean value) throws JSONException + { + this.put(index, value ? Boolean.TRUE : Boolean.FALSE); + return this; + } + + /** + * Put a value in the JSONArray, where the value will be a JSONArray which + * is produced from a Collection. + * + * @param index + * The subscript. + * @param value + * A Collection value. + * @return this. + * @throws JSONException + * If the index is negative or if the value is not finite. + */ + public JSONArray put(int index, Collection value) throws JSONException + { + this.put(index, new JSONArray(value)); + return this; + } + + /** + * Put or replace a double value. If the index is greater than the length of + * the JSONArray, then null elements will be added as necessary to pad it + * out. + * + * @param index + * The subscript. + * @param value + * A double value. + * @return this. + * @throws JSONException + * If the index is negative or if the value is not finite. + */ + public JSONArray put(int index, double value) throws JSONException + { + this.put(index, new Double(value)); + return this; + } + + /** + * Put or replace an int value. If the index is greater than the length of + * the JSONArray, then null elements will be added as necessary to pad it + * out. + * + * @param index + * The subscript. + * @param value + * An int value. + * @return this. + * @throws JSONException + * If the index is negative. + */ + public JSONArray put(int index, int value) throws JSONException + { + this.put(index, new Integer(value)); + return this; + } + + /** + * Put or replace a long value. If the index is greater than the length of + * the JSONArray, then null elements will be added as necessary to pad it + * out. + * + * @param index + * The subscript. + * @param value + * A long value. + * @return this. + * @throws JSONException + * If the index is negative. + */ + public JSONArray put(int index, long value) throws JSONException + { + this.put(index, new Long(value)); + return this; + } + + /** + * Put a value in the JSONArray, where the value will be a JSONObject that + * is produced from a Map. + * + * @param index + * The subscript. + * @param value + * The Map value. + * @return this. + * @throws JSONException + * If the index is negative or if the the value is an invalid + * number. + */ + public JSONArray put(int index, Map value) throws JSONException + { + this.put(index, new JSONObject(value)); + return this; + } + + /** + * Put or replace an object value in the JSONArray. If the index is greater + * than the length of the JSONArray, then null elements will be added as + * necessary to pad it out. + * + * @param index + * The subscript. + * @param value + * The value to put into the array. The value should be a + * Boolean, Double, Integer, JSONArray, JSONObject, Long, or + * String, or the JSONObject.NULL object. + * @return this. + * @throws JSONException + * If the index is negative or if the the value is an invalid + * number. + */ + public JSONArray put(int index, Object value) throws JSONException + { + JSONObject.testValidity(value); + if(index < 0) + { + throw new JSONException("JSONArray[" + index + "] not found."); + } + if(index < this.length()) + { + this.myArrayList.set(index, value); + } else + { + while(index != this.length()) + { + this.put(JSONObject.NULL); + } + this.put(value); + } + return this; + } + + /** + * Remove an index and close the hole. + * + * @param index + * The index of the element to be removed. + * @return The value that was associated with the index, or null if there + * was no value. + */ + public Object remove(int index) + { + return index >= 0 && index < this.length() ? this.myArrayList.remove(index) : null; + } + + /** + * Determine if two JSONArrays are similar. They must contain similar + * sequences. + * + * @param other + * The other JSONArray + * @return true if they are equal + */ + public boolean similar(Object other) + { + if(!(other instanceof JSONArray)) + { + return false; + } + int len = this.length(); + if(len != ((JSONArray) other).length()) + { + return false; + } + for(int i = 0; i < len; i += 1) + { + Object valueThis = this.get(i); + Object valueOther = ((JSONArray) other).get(i); + if(valueThis instanceof JSONObject) + { + if(!((JSONObject) valueThis).similar(valueOther)) + { + return false; + } + } else if(valueThis instanceof JSONArray) + { + if(!((JSONArray) valueThis).similar(valueOther)) + { + return false; + } + } else if(!valueThis.equals(valueOther)) + { + return false; + } + } + return true; + } + + /** + * Produce a JSONObject by combining a JSONArray of names with the values of + * this JSONArray. + * + * @param names + * A JSONArray containing a list of key strings. These will be + * paired with the values. + * @return A JSONObject, or null if there are no names or if this JSONArray + * has no values. + * @throws JSONException + * If any of the names are null. + */ + public JSONObject toJSONObject(JSONArray names) throws JSONException + { + if(names == null || names.length() == 0 || this.length() == 0) + { + return null; + } + JSONObject jo = new JSONObject(); + for(int i = 0; i < names.length(); i += 1) + { + jo.put(names.getString(i), this.opt(i)); + } + return jo; + } + + /** + * Make a JSON text of this JSONArray. For compactness, no unnecessary + * whitespace is added. If it is not possible to produce a syntactically + * correct JSON text then null will be returned instead. This could occur if + * the array contains an invalid number. + *

+ * Warning: This method assumes that the data structure is acyclical. + * + * @return a printable, displayable, transmittable representation of the + * array. + */ + @Override + public String toString() + { + try + { + return this.toString(0); + } catch(Exception e) + { + return null; + } + } + + /** + * Make a prettyprinted JSON text of this JSONArray. Warning: This method + * assumes that the data structure is acyclical. + * + * @param indentFactor + * The number of spaces to add to each level of indentation. + * @return a printable, displayable, transmittable representation of the + * object, beginning with [ (left + * bracket) and ending with ]   + * (right bracket). + * @throws JSONException + */ + public String toString(int indentFactor) throws JSONException + { + StringWriter sw = new StringWriter(); + synchronized(sw.getBuffer()) + { + return this.write(sw, indentFactor, 0).toString(); + } + } + + /** + * Write the contents of the JSONArray as JSON text to a writer. For + * compactness, no whitespace is added. + *

+ * Warning: This method assumes that the data structure is acyclical. + * + * @return The writer. + * @throws JSONException + */ + public Writer write(Writer writer) throws JSONException + { + return this.write(writer, 0, 0); + } + + /** + * Write the contents of the JSONArray as JSON text to a writer. For + * compactness, no whitespace is added. + *

+ * Warning: This method assumes that the data structure is acyclical. + * + * @param indentFactor + * The number of spaces to add to each level of indentation. + * @param indent + * The indention of the top level. + * @return The writer. + * @throws JSONException + */ + Writer write(Writer writer, int indentFactor, int indent) throws JSONException + { + try + { + boolean commanate = false; + int length = this.length(); + writer.write('['); + + if(length == 1) + { + JSONObject.writeValue(writer, this.myArrayList.get(0), indentFactor, indent); + } else if(length != 0) + { + final int newindent = indent + indentFactor; + + for(int i = 0; i < length; i += 1) + { + if(commanate) + { + writer.write(','); + } + if(indentFactor > 0) + { + writer.write('\n'); + } + JSONObject.indent(writer, newindent); + JSONObject.writeValue(writer, this.myArrayList.get(i), indentFactor, newindent); + commanate = true; + } + if(indentFactor > 0) + { + writer.write('\n'); + } + JSONObject.indent(writer, indent); + } + writer.write(']'); + return writer; + } catch(IOException e) + { + throw new JSONException(e); + } + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/JSONException.java b/src/main/java/ninja/bytecode/iris/util/JSONException.java new file mode 100644 index 000000000..d2364e501 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/JSONException.java @@ -0,0 +1,50 @@ +package ninja.bytecode.iris.util; + + +/** + * The JSONException is thrown by the JSON.org classes when things are amiss. + * + * @author JSON.org + * @version 2014-05-03 + */ +public class JSONException extends RuntimeException +{ + private static final long serialVersionUID = 0; + private Throwable cause; + + /** + * Constructs a JSONException with an explanatory message. + * + * @param message + * Detail about the reason for the exception. + */ + public JSONException(String message) + { + super(message); + } + + /** + * Constructs a new JSONException with the specified cause. + * + * @param cause + * The cause. + */ + public JSONException(Throwable cause) + { + super(cause.getMessage()); + this.cause = cause; + } + + /** + * Returns the cause of this exception or null if the cause is nonexistent + * or unknown. + * + * @return the cause of this exception or null if the cause is nonexistent + * or unknown. + */ + @Override + public Throwable getCause() + { + return this.cause; + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/JSONML.java b/src/main/java/ninja/bytecode/iris/util/JSONML.java new file mode 100644 index 000000000..96ba0bb7c --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/JSONML.java @@ -0,0 +1,555 @@ +package ninja.bytecode.iris.util; + + +/* +Copyright (c) 2008 JSON.org + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +The Software shall be used for Good, not Evil. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +import java.util.Iterator; + +/** + * This provides static methods to convert an XML text into a JSONArray or + * JSONObject, and to covert a JSONArray or JSONObject into an XML text using + * the JsonML transform. + * + * @author JSON.org + * @version 2014-05-03 + */ +public class JSONML +{ + + /** + * Parse XML values and store them in a JSONArray. + * + * @param x + * The XMLTokener containing the source string. + * @param arrayForm + * true if array form, false if object form. + * @param ja + * The JSONArray that is containing the current tag or null if we + * are at the outermost level. + * @return A JSONArray if the value is the outermost tag, otherwise null. + * @throws JSONException + */ + private static Object parse(XMLTokener x, boolean arrayForm, JSONArray ja) throws JSONException + { + String attribute; + char c; + String closeTag = null; + int i; + JSONArray newja = null; + JSONObject newjo = null; + Object token; + String tagName = null; + + // Test for and skip past these forms: + // + // + // + // + + while(true) + { + if(!x.more()) + { + throw x.syntaxError("Bad XML"); + } + token = x.nextContent(); + if(token == XML.LT) + { + token = x.nextToken(); + if(token instanceof Character) + { + if(token == XML.SLASH) + { + + // Close tag "); + } else + { + x.back(); + } + } else if(c == '[') + { + token = x.nextToken(); + if(token.equals("CDATA") && x.next() == '[') + { + if(ja != null) + { + ja.put(x.nextCDATA()); + } + } else + { + throw x.syntaxError("Expected 'CDATA['"); + } + } else + { + i = 1; + do + { + token = x.nextMeta(); + if(token == null) + { + throw x.syntaxError("Missing '>' after ' 0); + } + } else if(token == XML.QUEST) + { + + // "); + } else + { + throw x.syntaxError("Misshaped tag"); + } + + // Open tag < + + } else + { + if(!(token instanceof String)) + { + throw x.syntaxError("Bad tagName '" + token + "'."); + } + tagName = (String) token; + newja = new JSONArray(); + newjo = new JSONObject(); + if(arrayForm) + { + newja.put(tagName); + if(ja != null) + { + ja.put(newja); + } + } else + { + newjo.put("tagName", tagName); + if(ja != null) + { + ja.put(newjo); + } + } + token = null; + for(;;) + { + if(token == null) + { + token = x.nextToken(); + } + if(token == null) + { + throw x.syntaxError("Misshaped tag"); + } + if(!(token instanceof String)) + { + break; + } + + // attribute = value + + attribute = (String) token; + if(!arrayForm && ("tagName".equals(attribute) || "childNode".equals(attribute))) + { + throw x.syntaxError("Reserved attribute."); + } + token = x.nextToken(); + if(token == XML.EQ) + { + token = x.nextToken(); + if(!(token instanceof String)) + { + throw x.syntaxError("Missing value"); + } + newjo.accumulate(attribute, XML.stringToValue((String) token)); + token = null; + } else + { + newjo.accumulate(attribute, ""); + } + } + if(arrayForm && newjo.length() > 0) + { + newja.put(newjo); + } + + // Empty tag <.../> + + if(token == XML.SLASH) + { + if(x.nextToken() != XML.GT) + { + throw x.syntaxError("Misshaped tag"); + } + if(ja == null) + { + if(arrayForm) + { + return newja; + } else + { + return newjo; + } + } + + // Content, between <...> and + + } else + { + if(token != XML.GT) + { + throw x.syntaxError("Misshaped tag"); + } + closeTag = (String) parse(x, arrayForm, newja); + if(closeTag != null) + { + if(!closeTag.equals(tagName)) + { + throw x.syntaxError("Mismatched '" + tagName + "' and '" + closeTag + "'"); + } + tagName = null; + if(!arrayForm && newja.length() > 0) + { + newjo.put("childNodes", newja); + } + if(ja == null) + { + if(arrayForm) + { + return newja; + } else + { + return newjo; + } + } + } + } + } + } else + { + if(ja != null) + { + ja.put(token instanceof String ? XML.stringToValue((String) token) : token); + } + } + } + } + + /** + * Convert a well-formed (but not necessarily valid) XML string into a + * JSONArray using the JsonML transform. Each XML tag is represented as a + * JSONArray in which the first element is the tag name. If the tag has + * attributes, then the second element will be JSONObject containing the + * name/value pairs. If the tag contains children, then strings and + * JSONArrays will represent the child tags. Comments, prologs, DTDs, and + * <[ [ ]]> are ignored. + * + * @param string + * The source string. + * @return A JSONArray containing the structured data from the XML string. + * @throws JSONException + */ + public static JSONArray toJSONArray(String string) throws JSONException + { + return toJSONArray(new XMLTokener(string)); + } + + /** + * Convert a well-formed (but not necessarily valid) XML string into a + * JSONArray using the JsonML transform. Each XML tag is represented as a + * JSONArray in which the first element is the tag name. If the tag has + * attributes, then the second element will be JSONObject containing the + * name/value pairs. If the tag contains children, then strings and + * JSONArrays will represent the child content and tags. Comments, prologs, + * DTDs, and <[ [ ]]> are ignored. + * + * @param x + * An XMLTokener. + * @return A JSONArray containing the structured data from the XML string. + * @throws JSONException + */ + public static JSONArray toJSONArray(XMLTokener x) throws JSONException + { + return (JSONArray) parse(x, true, null); + } + + /** + * Convert a well-formed (but not necessarily valid) XML string into a + * JSONObject using the JsonML transform. Each XML tag is represented as a + * JSONObject with a "tagName" property. If the tag has attributes, then the + * attributes will be in the JSONObject as properties. If the tag contains + * children, the object will have a "childNodes" property which will be an + * array of strings and JsonML JSONObjects. + * + * Comments, prologs, DTDs, and <[ [ ]]> are ignored. + * + * @param x + * An XMLTokener of the XML source text. + * @return A JSONObject containing the structured data from the XML string. + * @throws JSONException + */ + public static JSONObject toJSONObject(XMLTokener x) throws JSONException + { + return (JSONObject) parse(x, false, null); + } + + /** + * Convert a well-formed (but not necessarily valid) XML string into a + * JSONObject using the JsonML transform. Each XML tag is represented as a + * JSONObject with a "tagName" property. If the tag has attributes, then the + * attributes will be in the JSONObject as properties. If the tag contains + * children, the object will have a "childNodes" property which will be an + * array of strings and JsonML JSONObjects. + * + * Comments, prologs, DTDs, and <[ [ ]]> are ignored. + * + * @param string + * The XML source text. + * @return A JSONObject containing the structured data from the XML string. + * @throws JSONException + */ + public static JSONObject toJSONObject(String string) throws JSONException + { + return toJSONObject(new XMLTokener(string)); + } + + /** + * Reverse the JSONML transformation, making an XML text from a JSONArray. + * + * @param ja + * A JSONArray. + * @return An XML string. + * @throws JSONException + */ + public static String toString(JSONArray ja) throws JSONException + { + int i; + JSONObject jo; + String key; + Iterator keys; + int length; + Object object; + StringBuilder sb = new StringBuilder(); + String tagName; + String value; + + // Emit = length) + { + sb.append('/'); + sb.append('>'); + } else + { + sb.append('>'); + do + { + object = ja.get(i); + i += 1; + if(object != null) + { + if(object instanceof String) + { + sb.append(XML.escape(object.toString())); + } else if(object instanceof JSONObject) + { + sb.append(toString((JSONObject) object)); + } else if(object instanceof JSONArray) + { + sb.append(toString((JSONArray) object)); + } else + { + sb.append(object.toString()); + } + } + } while(i < length); + sb.append('<'); + sb.append('/'); + sb.append(tagName); + sb.append('>'); + } + return sb.toString(); + } + + /** + * Reverse the JSONML transformation, making an XML text from a JSONObject. + * The JSONObject must contain a "tagName" property. If it has children, + * then it must have a "childNodes" property containing an array of objects. + * The other properties are attributes with string values. + * + * @param jo + * A JSONObject. + * @return An XML string. + * @throws JSONException + */ + public static String toString(JSONObject jo) throws JSONException + { + StringBuilder sb = new StringBuilder(); + int i; + JSONArray ja; + String key; + Iterator keys; + int length; + Object object; + String tagName; + String value; + + // Emit '); + } else + { + sb.append('>'); + length = ja.length(); + for(i = 0; i < length; i += 1) + { + object = ja.get(i); + if(object != null) + { + if(object instanceof String) + { + sb.append(XML.escape(object.toString())); + } else if(object instanceof JSONObject) + { + sb.append(toString((JSONObject) object)); + } else if(object instanceof JSONArray) + { + sb.append(toString((JSONArray) object)); + } else + { + sb.append(object.toString()); + } + } + } + sb.append('<'); + sb.append('/'); + sb.append(tagName); + sb.append('>'); + } + return sb.toString(); + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/JSONObject.java b/src/main/java/ninja/bytecode/iris/util/JSONObject.java new file mode 100644 index 000000000..dfd1259fd --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/JSONObject.java @@ -0,0 +1,2072 @@ +package ninja.bytecode.iris.util; + + +/* + Copyright (c) 2002 JSON.org + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + The Software shall be used for Good, not Evil. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + */ + +import java.io.IOException; +import java.io.StringWriter; +import java.io.Writer; +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.lang.reflect.Modifier; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Collection; +import java.util.Enumeration; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Locale; +import java.util.Map; +import java.util.Map.Entry; +import java.util.ResourceBundle; +import java.util.Set; + +/** + * A JSONObject is an unordered collection of name/value pairs. Its external + * form is a string wrapped in curly braces with colons between the names and + * values, and commas between the values and names. The internal form is an + * object having get and opt methods for accessing the + * values by name, and put methods for adding or replacing values + * by name. The values can be any of these types: Boolean, + * JSONArray, JSONObject, Number, + * String, or the JSONObject.NULL object. A JSONObject + * constructor can be used to convert an external form JSON text into an + * internal form whose values can be retrieved with the get and + * opt methods, or to convert values into a JSON text using the + * put and toString methods. A get method + * returns a value if one can be found, and throws an exception if one cannot be + * found. An opt method returns a default value instead of throwing + * an exception, and so is useful for obtaining optional values. + *

+ * The generic get() and opt() methods return an + * object, which you can cast or query for type. There are also typed + * get and opt methods that do type checking and type + * coercion for you. The opt methods differ from the get methods in that they do + * not throw. Instead, they return a specified value, such as null. + *

+ * The put methods add or replace values in an object. For example, + * + *

+ * myString = new JSONObject().put("JSON", "Hello, World!").toString();
+ * 
+ * + * produces the string {"JSON": "Hello, World"}. + *

+ * The texts produced by the toString methods strictly conform to + * the JSON syntax rules. The constructors are more forgiving in the texts they + * will accept: + *

    + *
  • An extra , (comma) may appear just + * before the closing brace.
  • + *
  • Strings may be quoted with ' (single + * quote).
  • + *
  • Strings do not need to be quoted at all if they do not begin with a quote + * or single quote, and if they do not contain leading or trailing spaces, and + * if they do not contain any of these characters: + * { } [ ] / \ : , # and if they do not look like numbers and if + * they are not the reserved words true, false, or + * null.
  • + *
+ * + * @author JSON.org + * @version 2015-07-22 + */ +public class JSONObject +{ + /** + * JSONObject.NULL is equivalent to the value that JavaScript calls null, + * whilst Java's null is equivalent to the value that JavaScript calls + * undefined. + */ + private static final class Null + { + + /** + * There is only intended to be a single instance of the NULL object, so + * the clone method returns itself. + * + * @return NULL. + */ + @Override + protected final Object clone() + { + return this; + } + + /** + * A Null object is equal to the null value and to itself. + * + * @param object + * An object to test for nullness. + * @return true if the object parameter is the JSONObject.NULL object or + * null. + */ + @Override + public boolean equals(Object object) + { + return object == null || object == this; + } + + /** + * Get the "null" string value. + * + * @return The string "null". + */ + public String toString() + { + return "null"; + } + } + + /** + * The map where the JSONObject's properties are kept. + */ + private final Map map; + + /** + * It is sometimes more convenient and less ambiguous to have a + * NULL object than to use Java's null value. + * JSONObject.NULL.equals(null) returns true. + * JSONObject.NULL.toString() returns "null". + */ + public static final Object NULL = new Null(); + + /** + * Construct an empty JSONObject. + */ + public JSONObject() + { + this.map = new HashMap(); + } + + /** + * Construct a JSONObject from a subset of another JSONObject. An array of + * strings is used to identify the keys that should be copied. Missing keys + * are ignored. + * + * @param jo + * A JSONObject. + * @param names + * An array of strings. + * @throws JSONException + * @exception JSONException + * If a value is a non-finite number or if a name is + * duplicated. + */ + public JSONObject(JSONObject jo, String[] names) + { + this(); + for(int i = 0; i < names.length; i += 1) + { + try + { + this.putOnce(names[i], jo.opt(names[i])); + } catch(Exception ignore) + { + } + } + } + + /** + * Construct a JSONObject from a JSONTokener. + * + * @param x + * A JSONTokener object containing the source string. + * @throws JSONException + * If there is a syntax error in the source string or a + * duplicated key. + */ + public JSONObject(JSONTokener x) throws JSONException + { + this(); + char c; + String key; + + if(x.nextClean() != '{') + { + throw x.syntaxError("A JSONObject text must begin with '{'"); + } + for(;;) + { + c = x.nextClean(); + switch(c) + { + case 0: + throw x.syntaxError("A JSONObject text must end with '}'"); + case '}': + return; + default: + x.back(); + key = x.nextValue().toString(); + } + + // The key is followed by ':'. + + c = x.nextClean(); + if(c != ':') + { + throw x.syntaxError("Expected a ':' after a key"); + } + this.putOnce(key, x.nextValue()); + + // Pairs are separated by ','. + + switch(x.nextClean()) + { + case ';': + case ',': + if(x.nextClean() == '}') + { + return; + } + x.back(); + break; + case '}': + return; + default: + throw x.syntaxError("Expected a ',' or '}'"); + } + } + } + + /** + * Construct a JSONObject from a Map. + * + * @param map + * A map object that can be used to initialize the contents of + * the JSONObject. + * @throws JSONException + */ + public JSONObject(Map map) + { + this.map = new HashMap(); + if(map != null) + { + Iterator> i = map.entrySet().iterator(); + while(i.hasNext()) + { + Entry entry = i.next(); + Object value = entry.getValue(); + if(value != null) + { + this.map.put(entry.getKey(), wrap(value)); + } + } + } + } + + /** + * Construct a JSONObject from an Object using bean getters. It reflects on + * all of the public methods of the object. For each of the methods with no + * parameters and a name starting with "get" or + * "is" followed by an uppercase letter, the method is invoked, + * and a key and the value returned from the getter method are put into the + * new JSONObject. + * + * The key is formed by removing the "get" or "is" + * prefix. If the second remaining character is not upper case, then the + * first character is converted to lower case. + * + * For example, if an object has a method named "getName", and + * if the result of calling object.getName() is + * "Larry Fine", then the JSONObject will contain + * "name": "Larry Fine". + * + * @param bean + * An object that has getter methods that should be used to make + * a JSONObject. + */ + public JSONObject(Object bean) + { + this(); + this.populateMap(bean); + } + + /** + * Construct a JSONObject from an Object, using reflection to find the + * public members. The resulting JSONObject's keys will be the strings from + * the names array, and the values will be the field values associated with + * those keys in the object. If a key is not found or not visible, then it + * will not be copied into the new JSONObject. + * + * @param object + * An object that has fields that should be used to make a + * JSONObject. + * @param names + * An array of strings, the names of the fields to be obtained + * from the object. + */ + public JSONObject(Object object, String names[]) + { + this(); + Class c = object.getClass(); + for(int i = 0; i < names.length; i += 1) + { + String name = names[i]; + try + { + this.putOpt(name, c.getField(name).get(object)); + } catch(Exception ignore) + { + } + } + } + + /** + * Construct a JSONObject from a source JSON text string. This is the most + * commonly used JSONObject constructor. + * + * @param source + * A string beginning with { (left + * brace) and ending with }   + * (right brace). + * @exception JSONException + * If there is a syntax error in the source string or a + * duplicated key. + */ + public JSONObject(String source) throws JSONException + { + this(new JSONTokener(source)); + } + + /** + * Construct a JSONObject from a ResourceBundle. + * + * @param baseName + * The ResourceBundle base name. + * @param locale + * The Locale to load the ResourceBundle for. + * @throws JSONException + * If any JSONExceptions are detected. + */ + public JSONObject(String baseName, Locale locale) throws JSONException + { + this(); + ResourceBundle bundle = ResourceBundle.getBundle(baseName, locale, Thread.currentThread().getContextClassLoader()); + + // Iterate through the keys in the bundle. + + Enumeration keys = bundle.getKeys(); + while(keys.hasMoreElements()) + { + Object key = keys.nextElement(); + if(key != null) + { + + // Go through the path, ensuring that there is a nested + // JSONObject for each + // segment except the last. Add the value using the last + // segment's name into + // the deepest nested JSONObject. + + String[] path = ((String) key).split("\\."); + int last = path.length - 1; + JSONObject target = this; + for(int i = 0; i < last; i += 1) + { + String segment = path[i]; + JSONObject nextTarget = target.optJSONObject(segment); + if(nextTarget == null) + { + nextTarget = new JSONObject(); + target.put(segment, nextTarget); + } + target = nextTarget; + } + target.put(path[last], bundle.getString((String) key)); + } + } + } + + /** + * Accumulate values under a key. It is similar to the put method except + * that if there is already an object stored under the key then a JSONArray + * is stored under the key to hold all of the accumulated values. If there + * is already a JSONArray, then the new value is appended to it. In + * contrast, the put method replaces the previous value. + * + * If only one value is accumulated that is not a JSONArray, then the result + * will be the same as using put. But if multiple values are accumulated, + * then the result will be like append. + * + * @param key + * A key string. + * @param value + * An object to be accumulated under the key. + * @return this. + * @throws JSONException + * If the value is an invalid number or if the key is null. + */ + public JSONObject accumulate(String key, Object value) throws JSONException + { + testValidity(value); + Object object = this.opt(key); + if(object == null) + { + this.put(key, value instanceof JSONArray ? new JSONArray().put(value) : value); + } else if(object instanceof JSONArray) + { + ((JSONArray) object).put(value); + } else + { + this.put(key, new JSONArray().put(object).put(value)); + } + return this; + } + + /** + * Append values to the array under a key. If the key does not exist in the + * JSONObject, then the key is put in the JSONObject with its value being a + * JSONArray containing the value parameter. If the key was already + * associated with a JSONArray, then the value parameter is appended to it. + * + * @param key + * A key string. + * @param value + * An object to be accumulated under the key. + * @return this. + * @throws JSONException + * If the key is null or if the current value associated with + * the key is not a JSONArray. + */ + public JSONObject append(String key, Object value) throws JSONException + { + testValidity(value); + Object object = this.opt(key); + if(object == null) + { + this.put(key, new JSONArray().put(value)); + } else if(object instanceof JSONArray) + { + this.put(key, ((JSONArray) object).put(value)); + } else + { + throw new JSONException("JSONObject[" + key + "] is not a JSONArray."); + } + return this; + } + + /** + * Produce a string from a double. The string "null" will be returned if the + * number is not finite. + * + * @param d + * A double. + * @return A String. + */ + public static String doubleToString(double d) + { + if(Double.isInfinite(d) || Double.isNaN(d)) + { + return "null"; + } + + // Shave off trailing zeros and decimal point, if possible. + + String string = Double.toString(d); + if(string.indexOf('.') > 0 && string.indexOf('e') < 0 && string.indexOf('E') < 0) + { + while(string.endsWith("0")) + { + string = string.substring(0, string.length() - 1); + } + if(string.endsWith(".")) + { + string = string.substring(0, string.length() - 1); + } + } + return string; + } + + /** + * Get the value object associated with a key. + * + * @param key + * A key string. + * @return The object associated with the key. + * @throws JSONException + * if the key is not found. + */ + public Object get(String key) throws JSONException + { + if(key == null) + { + throw new JSONException("Null key."); + } + Object object = this.opt(key); + if(object == null) + { + throw new JSONException("JSONObject[" + quote(key) + "] not found."); + } + return object; + } + + /** + * Get the enum value associated with a key. + * + * @param clazz + * The type of enum to retrieve. + * @param key + * A key string. + * @return The enum value associated with the key + * @throws JSONException + * if the key is not found or if the value cannot be converted + * to an enum. + */ + public > E getEnum(Class clazz, String key) throws JSONException + { + E val = optEnum(clazz, key); + if(val == null) + { + // JSONException should really take a throwable argument. + // If it did, I would re-implement this with the Enum.valueOf + // method and place any thrown exception in the JSONException + throw new JSONException("JSONObject[" + quote(key) + "] is not an enum of type " + quote(clazz.getSimpleName()) + "."); + } + return val; + } + + /** + * Get the boolean value associated with a key. + * + * @param key + * A key string. + * @return The truth. + * @throws JSONException + * if the value is not a Boolean or the String "true" or + * "false". + */ + public boolean getBoolean(String key) throws JSONException + { + Object object = this.get(key); + if(object.equals(Boolean.FALSE) || (object instanceof String && ((String) object).equalsIgnoreCase("false"))) + { + return false; + } else if(object.equals(Boolean.TRUE) || (object instanceof String && ((String) object).equalsIgnoreCase("true"))) + { + return true; + } + throw new JSONException("JSONObject[" + quote(key) + "] is not a Boolean."); + } + + /** + * Get the BigInteger value associated with a key. + * + * @param key + * A key string. + * @return The numeric value. + * @throws JSONException + * if the key is not found or if the value cannot be converted + * to BigInteger. + */ + public BigInteger getBigInteger(String key) throws JSONException + { + Object object = this.get(key); + try + { + return new BigInteger(object.toString()); + } catch(Exception e) + { + throw new JSONException("JSONObject[" + quote(key) + "] could not be converted to BigInteger."); + } + } + + /** + * Get the BigDecimal value associated with a key. + * + * @param key + * A key string. + * @return The numeric value. + * @throws JSONException + * if the key is not found or if the value cannot be converted + * to BigDecimal. + */ + public BigDecimal getBigDecimal(String key) throws JSONException + { + Object object = this.get(key); + try + { + return new BigDecimal(object.toString()); + } catch(Exception e) + { + throw new JSONException("JSONObject[" + quote(key) + "] could not be converted to BigDecimal."); + } + } + + /** + * Get the double value associated with a key. + * + * @param key + * A key string. + * @return The numeric value. + * @throws JSONException + * if the key is not found or if the value is not a Number + * object and cannot be converted to a number. + */ + public double getDouble(String key) throws JSONException + { + Object object = this.get(key); + try + { + return object instanceof Number ? ((Number) object).doubleValue() : Double.parseDouble((String) object); + } catch(Exception e) + { + throw new JSONException("JSONObject[" + quote(key) + "] is not a number."); + } + } + + /** + * Get the int value associated with a key. + * + * @param key + * A key string. + * @return The integer value. + * @throws JSONException + * if the key is not found or if the value cannot be converted + * to an integer. + */ + public int getInt(String key) throws JSONException + { + Object object = this.get(key); + try + { + return object instanceof Number ? ((Number) object).intValue() : Integer.parseInt((String) object); + } catch(Exception e) + { + throw new JSONException("JSONObject[" + quote(key) + "] is not an int."); + } + } + + /** + * Get the JSONArray value associated with a key. + * + * @param key + * A key string. + * @return A JSONArray which is the value. + * @throws JSONException + * if the key is not found or if the value is not a JSONArray. + */ + public JSONArray getJSONArray(String key) throws JSONException + { + Object object = this.get(key); + if(object instanceof JSONArray) + { + return (JSONArray) object; + } + throw new JSONException("JSONObject[" + quote(key) + "] is not a JSONArray."); + } + + /** + * Get the JSONObject value associated with a key. + * + * @param key + * A key string. + * @return A JSONObject which is the value. + * @throws JSONException + * if the key is not found or if the value is not a JSONObject. + */ + public JSONObject getJSONObject(String key) throws JSONException + { + Object object = this.get(key); + if(object instanceof JSONObject) + { + return (JSONObject) object; + } + throw new JSONException("JSONObject[" + quote(key) + "] is not a JSONObject."); + } + + /** + * Get the long value associated with a key. + * + * @param key + * A key string. + * @return The long value. + * @throws JSONException + * if the key is not found or if the value cannot be converted + * to a long. + */ + public long getLong(String key) throws JSONException + { + Object object = this.get(key); + try + { + return object instanceof Number ? ((Number) object).longValue() : Long.parseLong((String) object); + } catch(Exception e) + { + throw new JSONException("JSONObject[" + quote(key) + "] is not a long."); + } + } + + /** + * Get an array of field names from a JSONObject. + * + * @return An array of field names, or null if there are no names. + */ + public static String[] getNames(JSONObject jo) + { + int length = jo.length(); + if(length == 0) + { + return null; + } + Iterator iterator = jo.keys(); + String[] names = new String[length]; + int i = 0; + while(iterator.hasNext()) + { + names[i] = iterator.next(); + i += 1; + } + return names; + } + + /** + * Get an array of field names from an Object. + * + * @return An array of field names, or null if there are no names. + */ + public static String[] getNames(Object object) + { + if(object == null) + { + return null; + } + Class klass = object.getClass(); + Field[] fields = klass.getFields(); + int length = fields.length; + if(length == 0) + { + return null; + } + String[] names = new String[length]; + for(int i = 0; i < length; i += 1) + { + names[i] = fields[i].getName(); + } + return names; + } + + /** + * Get the string associated with a key. + * + * @param key + * A key string. + * @return A string which is the value. + * @throws JSONException + * if there is no string value for the key. + */ + public String getString(String key) throws JSONException + { + Object object = this.get(key); + if(object instanceof String) + { + return (String) object; + } + throw new JSONException("JSONObject[" + quote(key) + "] not a string."); + } + + /** + * Determine if the JSONObject contains a specific key. + * + * @param key + * A key string. + * @return true if the key exists in the JSONObject. + */ + public boolean has(String key) + { + return this.map.containsKey(key); + } + + /** + * Increment a property of a JSONObject. If there is no such property, + * create one with a value of 1. If there is such a property, and if it is + * an Integer, Long, Double, or Float, then add one to it. + * + * @param key + * A key string. + * @return this. + * @throws JSONException + * If there is already a property with this name that is not an + * Integer, Long, Double, or Float. + */ + public JSONObject increment(String key) throws JSONException + { + Object value = this.opt(key); + if(value == null) + { + this.put(key, 1); + } else if(value instanceof BigInteger) + { + this.put(key, ((BigInteger) value).add(BigInteger.ONE)); + } else if(value instanceof BigDecimal) + { + this.put(key, ((BigDecimal) value).add(BigDecimal.ONE)); + } else if(value instanceof Integer) + { + this.put(key, (Integer) value + 1); + } else if(value instanceof Long) + { + this.put(key, (Long) value + 1); + } else if(value instanceof Double) + { + this.put(key, (Double) value + 1); + } else if(value instanceof Float) + { + this.put(key, (Float) value + 1); + } else + { + throw new JSONException("Unable to increment [" + quote(key) + "]."); + } + return this; + } + + /** + * Determine if the value associated with the key is null or if there is no + * value. + * + * @param key + * A key string. + * @return true if there is no value associated with the key or if the value + * is the JSONObject.NULL object. + */ + public boolean isNull(String key) + { + return JSONObject.NULL.equals(this.opt(key)); + } + + /** + * Get an enumeration of the keys of the JSONObject. + * + * @return An iterator of the keys. + */ + public Iterator keys() + { + return this.keySet().iterator(); + } + + /** + * Get a set of keys of the JSONObject. + * + * @return A keySet. + */ + public Set keySet() + { + return this.map.keySet(); + } + + /** + * Get the number of keys stored in the JSONObject. + * + * @return The number of keys in the JSONObject. + */ + public int length() + { + return this.map.size(); + } + + /** + * Produce a JSONArray containing the names of the elements of this + * JSONObject. + * + * @return A JSONArray containing the key strings, or null if the JSONObject + * is empty. + */ + public JSONArray names() + { + JSONArray ja = new JSONArray(); + Iterator keys = this.keys(); + while(keys.hasNext()) + { + ja.put(keys.next()); + } + return ja.length() == 0 ? null : ja; + } + + /** + * Produce a string from a Number. + * + * @param number + * A Number + * @return A String. + * @throws JSONException + * If n is a non-finite number. + */ + public static String numberToString(Number number) throws JSONException + { + if(number == null) + { + throw new JSONException("Null pointer"); + } + testValidity(number); + + // Shave off trailing zeros and decimal point, if possible. + + String string = number.toString(); + if(string.indexOf('.') > 0 && string.indexOf('e') < 0 && string.indexOf('E') < 0) + { + while(string.endsWith("0")) + { + string = string.substring(0, string.length() - 1); + } + if(string.endsWith(".")) + { + string = string.substring(0, string.length() - 1); + } + } + return string; + } + + /** + * Get an optional value associated with a key. + * + * @param key + * A key string. + * @return An object which is the value, or null if there is no value. + */ + public Object opt(String key) + { + return key == null ? null : this.map.get(key); + } + + /** + * Get the enum value associated with a key. + * + * @param clazz + * The type of enum to retrieve. + * @param key + * A key string. + * @return The enum value associated with the key or null if not found + */ + public > E optEnum(Class clazz, String key) + { + return this.optEnum(clazz, key, null); + } + + /** + * Get the enum value associated with a key. + * + * @param clazz + * The type of enum to retrieve. + * @param key + * A key string. + * @param defaultValue + * The default in case the value is not found + * @return The enum value associated with the key or defaultValue if the + * value is not found or cannot be assigned to clazz + */ + public > E optEnum(Class clazz, String key, E defaultValue) + { + try + { + Object val = this.opt(key); + if(NULL.equals(val)) + { + return defaultValue; + } + if(clazz.isAssignableFrom(val.getClass())) + { + // we just checked it! + @SuppressWarnings("unchecked") + E myE = (E) val; + return myE; + } + return Enum.valueOf(clazz, val.toString()); + } + + catch(IllegalArgumentException e) + { + return defaultValue; + } + + catch(NullPointerException e) + { + return defaultValue; + } + } + + /** + * Get an optional boolean associated with a key. It returns false if there + * is no such key, or if the value is not Boolean.TRUE or the String "true". + * + * @param key + * A key string. + * @return The truth. + */ + public boolean optBoolean(String key) + { + return this.optBoolean(key, false); + } + + /** + * Get an optional boolean associated with a key. It returns the + * defaultValue if there is no such key, or if it is not a Boolean or the + * String "true" or "false" (case insensitive). + * + * @param key + * A key string. + * @param defaultValue + * The default. + * @return The truth. + */ + public boolean optBoolean(String key, boolean defaultValue) + { + try + { + return this.getBoolean(key); + } catch(Exception e) + { + return defaultValue; + } + } + + /** + * Get an optional double associated with a key, or NaN if there is no such + * key or if its value is not a number. If the value is a string, an attempt + * will be made to evaluate it as a number. + * + * @param key + * A string which is the key. + * @return An object which is the value. + */ + public double optDouble(String key) + { + return this.optDouble(key, Double.NaN); + } + + /** + * Get an optional BigInteger associated with a key, or the defaultValue if + * there is no such key or if its value is not a number. If the value is a + * string, an attempt will be made to evaluate it as a number. + * + * @param key + * A key string. + * @param defaultValue + * The default. + * @return An object which is the value. + */ + public BigInteger optBigInteger(String key, BigInteger defaultValue) + { + try + { + return this.getBigInteger(key); + } catch(Exception e) + { + return defaultValue; + } + } + + /** + * Get an optional BigDecimal associated with a key, or the defaultValue if + * there is no such key or if its value is not a number. If the value is a + * string, an attempt will be made to evaluate it as a number. + * + * @param key + * A key string. + * @param defaultValue + * The default. + * @return An object which is the value. + */ + public BigDecimal optBigDecimal(String key, BigDecimal defaultValue) + { + try + { + return this.getBigDecimal(key); + } catch(Exception e) + { + return defaultValue; + } + } + + /** + * Get an optional double associated with a key, or the defaultValue if + * there is no such key or if its value is not a number. If the value is a + * string, an attempt will be made to evaluate it as a number. + * + * @param key + * A key string. + * @param defaultValue + * The default. + * @return An object which is the value. + */ + public double optDouble(String key, double defaultValue) + { + try + { + return this.getDouble(key); + } catch(Exception e) + { + return defaultValue; + } + } + + /** + * Get an optional int value associated with a key, or zero if there is no + * such key or if the value is not a number. If the value is a string, an + * attempt will be made to evaluate it as a number. + * + * @param key + * A key string. + * @return An object which is the value. + */ + public int optInt(String key) + { + return this.optInt(key, 0); + } + + /** + * Get an optional int value associated with a key, or the default if there + * is no such key or if the value is not a number. If the value is a string, + * an attempt will be made to evaluate it as a number. + * + * @param key + * A key string. + * @param defaultValue + * The default. + * @return An object which is the value. + */ + public int optInt(String key, int defaultValue) + { + try + { + return this.getInt(key); + } catch(Exception e) + { + return defaultValue; + } + } + + /** + * Get an optional JSONArray associated with a key. It returns null if there + * is no such key, or if its value is not a JSONArray. + * + * @param key + * A key string. + * @return A JSONArray which is the value. + */ + public JSONArray optJSONArray(String key) + { + Object o = this.opt(key); + return o instanceof JSONArray ? (JSONArray) o : null; + } + + /** + * Get an optional JSONObject associated with a key. It returns null if + * there is no such key, or if its value is not a JSONObject. + * + * @param key + * A key string. + * @return A JSONObject which is the value. + */ + public JSONObject optJSONObject(String key) + { + Object object = this.opt(key); + return object instanceof JSONObject ? (JSONObject) object : null; + } + + /** + * Get an optional long value associated with a key, or zero if there is no + * such key or if the value is not a number. If the value is a string, an + * attempt will be made to evaluate it as a number. + * + * @param key + * A key string. + * @return An object which is the value. + */ + public long optLong(String key) + { + return this.optLong(key, 0); + } + + /** + * Get an optional long value associated with a key, or the default if there + * is no such key or if the value is not a number. If the value is a string, + * an attempt will be made to evaluate it as a number. + * + * @param key + * A key string. + * @param defaultValue + * The default. + * @return An object which is the value. + */ + public long optLong(String key, long defaultValue) + { + try + { + return this.getLong(key); + } catch(Exception e) + { + return defaultValue; + } + } + + /** + * Get an optional string associated with a key. It returns an empty string + * if there is no such key. If the value is not a string and is not null, + * then it is converted to a string. + * + * @param key + * A key string. + * @return A string which is the value. + */ + public String optString(String key) + { + return this.optString(key, ""); + } + + /** + * Get an optional string associated with a key. It returns the defaultValue + * if there is no such key. + * + * @param key + * A key string. + * @param defaultValue + * The default. + * @return A string which is the value. + */ + public String optString(String key, String defaultValue) + { + Object object = this.opt(key); + return NULL.equals(object) ? defaultValue : object.toString(); + } + + private void populateMap(Object bean) + { + Class klass = bean.getClass(); + + // If klass is a System class then set includeSuperClass to false. + + boolean includeSuperClass = klass.getClassLoader() != null; + + Method[] methods = includeSuperClass ? klass.getMethods() : klass.getDeclaredMethods(); + for(int i = 0; i < methods.length; i += 1) + { + try + { + Method method = methods[i]; + if(Modifier.isPublic(method.getModifiers())) + { + String name = method.getName(); + String key = ""; + if(name.startsWith("get")) + { + if("getClass".equals(name) || "getDeclaringClass".equals(name)) + { + key = ""; + } else + { + key = name.substring(3); + } + } else if(name.startsWith("is")) + { + key = name.substring(2); + } + if(key.length() > 0 && Character.isUpperCase(key.charAt(0)) && method.getParameterTypes().length == 0) + { + if(key.length() == 1) + { + key = key.toLowerCase(); + } else if(!Character.isUpperCase(key.charAt(1))) + { + key = key.substring(0, 1).toLowerCase() + key.substring(1); + } + + Object result = method.invoke(bean, (Object[]) null); + if(result != null) + { + this.map.put(key, wrap(result)); + } + } + } + } catch(Exception ignore) + { + } + } + } + + /** + * Put a key/boolean pair in the JSONObject. + * + * @param key + * A key string. + * @param value + * A boolean which is the value. + * @return this. + * @throws JSONException + * If the key is null. + */ + public JSONObject put(String key, boolean value) throws JSONException + { + this.put(key, value ? Boolean.TRUE : Boolean.FALSE); + return this; + } + + /** + * Put a key/value pair in the JSONObject, where the value will be a + * JSONArray which is produced from a Collection. + * + * @param key + * A key string. + * @param value + * A Collection value. + * @return this. + * @throws JSONException + */ + public JSONObject put(String key, Collection value) throws JSONException + { + this.put(key, new JSONArray(value)); + return this; + } + + /** + * Put a key/double pair in the JSONObject. + * + * @param key + * A key string. + * @param value + * A double which is the value. + * @return this. + * @throws JSONException + * If the key is null or if the number is invalid. + */ + public JSONObject put(String key, double value) throws JSONException + { + this.put(key, new Double(value)); + return this; + } + + /** + * Put a key/int pair in the JSONObject. + * + * @param key + * A key string. + * @param value + * An int which is the value. + * @return this. + * @throws JSONException + * If the key is null. + */ + public JSONObject put(String key, int value) throws JSONException + { + this.put(key, new Integer(value)); + return this; + } + + /** + * Put a key/long pair in the JSONObject. + * + * @param key + * A key string. + * @param value + * A long which is the value. + * @return this. + * @throws JSONException + * If the key is null. + */ + public JSONObject put(String key, long value) throws JSONException + { + this.put(key, new Long(value)); + return this; + } + + /** + * Put a key/value pair in the JSONObject, where the value will be a + * JSONObject which is produced from a Map. + * + * @param key + * A key string. + * @param value + * A Map value. + * @return this. + * @throws JSONException + */ + public JSONObject put(String key, Map value) throws JSONException + { + this.put(key, new JSONObject(value)); + return this; + } + + /** + * Put a key/value pair in the JSONObject. If the value is null, then the + * key will be removed from the JSONObject if it is present. + * + * @param key + * A key string. + * @param value + * An object which is the value. It should be of one of these + * types: Boolean, Double, Integer, JSONArray, JSONObject, Long, + * String, or the JSONObject.NULL object. + * @return this. + * @throws JSONException + * If the value is non-finite number or if the key is null. + */ + public JSONObject put(String key, Object value) throws JSONException + { + if(key == null) + { + throw new NullPointerException("Null key."); + } + if(value != null) + { + testValidity(value); + this.map.put(key, value); + } else + { + this.remove(key); + } + return this; + } + + /** + * Put a key/value pair in the JSONObject, but only if the key and the value + * are both non-null, and only if there is not already a member with that + * name. + * + * @param key + * string + * @param value + * object + * @return this. + * @throws JSONException + * if the key is a duplicate + */ + public JSONObject putOnce(String key, Object value) throws JSONException + { + if(key != null && value != null) + { + if(this.opt(key) != null) + { + throw new JSONException("Duplicate key \"" + key + "\""); + } + this.put(key, value); + } + return this; + } + + /** + * Put a key/value pair in the JSONObject, but only if the key and the value + * are both non-null. + * + * @param key + * A key string. + * @param value + * An object which is the value. It should be of one of these + * types: Boolean, Double, Integer, JSONArray, JSONObject, Long, + * String, or the JSONObject.NULL object. + * @return this. + * @throws JSONException + * If the value is a non-finite number. + */ + public JSONObject putOpt(String key, Object value) throws JSONException + { + if(key != null && value != null) + { + this.put(key, value); + } + return this; + } + + /** + * Produce a string in double quotes with backslash sequences in all the + * right places. A backslash will be inserted within = '\u0080' && c < '\u00a0') || (c >= '\u2000' && c < '\u2100')) + { + w.write("\\u"); + hhhh = Integer.toHexString(c); + w.write("0000", 0, 4 - hhhh.length()); + w.write(hhhh); + } else + { + w.write(c); + } + } + } + w.write('"'); + return w; + } + + /** + * Remove a name and its value, if present. + * + * @param key + * The name to be removed. + * @return The value that was associated with the name, or null if there was + * no value. + */ + public Object remove(String key) + { + return this.map.remove(key); + } + + /** + * Determine if two JSONObjects are similar. They must contain the same set + * of names which must be associated with similar values. + * + * @param other + * The other JSONObject + * @return true if they are equal + */ + public boolean similar(Object other) + { + try + { + if(!(other instanceof JSONObject)) + { + return false; + } + Set set = this.keySet(); + if(!set.equals(((JSONObject) other).keySet())) + { + return false; + } + Iterator iterator = set.iterator(); + while(iterator.hasNext()) + { + String name = iterator.next(); + Object valueThis = this.get(name); + Object valueOther = ((JSONObject) other).get(name); + if(valueThis instanceof JSONObject) + { + if(!((JSONObject) valueThis).similar(valueOther)) + { + return false; + } + } else if(valueThis instanceof JSONArray) + { + if(!((JSONArray) valueThis).similar(valueOther)) + { + return false; + } + } else if(!valueThis.equals(valueOther)) + { + return false; + } + } + return true; + } catch(Throwable exception) + { + return false; + } + } + + /** + * Try to convert a string into a number, boolean, or null. If the string + * can't be converted, return the string. + * + * @param string + * A String. + * @return A simple JSON value. + */ + public static Object stringToValue(String string) + { + Double d; + if(string.equals("")) + { + return string; + } + if(string.equalsIgnoreCase("true")) + { + return Boolean.TRUE; + } + if(string.equalsIgnoreCase("false")) + { + return Boolean.FALSE; + } + if(string.equalsIgnoreCase("null")) + { + return JSONObject.NULL; + } + + /* + * If it might be a number, try converting it. If a number cannot be + * produced, then the value will just be a string. + */ + + char b = string.charAt(0); + if((b >= '0' && b <= '9') || b == '-') + { + try + { + if(string.indexOf('.') > -1 || string.indexOf('e') > -1 || string.indexOf('E') > -1) + { + d = Double.valueOf(string); + if(!d.isInfinite() && !d.isNaN()) + { + return d; + } + } else + { + Long myLong = new Long(string); + if(string.equals(myLong.toString())) + { + if(myLong == myLong.intValue()) + { + return myLong.intValue(); + } else + { + return myLong; + } + } + } + } catch(Exception ignore) + { + } + } + return string; + } + + /** + * Throw an exception if the object is a NaN or infinite number. + * + * @param o + * The object to test. + * @throws JSONException + * If o is a non-finite number. + */ + public static void testValidity(Object o) throws JSONException + { + if(o != null) + { + if(o instanceof Double) + { + if(((Double) o).isInfinite() || ((Double) o).isNaN()) + { + throw new JSONException("JSON does not allow non-finite numbers."); + } + } else if(o instanceof Float) + { + if(((Float) o).isInfinite() || ((Float) o).isNaN()) + { + throw new JSONException("JSON does not allow non-finite numbers."); + } + } + } + } + + /** + * Produce a JSONArray containing the values of the members of this + * JSONObject. + * + * @param names + * A JSONArray containing a list of key strings. This determines + * the sequence of the values in the result. + * @return A JSONArray of values. + * @throws JSONException + * If any of the values are non-finite numbers. + */ + public JSONArray toJSONArray(JSONArray names) throws JSONException + { + if(names == null || names.length() == 0) + { + return null; + } + JSONArray ja = new JSONArray(); + for(int i = 0; i < names.length(); i += 1) + { + ja.put(this.opt(names.getString(i))); + } + return ja; + } + + /** + * Make a JSON text of this JSONObject. For compactness, no whitespace is + * added. If this would not result in a syntactically correct JSON text, + * then null will be returned instead. + *

+ * Warning: This method assumes that the data structure is acyclical. + * + * @return a printable, displayable, portable, transmittable representation + * of the object, beginning with { (left + * brace) and ending with } (right + * brace). + */ + public String toString() + { + try + { + return this.toString(0); + } catch(Exception e) + { + return null; + } + } + + /** + * Make a prettyprinted JSON text of this JSONObject. + *

+ * Warning: This method assumes that the data structure is acyclical. + * + * @param indentFactor + * The number of spaces to add to each level of indentation. + * @return a printable, displayable, portable, transmittable representation + * of the object, beginning with { (left + * brace) and ending with } (right + * brace). + * @throws JSONException + * If the object contains an invalid number. + */ + public String toString(int indentFactor) throws JSONException + { + StringWriter w = new StringWriter(); + synchronized(w.getBuffer()) + { + return this.write(w, indentFactor, 0).toString(); + } + } + + /** + * Make a JSON text of an Object value. If the object has an + * value.toJSONString() method, then that method will be used to produce the + * JSON text. The method is required to produce a strictly conforming text. + * If the object does not contain a toJSONString method (which is the most + * common case), then a text will be produced by other means. If the value + * is an array or Collection, then a JSONArray will be made from it and its + * toJSONString method will be called. If the value is a MAP, then a + * JSONObject will be made from it and its toJSONString method will be + * called. Otherwise, the value's toString method will be called, and the + * result will be quoted. + * + *

+ * Warning: This method assumes that the data structure is acyclical. + * + * @param value + * The value to be serialized. + * @return a printable, displayable, transmittable representation of the + * object, beginning with { (left + * brace) and ending with } (right + * brace). + * @throws JSONException + * If the value is or contains an invalid number. + */ + public static String valueToString(Object value) throws JSONException + { + if(value == null || value.equals(null)) + { + return "null"; + } + if(value instanceof JSONString) + { + Object object; + try + { + object = ((JSONString) value).toJSONString(); + } catch(Exception e) + { + throw new JSONException(e); + } + if(object instanceof String) + { + return (String) object; + } + throw new JSONException("Bad value from toJSONString: " + object); + } + if(value instanceof Number) + { + return numberToString((Number) value); + } + if(value instanceof Boolean || value instanceof JSONObject || value instanceof JSONArray) + { + return value.toString(); + } + if(value instanceof Map) + { + @SuppressWarnings("unchecked") + Map map = (Map) value; + return new JSONObject(map).toString(); + } + if(value instanceof Collection) + { + @SuppressWarnings("unchecked") + Collection coll = (Collection) value; + return new JSONArray(coll).toString(); + } + if(value.getClass().isArray()) + { + return new JSONArray(value).toString(); + } + return quote(value.toString()); + } + + /** + * Wrap an object, if necessary. If the object is null, return the NULL + * object. If it is an array or collection, wrap it in a JSONArray. If it is + * a map, wrap it in a JSONObject. If it is a standard property (Double, + * String, et al) then it is already wrapped. Otherwise, if it comes from + * one of the java packages, turn it into a string. And if it doesn't, try + * to wrap it in a JSONObject. If the wrapping fails, then null is returned. + * + * @param object + * The object to wrap + * @return The wrapped value + */ + public static Object wrap(Object object) + { + try + { + if(object == null) + { + return NULL; + } + if(object instanceof JSONObject || object instanceof JSONArray || NULL.equals(object) || object instanceof JSONString || object instanceof Byte || object instanceof Character || object instanceof Short || object instanceof Integer || object instanceof Long || object instanceof Boolean || object instanceof Float || object instanceof Double || object instanceof String || object instanceof BigInteger || object instanceof BigDecimal) + { + return object; + } + + if(object instanceof Collection) + { + @SuppressWarnings("unchecked") + Collection coll = (Collection) object; + return new JSONArray(coll); + } + if(object.getClass().isArray()) + { + return new JSONArray(object); + } + if(object instanceof Map) + { + @SuppressWarnings("unchecked") + Map map = (Map) object; + return new JSONObject(map); + } + Package objectPackage = object.getClass().getPackage(); + String objectPackageName = objectPackage != null ? objectPackage.getName() : ""; + if(objectPackageName.startsWith("java.") || objectPackageName.startsWith("javax.") || object.getClass().getClassLoader() == null) + { + return object.toString(); + } + return new JSONObject(object); + } catch(Exception exception) + { + return null; + } + } + + /** + * Write the contents of the JSONObject as JSON text to a writer. For + * compactness, no whitespace is added. + *

+ * Warning: This method assumes that the data structure is acyclical. + * + * @return The writer. + * @throws JSONException + */ + public Writer write(Writer writer) throws JSONException + { + return this.write(writer, 0, 0); + } + + static final Writer writeValue(Writer writer, Object value, int indentFactor, int indent) throws JSONException, IOException + { + if(value == null || value.equals(null)) + { + writer.write("null"); + } else if(value instanceof JSONObject) + { + ((JSONObject) value).write(writer, indentFactor, indent); + } else if(value instanceof JSONArray) + { + ((JSONArray) value).write(writer, indentFactor, indent); + } else if(value instanceof Map) + { + @SuppressWarnings("unchecked") + Map map = (Map) value; + new JSONObject(map).write(writer, indentFactor, indent); + } else if(value instanceof Collection) + { + @SuppressWarnings("unchecked") + Collection coll = (Collection) value; + new JSONArray(coll).write(writer, indentFactor, indent); + } else if(value.getClass().isArray()) + { + new JSONArray(value).write(writer, indentFactor, indent); + } else if(value instanceof Number) + { + writer.write(numberToString((Number) value)); + } else if(value instanceof Boolean) + { + writer.write(value.toString()); + } else if(value instanceof JSONString) + { + Object o; + try + { + o = ((JSONString) value).toJSONString(); + } catch(Exception e) + { + throw new JSONException(e); + } + writer.write(o != null ? o.toString() : quote(value.toString())); + } else + { + quote(value.toString(), writer); + } + return writer; + } + + static final void indent(Writer writer, int indent) throws IOException + { + for(int i = 0; i < indent; i += 1) + { + writer.write(' '); + } + } + + /** + * Write the contents of the JSONObject as JSON text to a writer. For + * compactness, no whitespace is added. + *

+ * Warning: This method assumes that the data structure is acyclical. + * + * @return The writer. + * @throws JSONException + */ + Writer write(Writer writer, int indentFactor, int indent) throws JSONException + { + try + { + boolean commanate = false; + final int length = this.length(); + Iterator keys = this.keys(); + writer.write('{'); + + if(length == 1) + { + Object key = keys.next(); + writer.write(quote(key.toString())); + writer.write(':'); + if(indentFactor > 0) + { + writer.write(' '); + } + writeValue(writer, this.map.get(key), indentFactor, indent); + } else if(length != 0) + { + final int newindent = indent + indentFactor; + while(keys.hasNext()) + { + Object key = keys.next(); + if(commanate) + { + writer.write(','); + } + if(indentFactor > 0) + { + writer.write('\n'); + } + indent(writer, newindent); + writer.write(quote(key.toString())); + writer.write(':'); + if(indentFactor > 0) + { + writer.write(' '); + } + writeValue(writer, this.map.get(key), indentFactor, newindent); + commanate = true; + } + if(indentFactor > 0) + { + writer.write('\n'); + } + indent(writer, indent); + } + writer.write('}'); + return writer; + } catch(IOException exception) + { + throw new JSONException(exception); + } + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/JSONString.java b/src/main/java/ninja/bytecode/iris/util/JSONString.java new file mode 100644 index 000000000..168634476 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/JSONString.java @@ -0,0 +1,21 @@ +package ninja.bytecode.iris.util; + + +/** + * The JSONString interface allows a toJSONString() + * method so that a class can change the behavior of + * JSONObject.toString(), JSONArray.toString(), and + * JSONWriter.value(Object). The + * toJSONString method will be used instead of the default behavior + * of using the Object's toString() method and quoting the result. + */ +public interface JSONString +{ + /** + * The toJSONString method allows a class to produce its own + * JSON serialization. + * + * @return A strictly syntactically correct JSON text. + */ + public String toJSONString(); +} diff --git a/src/main/java/ninja/bytecode/iris/util/JSONStringer.java b/src/main/java/ninja/bytecode/iris/util/JSONStringer.java new file mode 100644 index 000000000..bf2d783a8 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/JSONStringer.java @@ -0,0 +1,86 @@ +package ninja.bytecode.iris.util; + + +/* +Copyright (c) 2006 JSON.org + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +The Software shall be used for Good, not Evil. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +import java.io.StringWriter; + +/** + * JSONStringer provides a quick and convenient way of producing JSON text. The + * texts produced strictly conform to JSON syntax rules. No whitespace is added, + * so the results are ready for transmission or storage. Each instance of + * JSONStringer can produce one JSON text. + *

+ * A JSONStringer instance provides a value method for appending + * values to the text, and a key method for adding keys before + * values in objects. There are array and endArray + * methods that make and bound array values, and object and + * endObject methods which make and bound object values. All of + * these methods return the JSONWriter instance, permitting cascade style. For + * example, + * + *

+ * myString = new JSONStringer().object().key("JSON").value("Hello, World!").endObject().toString();
+ * 
+ * + * which produces the string + * + *
+ * {"JSON":"Hello, World!"}
+ * 
+ *

+ * The first method called must be array or object. + * There are no methods for adding commas or colons. JSONStringer adds them for + * you. Objects and arrays can be nested up to 20 levels deep. + *

+ * This can sometimes be easier than using a JSONObject to build a string. + * + * @author JSON.org + * @version 2008-09-18 + */ +public class JSONStringer extends JSONWriter +{ + /** + * Make a fresh JSONStringer. It can be used to build one JSON text. + */ + public JSONStringer() + { + super(new StringWriter()); + } + + /** + * Return the JSON text. This method is used to obtain the product of the + * JSONStringer instance. It will return null if there was a + * problem in the construction of the JSON text (such as the calls to + * array were not properly balanced with calls to + * endArray). + * + * @return The JSON text. + */ + public String toString() + { + return this.mode == 'd' ? this.writer.toString() : null; + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/JSONTokener.java b/src/main/java/ninja/bytecode/iris/util/JSONTokener.java new file mode 100644 index 000000000..b1bd2dc3d --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/JSONTokener.java @@ -0,0 +1,504 @@ +package ninja.bytecode.iris.util; + + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.Reader; +import java.io.StringReader; + +/* +Copyright (c) 2002 JSON.org + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +The Software shall be used for Good, not Evil. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +/** + * A JSONTokener takes a source string and extracts characters and tokens from + * it. It is used by the JSONObject and JSONArray constructors to parse JSON + * source strings. + * + * @author JSON.org + * @version 2014-05-03 + */ +public class JSONTokener +{ + + private long character; + private boolean eof; + private long index; + private long line; + private char previous; + private Reader reader; + private boolean usePrevious; + + /** + * Construct a JSONTokener from a Reader. + * + * @param reader + * A reader. + */ + public JSONTokener(Reader reader) + { + this.reader = reader.markSupported() ? reader : new BufferedReader(reader); + this.eof = false; + this.usePrevious = false; + this.previous = 0; + this.index = 0; + this.character = 1; + this.line = 1; + } + + /** + * Construct a JSONTokener from an InputStream. + * + * @param inputStream + * The source. + */ + public JSONTokener(InputStream inputStream) throws JSONException + { + this(new InputStreamReader(inputStream)); + } + + /** + * Construct a JSONTokener from a string. + * + * @param s + * A source string. + */ + public JSONTokener(String s) + { + this(new StringReader(s)); + } + + /** + * Back up one character. This provides a sort of lookahead capability, so + * that you can test for a digit or letter before attempting to parse the + * next number or identifier. + */ + public void back() throws JSONException + { + if(this.usePrevious || this.index <= 0) + { + throw new JSONException("Stepping back two steps is not supported"); + } + this.index -= 1; + this.character -= 1; + this.usePrevious = true; + this.eof = false; + } + + /** + * Get the hex value of a character (base16). + * + * @param c + * A character between '0' and '9' or between 'A' and 'F' or + * between 'a' and 'f'. + * @return An int between 0 and 15, or -1 if c was not a hex digit. + */ + public static int dehexchar(char c) + { + if(c >= '0' && c <= '9') + { + return c - '0'; + } + if(c >= 'A' && c <= 'F') + { + return c - ('A' - 10); + } + if(c >= 'a' && c <= 'f') + { + return c - ('a' - 10); + } + return -1; + } + + public boolean end() + { + return this.eof && !this.usePrevious; + } + + /** + * Determine if the source string still contains characters that next() can + * consume. + * + * @return true if not yet at the end of the source. + */ + public boolean more() throws JSONException + { + this.next(); + if(this.end()) + { + return false; + } + this.back(); + return true; + } + + /** + * Get the next character in the source string. + * + * @return The next character, or 0 if past the end of the source string. + */ + public char next() throws JSONException + { + int c; + if(this.usePrevious) + { + this.usePrevious = false; + c = this.previous; + } else + { + try + { + c = this.reader.read(); + } catch(IOException exception) + { + throw new JSONException(exception); + } + + if(c <= 0) + { // End of stream + this.eof = true; + c = 0; + } + } + this.index += 1; + if(this.previous == '\r') + { + this.line += 1; + this.character = c == '\n' ? 0 : 1; + } else if(c == '\n') + { + this.line += 1; + this.character = 0; + } else + { + this.character += 1; + } + this.previous = (char) c; + return this.previous; + } + + /** + * Consume the next character, and check that it matches a specified + * character. + * + * @param c + * The character to match. + * @return The character. + * @throws JSONException + * if the character does not match. + */ + public char next(char c) throws JSONException + { + char n = this.next(); + if(n != c) + { + throw this.syntaxError("Expected '" + c + "' and instead saw '" + n + "'"); + } + return n; + } + + /** + * Get the next n characters. + * + * @param n + * The number of characters to take. + * @return A string of n characters. + * @throws JSONException + * Substring bounds error if there are not n characters + * remaining in the source string. + */ + public String next(int n) throws JSONException + { + if(n == 0) + { + return ""; + } + + char[] chars = new char[n]; + int pos = 0; + + while(pos < n) + { + chars[pos] = this.next(); + if(this.end()) + { + throw this.syntaxError("Substring bounds error"); + } + pos += 1; + } + return new String(chars); + } + + /** + * Get the next char in the string, skipping whitespace. + * + * @throws JSONException + * @return A character, or 0 if there are no more characters. + */ + public char nextClean() throws JSONException + { + for(;;) + { + char c = this.next(); + if(c == 0 || c > ' ') + { + return c; + } + } + } + + /** + * Return the characters up to the next close quote character. Backslash + * processing is done. The formal JSON format does not allow strings in + * single quotes, but an implementation is allowed to accept them. + * + * @param quote + * The quoting character, either "  + * (double quote) or '  + * (single quote). + * @return A String. + * @throws JSONException + * Unterminated string. + */ + public String nextString(char quote) throws JSONException + { + char c; + StringBuilder sb = new StringBuilder(); + for(;;) + { + c = this.next(); + switch(c) + { + case 0: + case '\n': + case '\r': + throw this.syntaxError("Unterminated string"); + case '\\': + c = this.next(); + switch(c) + { + case 'b': + sb.append('\b'); + break; + case 't': + sb.append('\t'); + break; + case 'n': + sb.append('\n'); + break; + case 'f': + sb.append('\f'); + break; + case 'r': + sb.append('\r'); + break; + case 'u': + sb.append((char) Integer.parseInt(this.next(4), 16)); + break; + case '"': + case '\'': + case '\\': + case '/': + sb.append(c); + break; + default: + throw this.syntaxError("Illegal escape."); + } + break; + default: + if(c == quote) + { + return sb.toString(); + } + sb.append(c); + } + } + } + + /** + * Get the text up but not including the specified character or the end of + * line, whichever comes first. + * + * @param delimiter + * A delimiter character. + * @return A string. + */ + public String nextTo(char delimiter) throws JSONException + { + StringBuilder sb = new StringBuilder(); + for(;;) + { + char c = this.next(); + if(c == delimiter || c == 0 || c == '\n' || c == '\r') + { + if(c != 0) + { + this.back(); + } + return sb.toString().trim(); + } + sb.append(c); + } + } + + /** + * Get the text up but not including one of the specified delimiter + * characters or the end of line, whichever comes first. + * + * @param delimiters + * A set of delimiter characters. + * @return A string, trimmed. + */ + public String nextTo(String delimiters) throws JSONException + { + char c; + StringBuilder sb = new StringBuilder(); + for(;;) + { + c = this.next(); + if(delimiters.indexOf(c) >= 0 || c == 0 || c == '\n' || c == '\r') + { + if(c != 0) + { + this.back(); + } + return sb.toString().trim(); + } + sb.append(c); + } + } + + /** + * Get the next value. The value can be a Boolean, Double, Integer, + * JSONArray, JSONObject, Long, or String, or the JSONObject.NULL object. + * + * @throws JSONException + * If syntax error. + * + * @return An object. + */ + public Object nextValue() throws JSONException + { + char c = this.nextClean(); + String string; + + switch(c) + { + case '"': + case '\'': + return this.nextString(c); + case '{': + this.back(); + return new JSONObject(this); + case '[': + this.back(); + return new JSONArray(this); + } + + /* + * Handle unquoted text. This could be the values true, false, or null, + * or it can be a number. An implementation (such as this one) is + * allowed to also accept non-standard forms. + * + * Accumulate characters until we reach the end of the text or a + * formatting character. + */ + + StringBuilder sb = new StringBuilder(); + while(c >= ' ' && ",:]}/\\\"[{;=#".indexOf(c) < 0) + { + sb.append(c); + c = this.next(); + } + this.back(); + + string = sb.toString().trim(); + if("".equals(string)) + { + throw this.syntaxError("Missing value"); + } + return JSONObject.stringToValue(string); + } + + /** + * Skip characters until the next character is the requested character. If + * the requested character is not found, no characters are skipped. + * + * @param to + * A character to skip to. + * @return The requested character, or zero if the requested character is + * not found. + */ + public char skipTo(char to) throws JSONException + { + char c; + try + { + long startIndex = this.index; + long startCharacter = this.character; + long startLine = this.line; + this.reader.mark(1000000); + do + { + c = this.next(); + if(c == 0) + { + this.reader.reset(); + this.index = startIndex; + this.character = startCharacter; + this.line = startLine; + return c; + } + } while(c != to); + } catch(IOException exception) + { + throw new JSONException(exception); + } + this.back(); + return c; + } + + /** + * Make a JSONException to signal a syntax error. + * + * @param message + * The error message. + * @return A JSONException object, suitable for throwing + */ + public JSONException syntaxError(String message) + { + return new JSONException(message + this.toString()); + } + + /** + * Make a printable string of this JSONTokener. + * + * @return " at {index} [character {character} line {line}]" + */ + public String toString() + { + return " at " + this.index + " [character " + this.character + " line " + this.line + "]"; + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/JSONWriter.java b/src/main/java/ninja/bytecode/iris/util/JSONWriter.java new file mode 100644 index 000000000..f38284517 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/JSONWriter.java @@ -0,0 +1,388 @@ +package ninja.bytecode.iris.util; + + +import java.io.IOException; +import java.io.Writer; + +/* +Copyright (c) 2006 JSON.org + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +The Software shall be used for Good, not Evil. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +/** + * JSONWriter provides a quick and convenient way of producing JSON text. The + * texts produced strictly conform to JSON syntax rules. No whitespace is added, + * so the results are ready for transmission or storage. Each instance of + * JSONWriter can produce one JSON text. + *

+ * A JSONWriter instance provides a value method for appending + * values to the text, and a key method for adding keys before + * values in objects. There are array and endArray + * methods that make and bound array values, and object and + * endObject methods which make and bound object values. All of + * these methods return the JSONWriter instance, permitting a cascade style. For + * example, + * + *

+ * new JSONWriter(myWriter).object().key("JSON").value("Hello, World!").endObject();
+ * 
+ * + * which writes + * + *
+ * {"JSON":"Hello, World!"}
+ * 
+ *

+ * The first method called must be array or object. + * There are no methods for adding commas or colons. JSONWriter adds them for + * you. Objects and arrays can be nested up to 20 levels deep. + *

+ * This can sometimes be easier than using a JSONObject to build a string. + * + * @author JSON.org + * @version 2011-11-24 + */ +public class JSONWriter +{ + private static final int maxdepth = 200; + + /** + * The comma flag determines if a comma should be output before the next + * value. + */ + private boolean comma; + + /** + * The current mode. Values: 'a' (array), 'd' (done), 'i' (initial), 'k' + * (key), 'o' (object). + */ + protected char mode; + + /** + * The object/array stack. + */ + private final JSONObject stack[]; + + /** + * The stack top index. A value of 0 indicates that the stack is empty. + */ + private int top; + + /** + * The writer that will receive the output. + */ + protected Writer writer; + + /** + * Make a fresh JSONWriter. It can be used to build one JSON text. + */ + public JSONWriter(Writer w) + { + this.comma = false; + this.mode = 'i'; + this.stack = new JSONObject[maxdepth]; + this.top = 0; + this.writer = w; + } + + /** + * Append a value. + * + * @param string + * A string value. + * @return this + * @throws JSONException + * If the value is out of sequence. + */ + private JSONWriter append(String string) throws JSONException + { + if(string == null) + { + throw new JSONException("Null pointer"); + } + if(this.mode == 'o' || this.mode == 'a') + { + try + { + if(this.comma && this.mode == 'a') + { + this.writer.write(','); + } + this.writer.write(string); + } catch(IOException e) + { + throw new JSONException(e); + } + if(this.mode == 'o') + { + this.mode = 'k'; + } + this.comma = true; + return this; + } + throw new JSONException("Value out of sequence."); + } + + /** + * Begin appending a new array. All values until the balancing + * endArray will be appended to this array. The + * endArray method must be called to mark the array's end. + * + * @return this + * @throws JSONException + * If the nesting is too deep, or if the object is started in + * the wrong place (for example as a key or after the end of the + * outermost array or object). + */ + public JSONWriter array() throws JSONException + { + if(this.mode == 'i' || this.mode == 'o' || this.mode == 'a') + { + this.push(null); + this.append("["); + this.comma = false; + return this; + } + throw new JSONException("Misplaced array."); + } + + /** + * End something. + * + * @param mode + * Mode + * @param c + * Closing character + * @return this + * @throws JSONException + * If unbalanced. + */ + private JSONWriter end(char mode, char c) throws JSONException + { + if(this.mode != mode) + { + throw new JSONException(mode == 'a' ? "Misplaced endArray." : "Misplaced endObject."); + } + this.pop(mode); + try + { + this.writer.write(c); + } catch(IOException e) + { + throw new JSONException(e); + } + this.comma = true; + return this; + } + + /** + * End an array. This method most be called to balance calls to + * array. + * + * @return this + * @throws JSONException + * If incorrectly nested. + */ + public JSONWriter endArray() throws JSONException + { + return this.end('a', ']'); + } + + /** + * End an object. This method most be called to balance calls to + * object. + * + * @return this + * @throws JSONException + * If incorrectly nested. + */ + public JSONWriter endObject() throws JSONException + { + return this.end('k', '}'); + } + + /** + * Append a key. The key will be associated with the next value. In an + * object, every value must be preceded by a key. + * + * @param string + * A key string. + * @return this + * @throws JSONException + * If the key is out of place. For example, keys do not belong + * in arrays or if the key is null. + */ + public JSONWriter key(String string) throws JSONException + { + if(string == null) + { + throw new JSONException("Null key."); + } + if(this.mode == 'k') + { + try + { + this.stack[this.top - 1].putOnce(string, Boolean.TRUE); + if(this.comma) + { + this.writer.write(','); + } + this.writer.write(JSONObject.quote(string)); + this.writer.write(':'); + this.comma = false; + this.mode = 'o'; + return this; + } catch(IOException e) + { + throw new JSONException(e); + } + } + throw new JSONException("Misplaced key."); + } + + /** + * Begin appending a new object. All keys and values until the balancing + * endObject will be appended to this object. The + * endObject method must be called to mark the object's end. + * + * @return this + * @throws JSONException + * If the nesting is too deep, or if the object is started in + * the wrong place (for example as a key or after the end of the + * outermost array or object). + */ + public JSONWriter object() throws JSONException + { + if(this.mode == 'i') + { + this.mode = 'o'; + } + if(this.mode == 'o' || this.mode == 'a') + { + this.append("{"); + this.push(new JSONObject()); + this.comma = false; + return this; + } + throw new JSONException("Misplaced object."); + + } + + /** + * Pop an array or object scope. + * + * @param c + * The scope to close. + * @throws JSONException + * If nesting is wrong. + */ + private void pop(char c) throws JSONException + { + if(this.top <= 0) + { + throw new JSONException("Nesting error."); + } + char m = this.stack[this.top - 1] == null ? 'a' : 'k'; + if(m != c) + { + throw new JSONException("Nesting error."); + } + this.top -= 1; + this.mode = this.top == 0 ? 'd' : this.stack[this.top - 1] == null ? 'a' : 'k'; + } + + /** + * Push an array or object scope. + * + * @param jo + * The scope to open. + * @throws JSONException + * If nesting is too deep. + */ + private void push(JSONObject jo) throws JSONException + { + if(this.top >= maxdepth) + { + throw new JSONException("Nesting too deep."); + } + this.stack[this.top] = jo; + this.mode = jo == null ? 'a' : 'k'; + this.top += 1; + } + + /** + * Append either the value true or the value false + * . + * + * @param b + * A boolean. + * @return this + * @throws JSONException + */ + public JSONWriter value(boolean b) throws JSONException + { + return this.append(b ? "true" : "false"); + } + + /** + * Append a double value. + * + * @param d + * A double. + * @return this + * @throws JSONException + * If the number is not finite. + */ + public JSONWriter value(double d) throws JSONException + { + return this.value(new Double(d)); + } + + /** + * Append a long value. + * + * @param l + * A long. + * @return this + * @throws JSONException + */ + public JSONWriter value(long l) throws JSONException + { + return this.append(Long.toString(l)); + } + + /** + * Append an object value. + * + * @param object + * The object to append. It can be null, or a Boolean, Number, + * String, JSONObject, or JSONArray, or an object that implements + * JSONString. + * @return this + * @throws JSONException + * If the value is out of sequence. + */ + public JSONWriter value(Object object) throws JSONException + { + return this.append(JSONObject.valueToString(object)); + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/KList.java b/src/main/java/ninja/bytecode/iris/util/KList.java new file mode 100644 index 000000000..2d06046aa --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/KList.java @@ -0,0 +1,642 @@ +package ninja.bytecode.iris.util; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.Enumeration; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.function.Function; + +public class KList extends ArrayList implements List +{ + private static final long serialVersionUID = -2892550695744823337L; + + @SafeVarargs + public KList(T... ts) + { + super(); + add(ts); + } + + public KList() + { + super(); + } + + public KList(Collection values) + { + super(); + add(values); + } + + public KList(Enumeration e) + { + super(); + add(e); + } + + public Chunker chunk() + { + return new Chunker(this); + } + + /** + * Remove the last element + */ + public KList removeLast() + { + remove(last()); + + return this; + } + + public Queue enqueue() + { + return Queue.create(this); + } + + private KList add(Enumeration e) + { + while(e.hasMoreElements()) + { + add(e.nextElement()); + } + + return this; + } + + public KList add(Collection values) + { + addAll(values); + return this; + } + + /** + * Create a Map out of this list where this list becomes the values of the + * returned map. You must specify each key for each value in this list. In the + * function, returning null will not add the keyval pair. + * + * @param + * the inferred key type + * @param f + * the function + * @return the new map + */ + public KMap asValues(Function f) + { + KMap m = new KMap(); + forEach((i) -> m.putNonNull(f.apply(i), i)); + return m; + } + + /** + * Create a Map out of this list where this list becomes the keys of the + * returned map. You must specify each value for each key in this list. In the + * function, returning null will not add the keyval pair. + * + * @param + * the inferred value type + * @param f + * the function + * @return the new map + */ + public KMap asKeys(Function f) + { + KMap m = new KMap(); + forEach((i) -> m.putNonNull(i, f.apply(i))); + return m; + } + + /** + * Cut this list into targetCount sublists + * + * @param targetCount + * the target count of sublists + * @return the list of sublists + */ + public KList> divide(int targetCount) + { + return split(size() / targetCount); + } + + /** + * Split this list into a list of sublists with roughly targetSize elements of T + * per sublist + * + * @param targetSize + * the target size + * @return the list of sublists + */ + public KList> split(int targetSize) + { + targetSize = targetSize < 1 ? 1 : targetSize; + KList> gg = new KList<>(); + KList b = new KList<>(); + + for(T i : this) + { + if(b.size() >= targetSize) + { + gg.add(b.copy()); + b.clear(); + } + + b.add(i); + } + + if(!b.isEmpty()) + { + gg.add(b); + } + + return gg; + } + + /** + * Rewrite this list by checking each value and changing the value (or not). + * Return null to remove the element in the function + * + * @param t + * the function + * @return the same list (not a copy) + */ + public KList rewrite(Function t) + { + KList m = copy(); + clear(); + + for(T i : m) + { + addNonNull(t.apply(i)); + } + + return this; + } + + /** + * To array + * + * @return the array + */ + @SuppressWarnings("unchecked") + public T[] array() + { + return (T[]) toArray(); + } + + /** + * Return a copy of this list + * + * @return the copy + */ + public KList copy() + { + return new KList().add(this); + } + + /** + * Shuffle the list + * + * @return the same list + */ + public KList shuffle() + { + Collections.shuffle(this); + return this; + } + + /** + * Sort the list (based on toString comparison) + * + * @return the same list + */ + public KList sort() + { + Collections.sort(this, (a, b) -> a.toString().compareTo(b.toString())); + return this; + } + + /** + * Reverse this list + * + * @return the same list + */ + public KList reverse() + { + Collections.reverse(this); + return this; + } + + @Override + public String toString() + { + return "[" + toString(", ") + "]"; + } + + /** + * Tostring with a seperator for each item in the list + * + * @param split + * the seperator + * @return the string representing this object + */ + public String toString(String split) + { + if(isEmpty()) + { + return ""; + } + + if(size() == 1) + { + return get(0).toString(); + } + + StringBuilder b = new StringBuilder(); + + for(String i : toStringList()) + { + b.append(split + i); + } + + return b.toString().substring(split.length()); + } + + /** + * Invoke tostring on each value in the list into a string list + * + * @return the string list + */ + public KList toStringList() + { + return convert((t) -> t.toString()); + } + + /** + * Convert a list into another list type. Such as GList to + * GList. list.convert((i) -> "" + i); + * + * @param + * @param converter + * @return + */ + public KList convert(Function converter) + { + KList v = new KList(); + forEach((t) -> v.addNonNull(converter.apply(t))); + return v; + } + + /** + * Adds T to the list, ignores if null + * + * @param t + * the value to add + * @return the same list + */ + public KList addNonNull(T t) + { + if(t != null) + { + super.add(t); + } + + return this; + } + + /** + * Swaps the values of index a and b. For example "hello", "world", "!" swap(1, + * 2) would change the list to "hello", "!", "world" + * + * @param a + * the first index + * @param b + * the second index + * @return the same list (builder), not a copy + */ + public KList swapIndexes(int a, int b) + { + T aa = remove(a); + T bb = get(b); + add(a, bb); + remove(b); + add(b, aa); + + return this; + } + + /** + * Remove a number of elements from the list + * + * @param t + * the elements + * @return this list + */ + @SuppressWarnings("unchecked") + public KList remove(T... t) + { + for(T i : t) + { + super.remove(i); + } + + return this; + } + + /** + * Add another glist's contents to this one (addall builder) + * + * @param t + * the list + * @return the same list + */ + public KList add(KList t) + { + super.addAll(t); + return this; + } + + /** + * Add a number of values to this list + * + * @param t + * the list + * @return this list + */ + @SuppressWarnings("unchecked") + public KList add(T... t) + { + for(T i : t) + { + super.add(i); + } + + return this; + } + + /** + * Check if this list has an index at the given index + * + * @param index + * the given index + * @return true if size > index + */ + public boolean hasIndex(int index) + { + return size() > index; + } + + /** + * Get the last index of this list (size - 1) + * + * @return the last index of this list + */ + public int last() + { + return size() - 1; + } + + /** + * Deduplicate this list by converting to linked hash set and back + * + * @return the deduplicated list + */ + public KList dedupe() + { + return qclear().add(new LinkedHashSet(this)); + } + + /** + * Clear this list (and return it) + * + * @return the same list + */ + public KList qclear() + { + super.clear(); + return this; + } + + /** + * Simply !isEmpty() + * + * @return true if this list has 1 or more element(s) + */ + public boolean hasElements() + { + return !isEmpty(); + } + + /** + * Pop the first item off this list and return it + * + * @return the popped off item or null if the list is empty + */ + public T pop() + { + if(isEmpty()) + { + return null; + } + + return remove(0); + } + + /** + * Pop the last item off this list and return it + * + * @return the popped off item or null if the list is empty + */ + public T popLast() + { + if(isEmpty()) + { + return null; + } + + return remove(last()); + } + + public T popRandom() + { + if(isEmpty()) + { + return null; + } + + if(size() == 1) + { + return pop(); + } + + return remove(M.irand(0, last())); + } + + public static KList fromJSONAny(JSONArray oo) + { + KList s = new KList(); + + for(int i = 0; i < oo.length(); i++) + { + s.add(oo.get(i).toString()); + } + + return s; + } + + public KList sub(int f, int t) + { + KList g = new KList<>(); + + for(int i = f; i < M.min(size(), t); i++) + { + g.add(get(i)); + } + + return g; + } + + public JSONArray toJSONStringArray() + { + JSONArray j = new JSONArray(); + + for(Object i : this) + { + j.put(i.toString()); + } + + return j; + } + + public static KList asStringList(List oo) + { + KList s = new KList(); + + for(Object i : oo) + { + s.add(i.toString()); + } + + return s; + } + + @SuppressWarnings("unchecked") + public KList forceAdd(Object[] values) + { + for(Object i : values) + { + add((T) i); + } + + return this; + } + + @SuppressWarnings("unchecked") + public KList forceAdd(int[] values) + { + for(Object i : values) + { + add((T) i); + } + + return this; + } + + @SuppressWarnings("unchecked") + public KList forceAdd(double[] values) + { + for(Object i : values) + { + add((T) i); + } + + return this; + } + + @SuppressWarnings("unchecked") + public KList forceAdd(float[] values) + { + for(Object i : values) + { + add((T) i); + } + + return this; + } + + @SuppressWarnings("unchecked") + public KList forceAdd(byte[] values) + { + for(Object i : values) + { + add((T) i); + } + + return this; + } + + @SuppressWarnings("unchecked") + public KList forceAdd(short[] values) + { + for(Object i : values) + { + add((T) i); + } + + return this; + } + + @SuppressWarnings("unchecked") + public KList forceAdd(long[] values) + { + for(Object i : values) + { + add((T) i); + } + + return this; + } + + @SuppressWarnings("unchecked") + public KList forceAdd(boolean[] values) + { + for(Object i : values) + { + add((T) i); + } + + return this; + } + + public T middleValue() + { + return get(middleIndex()); + } + + private int middleIndex() + { + return size() % 2 == 0 ? (size() / 2) : ((size() / 2) + 1); + } + + public T getRandom() + { + if(isEmpty()) + { + return null; + } + + if(size() == 1) + { + return get(0); + } + + return get(M.irand(0, last())); + } + + public KList qdel(T t) + { + remove(t); + return this; + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/KMap.java b/src/main/java/ninja/bytecode/iris/util/KMap.java new file mode 100644 index 000000000..46711be5a --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/KMap.java @@ -0,0 +1,424 @@ +package ninja.bytecode.iris.util; + +import java.util.Collections; +import java.util.Comparator; +import java.util.Enumeration; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +public class KMap extends ConcurrentHashMap +{ + private static final long serialVersionUID = 7288942695300448163L; + + public KMap() + { + super(); + } + + public KMap(KMap gMap) + { + this(); + put(gMap); + } + + /** + * Puts a value into a map-value-list based on the key such that if GMap> where V is GList + * + * @param + * the list type in the value type + * @param k + * the key to look for + * @param vs + * the values to put into the list of the given key + * @return the same list (builder) + */ + @SuppressWarnings("unchecked") + public KMap putValueList(K k, S... vs) + { + try + { + KMap> s = (KMap>) this; + + if(!s.containsKey(k)) + { + s.put(k, new KList()); + } + + s.get(k).add(vs); + } + + catch(Throwable e) + { + + } + + return this; + } + + /** + * Returns a sorted list of keys from this map, based on the sorting order of + * the values. + * + * @return the value-sorted key list + */ + public KList sortK() + { + KList k = new KList(); + KList v = v(); + + Collections.sort(v, new Comparator() + { + @Override + public int compare(V v, V t1) + { + return v.toString().compareTo(t1.toString()); + } + }); + + for(V i : v) + { + for(K j : k()) + { + if(get(j).equals(i)) + { + k.add(j); + } + } + } + + k.dedupe(); + return k; + } + + /** + * Returns a sorted list of keys from this map, based on the sorting order of + * the values. Sorting is based on numerical values + * + * @return the value-sorted key list + */ + public KList sortKNumber() + { + KList k = new KList(); + KList v = v(); + + Collections.sort(v, new Comparator() + { + @Override + public int compare(V v, V t1) + { + Number n1 = (Number) v; + Number n2 = (Number) t1; + + return (int) ((n1.doubleValue() - n2.doubleValue()) * 1000); + } + }); + + for(V i : v) + { + for(K j : k()) + { + if(get(j).equals(i)) + { + k.add(j); + } + } + } + + k.dedupe(); + return k; + } + + /** + * Put another map's values into this map + * + * @param m + * the map to insert + * @return this map (builder) + */ + public KMap put(Map m) + { + putAll(m); + return this; + } + + /** + * Return a copy of this map + * + * @return the copied map + */ + public KMap copy() + { + return new KMap(this); + } + + /** + * Loop through each keyvalue set (copy of it) with the map parameter + * + * @param f + * the function + * @return the same gmap + */ + public KMap rewrite(Consumer3> f) + { + KMap m = copy(); + + for(K i : m.k()) + { + f.accept(i, get(i), this); + } + + return this; + } + + /** + * Loop through each keyvalue set (copy of it) + * + * @param f + * the function + * @return the same gmap + */ + public KMap each(Consumer2 f) + { + for(K i : k()) + { + f.accept(i, get(i)); + } + + return this; + } + + /** + * Flip the hashmap and flatten the value list even if there are multiple keys + * + * @return the flipped and flattened hashmap + */ + public KMap flipFlatten() + { + KMap> f = flip(); + KMap m = new KMap<>(); + + for(V i : f.k()) + { + m.putNonNull(i, m.isEmpty() ? null : m.get(0)); + } + + return m; + } + + /** + * Flip the hashmap so keys are now list-keys in the value position + * + * @return the flipped hashmap + */ + public KMap> flip() + { + KMap> flipped = new KMap>(); + + for(K i : keySet()) + { + if(i == null) + { + continue; + } + + if(!flipped.containsKey(get(i))) + { + flipped.put(get(i), new KList()); + } + + flipped.get(get(i)).add(i); + } + + return flipped; + } + + /** + * Sort values based on the keys sorting order + * + * @return the values (sorted) + */ + public KList sortV() + { + KList v = new KList(); + KList k = k(); + + Collections.sort(k, new Comparator() + { + @Override + public int compare(K v, K t1) + { + return v.toString().compareTo(t1.toString()); + } + }); + + for(K i : k) + { + for(V j : v()) + { + if(get(i).equals(j)) + { + v.add(j); + } + } + } + + v.dedupe(); + return v; + } + + public KList sortVNoDedupe() + { + KList v = new KList(); + KList k = k(); + + Collections.sort(k, new Comparator() + { + @Override + public int compare(K v, K t1) + { + return v.toString().compareTo(t1.toString()); + } + }); + + for(K i : k) + { + for(V j : v()) + { + if(get(i).equals(j)) + { + v.add(j); + } + } + } + + return v; + } + + /** + * Get a copy of this maps keys + * + * @return the keys + */ + public KList k() + { + KList k = new KList(); + Enumeration kk = keys(); + + while(kk.hasMoreElements()) + { + K kkk = kk.nextElement(); + k.add(kkk); + } + + return k; + } + + /** + * Get a copy of this maps values + * + * @return the values + */ + public KList v() + { + return new KList(values()); + } + + /** + * Still works as it normally should except it returns itself (builder) + * + * @param key + * the key + * @param value + * the value (single only supported) + * @return + */ + public KMap qput(K key, V value) + { + super.put(key, value); + return this; + } + + /** + * Works just like put, except it wont put anything unless the key and value are + * nonnull + * + * @param key + * the nonnull key + * @param value + * the nonnull value + * @return the same map + */ + public KMap putNonNull(K key, V value) + { + if(key != null || value != null) + { + put(key, value); + } + + return this; + } + + public V putThen(K key, V valueIfKeyNotPresent) + { + if(!containsKey(key)) + { + put(key, valueIfKeyNotPresent); + } + + return get(key); + } + + /** + * Clear this map and return it + * + * @return the cleared map + */ + public KMap qclear() + { + super.clear(); + return this; + } + + /** + * Convert this map to keypairs + * + * @return the keypair list + */ + public KList> keypair() + { + KList> g = new KList<>(); + each((k, v) -> g.add(new KeyPair(k, v))); + return g; + } + + /** + * Create a keypair queue + * + * @return the queue + */ + public Queue> enqueue() + { + return Queue.create(keypair()); + } + + /** + * Create a key queue + * + * @return the queue + */ + public Queue enqueueKeys() + { + return Queue.create(k()); + } + + /** + * Create a value queue + * + * @return the queue + */ + public Queue enqueueValues() + { + return Queue.create(v()); + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/KSet.java b/src/main/java/ninja/bytecode/iris/util/KSet.java new file mode 100644 index 000000000..460383b20 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/KSet.java @@ -0,0 +1,29 @@ +package ninja.bytecode.iris.util; + +import java.util.Collection; +import java.util.HashSet; + +public class KSet extends HashSet +{ + private static final long serialVersionUID = 1L; + + public KSet() + { + super(); + } + + public KSet(Collection c) + { + super(c); + } + + public KSet(int initialCapacity, float loadFactor) + { + super(initialCapacity, loadFactor); + } + + public KSet(int initialCapacity) + { + super(initialCapacity); + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/KeyPair.java b/src/main/java/ninja/bytecode/iris/util/KeyPair.java new file mode 100644 index 000000000..458840d8c --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/KeyPair.java @@ -0,0 +1,45 @@ +package ninja.bytecode.iris.util; + +/** + * Represents a keypair + * @author cyberpwn + * + * @param the key type + * @param the value type + */ +public class KeyPair +{ + private K k; + private V v; + + /** + * Create a keypair + * @param k the key + * @param v the value + */ + public KeyPair(K k, V v) + { + this.k = k; + this.v = v; + } + + public K getK() + { + return k; + } + + public void setK(K k) + { + this.k = k; + } + + public V getV() + { + return v; + } + + public void setV(V v) + { + this.v = v; + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/Looper.java b/src/main/java/ninja/bytecode/iris/util/Looper.java new file mode 100644 index 000000000..85098d581 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/Looper.java @@ -0,0 +1,34 @@ +package ninja.bytecode.iris.util; + +public abstract class Looper extends Thread +{ + public void run() + { + while(!interrupted()) + { + try + { + long m = loop(); + + if(m < 0) + { + break; + } + + Thread.sleep(m); + } + + catch(InterruptedException e) + { + break; + } + + catch(Throwable e) + { + e.printStackTrace(); + } + } + } + + protected abstract long loop(); +} diff --git a/src/main/java/ninja/bytecode/iris/util/M.java b/src/main/java/ninja/bytecode/iris/util/M.java new file mode 100644 index 000000000..b832a299f --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/M.java @@ -0,0 +1,443 @@ +package ninja.bytecode.iris.util; + +import java.util.regex.Matcher; + +import javax.script.ScriptEngine; +import javax.script.ScriptEngineManager; +import javax.script.ScriptException; + +/** + * Math + * + * @author cyberpwn + */ +public class M +{ + private static final int precision = 128; + private static final int modulus = 360 * precision; + private static final float[] sin = new float[modulus]; + + /** + * Scales B by an external range change so that
+ *
+ * BMIN < B < BMAX
+ * AMIN < RESULT < AMAX
+ *
+ * So Given rangeScale(0, 20, 0, 10, 5) -> 10
+ * 0 < 5 < 10
+ * 0 < ? < 20
+ *
+ * would return 10 + * + * @param amin + * the resulting minimum + * @param amax + * the resulting maximum + * @param bmin + * the initial minimum + * @param bmax + * the initial maximum + * @param b + * the initial value + * @return the resulting value + */ + public static double rangeScale(double amin, double amax, double bmin, double bmax, double b) + { + return amin + ((amax - amin) * ((b - bmin) / (bmax - bmin))); + } + + /** + * Get the percent (inverse lerp) from "from" to "to" where "at". + * + * If from = 0 and to = 100 and at = 25 then it would return 0.25 + * + * @param from + * the from + * @param to + * the to + * @param at + * the at + * @return the percent + */ + public static double lerpInverse(double from, double to, double at) + { + return M.rangeScale(0, 1, from, to, at); + } + + /** + * Linear interpolation from a to b where f is the percent across + * + * @param a + * the first pos (0) + * @param b + * the second pos (1) + * @param f + * the percent + * @return the value + */ + public static double lerp(double a, double b, double f) + { + return a + (f * (b - a)); + } + + /** + * Bilinear interpolation + * + * @param a + * the first point (0, 0) + * @param b + * the second point (1, 0) + * @param c + * the third point (0, 1) + * @param d + * the fourth point (1, 1) + * @param tx + * the x + * @param ty + * the y + * @return the bilerped value + */ + public static double bilerp(double a, double b, double c, double d, double x, double y) + { + return lerp(lerp(a, b, x), lerp(c, d, x), y); + } + + /** + * Trilinear interpolation + * + * @param a + * the first point (0, 0, 0) + * @param b + * the second point (1, 0, 0) + * @param c + * the third point (0, 0, 1) + * @param d + * the fourth point (1, 0, 1) + * @param e + * the fifth point (0, 1, 0) + * @param f + * the sixth point (1, 1, 0) + * @param g + * the seventh point (0, 1, 1) + * @param h + * the eighth point (1, 1, 1) + * @param x + * the x + * @param y + * the y + * @param z + * the z + * @return the trilerped value + */ + public static double trilerp(double a, double b, double c, double d, double e, double f, double g, double h, double x, double y, double z) + { + return lerp(bilerp(a, b, c, d, x, y), bilerp(e, f, g, h, x, y), z); + } + + /** + * Clip a value + * + * @param value + * the value + * @param min + * the min + * @param max + * the max + * @return the clipped value + */ + @SuppressWarnings("unchecked") + public static T clip(T value, T min, T max) + { + return (T) Double.valueOf(Math.min(max.doubleValue(), Math.max(min.doubleValue(), value.doubleValue()))); + } + + /** + * Get true or false based on random percent + * + * @param d + * between 0 and 1 + * @return true if true + */ + public static boolean r(Double d) + { + if(d == null) + { + return Math.random() < 0.5; + } + + return Math.random() < d; + } + + /** + * Get the ticks per second from a time in nanoseconds, the rad can be used for + * multiple ticks + * + * @param ns + * the time in nanoseconds + * @param rad + * the radius of the time + * @return the ticks per second in double form + */ + public static double tps(long ns, int rad) + { + return (20.0 * (ns / 50000000.0)) / rad; + } + + /** + * Get the number of ticks from a time in nanoseconds + * + * @param ns + * the nanoseconds + * @return the amount of ticks + */ + public static double ticksFromNS(long ns) + { + return (ns / 50000000.0); + } + + /** + * Get a random int from to (inclusive) + * + * @param f + * the from + * @param t + * the to + * @return the value + */ + public static int irand(int f, int t) + { + return f + (int) (Math.random() * ((t - f) + 1)); + } + + /** + * Get a random float from to (inclusive) + * + * @param f + * the from + * @param t + * the to + * @return the value + */ + public static float frand(float f, float t) + { + return f + (float) (Math.random() * ((t - f) + 1)); + } + + /** + * Get a random double from to (inclusive) + * + * @param f + * the from + * @param t + * the to + * @return the value + */ + public static double drand(double f, double t) + { + return f + (Math.random() * ((t - f) + 1)); + } + + /** + * Get system Nanoseconds + * + * @return nanoseconds (current) + */ + public static long ns() + { + return System.nanoTime(); + } + + /** + * Get the current millisecond time + * + * @return milliseconds + */ + public static long ms() + { + return System.currentTimeMillis(); + } + + /** + * Fast sin function + * + * @param a + * the number + * @return the sin + */ + public static float sin(float a) + { + return sinLookup((int) (a * precision + 0.5f)); + } + + /** + * Fast cos function + * + * @param a + * the number + * @return the cos + */ + public static float cos(float a) + { + return sinLookup((int) ((a + 90f) * precision + 0.5f)); + } + + /** + * Fast tan function + * + * @param a + * the number + * @return the tan + */ + public static float tan(float a) + { + float c = cos(a); + return sin(a) / (c == 0 ? 0.0000001f : c); + } + + /** + * Biggest number + * + * @param numbers + * the numbers + * @return the biggest one + */ + @SuppressWarnings("unchecked") + public static T max(T... doubles) + { + double max = Double.MIN_VALUE; + + for(T i : doubles) + { + if(i.doubleValue() > max) + { + max = i.doubleValue(); + } + } + + return (T) Double.valueOf(max); + } + + /** + * Smallest number + * + * @param doubles + * the numbers + * @return the smallest one + */ + @SuppressWarnings("unchecked") + public static T min(T... doubles) + { + double min = Double.MAX_VALUE; + + for(T i : doubles) + { + if(i.doubleValue() < min) + { + min = i.doubleValue(); + } + } + + return (T) Double.valueOf(min); + } + + /** + * Evaluates an expression using javascript engine and returns the double + * result. This can take variable parameters, so you need to define them. + * Parameters are defined as $[0-9]. For example evaluate("4$0/$1", 1, 2); This + * makes the expression (4x1)/2 == 2. Keep note that you must use 0-9, you + * cannot skip, or start at a number other than 0. + * + * @param expression + * the expression with variables + * @param args + * the arguments/variables + * @return the resulting double value + * @throws ScriptException + * ... gg + * @throws IndexOutOfBoundsException + * learn to count + */ + public static double evaluate(String expression, Double... args) throws ScriptException, IndexOutOfBoundsException + { + for(int i = 0; i < args.length; i++) + { + String current = "$" + i; + + if(expression.contains(current)) + { + expression = expression.replaceAll(Matcher.quoteReplacement(current), args[i] + ""); + } + } + + return evaluate(expression); + } + + /** + * Evaluates an expression using javascript engine and returns the double + * + * @param expression + * the mathimatical expression + * @return the double result + * @throws ScriptException + * ... gg + */ + public static double evaluate(String expression) throws ScriptException + { + ScriptEngineManager mgr = new ScriptEngineManager(); + ScriptEngine scriptEngine = mgr.getEngineByName("JavaScript"); + + return Double.valueOf(scriptEngine.eval(expression).toString()); + } + + /** + * is the number "is" within from-to + * + * @param from + * the lower end + * @param to + * the upper end + * @param is + * the check + * @return true if its within + */ + public static boolean within(int from, int to, int is) + { + return is >= from && is <= to; + } + + /** + * Get the amount of days past since the epoch time (1970 jan 1 utc) + * + * @return the epoch days + */ + public static long epochDays() + { + return epochDays(M.ms()); + } + + /** + * Get the amount of days past since the epoch time (1970 jan 1 utc) + * + * @param ms + * the time in milliseconds + * @return the epoch days + */ + private static long epochDays(long ms) + { + return ms / 1000 / 60 / 60 / 24; + } + + static + { + for(int i = 0; i < sin.length; i++) + { + sin[i] = (float) Math.sin((i * Math.PI) / (precision * 180)); + } + } + + private static float sinLookup(int a) + { + return a >= 0 ? sin[a % (modulus)] : -sin[-a % (modulus)]; + } + +} diff --git a/src/main/java/ninja/bytecode/iris/util/NastyFunction.java b/src/main/java/ninja/bytecode/iris/util/NastyFunction.java new file mode 100644 index 000000000..c42e6f696 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/NastyFunction.java @@ -0,0 +1,6 @@ +package ninja.bytecode.iris.util; + +public interface NastyFunction +{ + public R run(T t) throws Throwable; +} diff --git a/src/main/java/ninja/bytecode/iris/util/NastyFuture.java b/src/main/java/ninja/bytecode/iris/util/NastyFuture.java new file mode 100644 index 000000000..121bb51d8 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/NastyFuture.java @@ -0,0 +1,6 @@ +package ninja.bytecode.iris.util; + +public interface NastyFuture +{ + public R run() throws Throwable; +} diff --git a/src/main/java/ninja/bytecode/iris/util/NastyRunnable.java b/src/main/java/ninja/bytecode/iris/util/NastyRunnable.java new file mode 100644 index 000000000..94870fe0f --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/NastyRunnable.java @@ -0,0 +1,6 @@ +package ninja.bytecode.iris.util; + +public interface NastyRunnable +{ + public void run() throws Throwable; +} diff --git a/src/main/java/ninja/bytecode/iris/util/NoiseInjector.java b/src/main/java/ninja/bytecode/iris/util/NoiseInjector.java new file mode 100644 index 000000000..28e0dfde5 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/NoiseInjector.java @@ -0,0 +1,7 @@ +package ninja.bytecode.iris.util; + +@FunctionalInterface +public interface NoiseInjector +{ + public double[] combine(double src, double value); +} diff --git a/src/main/java/ninja/bytecode/iris/util/NoiseProvider.java b/src/main/java/ninja/bytecode/iris/util/NoiseProvider.java new file mode 100644 index 000000000..41f5f6e14 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/NoiseProvider.java @@ -0,0 +1,6 @@ +package ninja.bytecode.iris.util; +@FunctionalInterface +public interface NoiseProvider +{ + public double noise(double x, double z); +} \ No newline at end of file diff --git a/src/main/java/ninja/bytecode/iris/util/PolygonGenerator.java b/src/main/java/ninja/bytecode/iris/util/PolygonGenerator.java new file mode 100644 index 000000000..7bf86c6b9 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/PolygonGenerator.java @@ -0,0 +1,214 @@ +package ninja.bytecode.iris.util; + +import java.util.function.Function; + +public class PolygonGenerator +{ + private double[] rarity; + private CNG[] gen; + private int bits; + private int possibilities; + private boolean useRarity; + + public PolygonGenerator(RNG rng, int possibilities, double scale, int octaves, Function factory) + { + useRarity = false; + bits = 1; + this.possibilities = possibilities; + + while(Math.pow(2, bits) <= possibilities) + { + bits++; + } + + bits++; + bits = bits > 32 ? 32 : bits; + rarity = new double[possibilities]; + gen = new CNG[bits]; + + for(int i = 0; i < bits; i++) + { + gen[i] = new CNG(rng.nextParallelRNG(2118 + (i * 3305)), 1D, 1).scale(scale / possibilities); + gen[i] = factory.apply(gen[i]); + } + } + + public PolygonGenerator useRarity() + { + useRarity = true; + return this; + } + + public void setRarity(int index, double r) + { + rarity[index] = 1D - Math.pow(0.5, r); + } + + public boolean hasBorder(int checks, double distance, double... dims) + { + int current = getIndex(dims); + double ajump = 360D / (double) checks; + + if(dims.length == 2) + { + for(int i = 0; i < checks; i++) + { + double dx = M.sin((float) Math.toRadians(ajump * i)); + double dz = M.cos((float) Math.toRadians(ajump * i)); + if(current != getIndex((dx * distance) + dims[0], (dz * distance) + dims[1])) + { + return true; + } + } + } + + if(dims.length == 3) + { + for(int i = 0; i < checks; i++) + { + double dx = M.sin((float) Math.toRadians(ajump * i)); + double dz = M.cos((float) Math.toRadians(ajump * i)); + double dy = Math.tan(Math.toRadians(ajump * i)); + if(current != getIndex((dx * distance) + dims[0], (dz * distance) + dims[1], (dy * distance) + dims[2])) + { + return true; + } + } + } + + return false; + } + + public boolean hasBorder3D(int checks, double distance, double... dims) + { + int current = getIndex(dims); + double ajump = 360D / (double) checks; + int hit = -1; + + if(dims.length == 3) + { + for(int i = 0; i < checks; i++) + { + double dx = M.sin((float) Math.toRadians(ajump * i)); + double dz = M.cos((float) Math.toRadians(ajump * i)); + double dy = Math.tan(Math.toRadians(ajump * i)); + int d = getIndex((dx * distance) + dims[0], (dz * distance) + dims[1], (dy * distance) + dims[2]); + if(current != d) + { + if(hit >= 0 && hit != current && hit != d) + { + return true; + } + + if(hit < 0) + { + hit = d; + } + } + } + } + + return false; + } + + /** + * Returns 0.0 to 1.0 where 0.0 is directly on the border of another region and + * 1.0 is perfectly in the center of a region + * + * @param x + * the x + * @param z + * the z + * @return the closest neighbor threshold. + */ + public double getClosestNeighbor(double... dim) + { + double closest = 0.5; + + for(int i = 0; i < gen.length; i++) + { + double distance = Math.abs(gen[i].noise(dim) - 0.5); + + if(distance < closest) + { + closest = distance; + } + } + + return (closest * 2); + } + + public int getIndex(double... dim) + { + int data = 0; + int adjusted = 0; + double[] noise = new double[gen.length]; + + for(int i = 0; i < gen.length; i++) + { + data |= (noise[i] = gen[i].noise(dim)) > 0.5 ? i == 0 ? 1 : 1 << i : 0; + } + + if(!useRarity) + { + return data % possibilities; + } + + double r = rarity[data % possibilities]; + + for(int i = 0; i < gen.length; i++) + { + adjusted |= noise[i] > r ? i == 0 ? 1 : 1 << i : 0; + } + + return adjusted % possibilities; + } + + public static class EnumPolygonGenerator extends PolygonGenerator + { + private T[] choices; + + + public EnumPolygonGenerator(RNG rng, double scale, int octaves, T[] choices, Function factory) + { + super(rng, choices.length, scale / (double) choices.length, octaves, factory); + this.choices = choices; + } + + public EnumPolygonGenerator useRarity() + { + super.useRarity(); + return this; + } + + @SuppressWarnings("unchecked") + public EnumPolygonGenerator(RNG rng, double scale, int octaves, KList c, KMap choiceRarities, Function factory) + { + super(rng, choiceRarities.size(), scale / (double) choiceRarities.size(), octaves, factory); + this.choices = (T[]) c.toArray(); + int m = 0; + + for(T i : c) + { + setRarity(m++, choiceRarities.get(i)); + } + } + + public void setRarity(T t, double rarity) + { + for(int i = 0; i < choices.length; i++) + { + if(choices[i].equals(t)) + { + setRarity(i, rarity); + return; + } + } + } + + public T getChoice(double... dim) + { + return choices[getIndex(dim)]; + } + } +} \ No newline at end of file diff --git a/src/main/java/ninja/bytecode/iris/util/PrecisionStopwatch.java b/src/main/java/ninja/bytecode/iris/util/PrecisionStopwatch.java new file mode 100644 index 000000000..0c6363a04 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/PrecisionStopwatch.java @@ -0,0 +1,101 @@ +package ninja.bytecode.iris.util; + +public class PrecisionStopwatch { + private long nanos; + private long startNano; + private long millis; + private long startMillis; + private double time; + private boolean profiling; + + public static PrecisionStopwatch start() { + PrecisionStopwatch p = new PrecisionStopwatch(); + p.begin(); + + return p; + } + + public PrecisionStopwatch() { + reset(); + profiling = false; + } + + public void begin() { + profiling = true; + startNano = System.nanoTime(); + startMillis = System.currentTimeMillis(); + } + + public void end() { + if (!profiling) { + return; + } + + profiling = false; + nanos = System.nanoTime() - startNano; + millis = System.currentTimeMillis() - startMillis; + time = (double) nanos / 1000000.0; + time = (double) millis - time > 1.01 ? millis : time; + } + + public void reset() { + nanos = -1; + millis = -1; + startNano = -1; + startMillis = -1; + time = -0; + profiling = false; + } + + public double getTicks() { + return getMilliseconds() / 50.0; + } + + public double getSeconds() { + return getMilliseconds() / 1000.0; + } + + public double getMinutes() { + return getSeconds() / 60.0; + } + + public double getHours() { + return getMinutes() / 60.0; + } + + public double getMilliseconds() { + nanos = System.nanoTime() - startNano; + millis = System.currentTimeMillis() - startMillis; + time = (double) nanos / 1000000.0; + time = (double) millis - time > 1.01 ? millis : time; + return time; + } + + public long getNanoseconds() { + return (long) (time * 1000000.0); + } + + public long getNanos() { + return nanos; + } + + public long getStartNano() { + return startNano; + } + + public long getMillis() { + return millis; + } + + public long getStartMillis() { + return startMillis; + } + + public double getTime() { + return time; + } + + public boolean isProfiling() { + return profiling; + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/Queue.java b/src/main/java/ninja/bytecode/iris/util/Queue.java new file mode 100644 index 000000000..f3c6d21c8 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/Queue.java @@ -0,0 +1,31 @@ +package ninja.bytecode.iris.util; + +public interface Queue +{ + public Queue queue(T t); + + public Queue queue(KList t); + + public boolean hasNext(int amt); + + public boolean hasNext(); + + public T next(); + + public KList next(int amt); + + public Queue clear(); + + public int size(); + + public static Queue create(KList t) + { + return new ShurikenQueue().queue(t); + } + + @SuppressWarnings("unchecked") + public static Queue create(T... t) + { + return new ShurikenQueue().queue(new KList().add(t)); + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/QueueExecutor.java b/src/main/java/ninja/bytecode/iris/util/QueueExecutor.java new file mode 100644 index 000000000..e0b385f30 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/QueueExecutor.java @@ -0,0 +1,54 @@ +package ninja.bytecode.iris.util; + +public class QueueExecutor extends Looper +{ + private Queue queue; + private boolean shutdown; + + public QueueExecutor() + { + queue = new ShurikenQueue(); + shutdown = false; + } + + public Queue queue() + { + return queue; + } + + @Override + protected long loop() + { + + while(queue.hasNext()) + { + try + { + queue.next().run(); + } + + catch(Throwable e) + { + e.printStackTrace(); + } + } + + if(shutdown && !queue.hasNext()) + { + interrupt(); + return -1; + } + + return Math.max(500, (long) getRunTime() * 10); + } + + public double getRunTime() + { + return -1; + } + + public void shutdown() + { + shutdown = true; + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/RollingSequence.java b/src/main/java/ninja/bytecode/iris/util/RollingSequence.java new file mode 100644 index 000000000..5caac8342 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/RollingSequence.java @@ -0,0 +1,101 @@ +package ninja.bytecode.iris.util; + +public class RollingSequence extends Average +{ + private double median; + private double max; + private double min; + private boolean dirtyMedian; + private int dirtyExtremes; + private boolean precision; + + public RollingSequence(int size) + { + super(size); + median = 0; + min = 0; + max = 0; + setPrecision(false); + } + + public double addLast(int amt) + { + double f = 0; + + for(int i = 0; i < Math.min(values.length, amt); i++) + { + f += values[i]; + } + + return f; + } + + public void setPrecision(boolean p) + { + this.precision = p; + } + + public boolean isPrecision() + { + return precision; + } + + public double getMin() + { + if(dirtyExtremes > (isPrecision() ? 0 : values.length)) + { + resetExtremes(); + } + + return min; + } + + public double getMax() + { + if(dirtyExtremes > (isPrecision() ? 0 : values.length)) + { + resetExtremes(); + } + + return max; + } + + public double getMedian() + { + if(dirtyMedian) + { + recalculateMedian(); + } + + return median; + } + + private void recalculateMedian() + { + median = new KList().forceAdd(values).sort().middleValue(); + dirtyMedian = false; + } + + public void resetExtremes() + { + max = Integer.MIN_VALUE; + min = Integer.MAX_VALUE; + + for(double i : values) + { + max = M.max(max, i); + min = M.min(min, i); + } + + dirtyExtremes = 0; + } + + public void put(double i) + { + super.put(i); + dirtyMedian = true; + dirtyExtremes++; + max = M.max(max, i); + min = M.min(min, i); + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/SNG.java b/src/main/java/ninja/bytecode/iris/util/SNG.java index a177cc48b..fb210cb46 100644 --- a/src/main/java/ninja/bytecode/iris/util/SNG.java +++ b/src/main/java/ninja/bytecode/iris/util/SNG.java @@ -363,7 +363,6 @@ public class SNG extends PerlinNoise // (array access is a lot slower than member access) private static class Grad { - public double x; public double y; public double z; diff --git a/src/main/java/ninja/bytecode/iris/util/Shrinkwrap.java b/src/main/java/ninja/bytecode/iris/util/Shrinkwrap.java new file mode 100644 index 000000000..c8bd024d6 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/Shrinkwrap.java @@ -0,0 +1,26 @@ +package ninja.bytecode.iris.util; + +public class Shrinkwrap +{ + private T t; + + public Shrinkwrap(T t) + { + set(t); + } + + public Shrinkwrap() + { + this(null); + } + + public T get() + { + return t; + } + + public void set(T t) + { + this.t = t; + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/ShurikenQueue.java b/src/main/java/ninja/bytecode/iris/util/ShurikenQueue.java new file mode 100644 index 000000000..94c7f9702 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/ShurikenQueue.java @@ -0,0 +1,88 @@ +package ninja.bytecode.iris.util; + +public class ShurikenQueue implements Queue +{ + private KList queue; + private boolean randomPop; + private boolean reversePop; + + public ShurikenQueue() + { + clear(); + } + + public ShurikenQueue responsiveMode() + { + reversePop = true; + return this; + } + + public ShurikenQueue randomMode() + { + randomPop = true; + return this; + } + + @Override + public ShurikenQueue queue(T t) + { + queue.add(t); + return this; + } + + @Override + public ShurikenQueue queue(KList t) + { + queue.add(t); + return this; + } + + @Override + public boolean hasNext(int amt) + { + return queue.size() >= amt; + } + + @Override + public boolean hasNext() + { + return !queue.isEmpty(); + } + + @Override + public T next() + { + return reversePop ? queue.popLast() : randomPop ? queue.popRandom() : queue.pop(); + } + + @Override + public KList next(int amt) + { + KList t = new KList<>(); + + for(int i = 0; i < amt; i++) + { + if(!hasNext()) + { + break; + } + + t.add(next()); + } + + return t; + } + + @Override + public ShurikenQueue clear() + { + queue = new KList(); + return this; + } + + @Override + public int size() + { + return queue.size(); + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/WeightMap.java b/src/main/java/ninja/bytecode/iris/util/WeightMap.java new file mode 100644 index 000000000..532c45774 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/WeightMap.java @@ -0,0 +1,51 @@ +package ninja.bytecode.iris.util; + +public class WeightMap extends KMap +{ + private static final long serialVersionUID = 87558033900969389L; + private boolean modified = false; + private double lastWeight = 0; + + public double getPercentChance(T t) + { + if(totalWeight() <= 0) + { + return 0; + } + + return getWeight(t) / totalWeight(); + } + + public void clear() + { + modified = true; + } + + public WeightMap setWeight(T t, double weight) + { + modified = true; + put(t, weight); + + return this; + } + + public double getWeight(T t) + { + return get(t); + } + + public double totalWeight() + { + if(!modified) + { + return lastWeight; + } + + modified = false; + Shrinkwrap s = new Shrinkwrap(0D); + forEachKey(Integer.MAX_VALUE, (d) -> s.set(s.get() + 1)); + lastWeight = s.get(); + + return lastWeight; + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/XML.java b/src/main/java/ninja/bytecode/iris/util/XML.java new file mode 100644 index 000000000..99afd5f7a --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/XML.java @@ -0,0 +1,584 @@ +package ninja.bytecode.iris.util; + + +/* +Copyright (c) 2002 JSON.org + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +The Software shall be used for Good, not Evil. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +import java.util.Iterator; + +/** + * This provides static methods to convert an XML text into a JSONObject, and to + * covert a JSONObject into an XML text. + * + * @author JSON.org + * @version 2014-05-03 + */ +public class XML +{ + + /** The Character '&'. */ + public static final Character AMP = '&'; + + /** The Character '''. */ + public static final Character APOS = '\''; + + /** The Character '!'. */ + public static final Character BANG = '!'; + + /** The Character '='. */ + public static final Character EQ = '='; + + /** The Character '>'. */ + public static final Character GT = '>'; + + /** The Character '<'. */ + public static final Character LT = '<'; + + /** The Character '?'. */ + public static final Character QUEST = '?'; + + /** The Character '"'. */ + public static final Character QUOT = '"'; + + /** The Character '/'. */ + public static final Character SLASH = '/'; + + /** + * Replace special characters with XML escapes: + * + *

+	 * & (ampersand) is replaced by &amp;
+	 * < (less than) is replaced by &lt;
+	 * > (greater than) is replaced by &gt;
+	 * " (double quote) is replaced by &quot;
+	 * 
+ * + * @param string + * The string to be escaped. + * @return The escaped string. + */ + public static String escape(String string) + { + StringBuilder sb = new StringBuilder(string.length()); + for(int i = 0, length = string.length(); i < length; i++) + { + char c = string.charAt(i); + switch(c) + { + case '&': + sb.append("&"); + break; + case '<': + sb.append("<"); + break; + case '>': + sb.append(">"); + break; + case '"': + sb.append("""); + break; + case '\'': + sb.append("'"); + break; + default: + sb.append(c); + } + } + return sb.toString(); + } + + /** + * Throw an exception if the string contains whitespace. Whitespace is not + * allowed in tagNames and attributes. + * + * @param string + * A string. + * @throws JSONException + */ + public static void noSpace(String string) throws JSONException + { + int i, length = string.length(); + if(length == 0) + { + throw new JSONException("Empty string."); + } + for(i = 0; i < length; i += 1) + { + if(Character.isWhitespace(string.charAt(i))) + { + throw new JSONException("'" + string + "' contains a space character."); + } + } + } + + /** + * Scan the content following the named tag, attaching it to the context. + * + * @param x + * The XMLTokener containing the source string. + * @param context + * The JSONObject that will include the new material. + * @param name + * The tag name. + * @return true if the close tag is processed. + * @throws JSONException + */ + private static boolean parse(XMLTokener x, JSONObject context, String name) throws JSONException + { + char c; + int i; + JSONObject jsonobject = null; + String string; + String tagName; + Object token; + + // Test for and skip past these forms: + // + // + // + // + // Report errors for these forms: + // <> + // <= + // << + + token = x.nextToken(); + + // "); + return false; + } + x.back(); + } else if(c == '[') + { + token = x.nextToken(); + if("CDATA".equals(token)) + { + if(x.next() == '[') + { + string = x.nextCDATA(); + if(string.length() > 0) + { + context.accumulate("content", string); + } + return false; + } + } + throw x.syntaxError("Expected 'CDATA['"); + } + i = 1; + do + { + token = x.nextMeta(); + if(token == null) + { + throw x.syntaxError("Missing '>' after ' 0); + return false; + } else if(token == QUEST) + { + + // "); + return false; + } else if(token == SLASH) + { + + // Close tag + + } else if(token == SLASH) + { + if(x.nextToken() != GT) + { + throw x.syntaxError("Misshaped tag"); + } + if(jsonobject.length() > 0) + { + context.accumulate(tagName, jsonobject); + } else + { + context.accumulate(tagName, ""); + } + return false; + + // Content, between <...> and + + } else if(token == GT) + { + for(;;) + { + token = x.nextContent(); + if(token == null) + { + if(tagName != null) + { + throw x.syntaxError("Unclosed tag " + tagName); + } + return false; + } else if(token instanceof String) + { + string = (String) token; + if(string.length() > 0) + { + jsonobject.accumulate("content", XML.stringToValue(string)); + } + + // Nested element + + } else if(token == LT) + { + if(parse(x, jsonobject, tagName)) + { + if(jsonobject.length() == 0) + { + context.accumulate(tagName, ""); + } else if(jsonobject.length() == 1 && jsonobject.opt("content") != null) + { + context.accumulate(tagName, jsonobject.opt("content")); + } else + { + context.accumulate(tagName, jsonobject); + } + return false; + } + } + } + } else + { + throw x.syntaxError("Misshaped tag"); + } + } + } + } + + /** + * Try to convert a string into a number, boolean, or null. If the string + * can't be converted, return the string. This is much less ambitious than + * JSONObject.stringToValue, especially because it does not attempt to + * convert plus forms, octal forms, hex forms, or E forms lacking decimal + * points. + * + * @param string + * A String. + * @return A simple JSON value. + */ + public static Object stringToValue(String string) + { + if("true".equalsIgnoreCase(string)) + { + return Boolean.TRUE; + } + if("false".equalsIgnoreCase(string)) + { + return Boolean.FALSE; + } + if("null".equalsIgnoreCase(string)) + { + return JSONObject.NULL; + } + + // If it might be a number, try converting it, first as a Long, and then + // as a + // Double. If that doesn't work, return the string. + + try + { + char initial = string.charAt(0); + if(initial == '-' || (initial >= '0' && initial <= '9')) + { + Long value = new Long(string); + if(value.toString().equals(string)) + { + return value; + } + } + } catch(Exception ignore) + { + try + { + Double value = new Double(string); + if(value.toString().equals(string)) + { + return value; + } + } catch(Exception ignoreAlso) + { + } + } + return string; + } + + /** + * Convert a well-formed (but not necessarily valid) XML string into a + * JSONObject. Some information may be lost in this transformation because + * JSON is a data format and XML is a document format. XML uses elements, + * attributes, and content text, while JSON uses unordered collections of + * name/value pairs and arrays of values. JSON does not does not like to + * distinguish between elements and attributes. Sequences of similar + * elements are represented as JSONArrays. Content text may be placed in a + * "content" member. Comments, prologs, DTDs, and <[ [ ]]> + * are ignored. + * + * @param string + * The source string. + * @return A JSONObject containing the structured data from the XML string. + * @throws JSONException + */ + public static JSONObject toJSONObject(String string) throws JSONException + { + JSONObject jo = new JSONObject(); + XMLTokener x = new XMLTokener(string); + while(x.more() && x.skipPast("<")) + { + parse(x, jo, null); + } + return jo; + } + + /** + * Convert a JSONObject into a well-formed, element-normal XML string. + * + * @param object + * A JSONObject. + * @return A string. + * @throws JSONException + */ + public static String toString(Object object) throws JSONException + { + return toString(object, null); + } + + /** + * Convert a JSONObject into a well-formed, element-normal XML string. + * + * @param object + * A JSONObject. + * @param tagName + * The optional name of the enclosing tag. + * @return A string. + * @throws JSONException + */ + public static String toString(Object object, String tagName) throws JSONException + { + StringBuilder sb = new StringBuilder(); + int i; + JSONArray ja; + JSONObject jo; + String key; + Iterator keys; + int length; + String string; + Object value; + if(object instanceof JSONObject) + { + + // Emit + + if(tagName != null) + { + sb.append('<'); + sb.append(tagName); + sb.append('>'); + } + + // Loop thru the keys. + + jo = (JSONObject) object; + keys = jo.keys(); + while(keys.hasNext()) + { + key = keys.next(); + value = jo.opt(key); + if(value == null) + { + value = ""; + } + string = value instanceof String ? (String) value : null; + + // Emit content in body + + if("content".equals(key)) + { + if(value instanceof JSONArray) + { + ja = (JSONArray) value; + length = ja.length(); + for(i = 0; i < length; i += 1) + { + if(i > 0) + { + sb.append('\n'); + } + sb.append(escape(ja.get(i).toString())); + } + } else + { + sb.append(escape(value.toString())); + } + + // Emit an array of similar keys + + } else if(value instanceof JSONArray) + { + ja = (JSONArray) value; + length = ja.length(); + for(i = 0; i < length; i += 1) + { + value = ja.get(i); + if(value instanceof JSONArray) + { + sb.append('<'); + sb.append(key); + sb.append('>'); + sb.append(toString(value)); + sb.append("'); + } else + { + sb.append(toString(value, key)); + } + } + } else if("".equals(value)) + { + sb.append('<'); + sb.append(key); + sb.append("/>"); + + // Emit a new tag + + } else + { + sb.append(toString(value, key)); + } + } + if(tagName != null) + { + + // Emit the close tag + + sb.append("'); + } + return sb.toString(); + + // XML does not have good support for arrays. If an array appears in + // a place + // where XML is lacking, synthesize an element. + + } else + { + if(object.getClass().isArray()) + { + object = new JSONArray(object); + } + if(object instanceof JSONArray) + { + ja = (JSONArray) object; + length = ja.length(); + for(i = 0; i < length; i += 1) + { + sb.append(toString(ja.opt(i), tagName == null ? "array" : tagName)); + } + return sb.toString(); + } else + { + string = (object == null) ? "null" : escape(object.toString()); + return (tagName == null) ? "\"" + string + "\"" : (string.length() == 0) ? "<" + tagName + "/>" : "<" + tagName + ">" + string + ""; + } + } + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/XMLTokener.java b/src/main/java/ninja/bytecode/iris/util/XMLTokener.java new file mode 100644 index 000000000..df5062b41 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/XMLTokener.java @@ -0,0 +1,425 @@ +package ninja.bytecode.iris.util; + + +/* +Copyright (c) 2002 JSON.org + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +The Software shall be used for Good, not Evil. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +/** + * The XMLTokener extends the JSONTokener to provide additional methods for the + * parsing of XML texts. + * + * @author JSON.org + * @version 2014-05-03 + */ +public class XMLTokener extends JSONTokener +{ + + /** + * The table of entity values. It initially contains Character values for + * amp, apos, gt, lt, quot. + */ + public static final java.util.HashMap entity; + + static + { + entity = new java.util.HashMap(8); + entity.put("amp", XML.AMP); + entity.put("apos", XML.APOS); + entity.put("gt", XML.GT); + entity.put("lt", XML.LT); + entity.put("quot", XML.QUOT); + } + + /** + * Construct an XMLTokener from a string. + * + * @param s + * A source string. + */ + public XMLTokener(String s) + { + super(s); + } + + /** + * Get the text in the CDATA block. + * + * @return The string up to the ]]>. + * @throws JSONException + * If the ]]> is not found. + */ + public String nextCDATA() throws JSONException + { + char c; + int i; + StringBuilder sb = new StringBuilder(); + for(;;) + { + c = next(); + if(end()) + { + throw syntaxError("Unclosed CDATA"); + } + sb.append(c); + i = sb.length() - 3; + if(i >= 0 && sb.charAt(i) == ']' && sb.charAt(i + 1) == ']' && sb.charAt(i + 2) == '>') + { + sb.setLength(i); + return sb.toString(); + } + } + } + + /** + * Get the next XML outer token, trimming whitespace. There are two kinds of + * tokens: the '<' character which begins a markup tag, and the content text + * between markup tags. + * + * @return A string, or a '<' Character, or null if there is no more source + * text. + * @throws JSONException + */ + public Object nextContent() throws JSONException + { + char c; + StringBuilder sb; + do + { + c = next(); + } while(Character.isWhitespace(c)); + if(c == 0) + { + return null; + } + if(c == '<') + { + return XML.LT; + } + sb = new StringBuilder(); + for(;;) + { + if(c == '<' || c == 0) + { + back(); + return sb.toString().trim(); + } + if(c == '&') + { + sb.append(nextEntity(c)); + } else + { + sb.append(c); + } + c = next(); + } + } + + /** + * Return the next entity. These entities are translated to Characters: + * & ' > < ". + * + * @param ampersand + * An ampersand character. + * @return A Character or an entity String if the entity is not recognized. + * @throws JSONException + * If missing ';' in XML entity. + */ + public Object nextEntity(char ampersand) throws JSONException + { + StringBuilder sb = new StringBuilder(); + for(;;) + { + char c = next(); + if(Character.isLetterOrDigit(c) || c == '#') + { + sb.append(Character.toLowerCase(c)); + } else if(c == ';') + { + break; + } else + { + throw syntaxError("Missing ';' in XML entity: &" + sb); + } + } + String string = sb.toString(); + Object object = entity.get(string); + return object != null ? object : ampersand + string + ";"; + } + + /** + * Returns the next XML meta token. This is used for skipping over + * and structures. + * + * @return Syntax characters (< > / = ! ?) are returned as + * Character, and strings and names are returned as Boolean. We + * don't care what the values actually are. + * @throws JSONException + * If a string is not properly closed or if the XML is badly + * structured. + */ + public Object nextMeta() throws JSONException + { + char c; + char q; + do + { + c = next(); + } while(Character.isWhitespace(c)); + switch(c) + { + case 0: + throw syntaxError("Misshaped meta tag"); + case '<': + return XML.LT; + case '>': + return XML.GT; + case '/': + return XML.SLASH; + case '=': + return XML.EQ; + case '!': + return XML.BANG; + case '?': + return XML.QUEST; + case '"': + case '\'': + q = c; + for(;;) + { + c = next(); + if(c == 0) + { + throw syntaxError("Unterminated string"); + } + if(c == q) + { + return Boolean.TRUE; + } + } + default: + for(;;) + { + c = next(); + if(Character.isWhitespace(c)) + { + return Boolean.TRUE; + } + switch(c) + { + case 0: + case '<': + case '>': + case '/': + case '=': + case '!': + case '?': + case '"': + case '\'': + back(); + return Boolean.TRUE; + } + } + } + } + + /** + * Get the next XML Token. These tokens are found inside of angle brackets. + * It may be one of these characters: / > = ! ? or it may be a + * string wrapped in single quotes or double quotes, or it may be a name. + * + * @return a String or a Character. + * @throws JSONException + * If the XML is not well formed. + */ + public Object nextToken() throws JSONException + { + char c; + char q; + StringBuilder sb; + do + { + c = next(); + } while(Character.isWhitespace(c)); + switch(c) + { + case 0: + throw syntaxError("Misshaped element"); + case '<': + throw syntaxError("Misplaced '<'"); + case '>': + return XML.GT; + case '/': + return XML.SLASH; + case '=': + return XML.EQ; + case '!': + return XML.BANG; + case '?': + return XML.QUEST; + + // Quoted string + + case '"': + case '\'': + q = c; + sb = new StringBuilder(); + for(;;) + { + c = next(); + if(c == 0) + { + throw syntaxError("Unterminated string"); + } + if(c == q) + { + return sb.toString(); + } + if(c == '&') + { + sb.append(nextEntity(c)); + } else + { + sb.append(c); + } + } + default: + + // Name + + sb = new StringBuilder(); + for(;;) + { + sb.append(c); + c = next(); + if(Character.isWhitespace(c)) + { + return sb.toString(); + } + switch(c) + { + case 0: + return sb.toString(); + case '>': + case '/': + case '=': + case '!': + case '?': + case '[': + case ']': + back(); + return sb.toString(); + case '<': + case '"': + case '\'': + throw syntaxError("Bad character in a name"); + } + } + } + } + + /** + * Skip characters until past the requested string. If it is not found, we + * are left at the end of the source with a result of false. + * + * @param to + * A string to skip past. + * @throws JSONException + */ + public boolean skipPast(String to) throws JSONException + { + boolean b; + char c; + int i; + int j; + int offset = 0; + int length = to.length(); + char[] circle = new char[length]; + + /* + * First fill the circle buffer with as many characters as are in the to + * string. If we reach an early end, bail. + */ + + for(i = 0; i < length; i += 1) + { + c = next(); + if(c == 0) + { + return false; + } + circle[i] = c; + } + + /* We will loop, possibly for all of the remaining characters. */ + + for(;;) + { + j = offset; + b = true; + + /* Compare the circle buffer with the to string. */ + + for(i = 0; i < length; i += 1) + { + if(circle[j] != to.charAt(i)) + { + b = false; + break; + } + j += 1; + if(j >= length) + { + j -= length; + } + } + + /* If we exit the loop with b intact, then victory is ours. */ + + if(b) + { + return true; + } + + /* + * Get the next character. If there isn't one, then defeat is ours. + */ + + c = next(); + if(c == 0) + { + return false; + } + /* + * Shove the character in the circle buffer and advance the circle + * offset. The offset is mod n. + */ + circle[offset] = c; + offset += 1; + if(offset >= length) + { + offset -= length; + } + } + } +} From cecbad2eb9326e10e2160a5241a8545c0ce2dbb9 Mon Sep 17 00:00:00 2001 From: Daniel Mills Date: Fri, 20 Mar 2020 10:17:51 -0400 Subject: [PATCH 03/20] Scaffolding --- pom.xml | 16 + src/main/java/ninja/bytecode/iris/Iris.java | 44 +- .../ninja/bytecode/iris/IrisDataManager.java | 104 + .../ninja/bytecode/iris/IrisGenerator.java | 74 +- .../bytecode/iris/IrisHotloadManager.java | 57 + .../bytecode/iris/layer/GenLayerBiome.java | 36 + .../bytecode/iris/object/Dispersion.java | 10 + .../iris/object/InterpolationMethod.java | 9 + .../ninja/bytecode/iris/object/IrisBiome.java | 107 + .../iris/object/IrisBiomePaletteLayer.java | 85 + .../bytecode/iris/object/IrisDimension.java | 48 + .../ninja/bytecode/iris/util/BiomeResult.java | 17 + .../java/ninja/bytecode/iris/util/CNG.java | 68 +- .../bytecode/iris/util/CellGenerator2D.java | 54 + .../ninja/bytecode/iris/util/FastNoise.java | 2197 +++++++++++++++++ .../ninja/bytecode/iris/util/FileWatcher.java | 42 + .../ninja/bytecode/iris/util/GenLayer.java | 17 + .../bytecode/iris/util/IrisInterpolation.java | 27 + .../java/ninja/bytecode/iris/util/KList.java | 6 + src/main/java/ninja/bytecode/iris/util/M.java | 5 + .../bytecode/iris/util/ResourceLoader.java | 95 + 21 files changed, 3096 insertions(+), 22 deletions(-) create mode 100644 src/main/java/ninja/bytecode/iris/IrisDataManager.java create mode 100644 src/main/java/ninja/bytecode/iris/IrisHotloadManager.java create mode 100644 src/main/java/ninja/bytecode/iris/layer/GenLayerBiome.java create mode 100644 src/main/java/ninja/bytecode/iris/object/Dispersion.java create mode 100644 src/main/java/ninja/bytecode/iris/object/InterpolationMethod.java create mode 100644 src/main/java/ninja/bytecode/iris/object/IrisBiome.java create mode 100644 src/main/java/ninja/bytecode/iris/object/IrisBiomePaletteLayer.java create mode 100644 src/main/java/ninja/bytecode/iris/object/IrisDimension.java create mode 100644 src/main/java/ninja/bytecode/iris/util/BiomeResult.java create mode 100644 src/main/java/ninja/bytecode/iris/util/CellGenerator2D.java create mode 100644 src/main/java/ninja/bytecode/iris/util/FastNoise.java create mode 100644 src/main/java/ninja/bytecode/iris/util/FileWatcher.java create mode 100644 src/main/java/ninja/bytecode/iris/util/GenLayer.java create mode 100644 src/main/java/ninja/bytecode/iris/util/ResourceLoader.java diff --git a/pom.xml b/pom.xml index ad53524d0..d745c3174 100644 --- a/pom.xml +++ b/pom.xml @@ -150,6 +150,22 @@ 1.15.1-R0.1-SNAPSHOT provided + + javax.vecmath + vecmath + 1.5.2 + + + com.google.code.gson + gson + 2.8.5 + + + org.projectlombok + lombok + 1.18.10 + provided + org.bukkit bukkit diff --git a/src/main/java/ninja/bytecode/iris/Iris.java b/src/main/java/ninja/bytecode/iris/Iris.java index 67e3d4112..08ed6bd3c 100644 --- a/src/main/java/ninja/bytecode/iris/Iris.java +++ b/src/main/java/ninja/bytecode/iris/Iris.java @@ -4,6 +4,7 @@ import java.io.File; import java.util.UUID; import org.bukkit.Bukkit; +import org.bukkit.ChatColor; import org.bukkit.GameMode; import org.bukkit.Location; import org.bukkit.World; @@ -18,6 +19,10 @@ import ninja.bytecode.iris.util.IO; public class Iris extends JavaPlugin { + public static Iris instance; + public static IrisDataManager data; + public static IrisHotloadManager hotloader; + public Iris() { IO.delete(new File("iris")); @@ -25,7 +30,9 @@ public class Iris extends JavaPlugin public void onEnable() { - + instance = this; + hotloader = new IrisHotloadManager(); + data = new IrisDataManager(getDataFolder()); Bukkit.getScheduler().scheduleSyncDelayedTask(this, () -> { for(World i : Bukkit.getWorlds()) @@ -36,7 +43,7 @@ public class Iris extends JavaPlugin } } - World world = Bukkit.createWorld(new WorldCreator("iris/" + UUID.randomUUID()).generator(new IrisGenerator())); + World world = Bukkit.createWorld(new WorldCreator("iris/" + UUID.randomUUID()).generator(new IrisGenerator("overworld"))); for(Player i : Bukkit.getOnlinePlayers()) { @@ -48,6 +55,7 @@ public class Iris extends JavaPlugin }, 5); } }); + } public void onDisable() @@ -64,6 +72,36 @@ public class Iris extends JavaPlugin @Override public ChunkGenerator getDefaultWorldGenerator(String worldName, String id) { - return new IrisGenerator(); + return new IrisGenerator("overworld"); + } + + public static void msg(String string) + { + Bukkit.getConsoleSender().sendMessage(ChatColor.GREEN + "[Iris]: " + ChatColor.GRAY + string); + } + + public static void warn(String string) + { + msg(ChatColor.YELLOW + string); + } + + public static void error(String string) + { + msg(ChatColor.RED + string); + } + + public static void verbose(String string) + { + msg(ChatColor.GRAY + string); + } + + public static void success(String string) + { + msg(ChatColor.GREEN + string); + } + + public static void info(String string) + { + msg(ChatColor.WHITE + string); } } diff --git a/src/main/java/ninja/bytecode/iris/IrisDataManager.java b/src/main/java/ninja/bytecode/iris/IrisDataManager.java new file mode 100644 index 000000000..6037ec298 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/IrisDataManager.java @@ -0,0 +1,104 @@ +package ninja.bytecode.iris; + +import java.io.File; + +import org.bukkit.World.Environment; +import org.bukkit.block.Biome; + +import com.google.gson.Gson; + +import lombok.Getter; +import ninja.bytecode.iris.object.Dispersion; +import ninja.bytecode.iris.object.IrisBiome; +import ninja.bytecode.iris.object.IrisBiomePaletteLayer; +import ninja.bytecode.iris.object.IrisDimension; +import ninja.bytecode.iris.util.IO; +import ninja.bytecode.iris.util.JSONObject; +import ninja.bytecode.iris.util.ResourceLoader; + +public class IrisDataManager +{ + private File dataFolder; + private File packs; + + @Getter + private ResourceLoader biomeLoader; + + @Getter + private ResourceLoader dimensionLoader; + + public void hotloaded() + { + packs.mkdirs(); + this.biomeLoader = new ResourceLoader<>(packs, "biomes", "Biome", IrisBiome.class); + this.dimensionLoader = new ResourceLoader<>(packs, "dimensions", "Dimension", IrisDimension.class); + writeExamples(); + } + + public IrisDataManager(File dataFolder) + { + this.dataFolder = dataFolder; + this.packs = new File(dataFolder, "packs"); + hotloaded(); + } + + private void writeExamples() + { + File examples = new File(dataFolder, "example"); + examples.mkdirs(); + + IrisBiome biome = new IrisBiome(); + biome.getLayers().clear(); + IrisBiomePaletteLayer grass = new IrisBiomePaletteLayer(); + grass.add("GRASS_BLOCK"); + grass.setDispersion(Dispersion.SCATTER); + grass.setMinHeight(1); + grass.setMaxHeight(1); + IrisBiomePaletteLayer dirt = new IrisBiomePaletteLayer(); + grass.add("DIRT"); + grass.setDispersion(Dispersion.SCATTER); + grass.setMinHeight(1); + grass.setMaxHeight(2); + IrisBiomePaletteLayer dirtThick = new IrisBiomePaletteLayer(); + grass.add("DIRT"); + grass.add("COARSE_DIRT"); + grass.setDispersion(Dispersion.WISPY); + grass.setMinHeight(1); + grass.setMaxHeight(3); + + biome.getLayers().add(dirtThick); + biome.getLayers().add(dirt); + biome.getLayers().add(grass); + + IrisDimension dim = new IrisDimension(); + dim.getBiomes().add("a_biome"); + String biomes = ""; + String envs = ""; + + for(Biome i : Biome.values()) + { + biomes += i.name() + "\n"; + } + + for(Environment i : Environment.values()) + { + envs += i.name() + "\n"; + } + + try + { + new File(examples, "example-pack/biomes").mkdirs(); + new File(examples, "example-pack/dimensions").mkdirs(); + IO.writeAll(new File(examples, "biome-list.txt"), biomes); + IO.writeAll(new File(examples, "environment-list.txt"), envs); + IO.writeAll(new File(examples, "example-pack/biomes/a_biome.json"), new JSONObject(new Gson().toJson(biome)).toString(4)); + IO.writeAll(new File(examples, "example-pack/dimensions/a_dimension.json"), new JSONObject(new Gson().toJson(dim)).toString(4)); + } + + catch(Throwable e) + { + + } + + } +} \ No newline at end of file diff --git a/src/main/java/ninja/bytecode/iris/IrisGenerator.java b/src/main/java/ninja/bytecode/iris/IrisGenerator.java index 40cf7b5bd..e457583a2 100644 --- a/src/main/java/ninja/bytecode/iris/IrisGenerator.java +++ b/src/main/java/ninja/bytecode/iris/IrisGenerator.java @@ -2,6 +2,7 @@ package ninja.bytecode.iris; import java.util.List; import java.util.Random; +import java.util.function.Function; import org.bukkit.Bukkit; import org.bukkit.Location; @@ -11,17 +12,34 @@ import org.bukkit.block.data.BlockData; import org.bukkit.generator.BlockPopulator; import org.bukkit.generator.ChunkGenerator; +import ninja.bytecode.iris.layer.GenLayerBiome; +import ninja.bytecode.iris.object.IrisBiome; +import ninja.bytecode.iris.object.IrisDimension; +import ninja.bytecode.iris.util.BiomeResult; import ninja.bytecode.iris.util.CNG; -import ninja.bytecode.iris.util.PolygonGenerator.EnumPolygonGenerator; +import ninja.bytecode.iris.util.IrisInterpolation; +import ninja.bytecode.iris.util.KList; import ninja.bytecode.iris.util.RNG; public class IrisGenerator extends ChunkGenerator { + // TODO REMOVE OR FIND A BETTER PLACE + private BlockData STONE = Material.STONE.createBlockData(); + private String dimensionName; + private GenLayerBiome glBiome; + private CNG terrainNoise; + private boolean initialized = false; - private CNG gen; - private EnumPolygonGenerator pog; - private BlockData[] d = {Material.RED_CONCRETE.createBlockData(), Material.GREEN_CONCRETE.createBlockData(), Material.BLUE_CONCRETE.createBlockData(), - }; + + public IrisGenerator(String dimensionName) + { + this.dimensionName = dimensionName; + } + + public IrisDimension getDimension() + { + return Iris.data.getDimensionLoader().load(dimensionName); + } public void onInit(World world, RNG rng) { @@ -31,8 +49,8 @@ public class IrisGenerator extends ChunkGenerator } initialized = true; - gen = CNG.signature(rng.nextParallelRNG(0)); - pog = new EnumPolygonGenerator(rng.nextParallelRNG(1), 0.1, 1, d, (c) -> c); + glBiome = new GenLayerBiome(this, rng.nextParallelRNG(1)); + terrainNoise = CNG.signature(rng.nextParallelRNG(2)); } @Override @@ -42,26 +60,56 @@ public class IrisGenerator extends ChunkGenerator } @Override - public ChunkData generateChunkData(World world, Random no, int x, int z, BiomeGrid biome) + public ChunkData generateChunkData(World world, Random no, int x, int z, BiomeGrid biomeGrid) { + Iris.hotloader.check(); + int i, j, k, height, depth; + double wx, wz, rx, rz, heightLow, heightHigh, heightExponent; + int fluidHeight = getDimension().getFluidHeight(); + BiomeResult biomeResult; + IrisBiome biome; RNG random = new RNG(world.getSeed()); onInit(world, random.nextParallelRNG(0)); ChunkData data = Bukkit.createChunkData(world); - for(int i = 0; i < 16; i++) + for(i = 0; i < 16; i++) { - for(int j = 0; j < 16; j++) + rx = (x * 16) + i; + wx = ((double) (x * 16) + i) / getDimension().getTerrainZoom(); + for(j = 0; j < 16; j++) { - double wx = (x * 16) + i; - double wz = (z * 16) + j; + rz = (z * 16) + j; + wz = ((double) (z * 16) + j) / getDimension().getTerrainZoom(); + depth = 0; + biomeResult = glBiome.generateData(wx, wz); + biome = biomeResult.getBiome(); + heightLow = interpolate(rx, rz, (b) -> b.getLowHeight()); + heightHigh = interpolate(rx, rz, (b) -> b.getHighHeight()); + heightExponent = interpolate(rx, rz, (b) -> b.getHeightExponent()); + height = (int) Math.round(terrainNoise.fitDoubleExponent(heightLow, heightHigh, heightExponent, wx, wz)) + fluidHeight; + KList layers = biome.generateLayers(wx, wz, random, height); - data.setBlock(i, 0, j, pog.getChoice(wx, wz)); + for(k = Math.max(height, fluidHeight); k >= 0; k--) + { + biomeGrid.setBiome(i, k, j, biome.getDerivative()); + data.setBlock(i, k, j, layers.hasIndex(depth) ? layers.get(depth) : STONE); + depth++; + } } } return data; } + public double interpolate(double rx, double rz, Function property) + { + return IrisInterpolation.getNoise(getDimension().getInterpolationFunction(), (int) Math.round(rx), (int) Math.round(rz), getDimension().getInterpolationScale(), (xx, zz) -> + { + BiomeResult neighborResult = glBiome.generateData(xx / getDimension().getTerrainZoom(), zz / getDimension().getTerrainZoom()); + return property.apply(neighborResult.getBiome()); + }); + } + @Override public List getDefaultPopulators(World world) { diff --git a/src/main/java/ninja/bytecode/iris/IrisHotloadManager.java b/src/main/java/ninja/bytecode/iris/IrisHotloadManager.java new file mode 100644 index 000000000..18679d2e7 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/IrisHotloadManager.java @@ -0,0 +1,57 @@ +package ninja.bytecode.iris; + +import java.io.File; + +import org.bukkit.Bukkit; + +import ninja.bytecode.iris.util.ChronoLatch; +import ninja.bytecode.iris.util.FileWatcher; +import ninja.bytecode.iris.util.KList; + +public class IrisHotloadManager +{ + private ChronoLatch latch; + private KList watchers; + + public IrisHotloadManager() + { + watchers = new KList<>(); + latch = new ChronoLatch(3000); + } + + public void check() + { + if(!latch.flip()) + { + return; + } + + Bukkit.getScheduler().scheduleSyncDelayedTask(Iris.instance, () -> + { + boolean modified = false; + int c = 0; + + for(FileWatcher i : watchers) + { + if(i.checkModified()) + { + c++; + Iris.info("File Modified: " + i.getFile().getPath()); + modified = true; + } + } + + if(modified) + { + watchers.clear(); + Iris.success("Hotloading Iris (" + c + " File" + (c == 1 ? "" : "s") + " changed)"); + Iris.data.hotloaded(); + } + }); + } + + public void track(File file) + { + watchers.add(new FileWatcher(file)); + } +} diff --git a/src/main/java/ninja/bytecode/iris/layer/GenLayerBiome.java b/src/main/java/ninja/bytecode/iris/layer/GenLayerBiome.java new file mode 100644 index 000000000..d78b03630 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/layer/GenLayerBiome.java @@ -0,0 +1,36 @@ +package ninja.bytecode.iris.layer; + +import ninja.bytecode.iris.IrisGenerator; +import ninja.bytecode.iris.object.IrisBiome; +import ninja.bytecode.iris.util.BiomeResult; +import ninja.bytecode.iris.util.CellGenerator2D; +import ninja.bytecode.iris.util.GenLayer; +import ninja.bytecode.iris.util.KList; +import ninja.bytecode.iris.util.RNG; + +public class GenLayerBiome extends GenLayer +{ + private CellGenerator2D cells; + + public GenLayerBiome(IrisGenerator iris, RNG rng) + { + super(iris, rng); + cells = new CellGenerator2D(rng.nextParallelRNG(2045662)); + } + + public KList getBiomes() + { + return iris.getDimension().buildBiomeList(); + } + + public BiomeResult generateData(double x, double z) + { + return new BiomeResult(getBiomes().get(cells.getIndex(x / iris.getDimension().getBiomeZoom(), z / iris.getDimension().getBiomeZoom(), getBiomes().size())), cells.getDistance(x / iris.getDimension().getBiomeZoom(), z / iris.getDimension().getBiomeZoom())); + } + + @Override + public double generate(double x, double z) + { + return 0; + } +} diff --git a/src/main/java/ninja/bytecode/iris/object/Dispersion.java b/src/main/java/ninja/bytecode/iris/object/Dispersion.java new file mode 100644 index 000000000..35dc195c6 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/object/Dispersion.java @@ -0,0 +1,10 @@ +package ninja.bytecode.iris.object; + +public enum Dispersion +{ + SCATTER, + SIMPLEX, + CELLS, + WISPY, + ZEBRA +} diff --git a/src/main/java/ninja/bytecode/iris/object/InterpolationMethod.java b/src/main/java/ninja/bytecode/iris/object/InterpolationMethod.java new file mode 100644 index 000000000..e7e03bcc6 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/object/InterpolationMethod.java @@ -0,0 +1,9 @@ +package ninja.bytecode.iris.object; + +public enum InterpolationMethod +{ + NONE, + BILINEAR, + BICUBIC, + HERMITE +} diff --git a/src/main/java/ninja/bytecode/iris/object/IrisBiome.java b/src/main/java/ninja/bytecode/iris/object/IrisBiome.java new file mode 100644 index 000000000..f099d1ac7 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/object/IrisBiome.java @@ -0,0 +1,107 @@ +package ninja.bytecode.iris.object; + +import java.util.List; + +import org.bukkit.block.Biome; +import org.bukkit.block.data.BlockData; + +import lombok.Data; +import ninja.bytecode.iris.util.CNG; +import ninja.bytecode.iris.util.KList; +import ninja.bytecode.iris.util.RNG; + +@Data +public class IrisBiome +{ + private String name = "A Biome"; + private Biome derivative = Biome.THE_VOID; + private double highHeight = 7; + private double lowHeight = 1; + private double heightExponent = 1; + private KList layers = new KList().qadd(new IrisBiomePaletteLayer()); + + private transient KList layerHeightGenerators; + private transient KList layerSurfaceGenerators; + + public KList generateLayers(double wx, double wz, RNG random, int maxDepth) + { + KList data = new KList<>(); + + for(int i = 0; i < layers.size(); i++) + { + CNG hgen = getLayerHeightGenerators(random).get(i); + CNG sgen = getLayerSurfaceGenerators(random).get(i); + int d = hgen.fit(layers.get(i).getMinHeight(), layers.get(i).getMaxHeight(), wx / layers.get(i).getTerrainZoom(), wz / layers.get(i).getTerrainZoom()); + + if(d < 0) + { + continue; + } + + List palette = getLayers().get(i).getBlockData(); + + for(int j = 0; j < d; j++) + { + if(data.size() >= maxDepth) + { + break; + } + + data.add(palette.get(sgen.fit(0, palette.size() - 1, (wx + j) / layers.get(i).getTerrainZoom(), (wz - j) / layers.get(i).getTerrainZoom()))); + } + + if(data.size() >= maxDepth) + { + break; + } + } + + return data; + } + + public KList getLayerSurfaceGenerators(RNG rng) + { + synchronized(this) + { + if(layerSurfaceGenerators == null) + { + layerSurfaceGenerators = new KList<>(); + + synchronized(layerSurfaceGenerators) + { + int m = 91235; + + for(IrisBiomePaletteLayer i : getLayers()) + { + layerSurfaceGenerators.add(i.getGenerator(rng.nextParallelRNG((m += 3) * m * m * m))); + } + } + } + } + + return layerSurfaceGenerators; + } + + public KList getLayerHeightGenerators(RNG rng) + { + synchronized(this) + { + if(layerHeightGenerators == null) + { + layerHeightGenerators = new KList<>(); + + synchronized(layerHeightGenerators) + { + int m = 7235; + + for(IrisBiomePaletteLayer i : getLayers()) + { + layerHeightGenerators.add(i.getGenerator(rng.nextParallelRNG((m++) * m * m * m))); + } + } + } + } + + return layerHeightGenerators; + } +} diff --git a/src/main/java/ninja/bytecode/iris/object/IrisBiomePaletteLayer.java b/src/main/java/ninja/bytecode/iris/object/IrisBiomePaletteLayer.java new file mode 100644 index 000000000..a4126cc97 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/object/IrisBiomePaletteLayer.java @@ -0,0 +1,85 @@ +package ninja.bytecode.iris.object; + +import org.bukkit.Material; +import org.bukkit.block.data.BlockData; + +import lombok.Data; +import ninja.bytecode.iris.util.CNG; +import ninja.bytecode.iris.util.KList; +import ninja.bytecode.iris.util.KMap; +import ninja.bytecode.iris.util.RNG; + +@Data +public class IrisBiomePaletteLayer +{ + private Dispersion dispersion = Dispersion.WISPY; + private int minHeight = 1; + private int maxHeight = 1; + private double terrainZoom = 5; + private KList palette = new KList().qadd("GRASS_BLOCK"); + + private transient KMap layerGenerators; + private transient KList blockData; + + public CNG getGenerator(RNG rng) + { + synchronized(this) + { + long key = rng.nextParallelRNG(1).nextLong(); + + if(layerGenerators == null) + { + layerGenerators = new KMap<>(); + } + + if(!layerGenerators.containsKey(key)) + { + synchronized(layerGenerators) + { + layerGenerators.put(key, CNG.signature(rng.nextParallelRNG(minHeight + maxHeight + getBlockData().size()))); + } + } + + return layerGenerators.get(key); + } + } + + public KList add(String b) + { + palette.add(b); + + return palette; + } + + public KList getBlockData() + { + synchronized(this) + { + if(blockData == null) + { + blockData = new KList<>(); + synchronized(blockData) + { + for(String i : palette) + { + try + { + Material m = Material.valueOf(i); + + if(m != null) + { + blockData.add(m.createBlockData()); + } + } + catch(Throwable e) + { + + } + } + } + } + } + + return blockData; + } +} diff --git a/src/main/java/ninja/bytecode/iris/object/IrisDimension.java b/src/main/java/ninja/bytecode/iris/object/IrisDimension.java new file mode 100644 index 000000000..502762380 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/object/IrisDimension.java @@ -0,0 +1,48 @@ +package ninja.bytecode.iris.object; + +import org.bukkit.World.Environment; + +import lombok.Data; +import ninja.bytecode.iris.Iris; +import ninja.bytecode.iris.util.KList; + +@Data +public class IrisDimension +{ + private String name = "A Dimension"; + private InterpolationMethod interpolationFunction = InterpolationMethod.BILINEAR; + private double interpolationScale = 5.6; + private Environment environment = Environment.NORMAL; + private KList biomes = new KList<>(); + private int fluidHeight = 127; + private double biomeZoom = 5D; + private double terrainZoom = 2D; + private double roughnessZoom = 2D; + private int roughnessHeight = 3; + private transient KList biomeCache; + + public KList buildBiomeList() + { + if(biomeCache == null) + { + synchronized(this) + { + biomeCache = new KList<>(); + + synchronized(biomeCache) + { + for(String i : biomes) + { + IrisBiome biome = Iris.data.getBiomeLoader().load(i); + if(biome != null) + { + biomeCache.add(biome); + } + } + } + } + } + + return biomeCache; + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/BiomeResult.java b/src/main/java/ninja/bytecode/iris/util/BiomeResult.java new file mode 100644 index 000000000..91c81e61d --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/BiomeResult.java @@ -0,0 +1,17 @@ +package ninja.bytecode.iris.util; + +import lombok.Data; +import ninja.bytecode.iris.object.IrisBiome; + +@Data +public class BiomeResult +{ + private IrisBiome biome; + private double distance; + + public BiomeResult(IrisBiome biome, double distance) + { + this.biome = biome; + this.distance = distance; + } +} \ No newline at end of file diff --git a/src/main/java/ninja/bytecode/iris/util/CNG.java b/src/main/java/ninja/bytecode/iris/util/CNG.java index a4d8dc576..c41df5b6c 100644 --- a/src/main/java/ninja/bytecode/iris/util/CNG.java +++ b/src/main/java/ninja/bytecode/iris/util/CNG.java @@ -25,6 +25,9 @@ public class CNG private NoiseInjector injector; private RNG rng; private int oct; + private double patch; + private double up; + private double down; private double power; public static CNG signature(RNG rng) @@ -32,14 +35,12 @@ public class CNG //@builder return new CNG(rng.nextParallelRNG(17), 1D, 8) .scale(0.012) - .amp(0.5) - .freq(1.1) .fractureWith(new CNG(rng.nextParallelRNG(18), 1, 5) .scale(0.018) - .child(new CNG(rng.nextParallelRNG(19), 0.745, 2) + .child(new CNG(rng.nextParallelRNG(19), 1, 2) .scale(0.1)) .fractureWith(new CNG(rng.nextParallelRNG(20), 1, 3) - .scale(0.15), 24), 44); + .scale(0.15), 24), 44).down(0.3).patch(2.5); //@done } @@ -62,6 +63,7 @@ public class CNG freq = 1; amp = 1; scale = 1; + patch = 1; fscale = 1; fracture = null; generator = new SNG(random); @@ -116,12 +118,66 @@ public class CNG return this; } + public CNG patch(double c) + { + patch = c; + return this; + } + + public CNG up(double c) + { + up = c; + return this; + } + + public CNG down(double c) + { + down = c; + return this; + } + public CNG injectWith(NoiseInjector i) { injector = i; return this; } + public int fit(int min, int max, double... dim) + { + if(min == max) + { + return min; + } + + double noise = noise(dim); + + return (int) Math.round(IrisInterpolation.lerp(min, max, noise)); + } + + public int fitDouble(double min, double max, double... dim) + { + if(min == max) + { + return (int) Math.round(min); + } + + double noise = noise(dim); + + return (int) Math.round(IrisInterpolation.lerp(min, max, noise)); + } + + public int fitDoubleExponent(double min, double max, double exponent, double... dim) + { + if(min == max) + { + return (int) Math.round(min); + } + + double noise = noise(dim); + + return (int) Math.round(IrisInterpolation.lerp(min, max, exponent == 1 ? noise : Math.pow(noise, exponent))); + } + public double noise(double... dim) { double f = fracture != null ? (fracture.noise(dim) - 0.5) * fscale : 0D; @@ -134,7 +190,7 @@ public class CNG hits += oct; if(children == null) { - return n; + return (n - down + up) * patch; } for(CNG i : children) @@ -144,7 +200,7 @@ public class CNG m += r[1]; } - return n / m; + return ((n / m) - down + up) * patch; } public CNG pow(double power) diff --git a/src/main/java/ninja/bytecode/iris/util/CellGenerator2D.java b/src/main/java/ninja/bytecode/iris/util/CellGenerator2D.java new file mode 100644 index 000000000..0c7b5157e --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/CellGenerator2D.java @@ -0,0 +1,54 @@ +package ninja.bytecode.iris.util; + +import lombok.Getter; +import lombok.Setter; +import ninja.bytecode.iris.util.FastNoise.CellularDistanceFunction; +import ninja.bytecode.iris.util.FastNoise.CellularReturnType; +import ninja.bytecode.iris.util.FastNoise.NoiseType; + +public class CellGenerator2D +{ + private FastNoise fn; + private FastNoise fd; + private CNG cng; + + @Getter + @Setter + private double cellScale; + + @Getter + @Setter + private double shuffle; + + public CellGenerator2D(RNG rng) + { + shuffle = 128; + cellScale = 0.73; + cng = CNG.signature(rng.nextParallelRNG(3204)); + RNG rx = rng.nextParallelRNG(8735652); + int s = rx.nextInt(); + fn = new FastNoise(s); + fn.SetNoiseType(NoiseType.Cellular); + fn.SetCellularReturnType(CellularReturnType.CellValue); + fn.SetCellularDistanceFunction(CellularDistanceFunction.Natural); + fd = new FastNoise(s); + fd.SetNoiseType(NoiseType.Cellular); + fd.SetCellularReturnType(CellularReturnType.Distance2Sub); + fd.SetCellularDistanceFunction(CellularDistanceFunction.Natural); + } + + public float getDistance(double x, double z) + { + return ((fd.GetCellular((float) ((x * cellScale) + (cng.noise(x, z) * shuffle)), (float) ((z * cellScale) + (cng.noise(z, x) * shuffle)))) + 1f) / 2f; + } + + public float getValue(double x, double z, int possibilities) + { + return ((fn.GetCellular((float) ((x * cellScale) + (cng.noise(x, z) * shuffle)), (float) ((z * cellScale) + (cng.noise(z, x) * shuffle))) + 1f) / 2f) * (possibilities - 1); + } + + public int getIndex(double x, double z, int possibilities) + { + return (int) Math.round(getValue(x, z, possibilities)); + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/FastNoise.java b/src/main/java/ninja/bytecode/iris/util/FastNoise.java new file mode 100644 index 000000000..822e99bd0 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/FastNoise.java @@ -0,0 +1,2197 @@ +// FastNoise.java +// +// MIT License +// +// Copyright(c) 2017 Jordan Peck +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files(the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and / or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions : +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. +// +// The developer's email is jorzixdan.me2@gzixmail.com (for great email, take +// off every 'zix'.) +// +package ninja.bytecode.iris.util; + +import javax.vecmath.Vector2f; +import javax.vecmath.Vector3f; + +public class FastNoise { + public enum NoiseType {Value, ValueFractal, Perlin, PerlinFractal, Simplex, SimplexFractal, Cellular, WhiteNoise, Cubic, CubicFractal} + public enum Interp {Linear, Hermite, Quintic} + public enum FractalType {FBM, Billow, RigidMulti} + public enum CellularDistanceFunction {Euclidean, Manhattan, Natural} + public enum CellularReturnType {CellValue, NoiseLookup, Distance, Distance2, Distance2Add, Distance2Sub, Distance2Mul, Distance2Div} + + private int m_seed = 1337; + private float m_frequency = (float) 0.01; + private Interp m_interp = Interp.Quintic; + private NoiseType m_noiseType = NoiseType.Simplex; + + private int m_octaves = 3; + private float m_lacunarity = (float) 2.0; + private float m_gain = (float) 0.5; + private FractalType m_fractalType = FractalType.FBM; + + private float m_fractalBounding; + + private CellularDistanceFunction m_cellularDistanceFunction = CellularDistanceFunction.Euclidean; + private CellularReturnType m_cellularReturnType = CellularReturnType.CellValue; + private FastNoise m_cellularNoiseLookup = null; + + private float m_gradientPerturbAmp = (float) (1.0 / 0.45); + + public FastNoise() { + this(1337); + } + + public FastNoise(int seed) { + m_seed = seed; + CalculateFractalBounding(); + } + + // Returns a 0 float/double + public static float GetDecimalType() { + return 0; + } + + // Returns the seed used by this object + public int GetSeed() { + return m_seed; + } + + // Sets seed used for all noise types + // Default: 1337 + public void SetSeed(int seed) { + m_seed = seed; + } + + // Sets frequency for all noise types + // Default: 0.01 + public void SetFrequency(float frequency) { + m_frequency = frequency; + } + + // Changes the interpolation method used to smooth between noise values + // Possible interpolation methods (lowest to highest quality) : + // - Linear + // - Hermite + // - Quintic + // Used in Value, Gradient Noise and Position Perturbing + // Default: Quintic + public void SetInterp(Interp interp) { + m_interp = interp; + } + + // Sets noise return type of GetNoise(...) + // Default: Simplex + public void SetNoiseType(NoiseType noiseType) { + m_noiseType = noiseType; + } + + // Sets octave count for all fractal noise types + // Default: 3 + public void SetFractalOctaves(int octaves) { + m_octaves = octaves; + CalculateFractalBounding(); + } + + // Sets octave lacunarity for all fractal noise types + // Default: 2.0 + public void SetFractalLacunarity(float lacunarity) { + m_lacunarity = lacunarity; + } + + // Sets octave gain for all fractal noise types + // Default: 0.5 + public void SetFractalGain(float gain) { + m_gain = gain; + CalculateFractalBounding(); + } + + // Sets method for combining octaves in all fractal noise types + // Default: FBM + public void SetFractalType(FractalType fractalType) { + m_fractalType = fractalType; + } + + // Sets return type from cellular noise calculations + // Note: NoiseLookup requires another FastNoise object be set with SetCellularNoiseLookup() to function + // Default: CellValue + public void SetCellularDistanceFunction(CellularDistanceFunction cellularDistanceFunction) { + m_cellularDistanceFunction = cellularDistanceFunction; + } + + // Sets distance function used in cellular noise calculations + // Default: Euclidean + public void SetCellularReturnType(CellularReturnType cellularReturnType) { + m_cellularReturnType = cellularReturnType; + } + + // Noise used to calculate a cell value if cellular return type is NoiseLookup + // The lookup value is acquired through GetNoise() so ensure you SetNoiseType() on the noise lookup, value, gradient or simplex is recommended + public void SetCellularNoiseLookup(FastNoise noise) { + m_cellularNoiseLookup = noise; + } + + // Sets the maximum perturb distance from original location when using GradientPerturb{Fractal}(...) + // Default: 1.0 + public void SetGradientPerturbAmp(float gradientPerturbAmp) { + m_gradientPerturbAmp = gradientPerturbAmp / (float) 0.45; + } + + private static class Float2 { + public final float x, y; + + public Float2(float x, float y) { + this.x = x; + this.y = y; + } + } + + private static class Float3 { + public final float x, y, z; + + public Float3(float x, float y, float z) { + this.x = x; + this.y = y; + this.z = z; + } + } + + private static final Float2[] GRAD_2D = { + new Float2(-1, -1), new Float2(1, -1), new Float2(-1, 1), new Float2(1, 1), + new Float2(0, -1), new Float2(-1, 0), new Float2(0, 1), new Float2(1, 0), + }; + + private static final Float3[] GRAD_3D = { + new Float3(1, 1, 0), new Float3(-1, 1, 0), new Float3(1, -1, 0), new Float3(-1, -1, 0), + new Float3(1, 0, 1), new Float3(-1, 0, 1), new Float3(1, 0, -1), new Float3(-1, 0, -1), + new Float3(0, 1, 1), new Float3(0, -1, 1), new Float3(0, 1, -1), new Float3(0, -1, -1), + new Float3(1, 1, 0), new Float3(0, -1, 1), new Float3(-1, 1, 0), new Float3(0, -1, -1), + }; + + private static final Float2[] CELL_2D = + { + new Float2(-0.4313539279f, 0.1281943404f), new Float2(-0.1733316799f, 0.415278375f), new Float2(-0.2821957395f, -0.3505218461f), new Float2(-0.2806473808f, 0.3517627718f), new Float2(0.3125508975f, -0.3237467165f), new Float2(0.3383018443f, -0.2967353402f), new Float2(-0.4393982022f, -0.09710417025f), new Float2(-0.4460443703f, -0.05953502905f), + new Float2(-0.302223039f, 0.3334085102f), new Float2(-0.212681052f, -0.3965687458f), new Float2(-0.2991156529f, 0.3361990872f), new Float2(0.2293323691f, 0.3871778202f), new Float2(0.4475439151f, -0.04695150755f), new Float2(0.1777518f, 0.41340573f), new Float2(0.1688522499f, -0.4171197882f), new Float2(-0.0976597166f, 0.4392750616f), + new Float2(0.08450188373f, 0.4419948321f), new Float2(-0.4098760448f, -0.1857461384f), new Float2(0.3476585782f, -0.2857157906f), new Float2(-0.3350670039f, -0.30038326f), new Float2(0.2298190031f, -0.3868891648f), new Float2(-0.01069924099f, 0.449872789f), new Float2(-0.4460141246f, -0.05976119672f), new Float2(0.3650293864f, 0.2631606867f), + new Float2(-0.349479423f, 0.2834856838f), new Float2(-0.4122720642f, 0.1803655873f), new Float2(-0.267327811f, 0.3619887311f), new Float2(0.322124041f, -0.3142230135f), new Float2(0.2880445931f, -0.3457315612f), new Float2(0.3892170926f, -0.2258540565f), new Float2(0.4492085018f, -0.02667811596f), new Float2(-0.4497724772f, 0.01430799601f), + new Float2(0.1278175387f, -0.4314657307f), new Float2(-0.03572100503f, 0.4485799926f), new Float2(-0.4297407068f, -0.1335025276f), new Float2(-0.3217817723f, 0.3145735065f), new Float2(-0.3057158873f, 0.3302087162f), new Float2(-0.414503978f, 0.1751754899f), new Float2(-0.3738139881f, 0.2505256519f), new Float2(0.2236891408f, -0.3904653228f), + new Float2(0.002967775577f, -0.4499902136f), new Float2(0.1747128327f, -0.4146991995f), new Float2(-0.4423772489f, -0.08247647938f), new Float2(-0.2763960987f, -0.355112935f), new Float2(-0.4019385906f, -0.2023496216f), new Float2(0.3871414161f, -0.2293938184f), new Float2(-0.430008727f, 0.1326367019f), new Float2(-0.03037574274f, -0.4489736231f), + new Float2(-0.3486181573f, 0.2845441624f), new Float2(0.04553517144f, -0.4476902368f), new Float2(-0.0375802926f, 0.4484280562f), new Float2(0.3266408905f, 0.3095250049f), new Float2(0.06540017593f, -0.4452222108f), new Float2(0.03409025829f, 0.448706869f), new Float2(-0.4449193635f, 0.06742966669f), new Float2(-0.4255936157f, -0.1461850686f), + new Float2(0.449917292f, 0.008627302568f), new Float2(0.05242606404f, 0.4469356864f), new Float2(-0.4495305179f, -0.02055026661f), new Float2(-0.1204775703f, 0.4335725488f), new Float2(-0.341986385f, -0.2924813028f), new Float2(0.3865320182f, 0.2304191809f), new Float2(0.04506097811f, -0.447738214f), new Float2(-0.06283465979f, 0.4455915232f), + new Float2(0.3932600341f, -0.2187385324f), new Float2(0.4472261803f, -0.04988730975f), new Float2(0.3753571011f, -0.2482076684f), new Float2(-0.273662295f, 0.357223947f), new Float2(0.1700461538f, 0.4166344988f), new Float2(0.4102692229f, 0.1848760794f), new Float2(0.323227187f, -0.3130881435f), new Float2(-0.2882310238f, -0.3455761521f), + new Float2(0.2050972664f, 0.4005435199f), new Float2(0.4414085979f, -0.08751256895f), new Float2(-0.1684700334f, 0.4172743077f), new Float2(-0.003978032396f, 0.4499824166f), new Float2(-0.2055133639f, 0.4003301853f), new Float2(-0.006095674897f, -0.4499587123f), new Float2(-0.1196228124f, -0.4338091548f), new Float2(0.3901528491f, -0.2242337048f), + new Float2(0.01723531752f, 0.4496698165f), new Float2(-0.3015070339f, 0.3340561458f), new Float2(-0.01514262423f, -0.4497451511f), new Float2(-0.4142574071f, -0.1757577897f), new Float2(-0.1916377265f, -0.4071547394f), new Float2(0.3749248747f, 0.2488600778f), new Float2(-0.2237774255f, 0.3904147331f), new Float2(-0.4166343106f, -0.1700466149f), + new Float2(0.3619171625f, 0.267424695f), new Float2(0.1891126846f, -0.4083336779f), new Float2(-0.3127425077f, 0.323561623f), new Float2(-0.3281807787f, 0.307891826f), new Float2(-0.2294806661f, 0.3870899429f), new Float2(-0.3445266136f, 0.2894847362f), new Float2(-0.4167095422f, -0.1698621719f), new Float2(-0.257890321f, -0.3687717212f), + new Float2(-0.3612037825f, 0.2683874578f), new Float2(0.2267996491f, 0.3886668486f), new Float2(0.207157062f, 0.3994821043f), new Float2(0.08355176718f, -0.4421754202f), new Float2(-0.4312233307f, 0.1286329626f), new Float2(0.3257055497f, 0.3105090899f), new Float2(0.177701095f, -0.4134275279f), new Float2(-0.445182522f, 0.06566979625f), + new Float2(0.3955143435f, 0.2146355146f), new Float2(-0.4264613988f, 0.1436338239f), new Float2(-0.3793799665f, -0.2420141339f), new Float2(0.04617599081f, -0.4476245948f), new Float2(-0.371405428f, -0.2540826796f), new Float2(0.2563570295f, -0.3698392535f), new Float2(0.03476646309f, 0.4486549822f), new Float2(-0.3065454405f, 0.3294387544f), + new Float2(-0.2256979823f, 0.3893076172f), new Float2(0.4116448463f, -0.1817925206f), new Float2(-0.2907745828f, -0.3434387019f), new Float2(0.2842278468f, -0.348876097f), new Float2(0.3114589359f, -0.3247973695f), new Float2(0.4464155859f, -0.0566844308f), new Float2(-0.3037334033f, -0.3320331606f), new Float2(0.4079607166f, 0.1899159123f), + new Float2(-0.3486948919f, -0.2844501228f), new Float2(0.3264821436f, 0.3096924441f), new Float2(0.3211142406f, 0.3152548881f), new Float2(0.01183382662f, 0.4498443737f), new Float2(0.4333844092f, 0.1211526057f), new Float2(0.3118668416f, 0.324405723f), new Float2(-0.272753471f, 0.3579183483f), new Float2(-0.422228622f, -0.1556373694f), + new Float2(-0.1009700099f, -0.4385260051f), new Float2(-0.2741171231f, -0.3568750521f), new Float2(-0.1465125133f, 0.4254810025f), new Float2(0.2302279044f, -0.3866459777f), new Float2(-0.3699435608f, 0.2562064828f), new Float2(0.105700352f, -0.4374099171f), new Float2(-0.2646713633f, 0.3639355292f), new Float2(0.3521828122f, 0.2801200935f), + new Float2(-0.1864187807f, -0.4095705534f), new Float2(0.1994492955f, -0.4033856449f), new Float2(0.3937065066f, 0.2179339044f), new Float2(-0.3226158377f, 0.3137180602f), new Float2(0.3796235338f, 0.2416318948f), new Float2(0.1482921929f, 0.4248640083f), new Float2(-0.407400394f, 0.1911149365f), new Float2(0.4212853031f, 0.1581729856f), + new Float2(-0.2621297173f, 0.3657704353f), new Float2(-0.2536986953f, -0.3716678248f), new Float2(-0.2100236383f, 0.3979825013f), new Float2(0.3624152444f, 0.2667493029f), new Float2(-0.3645038479f, -0.2638881295f), new Float2(0.2318486784f, 0.3856762766f), new Float2(-0.3260457004f, 0.3101519002f), new Float2(-0.2130045332f, -0.3963950918f), + new Float2(0.3814998766f, -0.2386584257f), new Float2(-0.342977305f, 0.2913186713f), new Float2(-0.4355865605f, 0.1129794154f), new Float2(-0.2104679605f, 0.3977477059f), new Float2(0.3348364681f, -0.3006402163f), new Float2(0.3430468811f, 0.2912367377f), new Float2(-0.2291836801f, -0.3872658529f), new Float2(0.2547707298f, -0.3709337882f), + new Float2(0.4236174945f, -0.151816397f), new Float2(-0.15387742f, 0.4228731957f), new Float2(-0.4407449312f, 0.09079595574f), new Float2(-0.06805276192f, -0.444824484f), new Float2(0.4453517192f, -0.06451237284f), new Float2(0.2562464609f, -0.3699158705f), new Float2(0.3278198355f, -0.3082761026f), new Float2(-0.4122774207f, -0.1803533432f), + new Float2(0.3354090914f, -0.3000012356f), new Float2(0.446632869f, -0.05494615882f), new Float2(-0.1608953296f, 0.4202531296f), new Float2(-0.09463954939f, 0.4399356268f), new Float2(-0.02637688324f, -0.4492262904f), new Float2(0.447102804f, -0.05098119915f), new Float2(-0.4365670908f, 0.1091291678f), new Float2(-0.3959858651f, 0.2137643437f), + new Float2(-0.4240048207f, -0.1507312575f), new Float2(-0.3882794568f, 0.2274622243f), new Float2(-0.4283652566f, -0.1378521198f), new Float2(0.3303888091f, 0.305521251f), new Float2(0.3321434919f, -0.3036127481f), new Float2(-0.413021046f, -0.1786438231f), new Float2(0.08403060337f, -0.4420846725f), new Float2(-0.3822882919f, 0.2373934748f), + new Float2(-0.3712395594f, -0.2543249683f), new Float2(0.4472363971f, -0.04979563372f), new Float2(-0.4466591209f, 0.05473234629f), new Float2(0.0486272539f, -0.4473649407f), new Float2(-0.4203101295f, -0.1607463688f), new Float2(0.2205360833f, 0.39225481f), new Float2(-0.3624900666f, 0.2666476169f), new Float2(-0.4036086833f, -0.1989975647f), + new Float2(0.2152727807f, 0.3951678503f), new Float2(-0.4359392962f, -0.1116106179f), new Float2(0.4178354266f, 0.1670735057f), new Float2(0.2007630161f, 0.4027334247f), new Float2(-0.07278067175f, -0.4440754146f), new Float2(0.3644748615f, -0.2639281632f), new Float2(-0.4317451775f, 0.126870413f), new Float2(-0.297436456f, 0.3376855855f), + new Float2(-0.2998672222f, 0.3355289094f), new Float2(-0.2673674124f, 0.3619594822f), new Float2(0.2808423357f, 0.3516071423f), new Float2(0.3498946567f, 0.2829730186f), new Float2(-0.2229685561f, 0.390877248f), new Float2(0.3305823267f, 0.3053118493f), new Float2(-0.2436681211f, -0.3783197679f), new Float2(-0.03402776529f, 0.4487116125f), + new Float2(-0.319358823f, 0.3170330301f), new Float2(0.4454633477f, -0.06373700535f), new Float2(0.4483504221f, 0.03849544189f), new Float2(-0.4427358436f, -0.08052932871f), new Float2(0.05452298565f, 0.4466847255f), new Float2(-0.2812560807f, 0.3512762688f), new Float2(0.1266696921f, 0.4318041097f), new Float2(-0.3735981243f, 0.2508474468f), + new Float2(0.2959708351f, -0.3389708908f), new Float2(-0.3714377181f, 0.254035473f), new Float2(-0.404467102f, -0.1972469604f), new Float2(0.1636165687f, -0.419201167f), new Float2(0.3289185495f, -0.3071035458f), new Float2(-0.2494824991f, -0.3745109914f), new Float2(0.03283133272f, 0.4488007393f), new Float2(-0.166306057f, -0.4181414777f), + new Float2(-0.106833179f, 0.4371346153f), new Float2(0.06440260376f, -0.4453676062f), new Float2(-0.4483230967f, 0.03881238203f), new Float2(-0.421377757f, -0.1579265206f), new Float2(0.05097920662f, -0.4471030312f), new Float2(0.2050584153f, -0.4005634111f), new Float2(0.4178098529f, -0.167137449f), new Float2(-0.3565189504f, -0.2745801121f), + new Float2(0.4478398129f, 0.04403977727f), new Float2(-0.3399999602f, -0.2947881053f), new Float2(0.3767121994f, 0.2461461331f), new Float2(-0.3138934434f, 0.3224451987f), new Float2(-0.1462001792f, -0.4255884251f), new Float2(0.3970290489f, -0.2118205239f), new Float2(0.4459149305f, -0.06049689889f), new Float2(-0.4104889426f, -0.1843877112f), + new Float2(0.1475103971f, -0.4251360756f), new Float2(0.09258030352f, 0.4403735771f), new Float2(-0.1589664637f, -0.4209865359f), new Float2(0.2482445008f, 0.3753327428f), new Float2(0.4383624232f, -0.1016778537f), new Float2(0.06242802956f, 0.4456486745f), new Float2(0.2846591015f, -0.3485243118f), new Float2(-0.344202744f, -0.2898697484f), + new Float2(0.1198188883f, -0.4337550392f), new Float2(-0.243590703f, 0.3783696201f), new Float2(0.2958191174f, -0.3391033025f), new Float2(-0.1164007991f, 0.4346847754f), new Float2(0.1274037151f, -0.4315881062f), new Float2(0.368047306f, 0.2589231171f), new Float2(0.2451436949f, 0.3773652989f), new Float2(-0.4314509715f, 0.12786735f), + }; + + private static final Float3[] CELL_3D = + { + new Float3(0.1453787434f, -0.4149781685f, -0.0956981749f), new Float3(-0.01242829687f, -0.1457918398f, -0.4255470325f), new Float3(0.2877979582f, -0.02606483451f, -0.3449535616f), new Float3(-0.07732986802f, 0.2377094325f, 0.3741848704f), new Float3(0.1107205875f, -0.3552302079f, -0.2530858567f), new Float3(0.2755209141f, 0.2640521179f, -0.238463215f), new Float3(0.294168941f, 0.1526064594f, 0.3044271714f), new Float3(0.4000921098f, -0.2034056362f, 0.03244149937f), + new Float3(-0.1697304074f, 0.3970864695f, -0.1265461359f), new Float3(-0.1483224484f, -0.3859694688f, 0.1775613147f), new Float3(0.2623596946f, -0.2354852944f, 0.2796677792f), new Float3(-0.2709003183f, 0.3505271138f, -0.07901746678f), new Float3(-0.03516550699f, 0.3885234328f, 0.2243054374f), new Float3(-0.1267712655f, 0.1920044036f, 0.3867342179f), new Float3(0.02952021915f, 0.4409685861f, 0.08470692262f), new Float3(-0.2806854217f, -0.266996757f, 0.2289725438f), + new Float3(-0.171159547f, 0.2141185563f, 0.3568720405f), new Float3(0.2113227183f, 0.3902405947f, -0.07453178509f), new Float3(-0.1024352839f, 0.2128044156f, -0.3830421561f), new Float3(-0.3304249877f, -0.1566986703f, 0.2622305365f), new Float3(0.2091111325f, 0.3133278055f, -0.2461670583f), new Float3(0.344678154f, -0.1944240454f, -0.2142341261f), new Float3(0.1984478035f, -0.3214342325f, -0.2445373252f), new Float3(-0.2929008603f, 0.2262915116f, 0.2559320961f), + new Float3(-0.1617332831f, 0.006314769776f, -0.4198838754f), new Float3(-0.3582060271f, -0.148303178f, -0.2284613961f), new Float3(-0.1852067326f, -0.3454119342f, -0.2211087107f), new Float3(0.3046301062f, 0.1026310383f, 0.314908508f), new Float3(-0.03816768434f, -0.2551766358f, -0.3686842991f), new Float3(-0.4084952196f, 0.1805950793f, 0.05492788837f), new Float3(-0.02687443361f, -0.2749741471f, 0.3551999201f), new Float3(-0.03801098351f, 0.3277859044f, 0.3059600725f), + new Float3(0.2371120802f, 0.2900386767f, -0.2493099024f), new Float3(0.4447660503f, 0.03946930643f, 0.05590469027f), new Float3(0.01985147278f, -0.01503183293f, -0.4493105419f), new Float3(0.4274339143f, 0.03345994256f, -0.1366772882f), new Float3(-0.2072988631f, 0.2871414597f, -0.2776273824f), new Float3(-0.3791240978f, 0.1281177671f, 0.2057929936f), new Float3(-0.2098721267f, -0.1007087278f, -0.3851122467f), new Float3(0.01582798878f, 0.4263894424f, 0.1429738373f), + new Float3(-0.1888129464f, -0.3160996813f, -0.2587096108f), new Float3(0.1612988974f, -0.1974805082f, -0.3707885038f), new Float3(-0.08974491322f, 0.229148752f, -0.3767448739f), new Float3(0.07041229526f, 0.4150230285f, -0.1590534329f), new Float3(-0.1082925611f, -0.1586061639f, 0.4069604477f), new Float3(0.2474100658f, -0.3309414609f, 0.1782302128f), new Float3(-0.1068836661f, -0.2701644537f, -0.3436379634f), new Float3(0.2396452163f, 0.06803600538f, -0.3747549496f), + new Float3(-0.3063886072f, 0.2597428179f, 0.2028785103f), new Float3(0.1593342891f, -0.3114350249f, -0.2830561951f), new Float3(0.2709690528f, 0.1412648683f, -0.3303331794f), new Float3(-0.1519780427f, 0.3623355133f, 0.2193527988f), new Float3(0.1699773681f, 0.3456012883f, 0.2327390037f), new Float3(-0.1986155616f, 0.3836276443f, -0.1260225743f), new Float3(-0.1887482106f, -0.2050154888f, -0.353330953f), new Float3(0.2659103394f, 0.3015631259f, -0.2021172246f), + new Float3(-0.08838976154f, -0.4288819642f, -0.1036702021f), new Float3(-0.04201869311f, 0.3099592485f, 0.3235115047f), new Float3(-0.3230334656f, 0.201549922f, -0.2398478873f), new Float3(0.2612720941f, 0.2759854499f, -0.2409749453f), new Float3(0.385713046f, 0.2193460345f, 0.07491837764f), new Float3(0.07654967953f, 0.3721732183f, 0.241095919f), new Float3(0.4317038818f, -0.02577753072f, 0.1243675091f), new Float3(-0.2890436293f, -0.3418179959f, -0.04598084447f), + new Float3(-0.2201947582f, 0.383023377f, -0.08548310451f), new Float3(0.4161322773f, -0.1669634289f, -0.03817251927f), new Float3(0.2204718095f, 0.02654238946f, -0.391391981f), new Float3(-0.1040307469f, 0.3890079625f, -0.2008741118f), new Float3(-0.1432122615f, 0.371614387f, -0.2095065525f), new Float3(0.3978380468f, -0.06206669342f, 0.2009293758f), new Float3(-0.2599274663f, 0.2616724959f, -0.2578084893f), new Float3(0.4032618332f, -0.1124593585f, 0.1650235939f), + new Float3(-0.08953470255f, -0.3048244735f, 0.3186935478f), new Float3(0.118937202f, -0.2875221847f, 0.325092195f), new Float3(0.02167047076f, -0.03284630549f, -0.4482761547f), new Float3(-0.3411343612f, 0.2500031105f, 0.1537068389f), new Float3(0.3162964612f, 0.3082064153f, -0.08640228117f), new Float3(0.2355138889f, -0.3439334267f, -0.1695376245f), new Float3(-0.02874541518f, -0.3955933019f, 0.2125550295f), new Float3(-0.2461455173f, 0.02020282325f, -0.3761704803f), + new Float3(0.04208029445f, -0.4470439576f, 0.02968078139f), new Float3(0.2727458746f, 0.2288471896f, -0.2752065618f), new Float3(-0.1347522818f, -0.02720848277f, -0.4284874806f), new Float3(0.3829624424f, 0.1231931484f, -0.2016512234f), new Float3(-0.3547613644f, 0.1271702173f, 0.2459107769f), new Float3(0.2305790207f, 0.3063895591f, 0.2354968222f), new Float3(-0.08323845599f, -0.1922245118f, 0.3982726409f), new Float3(0.2993663085f, -0.2619918095f, -0.2103333191f), + new Float3(-0.2154865723f, 0.2706747713f, 0.287751117f), new Float3(0.01683355354f, -0.2680655787f, -0.3610505186f), new Float3(0.05240429123f, 0.4335128183f, -0.1087217856f), new Float3(0.00940104872f, -0.4472890582f, 0.04841609928f), new Float3(0.3465688735f, 0.01141914583f, -0.2868093776f), new Float3(-0.3706867948f, -0.2551104378f, 0.003156692623f), new Float3(0.2741169781f, 0.2139972417f, -0.2855959784f), new Float3(0.06413433865f, 0.1708718512f, 0.4113266307f), + new Float3(-0.388187972f, -0.03973280434f, -0.2241236325f), new Float3(0.06419469312f, -0.2803682491f, 0.3460819069f), new Float3(-0.1986120739f, -0.3391173584f, 0.2192091725f), new Float3(-0.203203009f, -0.3871641506f, 0.1063600375f), new Float3(-0.1389736354f, -0.2775901578f, -0.3257760473f), new Float3(-0.06555641638f, 0.342253257f, -0.2847192729f), new Float3(-0.2529246486f, -0.2904227915f, 0.2327739768f), new Float3(0.1444476522f, 0.1069184044f, 0.4125570634f), + new Float3(-0.3643780054f, -0.2447099973f, -0.09922543227f), new Float3(0.4286142488f, -0.1358496089f, -0.01829506817f), new Float3(0.165872923f, -0.3136808464f, -0.2767498872f), new Float3(0.2219610524f, -0.3658139958f, 0.1393320198f), new Float3(0.04322940318f, -0.3832730794f, 0.2318037215f), new Float3(-0.08481269795f, -0.4404869674f, -0.03574965489f), new Float3(0.1822082075f, -0.3953259299f, 0.1140946023f), new Float3(-0.3269323334f, 0.3036542563f, 0.05838957105f), + new Float3(-0.4080485344f, 0.04227858267f, -0.184956522f), new Float3(0.2676025294f, -0.01299671652f, 0.36155217f), new Float3(0.3024892441f, -0.1009990293f, -0.3174892964f), new Float3(0.1448494052f, 0.425921681f, -0.0104580805f), new Float3(0.4198402157f, 0.08062320474f, 0.1404780841f), new Float3(-0.3008872161f, -0.333040905f, -0.03241355801f), new Float3(0.3639310428f, -0.1291284382f, -0.2310412139f), new Float3(0.3295806598f, 0.0184175994f, -0.3058388149f), + new Float3(0.2776259487f, -0.2974929052f, -0.1921504723f), new Float3(0.4149000507f, -0.144793182f, -0.09691688386f), new Float3(0.145016715f, -0.0398992945f, 0.4241205002f), new Float3(0.09299023471f, -0.299732164f, -0.3225111565f), new Float3(0.1028907093f, -0.361266869f, 0.247789732f), new Float3(0.2683057049f, -0.07076041213f, -0.3542668666f), new Float3(-0.4227307273f, -0.07933161816f, -0.1323073187f), new Float3(-0.1781224702f, 0.1806857196f, -0.3716517945f), + new Float3(0.4390788626f, -0.02841848598f, -0.09435116353f), new Float3(0.2972583585f, 0.2382799621f, -0.2394997452f), new Float3(-0.1707002821f, 0.2215845691f, 0.3525077196f), new Float3(0.3806686614f, 0.1471852559f, -0.1895464869f), new Float3(-0.1751445661f, -0.274887877f, 0.3102596268f), new Float3(-0.2227237566f, -0.2316778837f, 0.3149912482f), new Float3(0.1369633021f, 0.1341343041f, -0.4071228836f), new Float3(-0.3529503428f, -0.2472893463f, -0.129514612f), + new Float3(-0.2590744185f, -0.2985577559f, -0.2150435121f), new Float3(-0.3784019401f, 0.2199816631f, -0.1044989934f), new Float3(-0.05635805671f, 0.1485737441f, 0.4210102279f), new Float3(0.3251428613f, 0.09666046873f, -0.2957006485f), new Float3(-0.4190995804f, 0.1406751354f, -0.08405978803f), new Float3(-0.3253150961f, -0.3080335042f, -0.04225456877f), new Float3(0.2857945863f, -0.05796152095f, 0.3427271751f), new Float3(-0.2733604046f, 0.1973770973f, -0.2980207554f), + new Float3(0.219003657f, 0.2410037886f, -0.3105713639f), new Float3(0.3182767252f, -0.271342949f, 0.1660509868f), new Float3(-0.03222023115f, -0.3331161506f, -0.300824678f), new Float3(-0.3087780231f, 0.1992794134f, -0.2596995338f), new Float3(-0.06487611647f, -0.4311322747f, 0.1114273361f), new Float3(0.3921171432f, -0.06294284106f, -0.2116183942f), new Float3(-0.1606404506f, -0.358928121f, -0.2187812825f), new Float3(-0.03767771199f, -0.2290351443f, 0.3855169162f), + new Float3(0.1394866832f, -0.3602213994f, 0.2308332918f), new Float3(-0.4345093872f, 0.005751117145f, 0.1169124335f), new Float3(-0.1044637494f, 0.4168128432f, -0.1336202785f), new Float3(0.2658727501f, 0.2551943237f, 0.2582393035f), new Float3(0.2051461999f, 0.1975390727f, 0.3484154868f), new Float3(-0.266085566f, 0.23483312f, 0.2766800993f), new Float3(0.07849405464f, -0.3300346342f, -0.2956616708f), new Float3(-0.2160686338f, 0.05376451292f, -0.3910546287f), + new Float3(-0.185779186f, 0.2148499206f, 0.3490352499f), new Float3(0.02492421743f, -0.3229954284f, -0.3123343347f), new Float3(-0.120167831f, 0.4017266681f, 0.1633259825f), new Float3(-0.02160084693f, -0.06885389554f, 0.4441762538f), new Float3(0.2597670064f, 0.3096300784f, 0.1978643903f), new Float3(-0.1611553854f, -0.09823036005f, 0.4085091653f), new Float3(-0.3278896792f, 0.1461670309f, 0.2713366126f), new Float3(0.2822734956f, 0.03754421121f, -0.3484423997f), + new Float3(0.03169341113f, 0.347405252f, -0.2842624114f), new Float3(0.2202613604f, -0.3460788041f, -0.1849713341f), new Float3(0.2933396046f, 0.3031973659f, 0.1565989581f), new Float3(-0.3194922995f, 0.2453752201f, -0.200538455f), new Float3(-0.3441586045f, -0.1698856132f, -0.2349334659f), new Float3(0.2703645948f, -0.3574277231f, 0.04060059933f), new Float3(0.2298568861f, 0.3744156221f, 0.0973588921f), new Float3(0.09326603877f, -0.3170108894f, 0.3054595587f), + new Float3(-0.1116165319f, -0.2985018719f, 0.3177080142f), new Float3(0.2172907365f, -0.3460005203f, -0.1885958001f), new Float3(0.1991339479f, 0.3820341668f, -0.1299829458f), new Float3(-0.0541918155f, -0.2103145071f, 0.39412061f), new Float3(0.08871336998f, 0.2012117383f, 0.3926114802f), new Float3(0.2787673278f, 0.3505404674f, 0.04370535101f), new Float3(-0.322166438f, 0.3067213525f, 0.06804996813f), new Float3(-0.4277366384f, 0.132066775f, 0.04582286686f), + new Float3(0.240131882f, -0.1612516055f, 0.344723946f), new Float3(0.1448607981f, -0.2387819045f, 0.3528435224f), new Float3(-0.3837065682f, -0.2206398454f, 0.08116235683f), new Float3(-0.4382627882f, -0.09082753406f, -0.04664855374f), new Float3(-0.37728353f, 0.05445141085f, 0.2391488697f), new Float3(0.1259579313f, 0.348394558f, 0.2554522098f), new Float3(-0.1406285511f, -0.270877371f, -0.3306796947f), new Float3(-0.1580694418f, 0.4162931958f, -0.06491553533f), + new Float3(0.2477612106f, -0.2927867412f, -0.2353514536f), new Float3(0.2916132853f, 0.3312535401f, 0.08793624968f), new Float3(0.07365265219f, -0.1666159848f, 0.411478311f), new Float3(-0.26126526f, -0.2422237692f, 0.2748965434f), new Float3(-0.3721862032f, 0.252790166f, 0.008634938242f), new Float3(-0.3691191571f, -0.255281188f, 0.03290232422f), new Float3(0.2278441737f, -0.3358364886f, 0.1944244981f), new Float3(0.363398169f, -0.2310190248f, 0.1306597909f), + new Float3(-0.304231482f, -0.2698452035f, 0.1926830856f), new Float3(-0.3199312232f, 0.316332536f, -0.008816977938f), new Float3(0.2874852279f, 0.1642275508f, -0.304764754f), new Float3(-0.1451096801f, 0.3277541114f, -0.2720669462f), new Float3(0.3220090754f, 0.0511344108f, 0.3101538769f), new Float3(-0.1247400865f, -0.04333605335f, -0.4301882115f), new Float3(-0.2829555867f, -0.3056190617f, -0.1703910946f), new Float3(0.1069384374f, 0.3491024667f, -0.2630430352f), + new Float3(-0.1420661144f, -0.3055376754f, -0.2982682484f), new Float3(-0.250548338f, 0.3156466809f, -0.2002316239f), new Float3(0.3265787872f, 0.1871229129f, 0.2466400438f), new Float3(0.07646097258f, -0.3026690852f, 0.324106687f), new Float3(0.3451771584f, 0.2757120714f, -0.0856480183f), new Float3(0.298137964f, 0.2852657134f, 0.179547284f), new Float3(0.2812250376f, 0.3466716415f, 0.05684409612f), new Float3(0.4390345476f, -0.09790429955f, -0.01278335452f), + new Float3(0.2148373234f, 0.1850172527f, 0.3494474791f), new Float3(0.2595421179f, -0.07946825393f, 0.3589187731f), new Float3(0.3182823114f, -0.307355516f, -0.08203022006f), new Float3(-0.4089859285f, -0.04647718411f, 0.1818526372f), new Float3(-0.2826749061f, 0.07417482322f, 0.3421885344f), new Float3(0.3483864637f, 0.225442246f, -0.1740766085f), new Float3(-0.3226415069f, -0.1420585388f, -0.2796816575f), new Float3(0.4330734858f, -0.118868561f, -0.02859407492f), + new Float3(-0.08717822568f, -0.3909896417f, -0.2050050172f), new Float3(-0.2149678299f, 0.3939973956f, -0.03247898316f), new Float3(-0.2687330705f, 0.322686276f, -0.1617284888f), new Float3(0.2105665099f, -0.1961317136f, -0.3459683451f), new Float3(0.4361845915f, -0.1105517485f, 0.004616608544f), new Float3(0.05333333359f, -0.313639498f, -0.3182543336f), new Float3(-0.05986216652f, 0.1361029153f, -0.4247264031f), new Float3(0.3664988455f, 0.2550543014f, -0.05590974511f), + new Float3(-0.2341015558f, -0.182405731f, 0.3382670703f), new Float3(-0.04730947785f, -0.4222150243f, -0.1483114513f), new Float3(-0.2391566239f, -0.2577696514f, -0.2808182972f), new Float3(-0.1242081035f, 0.4256953395f, -0.07652336246f), new Float3(0.2614832715f, -0.3650179274f, 0.02980623099f), new Float3(-0.2728794681f, -0.3499628774f, 0.07458404908f), new Float3(0.007892900508f, -0.1672771315f, 0.4176793787f), new Float3(-0.01730330376f, 0.2978486637f, -0.3368779738f), + new Float3(0.2054835762f, -0.3252600376f, -0.2334146693f), new Float3(-0.3231994983f, 0.1564282844f, -0.2712420987f), new Float3(-0.2669545963f, 0.2599343665f, -0.2523278991f), new Float3(-0.05554372779f, 0.3170813944f, -0.3144428146f), new Float3(-0.2083935713f, -0.310922837f, -0.2497981362f), new Float3(0.06989323478f, -0.3156141536f, 0.3130537363f), new Float3(0.3847566193f, -0.1605309138f, -0.1693876312f), new Float3(-0.3026215288f, -0.3001537679f, -0.1443188342f), + new Float3(0.3450735512f, 0.08611519592f, 0.2756962409f), new Float3(0.1814473292f, -0.2788782453f, -0.3029914042f), new Float3(-0.03855010448f, 0.09795110726f, 0.4375151083f), new Float3(0.3533670318f, 0.2665752752f, 0.08105160988f), new Float3(-0.007945601311f, 0.140359426f, -0.4274764309f), new Float3(0.4063099273f, -0.1491768253f, -0.1231199324f), new Float3(-0.2016773589f, 0.008816271194f, -0.4021797064f), new Float3(-0.07527055435f, -0.425643481f, -0.1251477955f), + }; + + + private static int FastFloor(float f) { + return (f >= 0 ? (int) f : (int) f - 1); + } + + + private static int FastRound(float f) { + return (f >= 0) ? (int) (f + (float) 0.5) : (int) (f - (float) 0.5); + } + + + private static float Lerp(float a, float b, float t) { + return a + t * (b - a); + } + + + private static float InterpHermiteFunc(float t) { + return t * t * (3 - 2 * t); + } + + + private static float InterpQuinticFunc(float t) { + return t * t * t * (t * (t * 6 - 15) + 10); + } + + + private static float CubicLerp(float a, float b, float c, float d, float t) { + float p = (d - c) - (a - b); + return t * t * t * p + t * t * ((a - b) - p) + t * (c - a) + b; + } + + private void CalculateFractalBounding() { + float amp = m_gain; + float ampFractal = 1; + for (int i = 1; i < m_octaves; i++) { + ampFractal += amp; + amp *= m_gain; + } + m_fractalBounding = 1 / ampFractal; + } + + // Hashing + private final static int X_PRIME = 1619; + private final static int Y_PRIME = 31337; + private final static int Z_PRIME = 6971; + private final static int W_PRIME = 1013; + + private static int Hash2D(int seed, int x, int y) { + int hash = seed; + hash ^= X_PRIME * x; + hash ^= Y_PRIME * y; + + hash = hash * hash * hash * 60493; + hash = (hash >> 13) ^ hash; + + return hash; + } + + private static int Hash3D(int seed, int x, int y, int z) { + int hash = seed; + hash ^= X_PRIME * x; + hash ^= Y_PRIME * y; + hash ^= Z_PRIME * z; + + hash = hash * hash * hash * 60493; + hash = (hash >> 13) ^ hash; + + return hash; + } + + public static int Hash4D(int seed, int x, int y, int z, int w) { + int hash = seed; + hash ^= X_PRIME * x; + hash ^= Y_PRIME * y; + hash ^= Z_PRIME * z; + hash ^= W_PRIME * w; + + hash = hash * hash * hash * 60493; + hash = (hash >> 13) ^ hash; + + return hash; + } + + private static float ValCoord2D(int seed, int x, int y) { + int n = seed; + n ^= X_PRIME * x; + n ^= Y_PRIME * y; + + return (n * n * n * 60493) / (float) 2147483648.0; + } + + private static float ValCoord3D(int seed, int x, int y, int z) { + int n = seed; + n ^= X_PRIME * x; + n ^= Y_PRIME * y; + n ^= Z_PRIME * z; + + return (n * n * n * 60493) / (float) 2147483648.0; + } + + private static float ValCoord4D(int seed, int x, int y, int z, int w) { + int n = seed; + n ^= X_PRIME * x; + n ^= Y_PRIME * y; + n ^= Z_PRIME * z; + n ^= W_PRIME * w; + + return (n * n * n * 60493) / (float) 2147483648.0; + } + + private static float GradCoord2D(int seed, int x, int y, float xd, float yd) { + int hash = seed; + hash ^= X_PRIME * x; + hash ^= Y_PRIME * y; + + hash = hash * hash * hash * 60493; + hash = (hash >> 13) ^ hash; + + Float2 g = GRAD_2D[hash & 7]; + + return xd * g.x + yd * g.y; + } + + private static float GradCoord3D(int seed, int x, int y, int z, float xd, float yd, float zd) { + int hash = seed; + hash ^= X_PRIME * x; + hash ^= Y_PRIME * y; + hash ^= Z_PRIME * z; + + hash = hash * hash * hash * 60493; + hash = (hash >> 13) ^ hash; + + Float3 g = GRAD_3D[hash & 15]; + + return xd * g.x + yd * g.y + zd * g.z; + } + + private static float GradCoord4D(int seed, int x, int y, int z, int w, float xd, float yd, float zd, float wd) { + int hash = seed; + hash ^= X_PRIME * x; + hash ^= Y_PRIME * y; + hash ^= Z_PRIME * z; + hash ^= W_PRIME * w; + + hash = hash * hash * hash * 60493; + hash = (hash >> 13) ^ hash; + + hash &= 31; + float a = yd, b = zd, c = wd; // X,Y,Z + switch (hash >> 3) { // OR, DEPENDING ON HIGH ORDER 2 BITS: + case 1: + a = wd; + b = xd; + c = yd; + break; // W,X,Y + case 2: + a = zd; + b = wd; + c = xd; + break; // Z,W,X + case 3: + a = yd; + b = zd; + c = wd; + break; // Y,Z,W + } + return ((hash & 4) == 0 ? -a : a) + ((hash & 2) == 0 ? -b : b) + ((hash & 1) == 0 ? -c : c); + } + + public float GetNoise(float x, float y, float z) { + x *= m_frequency; + y *= m_frequency; + z *= m_frequency; + + switch (m_noiseType) { + case Value: + return SingleValue(m_seed, x, y, z); + case ValueFractal: + switch (m_fractalType) { + case FBM: + return SingleValueFractalFBM(x, y, z); + case Billow: + return SingleValueFractalBillow(x, y, z); + case RigidMulti: + return SingleValueFractalRigidMulti(x, y, z); + default: + return 0; + } + case Perlin: + return SinglePerlin(m_seed, x, y, z); + case PerlinFractal: + switch (m_fractalType) { + case FBM: + return SinglePerlinFractalFBM(x, y, z); + case Billow: + return SinglePerlinFractalBillow(x, y, z); + case RigidMulti: + return SinglePerlinFractalRigidMulti(x, y, z); + default: + return 0; + } + case Simplex: + return SingleSimplex(m_seed, x, y, z); + case SimplexFractal: + switch (m_fractalType) { + case FBM: + return SingleSimplexFractalFBM(x, y, z); + case Billow: + return SingleSimplexFractalBillow(x, y, z); + case RigidMulti: + return SingleSimplexFractalRigidMulti(x, y, z); + default: + return 0; + } + case Cellular: + switch (m_cellularReturnType) { + case CellValue: + case NoiseLookup: + case Distance: + return SingleCellular(x, y, z); + default: + return SingleCellular2Edge(x, y, z); + } + case WhiteNoise: + return GetWhiteNoise(x, y, z); + case Cubic: + return SingleCubic(m_seed, x, y, z); + case CubicFractal: + switch (m_fractalType) { + case FBM: + return SingleCubicFractalFBM(x, y, z); + case Billow: + return SingleCubicFractalBillow(x, y, z); + case RigidMulti: + return SingleCubicFractalRigidMulti(x, y, z); + default: + return 0; + } + default: + return 0; + } + } + + public float GetNoise(float x, float y) { + x *= m_frequency; + y *= m_frequency; + + switch (m_noiseType) { + case Value: + return SingleValue(m_seed, x, y); + case ValueFractal: + switch (m_fractalType) { + case FBM: + return SingleValueFractalFBM(x, y); + case Billow: + return SingleValueFractalBillow(x, y); + case RigidMulti: + return SingleValueFractalRigidMulti(x, y); + default: + return 0; + } + case Perlin: + return SinglePerlin(m_seed, x, y); + case PerlinFractal: + switch (m_fractalType) { + case FBM: + return SinglePerlinFractalFBM(x, y); + case Billow: + return SinglePerlinFractalBillow(x, y); + case RigidMulti: + return SinglePerlinFractalRigidMulti(x, y); + default: + return 0; + } + case Simplex: + return SingleSimplex(m_seed, x, y); + case SimplexFractal: + switch (m_fractalType) { + case FBM: + return SingleSimplexFractalFBM(x, y); + case Billow: + return SingleSimplexFractalBillow(x, y); + case RigidMulti: + return SingleSimplexFractalRigidMulti(x, y); + default: + return 0; + } + case Cellular: + switch (m_cellularReturnType) { + case CellValue: + case NoiseLookup: + case Distance: + return SingleCellular(x, y); + default: + return SingleCellular2Edge(x, y); + } + case WhiteNoise: + return GetWhiteNoise(x, y); + case Cubic: + return SingleCubic(m_seed, x, y); + case CubicFractal: + switch (m_fractalType) { + case FBM: + return SingleCubicFractalFBM(x, y); + case Billow: + return SingleCubicFractalBillow(x, y); + case RigidMulti: + return SingleCubicFractalRigidMulti(x, y); + default: + return 0; + } + default: + return 0; + } + } + + // White Noise + + private int FloatCast2Int(float f) { + int i = Float.floatToRawIntBits(f); + + return i ^ (i >> 16); + } + + public float GetWhiteNoise(float x, float y, float z, float w) { + int xi = FloatCast2Int(x); + int yi = FloatCast2Int(y); + int zi = FloatCast2Int(z); + int wi = FloatCast2Int(w); + + return ValCoord4D(m_seed, xi, yi, zi, wi); + } + + public float GetWhiteNoise(float x, float y, float z) { + int xi = FloatCast2Int(x); + int yi = FloatCast2Int(y); + int zi = FloatCast2Int(z); + + return ValCoord3D(m_seed, xi, yi, zi); + } + + public float GetWhiteNoise(float x, float y) { + int xi = FloatCast2Int(x); + int yi = FloatCast2Int(y); + + return ValCoord2D(m_seed, xi, yi); + } + + public float GetWhiteNoiseInt(int x, int y, int z, int w) { + return ValCoord4D(m_seed, x, y, z, w); + } + + public float GetWhiteNoiseInt(int x, int y, int z) { + return ValCoord3D(m_seed, x, y, z); + } + + public float GetWhiteNoiseInt(int x, int y) { + return ValCoord2D(m_seed, x, y); + } + + // Value Noise + public float GetValueFractal(float x, float y, float z) { + x *= m_frequency; + y *= m_frequency; + z *= m_frequency; + + switch (m_fractalType) { + case FBM: + return SingleValueFractalFBM(x, y, z); + case Billow: + return SingleValueFractalBillow(x, y, z); + case RigidMulti: + return SingleValueFractalRigidMulti(x, y, z); + default: + return 0; + } + } + + private float SingleValueFractalFBM(float x, float y, float z) { + int seed = m_seed; + float sum = SingleValue(seed, x, y, z); + float amp = 1; + + for (int i = 1; i < m_octaves; i++) { + x *= m_lacunarity; + y *= m_lacunarity; + z *= m_lacunarity; + + amp *= m_gain; + sum += SingleValue(++seed, x, y, z) * amp; + } + + return sum * m_fractalBounding; + } + + private float SingleValueFractalBillow(float x, float y, float z) { + int seed = m_seed; + float sum = Math.abs(SingleValue(seed, x, y, z)) * 2 - 1; + float amp = 1; + + for (int i = 1; i < m_octaves; i++) { + x *= m_lacunarity; + y *= m_lacunarity; + z *= m_lacunarity; + + amp *= m_gain; + sum += (Math.abs(SingleValue(++seed, x, y, z)) * 2 - 1) * amp; + } + + return sum * m_fractalBounding; + } + + private float SingleValueFractalRigidMulti(float x, float y, float z) { + int seed = m_seed; + float sum = 1 - Math.abs(SingleValue(seed, x, y, z)); + float amp = 1; + + for (int i = 1; i < m_octaves; i++) { + x *= m_lacunarity; + y *= m_lacunarity; + z *= m_lacunarity; + + amp *= m_gain; + sum -= (1 - Math.abs(SingleValue(++seed, x, y, z))) * amp; + } + + return sum; + } + + public float GetValue(float x, float y, float z) { + return SingleValue(m_seed, x * m_frequency, y * m_frequency, z * m_frequency); + } + + private float SingleValue(int seed, float x, float y, float z) { + int x0 = FastFloor(x); + int y0 = FastFloor(y); + int z0 = FastFloor(z); + int x1 = x0 + 1; + int y1 = y0 + 1; + int z1 = z0 + 1; + + float xs, ys, zs; + switch (m_interp) { + default: + case Linear: + xs = x - x0; + ys = y - y0; + zs = z - z0; + break; + case Hermite: + xs = InterpHermiteFunc(x - x0); + ys = InterpHermiteFunc(y - y0); + zs = InterpHermiteFunc(z - z0); + break; + case Quintic: + xs = InterpQuinticFunc(x - x0); + ys = InterpQuinticFunc(y - y0); + zs = InterpQuinticFunc(z - z0); + break; + } + + float xf00 = Lerp(ValCoord3D(seed, x0, y0, z0), ValCoord3D(seed, x1, y0, z0), xs); + float xf10 = Lerp(ValCoord3D(seed, x0, y1, z0), ValCoord3D(seed, x1, y1, z0), xs); + float xf01 = Lerp(ValCoord3D(seed, x0, y0, z1), ValCoord3D(seed, x1, y0, z1), xs); + float xf11 = Lerp(ValCoord3D(seed, x0, y1, z1), ValCoord3D(seed, x1, y1, z1), xs); + + float yf0 = Lerp(xf00, xf10, ys); + float yf1 = Lerp(xf01, xf11, ys); + + return Lerp(yf0, yf1, zs); + } + + public float GetValueFractal(float x, float y) { + x *= m_frequency; + y *= m_frequency; + + switch (m_fractalType) { + case FBM: + return SingleValueFractalFBM(x, y); + case Billow: + return SingleValueFractalBillow(x, y); + case RigidMulti: + return SingleValueFractalRigidMulti(x, y); + default: + return 0; + } + } + + private float SingleValueFractalFBM(float x, float y) { + int seed = m_seed; + float sum = SingleValue(seed, x, y); + float amp = 1; + + for (int i = 1; i < m_octaves; i++) { + x *= m_lacunarity; + y *= m_lacunarity; + + amp *= m_gain; + sum += SingleValue(++seed, x, y) * amp; + } + + return sum * m_fractalBounding; + } + + private float SingleValueFractalBillow(float x, float y) { + int seed = m_seed; + float sum = Math.abs(SingleValue(seed, x, y)) * 2 - 1; + float amp = 1; + + for (int i = 1; i < m_octaves; i++) { + x *= m_lacunarity; + y *= m_lacunarity; + amp *= m_gain; + sum += (Math.abs(SingleValue(++seed, x, y)) * 2 - 1) * amp; + } + + return sum * m_fractalBounding; + } + + private float SingleValueFractalRigidMulti(float x, float y) { + int seed = m_seed; + float sum = 1 - Math.abs(SingleValue(seed, x, y)); + float amp = 1; + + for (int i = 1; i < m_octaves; i++) { + x *= m_lacunarity; + y *= m_lacunarity; + + amp *= m_gain; + sum -= (1 - Math.abs(SingleValue(++seed, x, y))) * amp; + } + + return sum; + } + + public float GetValue(float x, float y) { + return SingleValue(m_seed, x * m_frequency, y * m_frequency); + } + + private float SingleValue(int seed, float x, float y) { + int x0 = FastFloor(x); + int y0 = FastFloor(y); + int x1 = x0 + 1; + int y1 = y0 + 1; + + float xs, ys; + switch (m_interp) { + default: + case Linear: + xs = x - x0; + ys = y - y0; + break; + case Hermite: + xs = InterpHermiteFunc(x - x0); + ys = InterpHermiteFunc(y - y0); + break; + case Quintic: + xs = InterpQuinticFunc(x - x0); + ys = InterpQuinticFunc(y - y0); + break; + } + + float xf0 = Lerp(ValCoord2D(seed, x0, y0), ValCoord2D(seed, x1, y0), xs); + float xf1 = Lerp(ValCoord2D(seed, x0, y1), ValCoord2D(seed, x1, y1), xs); + + return Lerp(xf0, xf1, ys); + } + + // Gradient Noise + public float GetPerlinFractal(float x, float y, float z) { + x *= m_frequency; + y *= m_frequency; + z *= m_frequency; + + switch (m_fractalType) { + case FBM: + return SinglePerlinFractalFBM(x, y, z); + case Billow: + return SinglePerlinFractalBillow(x, y, z); + case RigidMulti: + return SinglePerlinFractalRigidMulti(x, y, z); + default: + return 0; + } + } + + private float SinglePerlinFractalFBM(float x, float y, float z) { + int seed = m_seed; + float sum = SinglePerlin(seed, x, y, z); + float amp = 1; + + for (int i = 1; i < m_octaves; i++) { + x *= m_lacunarity; + y *= m_lacunarity; + z *= m_lacunarity; + + amp *= m_gain; + sum += SinglePerlin(++seed, x, y, z) * amp; + } + + return sum * m_fractalBounding; + } + + private float SinglePerlinFractalBillow(float x, float y, float z) { + int seed = m_seed; + float sum = Math.abs(SinglePerlin(seed, x, y, z)) * 2 - 1; + float amp = 1; + + for (int i = 1; i < m_octaves; i++) { + x *= m_lacunarity; + y *= m_lacunarity; + z *= m_lacunarity; + + amp *= m_gain; + sum += (Math.abs(SinglePerlin(++seed, x, y, z)) * 2 - 1) * amp; + } + + return sum * m_fractalBounding; + } + + private float SinglePerlinFractalRigidMulti(float x, float y, float z) { + int seed = m_seed; + float sum = 1 - Math.abs(SinglePerlin(seed, x, y, z)); + float amp = 1; + + for (int i = 1; i < m_octaves; i++) { + x *= m_lacunarity; + y *= m_lacunarity; + z *= m_lacunarity; + + amp *= m_gain; + sum -= (1 - Math.abs(SinglePerlin(++seed, x, y, z))) * amp; + } + + return sum; + } + + public float GetPerlin(float x, float y, float z) { + return SinglePerlin(m_seed, x * m_frequency, y * m_frequency, z * m_frequency); + } + + private float SinglePerlin(int seed, float x, float y, float z) { + int x0 = FastFloor(x); + int y0 = FastFloor(y); + int z0 = FastFloor(z); + int x1 = x0 + 1; + int y1 = y0 + 1; + int z1 = z0 + 1; + + float xs, ys, zs; + switch (m_interp) { + default: + case Linear: + xs = x - x0; + ys = y - y0; + zs = z - z0; + break; + case Hermite: + xs = InterpHermiteFunc(x - x0); + ys = InterpHermiteFunc(y - y0); + zs = InterpHermiteFunc(z - z0); + break; + case Quintic: + xs = InterpQuinticFunc(x - x0); + ys = InterpQuinticFunc(y - y0); + zs = InterpQuinticFunc(z - z0); + break; + } + + float xd0 = x - x0; + float yd0 = y - y0; + float zd0 = z - z0; + float xd1 = xd0 - 1; + float yd1 = yd0 - 1; + float zd1 = zd0 - 1; + + float xf00 = Lerp(GradCoord3D(seed, x0, y0, z0, xd0, yd0, zd0), GradCoord3D(seed, x1, y0, z0, xd1, yd0, zd0), xs); + float xf10 = Lerp(GradCoord3D(seed, x0, y1, z0, xd0, yd1, zd0), GradCoord3D(seed, x1, y1, z0, xd1, yd1, zd0), xs); + float xf01 = Lerp(GradCoord3D(seed, x0, y0, z1, xd0, yd0, zd1), GradCoord3D(seed, x1, y0, z1, xd1, yd0, zd1), xs); + float xf11 = Lerp(GradCoord3D(seed, x0, y1, z1, xd0, yd1, zd1), GradCoord3D(seed, x1, y1, z1, xd1, yd1, zd1), xs); + + float yf0 = Lerp(xf00, xf10, ys); + float yf1 = Lerp(xf01, xf11, ys); + + return Lerp(yf0, yf1, zs); + } + + public float GetPerlinFractal(float x, float y) { + x *= m_frequency; + y *= m_frequency; + + switch (m_fractalType) { + case FBM: + return SinglePerlinFractalFBM(x, y); + case Billow: + return SinglePerlinFractalBillow(x, y); + case RigidMulti: + return SinglePerlinFractalRigidMulti(x, y); + default: + return 0; + } + } + + private float SinglePerlinFractalFBM(float x, float y) { + int seed = m_seed; + float sum = SinglePerlin(seed, x, y); + float amp = 1; + + for (int i = 1; i < m_octaves; i++) { + x *= m_lacunarity; + y *= m_lacunarity; + + amp *= m_gain; + sum += SinglePerlin(++seed, x, y) * amp; + } + + return sum * m_fractalBounding; + } + + private float SinglePerlinFractalBillow(float x, float y) { + int seed = m_seed; + float sum = Math.abs(SinglePerlin(seed, x, y)) * 2 - 1; + float amp = 1; + + for (int i = 1; i < m_octaves; i++) { + x *= m_lacunarity; + y *= m_lacunarity; + + amp *= m_gain; + sum += (Math.abs(SinglePerlin(++seed, x, y)) * 2 - 1) * amp; + } + + return sum * m_fractalBounding; + } + + private float SinglePerlinFractalRigidMulti(float x, float y) { + int seed = m_seed; + float sum = 1 - Math.abs(SinglePerlin(seed, x, y)); + float amp = 1; + + for (int i = 1; i < m_octaves; i++) { + x *= m_lacunarity; + y *= m_lacunarity; + + amp *= m_gain; + sum -= (1 - Math.abs(SinglePerlin(++seed, x, y))) * amp; + } + + return sum; + } + + public float GetPerlin(float x, float y) { + return SinglePerlin(m_seed, x * m_frequency, y * m_frequency); + } + + private float SinglePerlin(int seed, float x, float y) { + int x0 = FastFloor(x); + int y0 = FastFloor(y); + int x1 = x0 + 1; + int y1 = y0 + 1; + + float xs, ys; + switch (m_interp) { + default: + case Linear: + xs = x - x0; + ys = y - y0; + break; + case Hermite: + xs = InterpHermiteFunc(x - x0); + ys = InterpHermiteFunc(y - y0); + break; + case Quintic: + xs = InterpQuinticFunc(x - x0); + ys = InterpQuinticFunc(y - y0); + break; + } + + float xd0 = x - x0; + float yd0 = y - y0; + float xd1 = xd0 - 1; + float yd1 = yd0 - 1; + + float xf0 = Lerp(GradCoord2D(seed, x0, y0, xd0, yd0), GradCoord2D(seed, x1, y0, xd1, yd0), xs); + float xf1 = Lerp(GradCoord2D(seed, x0, y1, xd0, yd1), GradCoord2D(seed, x1, y1, xd1, yd1), xs); + + return Lerp(xf0, xf1, ys); + } + + // Simplex Noise + public float GetSimplexFractal(float x, float y, float z) { + x *= m_frequency; + y *= m_frequency; + z *= m_frequency; + + switch (m_fractalType) { + case FBM: + return SingleSimplexFractalFBM(x, y, z); + case Billow: + return SingleSimplexFractalBillow(x, y, z); + case RigidMulti: + return SingleSimplexFractalRigidMulti(x, y, z); + default: + return 0; + } + } + + private float SingleSimplexFractalFBM(float x, float y, float z) { + int seed = m_seed; + float sum = SingleSimplex(seed, x, y, z); + float amp = 1; + + for (int i = 1; i < m_octaves; i++) { + x *= m_lacunarity; + y *= m_lacunarity; + z *= m_lacunarity; + + amp *= m_gain; + sum += SingleSimplex(++seed, x, y, z) * amp; + } + + return sum * m_fractalBounding; + } + + private float SingleSimplexFractalBillow(float x, float y, float z) { + int seed = m_seed; + float sum = Math.abs(SingleSimplex(seed, x, y, z)) * 2 - 1; + float amp = 1; + + for (int i = 1; i < m_octaves; i++) { + x *= m_lacunarity; + y *= m_lacunarity; + z *= m_lacunarity; + + amp *= m_gain; + sum += (Math.abs(SingleSimplex(++seed, x, y, z)) * 2 - 1) * amp; + } + + return sum * m_fractalBounding; + } + + private float SingleSimplexFractalRigidMulti(float x, float y, float z) { + int seed = m_seed; + float sum = 1 - Math.abs(SingleSimplex(seed, x, y, z)); + float amp = 1; + + for (int i = 1; i < m_octaves; i++) { + x *= m_lacunarity; + y *= m_lacunarity; + z *= m_lacunarity; + + amp *= m_gain; + sum -= (1 - Math.abs(SingleSimplex(++seed, x, y, z))) * amp; + } + + return sum; + } + + public float GetSimplex(float x, float y, float z) { + return SingleSimplex(m_seed, x * m_frequency, y * m_frequency, z * m_frequency); + } + + private final static float F3 = (float) (1.0 / 3.0); + private final static float G3 = (float) (1.0 / 6.0); + private final static float G33 = G3 * 3 - 1; + + private float SingleSimplex(int seed, float x, float y, float z) { + float t = (x + y + z) * F3; + int i = FastFloor(x + t); + int j = FastFloor(y + t); + int k = FastFloor(z + t); + + t = (i + j + k) * G3; + float x0 = x - (i - t); + float y0 = y - (j - t); + float z0 = z - (k - t); + + int i1, j1, k1; + int i2, j2, k2; + + if (x0 >= y0) { + if (y0 >= z0) { + i1 = 1; + j1 = 0; + k1 = 0; + i2 = 1; + j2 = 1; + k2 = 0; + } else if (x0 >= z0) { + i1 = 1; + j1 = 0; + k1 = 0; + i2 = 1; + j2 = 0; + k2 = 1; + } else // x0 < z0 + { + i1 = 0; + j1 = 0; + k1 = 1; + i2 = 1; + j2 = 0; + k2 = 1; + } + } else // x0 < y0 + { + if (y0 < z0) { + i1 = 0; + j1 = 0; + k1 = 1; + i2 = 0; + j2 = 1; + k2 = 1; + } else if (x0 < z0) { + i1 = 0; + j1 = 1; + k1 = 0; + i2 = 0; + j2 = 1; + k2 = 1; + } else // x0 >= z0 + { + i1 = 0; + j1 = 1; + k1 = 0; + i2 = 1; + j2 = 1; + k2 = 0; + } + } + + float x1 = x0 - i1 + G3; + float y1 = y0 - j1 + G3; + float z1 = z0 - k1 + G3; + float x2 = x0 - i2 + F3; + float y2 = y0 - j2 + F3; + float z2 = z0 - k2 + F3; + float x3 = x0 + G33; + float y3 = y0 + G33; + float z3 = z0 + G33; + + float n0, n1, n2, n3; + + t = (float) 0.6 - x0 * x0 - y0 * y0 - z0 * z0; + if (t < 0) n0 = 0; + else { + t *= t; + n0 = t * t * GradCoord3D(seed, i, j, k, x0, y0, z0); + } + + t = (float) 0.6 - x1 * x1 - y1 * y1 - z1 * z1; + if (t < 0) n1 = 0; + else { + t *= t; + n1 = t * t * GradCoord3D(seed, i + i1, j + j1, k + k1, x1, y1, z1); + } + + t = (float) 0.6 - x2 * x2 - y2 * y2 - z2 * z2; + if (t < 0) n2 = 0; + else { + t *= t; + n2 = t * t * GradCoord3D(seed, i + i2, j + j2, k + k2, x2, y2, z2); + } + + t = (float) 0.6 - x3 * x3 - y3 * y3 - z3 * z3; + if (t < 0) n3 = 0; + else { + t *= t; + n3 = t * t * GradCoord3D(seed, i + 1, j + 1, k + 1, x3, y3, z3); + } + + return 32 * (n0 + n1 + n2 + n3); + } + + public float GetSimplexFractal(float x, float y) { + x *= m_frequency; + y *= m_frequency; + + switch (m_fractalType) { + case FBM: + return SingleSimplexFractalFBM(x, y); + case Billow: + return SingleSimplexFractalBillow(x, y); + case RigidMulti: + return SingleSimplexFractalRigidMulti(x, y); + default: + return 0; + } + } + + private float SingleSimplexFractalFBM(float x, float y) { + int seed = m_seed; + float sum = SingleSimplex(seed, x, y); + float amp = 1; + + for (int i = 1; i < m_octaves; i++) { + x *= m_lacunarity; + y *= m_lacunarity; + + amp *= m_gain; + sum += SingleSimplex(++seed, x, y) * amp; + } + + return sum * m_fractalBounding; + } + + private float SingleSimplexFractalBillow(float x, float y) { + int seed = m_seed; + float sum = Math.abs(SingleSimplex(seed, x, y)) * 2 - 1; + float amp = 1; + + for (int i = 1; i < m_octaves; i++) { + x *= m_lacunarity; + y *= m_lacunarity; + + amp *= m_gain; + sum += (Math.abs(SingleSimplex(++seed, x, y)) * 2 - 1) * amp; + } + + return sum * m_fractalBounding; + } + + private float SingleSimplexFractalRigidMulti(float x, float y) { + int seed = m_seed; + float sum = 1 - Math.abs(SingleSimplex(seed, x, y)); + float amp = 1; + + for (int i = 1; i < m_octaves; i++) { + x *= m_lacunarity; + y *= m_lacunarity; + + amp *= m_gain; + sum -= (1 - Math.abs(SingleSimplex(++seed, x, y))) * amp; + } + + return sum; + } + + public float GetSimplex(float x, float y) { + return SingleSimplex(m_seed, x * m_frequency, y * m_frequency); + } + + private final static float F2 = (float) (1.0 / 2.0); + private final static float G2 = (float) (1.0 / 4.0); + + private float SingleSimplex(int seed, float x, float y) { + float t = (x + y) * F2; + int i = FastFloor(x + t); + int j = FastFloor(y + t); + + t = (i + j) * G2; + float X0 = i - t; + float Y0 = j - t; + + float x0 = x - X0; + float y0 = y - Y0; + + int i1, j1; + if (x0 > y0) { + i1 = 1; + j1 = 0; + } else { + i1 = 0; + j1 = 1; + } + + float x1 = x0 - i1 + G2; + float y1 = y0 - j1 + G2; + float x2 = x0 - 1 + F2; + float y2 = y0 - 1 + F2; + + float n0, n1, n2; + + t = (float) 0.5 - x0 * x0 - y0 * y0; + if (t < 0) n0 = 0; + else { + t *= t; + n0 = t * t * GradCoord2D(seed, i, j, x0, y0); + } + + t = (float) 0.5 - x1 * x1 - y1 * y1; + if (t < 0) n1 = 0; + else { + t *= t; + n1 = t * t * GradCoord2D(seed, i + i1, j + j1, x1, y1); + } + + t = (float) 0.5 - x2 * x2 - y2 * y2; + if (t < 0) n2 = 0; + else { + t *= t; + n2 = t * t * GradCoord2D(seed, i + 1, j + 1, x2, y2); + } + + return 50 * (n0 + n1 + n2); + } + + public float GetSimplex(float x, float y, float z, float w) { + return SingleSimplex(m_seed, x * m_frequency, y * m_frequency, z * m_frequency, w * m_frequency); + } + + private static final byte[] SIMPLEX_4D = + { + 0, 1, 2, 3, 0, 1, 3, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, + 0, 2, 1, 3, 0, 0, 0, 0, 0, 3, 1, 2, 0, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 2, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 2, 0, 3, 0, 0, 0, 0, 1, 3, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 1, 2, 3, 1, 0, + 1, 0, 2, 3, 1, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 2, 1, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 2, 3, 0, 2, 1, 0, 0, 0, 0, 3, 1, 2, 0, + 2, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 0, 2, 0, 0, 0, 0, 3, 2, 0, 1, 3, 2, 1, 0 + }; + + private final static float F4 = (float) ((2.23606797 - 1.0) / 4.0); + private final static float G4 = (float) ((5.0 - 2.23606797) / 20.0); + + private float SingleSimplex(int seed, float x, float y, float z, float w) { + float n0, n1, n2, n3, n4; + float t = (x + y + z + w) * F4; + int i = FastFloor(x + t); + int j = FastFloor(y + t); + int k = FastFloor(z + t); + int l = FastFloor(w + t); + t = (i + j + k + l) * G4; + float X0 = i - t; + float Y0 = j - t; + float Z0 = k - t; + float W0 = l - t; + float x0 = x - X0; + float y0 = y - Y0; + float z0 = z - Z0; + float w0 = w - W0; + + int c = (x0 > y0) ? 32 : 0; + c += (x0 > z0) ? 16 : 0; + c += (y0 > z0) ? 8 : 0; + c += (x0 > w0) ? 4 : 0; + c += (y0 > w0) ? 2 : 0; + c += (z0 > w0) ? 1 : 0; + c <<= 2; + + int i1 = SIMPLEX_4D[c] >= 3 ? 1 : 0; + int i2 = SIMPLEX_4D[c] >= 2 ? 1 : 0; + int i3 = SIMPLEX_4D[c++] >= 1 ? 1 : 0; + int j1 = SIMPLEX_4D[c] >= 3 ? 1 : 0; + int j2 = SIMPLEX_4D[c] >= 2 ? 1 : 0; + int j3 = SIMPLEX_4D[c++] >= 1 ? 1 : 0; + int k1 = SIMPLEX_4D[c] >= 3 ? 1 : 0; + int k2 = SIMPLEX_4D[c] >= 2 ? 1 : 0; + int k3 = SIMPLEX_4D[c++] >= 1 ? 1 : 0; + int l1 = SIMPLEX_4D[c] >= 3 ? 1 : 0; + int l2 = SIMPLEX_4D[c] >= 2 ? 1 : 0; + int l3 = SIMPLEX_4D[c] >= 1 ? 1 : 0; + + float x1 = x0 - i1 + G4; + float y1 = y0 - j1 + G4; + float z1 = z0 - k1 + G4; + float w1 = w0 - l1 + G4; + float x2 = x0 - i2 + 2 * G4; + float y2 = y0 - j2 + 2 * G4; + float z2 = z0 - k2 + 2 * G4; + float w2 = w0 - l2 + 2 * G4; + float x3 = x0 - i3 + 3 * G4; + float y3 = y0 - j3 + 3 * G4; + float z3 = z0 - k3 + 3 * G4; + float w3 = w0 - l3 + 3 * G4; + float x4 = x0 - 1 + 4 * G4; + float y4 = y0 - 1 + 4 * G4; + float z4 = z0 - 1 + 4 * G4; + float w4 = w0 - 1 + 4 * G4; + + t = (float) 0.6 - x0 * x0 - y0 * y0 - z0 * z0 - w0 * w0; + if (t < 0) n0 = 0; + else { + t *= t; + n0 = t * t * GradCoord4D(seed, i, j, k, l, x0, y0, z0, w0); + } + t = (float) 0.6 - x1 * x1 - y1 * y1 - z1 * z1 - w1 * w1; + if (t < 0) n1 = 0; + else { + t *= t; + n1 = t * t * GradCoord4D(seed, i + i1, j + j1, k + k1, l + l1, x1, y1, z1, w1); + } + t = (float) 0.6 - x2 * x2 - y2 * y2 - z2 * z2 - w2 * w2; + if (t < 0) n2 = 0; + else { + t *= t; + n2 = t * t * GradCoord4D(seed, i + i2, j + j2, k + k2, l + l2, x2, y2, z2, w2); + } + t = (float) 0.6 - x3 * x3 - y3 * y3 - z3 * z3 - w3 * w3; + if (t < 0) n3 = 0; + else { + t *= t; + n3 = t * t * GradCoord4D(seed, i + i3, j + j3, k + k3, l + l3, x3, y3, z3, w3); + } + t = (float) 0.6 - x4 * x4 - y4 * y4 - z4 * z4 - w4 * w4; + if (t < 0) n4 = 0; + else { + t *= t; + n4 = t * t * GradCoord4D(seed, i + 1, j + 1, k + 1, l + 1, x4, y4, z4, w4); + } + + return 27 * (n0 + n1 + n2 + n3 + n4); + } + + // Cubic Noise + public float GetCubicFractal(float x, float y, float z) { + x *= m_frequency; + y *= m_frequency; + z *= m_frequency; + + switch (m_fractalType) { + case FBM: + return SingleCubicFractalFBM(x, y, z); + case Billow: + return SingleCubicFractalBillow(x, y, z); + case RigidMulti: + return SingleCubicFractalRigidMulti(x, y, z); + default: + return 0; + } + } + + private float SingleCubicFractalFBM(float x, float y, float z) { + int seed = m_seed; + float sum = SingleCubic(seed, x, y, z); + float amp = 1; + int i = 0; + + while (++i < m_octaves) { + x *= m_lacunarity; + y *= m_lacunarity; + z *= m_lacunarity; + + amp *= m_gain; + sum += SingleCubic(++seed, x, y, z) * amp; + } + + return sum * m_fractalBounding; + } + + private float SingleCubicFractalBillow(float x, float y, float z) { + int seed = m_seed; + float sum = Math.abs(SingleCubic(seed, x, y, z)) * 2 - 1; + float amp = 1; + int i = 0; + + while (++i < m_octaves) { + x *= m_lacunarity; + y *= m_lacunarity; + z *= m_lacunarity; + + amp *= m_gain; + sum += (Math.abs(SingleCubic(++seed, x, y, z)) * 2 - 1) * amp; + } + + return sum * m_fractalBounding; + } + + private float SingleCubicFractalRigidMulti(float x, float y, float z) { + int seed = m_seed; + float sum = 1 - Math.abs(SingleCubic(seed, x, y, z)); + float amp = 1; + int i = 0; + + while (++i < m_octaves) { + x *= m_lacunarity; + y *= m_lacunarity; + z *= m_lacunarity; + + amp *= m_gain; + sum -= (1 - Math.abs(SingleCubic(++seed, x, y, z))) * amp; + } + + return sum; + } + + public float GetCubic(float x, float y, float z) { + return SingleCubic(m_seed, x * m_frequency, y * m_frequency, z * m_frequency); + } + + private final static float CUBIC_3D_BOUNDING = 1 / (float) (1.5 * 1.5 * 1.5); + + private float SingleCubic(int seed, float x, float y, float z) { + int x1 = FastFloor(x); + int y1 = FastFloor(y); + int z1 = FastFloor(z); + + int x0 = x1 - 1; + int y0 = y1 - 1; + int z0 = z1 - 1; + int x2 = x1 + 1; + int y2 = y1 + 1; + int z2 = z1 + 1; + int x3 = x1 + 2; + int y3 = y1 + 2; + int z3 = z1 + 2; + + float xs = x - (float) x1; + float ys = y - (float) y1; + float zs = z - (float) z1; + + return CubicLerp( + CubicLerp( + CubicLerp(ValCoord3D(seed, x0, y0, z0), ValCoord3D(seed, x1, y0, z0), ValCoord3D(seed, x2, y0, z0), ValCoord3D(seed, x3, y0, z0), xs), + CubicLerp(ValCoord3D(seed, x0, y1, z0), ValCoord3D(seed, x1, y1, z0), ValCoord3D(seed, x2, y1, z0), ValCoord3D(seed, x3, y1, z0), xs), + CubicLerp(ValCoord3D(seed, x0, y2, z0), ValCoord3D(seed, x1, y2, z0), ValCoord3D(seed, x2, y2, z0), ValCoord3D(seed, x3, y2, z0), xs), + CubicLerp(ValCoord3D(seed, x0, y3, z0), ValCoord3D(seed, x1, y3, z0), ValCoord3D(seed, x2, y3, z0), ValCoord3D(seed, x3, y3, z0), xs), + ys), + CubicLerp( + CubicLerp(ValCoord3D(seed, x0, y0, z1), ValCoord3D(seed, x1, y0, z1), ValCoord3D(seed, x2, y0, z1), ValCoord3D(seed, x3, y0, z1), xs), + CubicLerp(ValCoord3D(seed, x0, y1, z1), ValCoord3D(seed, x1, y1, z1), ValCoord3D(seed, x2, y1, z1), ValCoord3D(seed, x3, y1, z1), xs), + CubicLerp(ValCoord3D(seed, x0, y2, z1), ValCoord3D(seed, x1, y2, z1), ValCoord3D(seed, x2, y2, z1), ValCoord3D(seed, x3, y2, z1), xs), + CubicLerp(ValCoord3D(seed, x0, y3, z1), ValCoord3D(seed, x1, y3, z1), ValCoord3D(seed, x2, y3, z1), ValCoord3D(seed, x3, y3, z1), xs), + ys), + CubicLerp( + CubicLerp(ValCoord3D(seed, x0, y0, z2), ValCoord3D(seed, x1, y0, z2), ValCoord3D(seed, x2, y0, z2), ValCoord3D(seed, x3, y0, z2), xs), + CubicLerp(ValCoord3D(seed, x0, y1, z2), ValCoord3D(seed, x1, y1, z2), ValCoord3D(seed, x2, y1, z2), ValCoord3D(seed, x3, y1, z2), xs), + CubicLerp(ValCoord3D(seed, x0, y2, z2), ValCoord3D(seed, x1, y2, z2), ValCoord3D(seed, x2, y2, z2), ValCoord3D(seed, x3, y2, z2), xs), + CubicLerp(ValCoord3D(seed, x0, y3, z2), ValCoord3D(seed, x1, y3, z2), ValCoord3D(seed, x2, y3, z2), ValCoord3D(seed, x3, y3, z2), xs), + ys), + CubicLerp( + CubicLerp(ValCoord3D(seed, x0, y0, z3), ValCoord3D(seed, x1, y0, z3), ValCoord3D(seed, x2, y0, z3), ValCoord3D(seed, x3, y0, z3), xs), + CubicLerp(ValCoord3D(seed, x0, y1, z3), ValCoord3D(seed, x1, y1, z3), ValCoord3D(seed, x2, y1, z3), ValCoord3D(seed, x3, y1, z3), xs), + CubicLerp(ValCoord3D(seed, x0, y2, z3), ValCoord3D(seed, x1, y2, z3), ValCoord3D(seed, x2, y2, z3), ValCoord3D(seed, x3, y2, z3), xs), + CubicLerp(ValCoord3D(seed, x0, y3, z3), ValCoord3D(seed, x1, y3, z3), ValCoord3D(seed, x2, y3, z3), ValCoord3D(seed, x3, y3, z3), xs), + ys), + zs) * CUBIC_3D_BOUNDING; + } + + + public float GetCubicFractal(float x, float y) { + x *= m_frequency; + y *= m_frequency; + + switch (m_fractalType) { + case FBM: + return SingleCubicFractalFBM(x, y); + case Billow: + return SingleCubicFractalBillow(x, y); + case RigidMulti: + return SingleCubicFractalRigidMulti(x, y); + default: + return 0; + } + } + + private float SingleCubicFractalFBM(float x, float y) { + int seed = m_seed; + float sum = SingleCubic(seed, x, y); + float amp = 1; + int i = 0; + + while (++i < m_octaves) { + x *= m_lacunarity; + y *= m_lacunarity; + + amp *= m_gain; + sum += SingleCubic(++seed, x, y) * amp; + } + + return sum * m_fractalBounding; + } + + private float SingleCubicFractalBillow(float x, float y) { + int seed = m_seed; + float sum = Math.abs(SingleCubic(seed, x, y)) * 2 - 1; + float amp = 1; + int i = 0; + + while (++i < m_octaves) { + x *= m_lacunarity; + y *= m_lacunarity; + + amp *= m_gain; + sum += (Math.abs(SingleCubic(++seed, x, y)) * 2 - 1) * amp; + } + + return sum * m_fractalBounding; + } + + private float SingleCubicFractalRigidMulti(float x, float y) { + int seed = m_seed; + float sum = 1 - Math.abs(SingleCubic(seed, x, y)); + float amp = 1; + int i = 0; + + while (++i < m_octaves) { + x *= m_lacunarity; + y *= m_lacunarity; + + amp *= m_gain; + sum -= (1 - Math.abs(SingleCubic(++seed, x, y))) * amp; + } + + return sum; + } + + public float GetCubic(float x, float y) { + x *= m_frequency; + y *= m_frequency; + + return SingleCubic(0, x, y); + } + + private final static float CUBIC_2D_BOUNDING = 1 / (float) (1.5 * 1.5); + + private float SingleCubic(int seed, float x, float y) { + int x1 = FastFloor(x); + int y1 = FastFloor(y); + + int x0 = x1 - 1; + int y0 = y1 - 1; + int x2 = x1 + 1; + int y2 = y1 + 1; + int x3 = x1 + 2; + int y3 = y1 + 2; + + float xs = x - (float) x1; + float ys = y - (float) y1; + + return CubicLerp( + CubicLerp(ValCoord2D(seed, x0, y0), ValCoord2D(seed, x1, y0), ValCoord2D(seed, x2, y0), ValCoord2D(seed, x3, y0), + xs), + CubicLerp(ValCoord2D(seed, x0, y1), ValCoord2D(seed, x1, y1), ValCoord2D(seed, x2, y1), ValCoord2D(seed, x3, y1), + xs), + CubicLerp(ValCoord2D(seed, x0, y2), ValCoord2D(seed, x1, y2), ValCoord2D(seed, x2, y2), ValCoord2D(seed, x3, y2), + xs), + CubicLerp(ValCoord2D(seed, x0, y3), ValCoord2D(seed, x1, y3), ValCoord2D(seed, x2, y3), ValCoord2D(seed, x3, y3), + xs), + ys) * CUBIC_2D_BOUNDING; + } + + // Cellular Noise + public float GetCellular(float x, float y, float z) { + x *= m_frequency; + y *= m_frequency; + z *= m_frequency; + + switch (m_cellularReturnType) { + case CellValue: + case NoiseLookup: + case Distance: + return SingleCellular(x, y, z); + default: + return SingleCellular2Edge(x, y, z); + } + } + + private float SingleCellular(float x, float y, float z) { + int xr = FastRound(x); + int yr = FastRound(y); + int zr = FastRound(z); + + float distance = 999999; + int xc = 0, yc = 0, zc = 0; + + switch (m_cellularDistanceFunction) { + case Euclidean: + for (int xi = xr - 1; xi <= xr + 1; xi++) { + for (int yi = yr - 1; yi <= yr + 1; yi++) { + for (int zi = zr - 1; zi <= zr + 1; zi++) { + Float3 vec = CELL_3D[Hash3D(m_seed, xi, yi, zi) & 255]; + + float vecX = xi - x + vec.x; + float vecY = yi - y + vec.y; + float vecZ = zi - z + vec.z; + + float newDistance = vecX * vecX + vecY * vecY + vecZ * vecZ; + + if (newDistance < distance) { + distance = newDistance; + xc = xi; + yc = yi; + zc = zi; + } + } + } + } + break; + case Manhattan: + for (int xi = xr - 1; xi <= xr + 1; xi++) { + for (int yi = yr - 1; yi <= yr + 1; yi++) { + for (int zi = zr - 1; zi <= zr + 1; zi++) { + Float3 vec = CELL_3D[Hash3D(m_seed, xi, yi, zi) & 255]; + + float vecX = xi - x + vec.x; + float vecY = yi - y + vec.y; + float vecZ = zi - z + vec.z; + + float newDistance = Math.abs(vecX) + Math.abs(vecY) + Math.abs(vecZ); + + if (newDistance < distance) { + distance = newDistance; + xc = xi; + yc = yi; + zc = zi; + } + } + } + } + break; + case Natural: + for (int xi = xr - 1; xi <= xr + 1; xi++) { + for (int yi = yr - 1; yi <= yr + 1; yi++) { + for (int zi = zr - 1; zi <= zr + 1; zi++) { + Float3 vec = CELL_3D[Hash3D(m_seed, xi, yi, zi) & 255]; + + float vecX = xi - x + vec.x; + float vecY = yi - y + vec.y; + float vecZ = zi - z + vec.z; + + float newDistance = (Math.abs(vecX) + Math.abs(vecY) + Math.abs(vecZ)) + (vecX * vecX + vecY * vecY + vecZ * vecZ); + + if (newDistance < distance) { + distance = newDistance; + xc = xi; + yc = yi; + zc = zi; + } + } + } + } + break; + } + + switch (m_cellularReturnType) { + case CellValue: + return ValCoord3D(0, xc, yc, zc); + + case NoiseLookup: + Float3 vec = CELL_3D[Hash3D(m_seed, xc, yc, zc) & 255]; + return m_cellularNoiseLookup.GetNoise(xc + vec.x, yc + vec.y, zc + vec.z); + + case Distance: + return distance - 1; + default: + return 0; + } + } + + private float SingleCellular2Edge(float x, float y, float z) { + int xr = FastRound(x); + int yr = FastRound(y); + int zr = FastRound(z); + + float distance = 999999; + float distance2 = 999999; + + switch (m_cellularDistanceFunction) { + case Euclidean: + for (int xi = xr - 1; xi <= xr + 1; xi++) { + for (int yi = yr - 1; yi <= yr + 1; yi++) { + for (int zi = zr - 1; zi <= zr + 1; zi++) { + Float3 vec = CELL_3D[Hash3D(m_seed, xi, yi, zi) & 255]; + + float vecX = xi - x + vec.x; + float vecY = yi - y + vec.y; + float vecZ = zi - z + vec.z; + + float newDistance = vecX * vecX + vecY * vecY + vecZ * vecZ; + + distance2 = Math.max(Math.min(distance2, newDistance), distance); + distance = Math.min(distance, newDistance); + } + } + } + break; + case Manhattan: + for (int xi = xr - 1; xi <= xr + 1; xi++) { + for (int yi = yr - 1; yi <= yr + 1; yi++) { + for (int zi = zr - 1; zi <= zr + 1; zi++) { + Float3 vec = CELL_3D[Hash3D(m_seed, xi, yi, zi) & 255]; + + float vecX = xi - x + vec.x; + float vecY = yi - y + vec.y; + float vecZ = zi - z + vec.z; + + float newDistance = Math.abs(vecX) + Math.abs(vecY) + Math.abs(vecZ); + + distance2 = Math.max(Math.min(distance2, newDistance), distance); + distance = Math.min(distance, newDistance); + } + } + } + break; + case Natural: + for (int xi = xr - 1; xi <= xr + 1; xi++) { + for (int yi = yr - 1; yi <= yr + 1; yi++) { + for (int zi = zr - 1; zi <= zr + 1; zi++) { + Float3 vec = CELL_3D[Hash3D(m_seed, xi, yi, zi) & 255]; + + float vecX = xi - x + vec.x; + float vecY = yi - y + vec.y; + float vecZ = zi - z + vec.z; + + float newDistance = (Math.abs(vecX) + Math.abs(vecY) + Math.abs(vecZ)) + (vecX * vecX + vecY * vecY + vecZ * vecZ); + + distance2 = Math.max(Math.min(distance2, newDistance), distance); + distance = Math.min(distance, newDistance); + } + } + } + break; + default: + break; + } + + switch (m_cellularReturnType) { + case Distance2: + return distance2 - 1; + case Distance2Add: + return distance2 + distance - 1; + case Distance2Sub: + return distance2 - distance - 1; + case Distance2Mul: + return distance2 * distance - 1; + case Distance2Div: + return distance / distance2 - 1; + default: + return 0; + } + } + + public float GetCellular(float x, float y) { + x *= m_frequency; + y *= m_frequency; + + switch (m_cellularReturnType) { + case CellValue: + case NoiseLookup: + case Distance: + return SingleCellular(x, y); + default: + return SingleCellular2Edge(x, y); + } + } + + private float SingleCellular(float x, float y) { + int xr = FastRound(x); + int yr = FastRound(y); + + float distance = 999999; + int xc = 0, yc = 0; + + switch (m_cellularDistanceFunction) { + default: + case Euclidean: + for (int xi = xr - 1; xi <= xr + 1; xi++) { + for (int yi = yr - 1; yi <= yr + 1; yi++) { + Float2 vec = CELL_2D[Hash2D(m_seed, xi, yi) & 255]; + + float vecX = xi - x + vec.x; + float vecY = yi - y + vec.y; + + float newDistance = vecX * vecX + vecY * vecY; + + if (newDistance < distance) { + distance = newDistance; + xc = xi; + yc = yi; + } + } + } + break; + case Manhattan: + for (int xi = xr - 1; xi <= xr + 1; xi++) { + for (int yi = yr - 1; yi <= yr + 1; yi++) { + Float2 vec = CELL_2D[Hash2D(m_seed, xi, yi) & 255]; + + float vecX = xi - x + vec.x; + float vecY = yi - y + vec.y; + + float newDistance = (Math.abs(vecX) + Math.abs(vecY)); + + if (newDistance < distance) { + distance = newDistance; + xc = xi; + yc = yi; + } + } + } + break; + case Natural: + for (int xi = xr - 1; xi <= xr + 1; xi++) { + for (int yi = yr - 1; yi <= yr + 1; yi++) { + Float2 vec = CELL_2D[Hash2D(m_seed, xi, yi) & 255]; + + float vecX = xi - x + vec.x; + float vecY = yi - y + vec.y; + + float newDistance = (Math.abs(vecX) + Math.abs(vecY)) + (vecX * vecX + vecY * vecY); + + if (newDistance < distance) { + distance = newDistance; + xc = xi; + yc = yi; + } + } + } + break; + } + + switch (m_cellularReturnType) { + case CellValue: + return ValCoord2D(0, xc, yc); + + case NoiseLookup: + Float2 vec = CELL_2D[Hash2D(m_seed, xc, yc) & 255]; + return m_cellularNoiseLookup.GetNoise(xc + vec.x, yc + vec.y); + + case Distance: + return distance - 1; + default: + return 0; + } + } + + private float SingleCellular2Edge(float x, float y) { + int xr = FastRound(x); + int yr = FastRound(y); + + float distance = 999999; + float distance2 = 999999; + + switch (m_cellularDistanceFunction) { + default: + case Euclidean: + for (int xi = xr - 1; xi <= xr + 1; xi++) { + for (int yi = yr - 1; yi <= yr + 1; yi++) { + Float2 vec = CELL_2D[Hash2D(m_seed, xi, yi) & 255]; + + float vecX = xi - x + vec.x; + float vecY = yi - y + vec.y; + + float newDistance = vecX * vecX + vecY * vecY; + + distance2 = Math.max(Math.min(distance2, newDistance), distance); + distance = Math.min(distance, newDistance); + } + } + break; + case Manhattan: + for (int xi = xr - 1; xi <= xr + 1; xi++) { + for (int yi = yr - 1; yi <= yr + 1; yi++) { + Float2 vec = CELL_2D[Hash2D(m_seed, xi, yi) & 255]; + + float vecX = xi - x + vec.x; + float vecY = yi - y + vec.y; + + float newDistance = Math.abs(vecX) + Math.abs(vecY); + + distance2 = Math.max(Math.min(distance2, newDistance), distance); + distance = Math.min(distance, newDistance); + } + } + break; + case Natural: + for (int xi = xr - 1; xi <= xr + 1; xi++) { + for (int yi = yr - 1; yi <= yr + 1; yi++) { + Float2 vec = CELL_2D[Hash2D(m_seed, xi, yi) & 255]; + + float vecX = xi - x + vec.x; + float vecY = yi - y + vec.y; + + float newDistance = (Math.abs(vecX) + Math.abs(vecY)) + (vecX * vecX + vecY * vecY); + + distance2 = Math.max(Math.min(distance2, newDistance), distance); + distance = Math.min(distance, newDistance); + } + } + break; + } + + switch (m_cellularReturnType) { + case Distance2: + return distance2 - 1; + case Distance2Add: + return distance2 + distance - 1; + case Distance2Sub: + return distance2 - distance - 1; + case Distance2Mul: + return distance2 * distance - 1; + case Distance2Div: + return distance / distance2 - 1; + default: + return 0; + } + } + + public void GradientPerturb(Vector3f v3) { + SingleGradientPerturb(m_seed, m_gradientPerturbAmp, m_frequency, v3); + } + + public void GradientPerturbFractal(Vector3f v3) { + int seed = m_seed; + float amp = m_gradientPerturbAmp * m_fractalBounding; + float freq = m_frequency; + + SingleGradientPerturb(seed, amp, m_frequency, v3); + + for (int i = 1; i < m_octaves; i++) { + freq *= m_lacunarity; + amp *= m_gain; + SingleGradientPerturb(++seed, amp, freq, v3); + } + } + + private void SingleGradientPerturb(int seed, float perturbAmp, float frequency, Vector3f v3) { + float xf = v3.x * frequency; + float yf = v3.y * frequency; + float zf = v3.z * frequency; + + int x0 = FastFloor(xf); + int y0 = FastFloor(yf); + int z0 = FastFloor(zf); + int x1 = x0 + 1; + int y1 = y0 + 1; + int z1 = z0 + 1; + + float xs, ys, zs; + switch (m_interp) { + default: + case Linear: + xs = xf - x0; + ys = yf - y0; + zs = zf - z0; + break; + case Hermite: + xs = InterpHermiteFunc(xf - x0); + ys = InterpHermiteFunc(yf - y0); + zs = InterpHermiteFunc(zf - z0); + break; + case Quintic: + xs = InterpQuinticFunc(xf - x0); + ys = InterpQuinticFunc(yf - y0); + zs = InterpQuinticFunc(zf - z0); + break; + } + + Float3 vec0 = CELL_3D[Hash3D(seed, x0, y0, z0) & 255]; + Float3 vec1 = CELL_3D[Hash3D(seed, x1, y0, z0) & 255]; + + float lx0x = Lerp(vec0.x, vec1.x, xs); + float ly0x = Lerp(vec0.y, vec1.y, xs); + float lz0x = Lerp(vec0.z, vec1.z, xs); + + vec0 = CELL_3D[Hash3D(seed, x0, y1, z0) & 255]; + vec1 = CELL_3D[Hash3D(seed, x1, y1, z0) & 255]; + + float lx1x = Lerp(vec0.x, vec1.x, xs); + float ly1x = Lerp(vec0.y, vec1.y, xs); + float lz1x = Lerp(vec0.z, vec1.z, xs); + + float lx0y = Lerp(lx0x, lx1x, ys); + float ly0y = Lerp(ly0x, ly1x, ys); + float lz0y = Lerp(lz0x, lz1x, ys); + + vec0 = CELL_3D[Hash3D(seed, x0, y0, z1) & 255]; + vec1 = CELL_3D[Hash3D(seed, x1, y0, z1) & 255]; + + lx0x = Lerp(vec0.x, vec1.x, xs); + ly0x = Lerp(vec0.y, vec1.y, xs); + lz0x = Lerp(vec0.z, vec1.z, xs); + + vec0 = CELL_3D[Hash3D(seed, x0, y1, z1) & 255]; + vec1 = CELL_3D[Hash3D(seed, x1, y1, z1) & 255]; + + lx1x = Lerp(vec0.x, vec1.x, xs); + ly1x = Lerp(vec0.y, vec1.y, xs); + lz1x = Lerp(vec0.z, vec1.z, xs); + + v3.x += Lerp(lx0y, Lerp(lx0x, lx1x, ys), zs) * perturbAmp; + v3.y += Lerp(ly0y, Lerp(ly0x, ly1x, ys), zs) * perturbAmp; + v3.z += Lerp(lz0y, Lerp(lz0x, lz1x, ys), zs) * perturbAmp; + } + + public void GradientPerturb(Vector2f v2) { + SingleGradientPerturb(m_seed, m_gradientPerturbAmp, m_frequency, v2); + } + + public void GradientPerturbFractal(Vector2f v2) { + int seed = m_seed; + float amp = m_gradientPerturbAmp * m_fractalBounding; + float freq = m_frequency; + + SingleGradientPerturb(seed, amp, m_frequency, v2); + + for (int i = 1; i < m_octaves; i++) { + freq *= m_lacunarity; + amp *= m_gain; + SingleGradientPerturb(++seed, amp, freq, v2); + } + } + + private void SingleGradientPerturb(int seed, float perturbAmp, float frequency, Vector2f v2) { + float xf = v2.x * frequency; + float yf = v2.y * frequency; + + int x0 = FastFloor(xf); + int y0 = FastFloor(yf); + int x1 = x0 + 1; + int y1 = y0 + 1; + + float xs, ys; + switch (m_interp) { + default: + case Linear: + xs = xf - x0; + ys = yf - y0; + break; + case Hermite: + xs = InterpHermiteFunc(xf - x0); + ys = InterpHermiteFunc(yf - y0); + break; + case Quintic: + xs = InterpQuinticFunc(xf - x0); + ys = InterpQuinticFunc(yf - y0); + break; + } + + Float2 vec0 = CELL_2D[Hash2D(seed, x0, y0) & 255]; + Float2 vec1 = CELL_2D[Hash2D(seed, x1, y0) & 255]; + + float lx0x = Lerp(vec0.x, vec1.x, xs); + float ly0x = Lerp(vec0.y, vec1.y, xs); + + vec0 = CELL_2D[Hash2D(seed, x0, y1) & 255]; + vec1 = CELL_2D[Hash2D(seed, x1, y1) & 255]; + + float lx1x = Lerp(vec0.x, vec1.x, xs); + float ly1x = Lerp(vec0.y, vec1.y, xs); + + v2.x += Lerp(lx0x, lx1x, ys) * perturbAmp; + v2.y += Lerp(ly0x, ly1x, ys) * perturbAmp; + } + +} \ No newline at end of file diff --git a/src/main/java/ninja/bytecode/iris/util/FileWatcher.java b/src/main/java/ninja/bytecode/iris/util/FileWatcher.java new file mode 100644 index 000000000..387576460 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/FileWatcher.java @@ -0,0 +1,42 @@ +package ninja.bytecode.iris.util; + +import java.io.File; + +import lombok.Getter; + +public class FileWatcher +{ + @Getter + private final File file; + private boolean exists; + private long lastModified; + private long size; + + public FileWatcher(File file) + { + this.file = file; + readProperties(); + } + + private void readProperties() + { + exists = file.exists(); + lastModified = exists ? file.lastModified() : -1; + size = exists ? file.length() : -1; + } + + public boolean checkModified() + { + long m = lastModified; + long g = size; + boolean mod = false; + readProperties(); + + if(lastModified != m || g != size) + { + mod = true; + } + + return mod; + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/GenLayer.java b/src/main/java/ninja/bytecode/iris/util/GenLayer.java new file mode 100644 index 000000000..bca1bcc9f --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/GenLayer.java @@ -0,0 +1,17 @@ +package ninja.bytecode.iris.util; + +import ninja.bytecode.iris.IrisGenerator; + +public abstract class GenLayer +{ + protected final RNG rng; + protected final IrisGenerator iris; + + public GenLayer(IrisGenerator iris, RNG rng) + { + this.iris = iris; + this.rng = rng; + } + + public abstract double generate(double x, double z); +} diff --git a/src/main/java/ninja/bytecode/iris/util/IrisInterpolation.java b/src/main/java/ninja/bytecode/iris/util/IrisInterpolation.java index 89e87f0a7..277b53fe8 100644 --- a/src/main/java/ninja/bytecode/iris/util/IrisInterpolation.java +++ b/src/main/java/ninja/bytecode/iris/util/IrisInterpolation.java @@ -1,5 +1,7 @@ package ninja.bytecode.iris.util; +import ninja.bytecode.iris.object.InterpolationMethod; + public class IrisInterpolation { public static double bezier(double t) @@ -18,6 +20,11 @@ public class IrisInterpolation return a + (f * (b - a)); } + public static float lerpf(float a, float b, float f) + { + return a + (f * (b - a)); + } + public static double lerpBezier(double a, double b, double f) { return a + (bezier(f) * (b - a)); @@ -181,6 +188,26 @@ public class IrisInterpolation //@done } + public static double getNoise(InterpolationMethod method, int x, int z, double rad, NoiseProvider n) + { + if(method.equals(InterpolationMethod.BILINEAR)) + { + return getBilinearNoise(x, z, rad, n); + } + + else if(method.equals(InterpolationMethod.BICUBIC)) + { + return getBicubicNoise(x, z, rad, n); + } + + else if(method.equals(InterpolationMethod.HERMITE)) + { + return getHermiteNoise(x, z, rad, n); + } + + return n.noise(x, z); + } + public static double getHermiteNoise(int x, int z, double rad, NoiseProvider n) { int fx = (int) Math.floor(x / rad); diff --git a/src/main/java/ninja/bytecode/iris/util/KList.java b/src/main/java/ninja/bytecode/iris/util/KList.java index 2d06046aa..2778aa750 100644 --- a/src/main/java/ninja/bytecode/iris/util/KList.java +++ b/src/main/java/ninja/bytecode/iris/util/KList.java @@ -639,4 +639,10 @@ public class KList extends ArrayList implements List remove(t); return this; } + + public KList qadd(T t) + { + add(t); + return this; + } } diff --git a/src/main/java/ninja/bytecode/iris/util/M.java b/src/main/java/ninja/bytecode/iris/util/M.java index b832a299f..60d3bfd30 100644 --- a/src/main/java/ninja/bytecode/iris/util/M.java +++ b/src/main/java/ninja/bytecode/iris/util/M.java @@ -151,6 +151,11 @@ public class M return (T) Double.valueOf(Math.min(max.doubleValue(), Math.max(min.doubleValue(), value.doubleValue()))); } + public static int iclip(int value, int min, int max) + { + return Math.min(max, Math.max(min, value)); + } + /** * Get true or false based on random percent * diff --git a/src/main/java/ninja/bytecode/iris/util/ResourceLoader.java b/src/main/java/ninja/bytecode/iris/util/ResourceLoader.java new file mode 100644 index 000000000..65e00e3be --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/ResourceLoader.java @@ -0,0 +1,95 @@ +package ninja.bytecode.iris.util; + +import java.io.File; + +import com.google.gson.Gson; + +import ninja.bytecode.iris.Iris; + +public class ResourceLoader +{ + private File root; + private String folderName; + private String resourceTypeName; + private KMap loadCache; + private KList folderCache; + private Class objectClass; + + public ResourceLoader(File root, String folderName, String resourceTypeName, Class objectClass) + { + this.objectClass = objectClass; + this.resourceTypeName = resourceTypeName; + this.root = root; + this.folderName = folderName; + loadCache = new KMap<>(); + } + + public T load(String name) + { + String key = name + "-" + objectClass.getCanonicalName(); + + if(loadCache.containsKey(key)) + { + return loadCache.get(key); + } + + for(File i : getFolders()) + { + for(File j : i.listFiles()) + { + if(j.isFile() && j.getName().endsWith(".json") && j.getName().split("\\Q.\\E")[0].equals(name)) + { + try + { + T t = new Gson().fromJson(IO.readAll(j), objectClass); + loadCache.put(key, t); + Iris.hotloader.track(j); + Iris.info("Loading " + resourceTypeName + ": " + j.getPath()); + + return t; + } + + catch(Throwable e) + { + Iris.warn("Couldn't read " + resourceTypeName + " file: " + j.getPath() + ": " + e.getMessage()); + } + } + } + } + + Iris.warn("Couldn't find " + resourceTypeName + ": " + name); + + return null; + } + + public KList getFolders() + { + if(folderCache == null) + { + folderCache = new KList<>(); + + for(File i : root.listFiles()) + { + if(i.isDirectory()) + { + for(File j : i.listFiles()) + { + if(j.isDirectory() && j.getName().equals(folderName)) + { + folderCache.add(j); + break; + } + } + } + } + } + + return folderCache; + } + + public void clearCache() + { + loadCache.clear(); + folderCache = null; + } +} From a82ba6503fd929cca7029ad1e4612a4ac83329b9 Mon Sep 17 00:00:00 2001 From: Daniel Mills Date: Sat, 21 Mar 2020 03:26:55 -0400 Subject: [PATCH 04/20] Max biomes --- .../ninja/bytecode/iris/IrisDataManager.java | 47 +------ .../ninja/bytecode/iris/IrisGenerator.java | 65 +++++++-- .../bytecode/iris/layer/GenLayerBiome.java | 124 +++++++++++++++++- .../bytecode/iris/object/InferredType.java | 8 ++ .../ninja/bytecode/iris/object/IrisBiome.java | 73 +++++++---- .../iris/object/IrisBiomeDecorator.java | 72 ++++++++++ .../iris/object/IrisBiomePaletteLayer.java | 58 ++++---- .../bytecode/iris/object/IrisDimension.java | 79 +++++++---- .../bytecode/iris/object/IrisRegion.java | 15 +++ .../java/ninja/bytecode/iris/util/CNG.java | 12 ++ ...ellGenerator2D.java => CellGenerator.java} | 4 +- .../bytecode/iris/util/IrisInterpolation.java | 43 +++--- 12 files changed, 432 insertions(+), 168 deletions(-) create mode 100644 src/main/java/ninja/bytecode/iris/object/InferredType.java create mode 100644 src/main/java/ninja/bytecode/iris/object/IrisBiomeDecorator.java create mode 100644 src/main/java/ninja/bytecode/iris/object/IrisRegion.java rename src/main/java/ninja/bytecode/iris/util/{CellGenerator2D.java => CellGenerator.java} (96%) diff --git a/src/main/java/ninja/bytecode/iris/IrisDataManager.java b/src/main/java/ninja/bytecode/iris/IrisDataManager.java index 6037ec298..c49328cd0 100644 --- a/src/main/java/ninja/bytecode/iris/IrisDataManager.java +++ b/src/main/java/ninja/bytecode/iris/IrisDataManager.java @@ -5,36 +5,32 @@ import java.io.File; import org.bukkit.World.Environment; import org.bukkit.block.Biome; -import com.google.gson.Gson; - -import lombok.Getter; -import ninja.bytecode.iris.object.Dispersion; +import lombok.Data; import ninja.bytecode.iris.object.IrisBiome; -import ninja.bytecode.iris.object.IrisBiomePaletteLayer; import ninja.bytecode.iris.object.IrisDimension; +import ninja.bytecode.iris.object.IrisRegion; import ninja.bytecode.iris.util.IO; -import ninja.bytecode.iris.util.JSONObject; import ninja.bytecode.iris.util.ResourceLoader; +@Data public class IrisDataManager { private File dataFolder; private File packs; - @Getter private ResourceLoader biomeLoader; - - @Getter + private ResourceLoader regionLoader; private ResourceLoader dimensionLoader; - + public void hotloaded() { packs.mkdirs(); + this.regionLoader = new ResourceLoader<>(packs, "regions", "Region", IrisRegion.class); this.biomeLoader = new ResourceLoader<>(packs, "biomes", "Biome", IrisBiome.class); this.dimensionLoader = new ResourceLoader<>(packs, "dimensions", "Dimension", IrisDimension.class); writeExamples(); } - + public IrisDataManager(File dataFolder) { this.dataFolder = dataFolder; @@ -46,32 +42,6 @@ public class IrisDataManager { File examples = new File(dataFolder, "example"); examples.mkdirs(); - - IrisBiome biome = new IrisBiome(); - biome.getLayers().clear(); - IrisBiomePaletteLayer grass = new IrisBiomePaletteLayer(); - grass.add("GRASS_BLOCK"); - grass.setDispersion(Dispersion.SCATTER); - grass.setMinHeight(1); - grass.setMaxHeight(1); - IrisBiomePaletteLayer dirt = new IrisBiomePaletteLayer(); - grass.add("DIRT"); - grass.setDispersion(Dispersion.SCATTER); - grass.setMinHeight(1); - grass.setMaxHeight(2); - IrisBiomePaletteLayer dirtThick = new IrisBiomePaletteLayer(); - grass.add("DIRT"); - grass.add("COARSE_DIRT"); - grass.setDispersion(Dispersion.WISPY); - grass.setMinHeight(1); - grass.setMaxHeight(3); - - biome.getLayers().add(dirtThick); - biome.getLayers().add(dirt); - biome.getLayers().add(grass); - - IrisDimension dim = new IrisDimension(); - dim.getBiomes().add("a_biome"); String biomes = ""; String envs = ""; @@ -91,14 +61,11 @@ public class IrisDataManager new File(examples, "example-pack/dimensions").mkdirs(); IO.writeAll(new File(examples, "biome-list.txt"), biomes); IO.writeAll(new File(examples, "environment-list.txt"), envs); - IO.writeAll(new File(examples, "example-pack/biomes/a_biome.json"), new JSONObject(new Gson().toJson(biome)).toString(4)); - IO.writeAll(new File(examples, "example-pack/dimensions/a_dimension.json"), new JSONObject(new Gson().toJson(dim)).toString(4)); } catch(Throwable e) { } - } } \ No newline at end of file diff --git a/src/main/java/ninja/bytecode/iris/IrisGenerator.java b/src/main/java/ninja/bytecode/iris/IrisGenerator.java index e457583a2..6d9ef8a2f 100644 --- a/src/main/java/ninja/bytecode/iris/IrisGenerator.java +++ b/src/main/java/ninja/bytecode/iris/IrisGenerator.java @@ -15,6 +15,7 @@ import org.bukkit.generator.ChunkGenerator; import ninja.bytecode.iris.layer.GenLayerBiome; import ninja.bytecode.iris.object.IrisBiome; import ninja.bytecode.iris.object.IrisDimension; +import ninja.bytecode.iris.object.IrisRegion; import ninja.bytecode.iris.util.BiomeResult; import ninja.bytecode.iris.util.CNG; import ninja.bytecode.iris.util.IrisInterpolation; @@ -25,6 +26,7 @@ public class IrisGenerator extends ChunkGenerator { // TODO REMOVE OR FIND A BETTER PLACE private BlockData STONE = Material.STONE.createBlockData(); + private BlockData WATER = Material.WATER.createBlockData(); private String dimensionName; private GenLayerBiome glBiome; private CNG terrainNoise; @@ -64,44 +66,74 @@ public class IrisGenerator extends ChunkGenerator { Iris.hotloader.check(); int i, j, k, height, depth; - double wx, wz, rx, rz, heightLow, heightHigh, heightExponent; + double wx, wz, rx, rz, noise, ox, oz; + boolean underwater; + BlockData block; int fluidHeight = getDimension().getFluidHeight(); BiomeResult biomeResult; IrisBiome biome; + IrisRegion region; RNG random = new RNG(world.getSeed()); onInit(world, random.nextParallelRNG(0)); ChunkData data = Bukkit.createChunkData(world); for(i = 0; i < 16; i++) { - rx = (x * 16) + i; - wx = ((double) (x * 16) + i) / getDimension().getTerrainZoom(); + for(j = 0; j < 16; j++) { + rx = (x * 16) + i; rz = (z * 16) + j; - wz = ((double) (z * 16) + j) / getDimension().getTerrainZoom(); + ox = (getDimension().cosRotate() * rx) + (-getDimension().sinRotate() * rz) + getDimension().getCoordFracture(random, 39392).fitDoubleD(-getDimension().getCoordFractureDistance() / 2, getDimension().getCoordFractureDistance() / 2, rx, rz); + oz = (getDimension().sinRotate() * rx) + (getDimension().cosRotate() * rz) + getDimension().getCoordFracture(random, 39392).fitDoubleD(-getDimension().getCoordFractureDistance() / 2, getDimension().getCoordFractureDistance() / 2, rx, rz); + wx = (double) (ox) / getDimension().getTerrainZoom(); + wz = (double) (oz) / getDimension().getTerrainZoom(); depth = 0; - biomeResult = glBiome.generateData(wx, wz); + region = glBiome.getRegion(wx, wz); + biomeResult = glBiome.generateRegionData(wx, wz, region); biome = biomeResult.getBiome(); - heightLow = interpolate(rx, rz, (b) -> b.getLowHeight()); - heightHigh = interpolate(rx, rz, (b) -> b.getHighHeight()); - heightExponent = interpolate(rx, rz, (b) -> b.getHeightExponent()); - height = (int) Math.round(terrainNoise.fitDoubleExponent(heightLow, heightHigh, heightExponent, wx, wz)) + fluidHeight; + double lo = interpolateHeight(ox, oz, (b) -> b.getLowHeight()); + double hi = interpolateSurface(ox, oz, (b) -> b.getHighHeight()); + noise = lo + (terrainNoise.fitDoubleD(0, hi - lo, wx, wz)); + height = (int) Math.round(noise) + fluidHeight; + + // Remove Land biome surfaces from underwater + if(height < fluidHeight + 1) + { + if(biome.isLand()) + { + biome = glBiome.generateShoreData(wx, wz, region).getBiome(); + } + } + KList layers = biome.generateLayers(wx, wz, random, height); for(k = Math.max(height, fluidHeight); k >= 0; k--) { + underwater = k > height && k <= fluidHeight; biomeGrid.setBiome(i, k, j, biome.getDerivative()); - data.setBlock(i, k, j, layers.hasIndex(depth) ? layers.get(depth) : STONE); - depth++; + + if(underwater) + { + block = WATER; + } + + else + { + block = layers.hasIndex(depth) ? layers.get(depth) : STONE; + depth++; + } + + data.setBlock(i, k, j, block); } } } + Iris.verbose("Generated " + x + " " + z); return data; } - public double interpolate(double rx, double rz, Function property) + public double interpolateHeight(double rx, double rz, Function property) { return IrisInterpolation.getNoise(getDimension().getInterpolationFunction(), (int) Math.round(rx), (int) Math.round(rz), getDimension().getInterpolationScale(), (xx, zz) -> { @@ -110,6 +142,15 @@ public class IrisGenerator extends ChunkGenerator }); } + public double interpolateSurface(double rx, double rz, Function property) + { + return IrisInterpolation.getNoise(getDimension().getInterpolationSurfaceFunction(), (int) Math.round(rx), (int) Math.round(rz), getDimension().getInterpolationSurfaceScale(), (xx, zz) -> + { + BiomeResult neighborResult = glBiome.generateData(xx / getDimension().getTerrainZoom(), zz / getDimension().getTerrainZoom()); + return property.apply(neighborResult.getBiome()); + }); + } + @Override public List getDefaultPopulators(World world) { diff --git a/src/main/java/ninja/bytecode/iris/layer/GenLayerBiome.java b/src/main/java/ninja/bytecode/iris/layer/GenLayerBiome.java index d78b03630..c152e6f59 100644 --- a/src/main/java/ninja/bytecode/iris/layer/GenLayerBiome.java +++ b/src/main/java/ninja/bytecode/iris/layer/GenLayerBiome.java @@ -1,31 +1,141 @@ package ninja.bytecode.iris.layer; +import ninja.bytecode.iris.Iris; import ninja.bytecode.iris.IrisGenerator; +import ninja.bytecode.iris.object.InferredType; import ninja.bytecode.iris.object.IrisBiome; +import ninja.bytecode.iris.object.IrisRegion; import ninja.bytecode.iris.util.BiomeResult; -import ninja.bytecode.iris.util.CellGenerator2D; +import ninja.bytecode.iris.util.CellGenerator; import ninja.bytecode.iris.util.GenLayer; import ninja.bytecode.iris.util.KList; import ninja.bytecode.iris.util.RNG; public class GenLayerBiome extends GenLayer { - private CellGenerator2D cells; + private CellGenerator region; + private CellGenerator bridge; + private CellGenerator land; + private CellGenerator shore; + private CellGenerator sea; public GenLayerBiome(IrisGenerator iris, RNG rng) { super(iris, rng); - cells = new CellGenerator2D(rng.nextParallelRNG(2045662)); + region = new CellGenerator(rng.nextParallelRNG(1188519)); + bridge = new CellGenerator(rng.nextParallelRNG(1541462)); + land = new CellGenerator(rng.nextParallelRNG(9045162)); + shore = new CellGenerator(rng.nextParallelRNG(2342812)); + sea = new CellGenerator(rng.nextParallelRNG(6135621)); } - public KList getBiomes() + public IrisRegion getRegion(double bx, double bz) { - return iris.getDimension().buildBiomeList(); + region.setShuffle(32); + region.setCellScale(0.33 / iris.getDimension().getRegionZoom()); + double x = bx / iris.getDimension().getBiomeZoom(); + double z = bz / iris.getDimension().getBiomeZoom(); + String regionId = iris.getDimension().getRegions().get(region.getIndex(x, z, iris.getDimension().getRegions().size())); + + return Iris.data.getRegionLoader().load(regionId); } - public BiomeResult generateData(double x, double z) + public BiomeResult generateData(double bx, double bz) { - return new BiomeResult(getBiomes().get(cells.getIndex(x / iris.getDimension().getBiomeZoom(), z / iris.getDimension().getBiomeZoom(), getBiomes().size())), cells.getDistance(x / iris.getDimension().getBiomeZoom(), z / iris.getDimension().getBiomeZoom())); + return generateRegionData(bx, bz, getRegion(bx, bz)); + } + + public BiomeResult generateRegionData(double bx, double bz, IrisRegion regionData) + { + bridge.setShuffle(32); + bridge.setCellScale(0.33 / iris.getDimension().getContinentZoom()); + double x = bx / iris.getDimension().getBiomeZoom(); + double z = bz / iris.getDimension().getBiomeZoom(); + + // Beach + if(bridge.getDistance(x, z) < regionData.getShoreRatio()) + { + return generateShoreData(bx, bz, regionData); + } + + // Sea + else if(bridge.getIndex(x, z, 5) == 1) + { + return generateSeaData(bx, bz, regionData); + } + + // Land + else + { + return generateLandData(bx, bz, regionData); + } + } + + public BiomeResult generateBiomeData(double bx, double bz, IrisRegion regionData, CellGenerator cell, KList biomes, InferredType inferredType) + { + double x = bx / iris.getDimension().getBiomeZoom(); + double z = bz / iris.getDimension().getBiomeZoom(); + IrisBiome biome = Iris.data.getBiomeLoader().load(biomes.get(sea.getIndex(x, z, biomes.size()))); + biome.setInferredType(inferredType); + + return implode(bx, bz, regionData, cell, new BiomeResult(biome, cell.getDistance(x, z))); + } + + public BiomeResult generateSeaData(double bx, double bz, IrisRegion regionData) + { + sea.setShuffle(32); + sea.setCellScale(0.56 / iris.getDimension().getSeaZoom()); + return generateBiomeData(bx, bz, regionData, sea, regionData.getSeaBiomes(), InferredType.SEA); + } + + public BiomeResult generateLandData(double bx, double bz, IrisRegion regionData) + { + land.setShuffle(32); + land.setCellScale(0.6 / iris.getDimension().getLandZoom()); + return generateBiomeData(bx, bz, regionData, land, regionData.getLandBiomes(), InferredType.LAND); + } + + public BiomeResult generateShoreData(double bx, double bz, IrisRegion regionData) + { + shore.setShuffle(32); + shore.setCellScale(0.8 / iris.getDimension().getShoreZoom()); + return generateBiomeData(bx, bz, regionData, shore, regionData.getShoreBiomes(), InferredType.SHORE); + } + + public BiomeResult implode(double bx, double bz, IrisRegion regionData, CellGenerator parentCell, BiomeResult parent) + { + return implode(bx, bz, regionData, parentCell, parent, 1); + } + + public BiomeResult implode(double bx, double bz, IrisRegion regionData, CellGenerator parentCell, BiomeResult parent, int hits) + { + if(hits > 9) + { + return parent; + } + + double x = bx / iris.getDimension().getBiomeZoom(); + double z = bz / iris.getDimension().getBiomeZoom(); + if(parent.getDistance() > regionData.getBiomeImplosionRatio()) + { + if(!parent.getBiome().getChildren().isEmpty()) + { + CellGenerator childCell = parent.getBiome().getChildrenGenerator(rng, 123, parentCell.getCellScale() * parent.getBiome().getChildShrinkFactor()); + int r = childCell.getIndex(x, z, parent.getBiome().getChildren().size() + 1); + + if(r == parent.getBiome().getChildren().size()) + { + return new BiomeResult(parent.getBiome(), childCell.getDistance(x, z)); + } + + IrisBiome biome = Iris.data.getBiomeLoader().load(parent.getBiome().getChildren().get(r)); + biome.setInferredType(parent.getBiome().getInferredType()); + + return implode(bx, bz, regionData, childCell, new BiomeResult(biome, childCell.getDistance(x, z)), hits + 1); + } + } + + return parent; } @Override diff --git a/src/main/java/ninja/bytecode/iris/object/InferredType.java b/src/main/java/ninja/bytecode/iris/object/InferredType.java new file mode 100644 index 000000000..0f9bd0137 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/object/InferredType.java @@ -0,0 +1,8 @@ +package ninja.bytecode.iris.object; + +public enum InferredType +{ + SHORE, + LAND, + SEA +} diff --git a/src/main/java/ninja/bytecode/iris/object/IrisBiome.java b/src/main/java/ninja/bytecode/iris/object/IrisBiome.java index f099d1ac7..eb5893f8a 100644 --- a/src/main/java/ninja/bytecode/iris/object/IrisBiome.java +++ b/src/main/java/ninja/bytecode/iris/object/IrisBiome.java @@ -7,6 +7,7 @@ import org.bukkit.block.data.BlockData; import lombok.Data; import ninja.bytecode.iris.util.CNG; +import ninja.bytecode.iris.util.CellGenerator; import ninja.bytecode.iris.util.KList; import ninja.bytecode.iris.util.RNG; @@ -17,12 +18,27 @@ public class IrisBiome private Biome derivative = Biome.THE_VOID; private double highHeight = 7; private double lowHeight = 1; - private double heightExponent = 1; + private double childShrinkFactor = 1.5; + private KList children = new KList<>(); private KList layers = new KList().qadd(new IrisBiomePaletteLayer()); + private KList decorators = new KList(); + private transient CellGenerator childrenCell; + private transient InferredType inferredType; private transient KList layerHeightGenerators; private transient KList layerSurfaceGenerators; + public CellGenerator getChildrenGenerator(RNG random, int sig, double scale) + { + if(childrenCell == null) + { + childrenCell = new CellGenerator(random.nextParallelRNG(sig * 213)); + childrenCell.setCellScale(scale); + } + + return childrenCell; + } + public KList generateLayers(double wx, double wz, RNG random, int maxDepth) { KList data = new KList<>(); @@ -61,21 +77,15 @@ public class IrisBiome public KList getLayerSurfaceGenerators(RNG rng) { - synchronized(this) + if(layerSurfaceGenerators == null) { - if(layerSurfaceGenerators == null) + layerSurfaceGenerators = new KList<>(); + + int m = 91235; + + for(IrisBiomePaletteLayer i : getLayers()) { - layerSurfaceGenerators = new KList<>(); - - synchronized(layerSurfaceGenerators) - { - int m = 91235; - - for(IrisBiomePaletteLayer i : getLayers()) - { - layerSurfaceGenerators.add(i.getGenerator(rng.nextParallelRNG((m += 3) * m * m * m))); - } - } + layerSurfaceGenerators.add(i.getGenerator(rng.nextParallelRNG((m += 3) * m * m * m))); } } @@ -84,24 +94,33 @@ public class IrisBiome public KList getLayerHeightGenerators(RNG rng) { - synchronized(this) + if(layerHeightGenerators == null) { - if(layerHeightGenerators == null) + layerHeightGenerators = new KList<>(); + + int m = 7235; + + for(IrisBiomePaletteLayer i : getLayers()) { - layerHeightGenerators = new KList<>(); - - synchronized(layerHeightGenerators) - { - int m = 7235; - - for(IrisBiomePaletteLayer i : getLayers()) - { - layerHeightGenerators.add(i.getGenerator(rng.nextParallelRNG((m++) * m * m * m))); - } - } + layerHeightGenerators.add(i.getGenerator(rng.nextParallelRNG((m++) * m * m * m))); } } return layerHeightGenerators; } + + public boolean isLand() + { + return inferredType.equals(InferredType.LAND); + } + + public boolean isSea() + { + return inferredType.equals(InferredType.SEA); + } + + public boolean isShore() + { + return inferredType.equals(InferredType.SHORE); + } } diff --git a/src/main/java/ninja/bytecode/iris/object/IrisBiomeDecorator.java b/src/main/java/ninja/bytecode/iris/object/IrisBiomeDecorator.java new file mode 100644 index 000000000..2a049b9c6 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/object/IrisBiomeDecorator.java @@ -0,0 +1,72 @@ +package ninja.bytecode.iris.object; + +import org.bukkit.Material; +import org.bukkit.block.data.BlockData; + +import lombok.Data; +import ninja.bytecode.iris.util.CNG; +import ninja.bytecode.iris.util.KList; +import ninja.bytecode.iris.util.KMap; +import ninja.bytecode.iris.util.RNG; + +@Data +public class IrisBiomeDecorator +{ + private Dispersion dispersion = Dispersion.ZEBRA; + private int iterations = 5; + private double zoom = 1; + private KList palette = new KList().qadd("GRASS"); + + private transient KMap layerGenerators; + private transient KList blockData; + + public CNG getGenerator(RNG rng) + { + long key = rng.nextParallelRNG(1).nextLong(); + + if(layerGenerators == null) + { + layerGenerators = new KMap<>(); + } + + if(!layerGenerators.containsKey(key)) + { + layerGenerators.put(key, CNG.signature(rng.nextParallelRNG(iterations + getBlockData().size()))); + } + + return layerGenerators.get(key); + } + + public KList add(String b) + { + palette.add(b); + + return palette; + } + + public KList getBlockData() + { + if(blockData == null) + { + blockData = new KList<>(); + for(String i : palette) + { + try + { + Material m = Material.valueOf(i); + + if(m != null) + { + blockData.add(m.createBlockData()); + } + } + catch(Throwable e) + { + + } + } + } + + return blockData; + } +} diff --git a/src/main/java/ninja/bytecode/iris/object/IrisBiomePaletteLayer.java b/src/main/java/ninja/bytecode/iris/object/IrisBiomePaletteLayer.java index a4126cc97..f96709bfd 100644 --- a/src/main/java/ninja/bytecode/iris/object/IrisBiomePaletteLayer.java +++ b/src/main/java/ninja/bytecode/iris/object/IrisBiomePaletteLayer.java @@ -23,25 +23,19 @@ public class IrisBiomePaletteLayer public CNG getGenerator(RNG rng) { - synchronized(this) + long key = rng.nextParallelRNG(1).nextLong(); + + if(layerGenerators == null) { - long key = rng.nextParallelRNG(1).nextLong(); - - if(layerGenerators == null) - { - layerGenerators = new KMap<>(); - } - - if(!layerGenerators.containsKey(key)) - { - synchronized(layerGenerators) - { - layerGenerators.put(key, CNG.signature(rng.nextParallelRNG(minHeight + maxHeight + getBlockData().size()))); - } - } - - return layerGenerators.get(key); + layerGenerators = new KMap<>(); } + + if(!layerGenerators.containsKey(key)) + { + layerGenerators.put(key, CNG.signature(rng.nextParallelRNG(minHeight + maxHeight + getBlockData().size()))); + } + + return layerGenerators.get(key); } public KList add(String b) @@ -53,30 +47,24 @@ public class IrisBiomePaletteLayer public KList getBlockData() { - synchronized(this) + if(blockData == null) { - if(blockData == null) + blockData = new KList<>(); + for(String i : palette) { - blockData = new KList<>(); - synchronized(blockData) + try { - for(String i : palette) + Material m = Material.valueOf(i); + + if(m != null) { - try - { - Material m = Material.valueOf(i); - - if(m != null) - { - blockData.add(m.createBlockData()); - } - } - catch(Throwable e) - { - - } + blockData.add(m.createBlockData()); } } + catch(Throwable e) + { + + } } } diff --git a/src/main/java/ninja/bytecode/iris/object/IrisDimension.java b/src/main/java/ninja/bytecode/iris/object/IrisDimension.java index 502762380..d1b1851ac 100644 --- a/src/main/java/ninja/bytecode/iris/object/IrisDimension.java +++ b/src/main/java/ninja/bytecode/iris/object/IrisDimension.java @@ -3,46 +3,77 @@ package ninja.bytecode.iris.object; import org.bukkit.World.Environment; import lombok.Data; -import ninja.bytecode.iris.Iris; +import ninja.bytecode.iris.util.CNG; import ninja.bytecode.iris.util.KList; +import ninja.bytecode.iris.util.RNG; @Data public class IrisDimension { private String name = "A Dimension"; - private InterpolationMethod interpolationFunction = InterpolationMethod.BILINEAR; - private double interpolationScale = 5.6; + private InterpolationMethod interpolationFunction = InterpolationMethod.BICUBIC; + private double interpolationScale = 63; + private InterpolationMethod interpolationSurfaceFunction = InterpolationMethod.BICUBIC; + private double interpolationSurfaceScale = 4; private Environment environment = Environment.NORMAL; - private KList biomes = new KList<>(); + private KList regions = new KList<>(); private int fluidHeight = 127; private double biomeZoom = 5D; private double terrainZoom = 2D; + private double dimensionAngleDeg = 0; private double roughnessZoom = 2D; private int roughnessHeight = 3; - private transient KList biomeCache; + private double coordFractureDistance = 20; + private double coordFractureZoom = 8; + private double landZoom = 1; + private double shoreZoom = 1; + private double seaZoom = 1; + private double continentZoom = 1; + private double regionZoom = 1; - public KList buildBiomeList() + private transient CNG coordFracture; + private transient Double sinr; + private transient Double cosr; + private transient Double rad; + + public CNG getCoordFracture(RNG rng, int signature) { - if(biomeCache == null) + if(coordFracture == null) { - synchronized(this) - { - biomeCache = new KList<>(); - - synchronized(biomeCache) - { - for(String i : biomes) - { - IrisBiome biome = Iris.data.getBiomeLoader().load(i); - if(biome != null) - { - biomeCache.add(biome); - } - } - } - } + coordFracture = CNG.signature(rng.nextParallelRNG(signature)); + coordFracture.scale(0.012 / coordFractureZoom); } - return biomeCache; + return coordFracture; + } + + public double getDimensionAngle() + { + if(rad == null) + { + rad = Math.toRadians(dimensionAngleDeg); + } + + return rad; + } + + public double sinRotate() + { + if(sinr == null) + { + sinr = Math.sin(getDimensionAngle()); + } + + return sinr; + } + + public double cosRotate() + { + if(cosr == null) + { + cosr = Math.cos(getDimensionAngle()); + } + + return cosr; } } diff --git a/src/main/java/ninja/bytecode/iris/object/IrisRegion.java b/src/main/java/ninja/bytecode/iris/object/IrisRegion.java new file mode 100644 index 000000000..0153c006f --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/object/IrisRegion.java @@ -0,0 +1,15 @@ +package ninja.bytecode.iris.object; + +import lombok.Data; +import ninja.bytecode.iris.util.KList; + +@Data +public class IrisRegion +{ + private String name = "A Region"; + private double shoreRatio = 0.13; + private double biomeImplosionRatio = 0.4; + private KList landBiomes = new KList<>(); + private KList seaBiomes = new KList<>(); + private KList shoreBiomes = new KList<>(); +} diff --git a/src/main/java/ninja/bytecode/iris/util/CNG.java b/src/main/java/ninja/bytecode/iris/util/CNG.java index c41df5b6c..154e0a11b 100644 --- a/src/main/java/ninja/bytecode/iris/util/CNG.java +++ b/src/main/java/ninja/bytecode/iris/util/CNG.java @@ -166,6 +166,18 @@ public class CNG return (int) Math.round(IrisInterpolation.lerp(min, max, noise)); } + public double fitDoubleD(double min, double max, double... dim) + { + if(min == max) + { + return min; + } + + double noise = noise(dim); + + return IrisInterpolation.lerp(min, max, noise); + } + public int fitDoubleExponent(double min, double max, double exponent, double... dim) { if(min == max) diff --git a/src/main/java/ninja/bytecode/iris/util/CellGenerator2D.java b/src/main/java/ninja/bytecode/iris/util/CellGenerator.java similarity index 96% rename from src/main/java/ninja/bytecode/iris/util/CellGenerator2D.java rename to src/main/java/ninja/bytecode/iris/util/CellGenerator.java index 0c7b5157e..2745cd21d 100644 --- a/src/main/java/ninja/bytecode/iris/util/CellGenerator2D.java +++ b/src/main/java/ninja/bytecode/iris/util/CellGenerator.java @@ -6,7 +6,7 @@ import ninja.bytecode.iris.util.FastNoise.CellularDistanceFunction; import ninja.bytecode.iris.util.FastNoise.CellularReturnType; import ninja.bytecode.iris.util.FastNoise.NoiseType; -public class CellGenerator2D +public class CellGenerator { private FastNoise fn; private FastNoise fd; @@ -20,7 +20,7 @@ public class CellGenerator2D @Setter private double shuffle; - public CellGenerator2D(RNG rng) + public CellGenerator(RNG rng) { shuffle = 128; cellScale = 0.73; diff --git a/src/main/java/ninja/bytecode/iris/util/IrisInterpolation.java b/src/main/java/ninja/bytecode/iris/util/IrisInterpolation.java index 277b53fe8..949939e3b 100644 --- a/src/main/java/ninja/bytecode/iris/util/IrisInterpolation.java +++ b/src/main/java/ninja/bytecode/iris/util/IrisInterpolation.java @@ -1,6 +1,7 @@ package ninja.bytecode.iris.util; import ninja.bytecode.iris.object.InterpolationMethod; +import ninja.bytecode.iris.object.IrisDimension; public class IrisInterpolation { @@ -188,26 +189,6 @@ public class IrisInterpolation //@done } - public static double getNoise(InterpolationMethod method, int x, int z, double rad, NoiseProvider n) - { - if(method.equals(InterpolationMethod.BILINEAR)) - { - return getBilinearNoise(x, z, rad, n); - } - - else if(method.equals(InterpolationMethod.BICUBIC)) - { - return getBicubicNoise(x, z, rad, n); - } - - else if(method.equals(InterpolationMethod.HERMITE)) - { - return getHermiteNoise(x, z, rad, n); - } - - return n.noise(x, z); - } - public static double getHermiteNoise(int x, int z, double rad, NoiseProvider n) { int fx = (int) Math.floor(x / rad); @@ -240,10 +221,30 @@ public class IrisInterpolation n.noise(x3, z1), n.noise(x3, z2), n.noise(x3, z3), - px, pz, 0.00001, 0.5); + px, pz, 0.0000000001, 0.5); //@done } + public static double getNoise(InterpolationMethod method, int x, int z, double rad, NoiseProvider n) + { + if(method.equals(InterpolationMethod.BILINEAR)) + { + return getBilinearNoise(x, z, rad, n); + } + + else if(method.equals(InterpolationMethod.BICUBIC)) + { + return getBicubicNoise(x, z, rad, n); + } + + else if(method.equals(InterpolationMethod.HERMITE)) + { + return getHermiteNoise(x, z, rad, n); + } + + return n.noise(x, z); + } + public static double rangeScale(double amin, double amax, double bmin, double bmax, double b) { return amin + ((amax - amin) * ((b - bmin) / (bmax - bmin))); From 5d7126f772d32bd8a62e91a86fbf085775c3ccc5 Mon Sep 17 00:00:00 2001 From: Daniel Mills Date: Tue, 7 Apr 2020 00:52:09 -0400 Subject: [PATCH 05/20] Fix --- src/main/java/ninja/bytecode/iris/Iris.java | 1 + .../java/ninja/bytecode/iris/IrisContext.java | 27 ++++++++++++++ .../ninja/bytecode/iris/IrisGenerator.java | 35 +++++++++++++++++-- .../java/ninja/bytecode/iris/IrisMetrics.java | 15 ++++++++ 4 files changed, 75 insertions(+), 3 deletions(-) create mode 100644 src/main/java/ninja/bytecode/iris/IrisContext.java create mode 100644 src/main/java/ninja/bytecode/iris/IrisMetrics.java diff --git a/src/main/java/ninja/bytecode/iris/Iris.java b/src/main/java/ninja/bytecode/iris/Iris.java index 08ed6bd3c..ad62dc1fc 100644 --- a/src/main/java/ninja/bytecode/iris/Iris.java +++ b/src/main/java/ninja/bytecode/iris/Iris.java @@ -16,6 +16,7 @@ import org.bukkit.generator.ChunkGenerator; import org.bukkit.plugin.java.JavaPlugin; import ninja.bytecode.iris.util.IO; +import ninja.bytecode.iris.util.KMap; public class Iris extends JavaPlugin { diff --git a/src/main/java/ninja/bytecode/iris/IrisContext.java b/src/main/java/ninja/bytecode/iris/IrisContext.java new file mode 100644 index 000000000..7a092c641 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/IrisContext.java @@ -0,0 +1,27 @@ +package ninja.bytecode.iris; + +import org.bukkit.World; + +import ninja.bytecode.iris.util.BiomeResult; +import ninja.bytecode.iris.util.KMap; + +public interface IrisContext +{ + static KMap contexts = new KMap<>(); + + public static void pushContext(IrisContext context) + { + contexts.put(context.getWorld(), context); + } + + public static IrisContext of(World world) + { + return contexts.get(world); + } + + public BiomeResult getBiome(int x, int z); + + public IrisMetrics getMetrics(); + + public World getWorld(); +} diff --git a/src/main/java/ninja/bytecode/iris/IrisGenerator.java b/src/main/java/ninja/bytecode/iris/IrisGenerator.java index 6d9ef8a2f..6085fcf10 100644 --- a/src/main/java/ninja/bytecode/iris/IrisGenerator.java +++ b/src/main/java/ninja/bytecode/iris/IrisGenerator.java @@ -18,11 +18,12 @@ import ninja.bytecode.iris.object.IrisDimension; import ninja.bytecode.iris.object.IrisRegion; import ninja.bytecode.iris.util.BiomeResult; import ninja.bytecode.iris.util.CNG; +import ninja.bytecode.iris.util.ChronoLatch; import ninja.bytecode.iris.util.IrisInterpolation; import ninja.bytecode.iris.util.KList; import ninja.bytecode.iris.util.RNG; -public class IrisGenerator extends ChunkGenerator +public class IrisGenerator extends ChunkGenerator implements IrisContext { // TODO REMOVE OR FIND A BETTER PLACE private BlockData STONE = Material.STONE.createBlockData(); @@ -30,12 +31,16 @@ public class IrisGenerator extends ChunkGenerator private String dimensionName; private GenLayerBiome glBiome; private CNG terrainNoise; + private IrisMetrics metrics; + private World world; + private ChronoLatch pushLatch; private boolean initialized = false; public IrisGenerator(String dimensionName) { this.dimensionName = dimensionName; + pushLatch = new ChronoLatch(3000); } public IrisDimension getDimension() @@ -50,6 +55,8 @@ public class IrisGenerator extends ChunkGenerator return; } + this.world = world; + metrics = new IrisMetrics(1024); initialized = true; glBiome = new GenLayerBiome(this, rng.nextParallelRNG(1)); terrainNoise = CNG.signature(rng.nextParallelRNG(2)); @@ -64,7 +71,12 @@ public class IrisGenerator extends ChunkGenerator @Override public ChunkData generateChunkData(World world, Random no, int x, int z, BiomeGrid biomeGrid) { - Iris.hotloader.check(); + if(pushLatch.flip()) + { + Iris.hotloader.check(); + IrisContext.pushContext(this); + } + int i, j, k, height, depth; double wx, wz, rx, rz, noise, ox, oz; boolean underwater; @@ -79,7 +91,6 @@ public class IrisGenerator extends ChunkGenerator for(i = 0; i < 16; i++) { - for(j = 0; j < 16; j++) { rx = (x * 16) + i; @@ -163,9 +174,27 @@ public class IrisGenerator extends ChunkGenerator return super.getFixedSpawnLocation(world, random); } + @Override + public BiomeResult getBiome(int x, int z) + { + return null; + } + @Override public boolean isParallelCapable() { return true; } + + @Override + public IrisMetrics getMetrics() + { + return metrics; + } + + @Override + public World getWorld() + { + return world; + } } diff --git a/src/main/java/ninja/bytecode/iris/IrisMetrics.java b/src/main/java/ninja/bytecode/iris/IrisMetrics.java new file mode 100644 index 000000000..ff14d75df --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/IrisMetrics.java @@ -0,0 +1,15 @@ +package ninja.bytecode.iris; + +import lombok.Data; +import ninja.bytecode.iris.util.RollingSequence; + +@Data +public class IrisMetrics +{ + private final RollingSequence total; + + public IrisMetrics(int memory) + { + total = new RollingSequence(memory); + } +} From eca317421427f525ebdc181040dde25d5511e747 Mon Sep 17 00:00:00 2001 From: Daniel Mills Date: Sun, 10 May 2020 17:16:44 -0400 Subject: [PATCH 06/20] Deps --- pom.xml | 5 + .../ninja/bytecode/iris/GeneratedChunk.java | 20 + src/main/java/ninja/bytecode/iris/Iris.java | 190 +- .../java/ninja/bytecode/iris/IrisContext.java | 2 +- .../ninja/bytecode/iris/IrisGenerator.java | 331 ++- .../bytecode/iris/IrisHotloadManager.java | 6 +- .../java/ninja/bytecode/iris/IrisMetrics.java | 8 +- .../bytecode/iris/layer/GenLayerBiome.java | 2 +- .../ninja/bytecode/iris/object/IrisBiome.java | 22 +- .../iris/object/IrisBiomeDecorator.java | 4 +- .../iris/object/IrisBiomePaletteLayer.java | 27 +- .../bytecode/iris/object/IrisDimension.java | 6 +- .../bytecode/iris/object/IrisRegion.java | 6 +- .../iris/object/IrisRegisteredObject.java | 9 + .../iris/object/atomics/AtomicSliver.java | 52 + .../bytecode/iris/util/BlockDataTools.java | 72 + .../java/ninja/bytecode/iris/util/Board.java | 131 ++ .../ninja/bytecode/iris/util/BoardEntry.java | 40 + .../bytecode/iris/util/BoardManager.java | 86 + .../bytecode/iris/util/BoardProvider.java | 25 + .../bytecode/iris/util/BoardSettings.java | 18 + .../bytecode/iris/util/BoardUpdateTask.java | 26 + .../java/ninja/bytecode/iris/util/CNG.java | 8 +- .../bytecode/iris/util/ChunkPosition.java | 16 + .../ninja/bytecode/iris/util/Chunker.java | 57 - .../ninja/bytecode/iris/util/FileWatcher.java | 2 + .../java/ninja/bytecode/iris/util/Form.java | 1564 ------------- .../ninja/bytecode/iris/util/Formula.java | 50 - .../ninja/bytecode/iris/util/Function2.java | 7 - .../ninja/bytecode/iris/util/Function3.java | 7 - .../ninja/bytecode/iris/util/Function4.java | 7 - .../bytecode/iris/util/GroupedExecutor.java | 122 + .../java/ninja/bytecode/iris/util/HTTP.java | 201 -- .../ninja/bytecode/iris/util/HTTPTokener.java | 91 - .../bytecode/iris/util/IrisInterpolation.java | 1 - src/main/java/ninja/bytecode/iris/util/J.java | 133 -- .../ninja/bytecode/iris/util/JSONArray.java | 1252 ---------- .../bytecode/iris/util/JSONException.java | 50 - .../java/ninja/bytecode/iris/util/JSONML.java | 555 ----- .../ninja/bytecode/iris/util/JSONObject.java | 2072 ----------------- .../ninja/bytecode/iris/util/JSONString.java | 21 - .../bytecode/iris/util/JSONStringer.java | 86 - .../ninja/bytecode/iris/util/JSONTokener.java | 504 ---- .../ninja/bytecode/iris/util/JSONWriter.java | 388 --- .../java/ninja/bytecode/iris/util/KList.java | 648 ------ .../java/ninja/bytecode/iris/util/KMap.java | 424 ---- .../java/ninja/bytecode/iris/util/KSet.java | 29 - .../ninja/bytecode/iris/util/KeyPair.java | 45 - .../java/ninja/bytecode/iris/util/Looper.java | 34 - src/main/java/ninja/bytecode/iris/util/M.java | 448 ---- .../bytecode/iris/util/NastyFunction.java | 6 - .../ninja/bytecode/iris/util/NastyFuture.java | 6 - .../bytecode/iris/util/NastyRunnable.java | 6 - .../bytecode/iris/util/PolygonGenerator.java | 4 + .../iris/util/PrecisionStopwatch.java | 101 - .../java/ninja/bytecode/iris/util/Queue.java | 31 - .../bytecode/iris/util/QueueExecutor.java | 54 - .../bytecode/iris/util/ResourceLoader.java | 17 +- .../bytecode/iris/util/RollingSequence.java | 101 - .../bytecode/iris/util/ScoreDirection.java | 10 + .../bytecode/iris/util/ShurikenQueue.java | 88 - .../ninja/bytecode/iris/util/WeightMap.java | 2 + .../java/ninja/bytecode/iris/util/XML.java | 584 ----- .../ninja/bytecode/iris/util/XMLTokener.java | 425 ---- src/main/resources/plugin.yml | 2 + 65 files changed, 1135 insertions(+), 10212 deletions(-) create mode 100644 src/main/java/ninja/bytecode/iris/GeneratedChunk.java create mode 100644 src/main/java/ninja/bytecode/iris/object/IrisRegisteredObject.java create mode 100644 src/main/java/ninja/bytecode/iris/object/atomics/AtomicSliver.java create mode 100644 src/main/java/ninja/bytecode/iris/util/BlockDataTools.java create mode 100644 src/main/java/ninja/bytecode/iris/util/Board.java create mode 100644 src/main/java/ninja/bytecode/iris/util/BoardEntry.java create mode 100644 src/main/java/ninja/bytecode/iris/util/BoardManager.java create mode 100644 src/main/java/ninja/bytecode/iris/util/BoardProvider.java create mode 100644 src/main/java/ninja/bytecode/iris/util/BoardSettings.java create mode 100644 src/main/java/ninja/bytecode/iris/util/BoardUpdateTask.java create mode 100644 src/main/java/ninja/bytecode/iris/util/ChunkPosition.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/Chunker.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/Form.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/Formula.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/Function2.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/Function3.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/Function4.java create mode 100644 src/main/java/ninja/bytecode/iris/util/GroupedExecutor.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/HTTP.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/HTTPTokener.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/J.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/JSONArray.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/JSONException.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/JSONML.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/JSONObject.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/JSONString.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/JSONStringer.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/JSONTokener.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/JSONWriter.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/KList.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/KMap.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/KSet.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/KeyPair.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/Looper.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/M.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/NastyFunction.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/NastyFuture.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/NastyRunnable.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/PrecisionStopwatch.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/Queue.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/QueueExecutor.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/RollingSequence.java create mode 100644 src/main/java/ninja/bytecode/iris/util/ScoreDirection.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/ShurikenQueue.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/XML.java delete mode 100644 src/main/java/ninja/bytecode/iris/util/XMLTokener.java diff --git a/pom.xml b/pom.xml index d745c3174..965b716f9 100644 --- a/pom.xml +++ b/pom.xml @@ -166,6 +166,11 @@ 1.18.10 provided + + ninja.bytecode + Shuriken + 1.1.24 + org.bukkit bukkit diff --git a/src/main/java/ninja/bytecode/iris/GeneratedChunk.java b/src/main/java/ninja/bytecode/iris/GeneratedChunk.java new file mode 100644 index 000000000..03c064dea --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/GeneratedChunk.java @@ -0,0 +1,20 @@ +package ninja.bytecode.iris; + +import org.bukkit.generator.ChunkGenerator.BiomeGrid; +import org.bukkit.generator.ChunkGenerator.ChunkData; + +import lombok.Data; +import ninja.bytecode.iris.util.ChunkPosition; + +@Data +public class GeneratedChunk +{ + private ChunkPosition pos; + private ChunkData data; + private BiomeGrid grid; + + public GeneratedChunk(ChunkPosition pos) + { + this.pos = pos; + } +} diff --git a/src/main/java/ninja/bytecode/iris/Iris.java b/src/main/java/ninja/bytecode/iris/Iris.java index ad62dc1fc..fce273cb3 100644 --- a/src/main/java/ninja/bytecode/iris/Iris.java +++ b/src/main/java/ninja/bytecode/iris/Iris.java @@ -1,6 +1,8 @@ package ninja.bytecode.iris; import java.io.File; +import java.util.ArrayList; +import java.util.List; import java.util.UUID; import org.bukkit.Bukkit; @@ -15,14 +17,31 @@ import org.bukkit.entity.Player; import org.bukkit.generator.ChunkGenerator; import org.bukkit.plugin.java.JavaPlugin; +import ninja.bytecode.iris.object.IrisBiome; +import ninja.bytecode.iris.object.IrisDimension; +import ninja.bytecode.iris.util.BiomeResult; +import ninja.bytecode.iris.util.BoardManager; +import ninja.bytecode.iris.util.BoardProvider; +import ninja.bytecode.iris.util.BoardSettings; +import ninja.bytecode.iris.util.CNG; +import ninja.bytecode.iris.util.GroupedExecutor; import ninja.bytecode.iris.util.IO; -import ninja.bytecode.iris.util.KMap; +import ninja.bytecode.iris.util.ScoreDirection; +import ninja.bytecode.shuriken.collections.KList; +import ninja.bytecode.shuriken.execution.J; +import ninja.bytecode.shuriken.format.Form; +import ninja.bytecode.shuriken.math.RollingSequence; +import ninja.bytecode.shuriken.reaction.O; -public class Iris extends JavaPlugin +public class Iris extends JavaPlugin implements BoardProvider { + public static KList executors = new KList<>(); public static Iris instance; public static IrisDataManager data; + private static String last = ""; public static IrisHotloadManager hotloader; + private BoardManager manager; + private RollingSequence hits = new RollingSequence(20); public Iris() { @@ -34,42 +53,157 @@ public class Iris extends JavaPlugin instance = this; hotloader = new IrisHotloadManager(); data = new IrisDataManager(getDataFolder()); - Bukkit.getScheduler().scheduleSyncDelayedTask(this, () -> + manager = new BoardManager(this, BoardSettings.builder().boardProvider(this).scoreDirection(ScoreDirection.UP).build()); + } + + @Override + public String getTitle(Player player) + { + return ChatColor.GREEN + "Iris"; + } + + @Override + public List getLines(Player player) + { + World world = player.getWorld(); + List lines = new ArrayList<>(); + + if(world.getGenerator() instanceof IrisGenerator) { - for(World i : Bukkit.getWorlds()) + IrisGenerator g = (IrisGenerator) world.getGenerator(); + int x = player.getLocation().getBlockX(); + int z = player.getLocation().getBlockZ(); + IrisDimension dim = g.getDimension(); + BiomeResult er = g.getBiome(x, z); + IrisBiome b = er != null ? er.getBiome() : null; + int fh = dim.getFluidHeight(); + lines.add("&7&m-----------------"); + lines.add(ChatColor.GREEN + "Speed" + ChatColor.GRAY + ": " + ChatColor.BOLD + "" + ChatColor.GRAY + Form.f(g.getMetrics().getPerSecond().getAverage(), 0) + "/s " + Form.duration(g.getMetrics().getTotal().getAverage(), 1) + ""); + lines.add(ChatColor.GREEN + "Loss" + ChatColor.GRAY + ": " + ChatColor.BOLD + "" + ChatColor.GRAY + Form.duration(g.getMetrics().getLoss().getAverage(), 4) + ""); + lines.add(ChatColor.GREEN + "Generators" + ChatColor.GRAY + ": " + Form.f(CNG.creates)); + lines.add(ChatColor.GREEN + "Noise" + ChatColor.GRAY + ": " + Form.f((int) hits.getAverage())); + + if(er != null && b != null) { - if(i.getName().startsWith("iris/")) - { - Bukkit.unloadWorld(i, false); - } + lines.add(ChatColor.GREEN + "Biome" + ChatColor.GRAY + ": " + b.getName()); + lines.add(ChatColor.GREEN + "File" + ChatColor.GRAY + ": " + b.getLoadKey() + ".json"); + lines.add(ChatColor.GREEN + "Height" + ChatColor.GRAY + ": " + (int) (b.getLowHeight() + fh) + " - " + (int) (b.getHighHeight() + fh) + " (" + (int) (b.getHighHeight() - b.getLowHeight()) + ")"); } + lines.add("&7&m-----------------"); + } - World world = Bukkit.createWorld(new WorldCreator("iris/" + UUID.randomUUID()).generator(new IrisGenerator("overworld"))); - - for(Player i : Bukkit.getOnlinePlayers()) - { - i.teleport(new Location(world, 0, 100, 0)); - - Bukkit.getScheduler().scheduleSyncDelayedTask(this, () -> - { - i.setGameMode(GameMode.SPECTATOR); - }, 5); - } - }); + else + { + lines.add(ChatColor.GREEN + "Join an Iris World!"); + } + return lines; } public void onDisable() { + for(GroupedExecutor i : executors) + { + i.close(); + } + executors.clear(); + manager.onDisable(); } @Override public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + if(command.getName().equals("iris")) + { + if(args.length == 0) + { + imsg(sender, "/iris dev - Create a new dev world"); + } + + if(args.length >= 1) + { + if(args[0].equalsIgnoreCase("dev")) + { + String dim = "Overworld"; + + if(args.length > 1) + { + dim = args[1]; + } + + String dimm = dim; + + Bukkit.getScheduler().scheduleSyncDelayedTask(this, () -> + { + for(World i : Bukkit.getWorlds()) + { + if(i.getName().startsWith("iris/")) + { + for(Player j : Bukkit.getOnlinePlayers()) + { + imsg(j, "Unloading " + i.getName()); + } + + Bukkit.unloadWorld(i, false); + } + } + + for(Player i : Bukkit.getOnlinePlayers()) + { + imsg(i, "Creating Iris " + dimm + "..."); + } + + IrisGenerator gx = new IrisGenerator("overworld"); + + O done = new O(); + done.set(false); + + J.a(() -> + { + int req = 740; + while(!done.get()) + { + for(Player i : Bukkit.getOnlinePlayers()) + { + imsg(i, "Generating " + Form.pc((double) gx.getGenerated() / (double) req)); + } + J.sleep(3000); + } + }); + World world = Bukkit.createWorld(new WorldCreator("iris/" + UUID.randomUUID()).generator(gx)); + done.set(true); + + for(Player i : Bukkit.getOnlinePlayers()) + { + imsg(i, "Generating 100%"); + } + + for(Player i : Bukkit.getOnlinePlayers()) + { + i.teleport(new Location(world, 0, 100, 0)); + + Bukkit.getScheduler().scheduleSyncDelayedTask(this, () -> + { + imsg(i, "Have Fun!"); + i.setGameMode(GameMode.SPECTATOR); + }, 5); + } + }); + } + } + + return true; + } + return false; } + public void imsg(CommandSender s, String msg) + { + s.sendMessage(ChatColor.GREEN + "[" + ChatColor.DARK_GRAY + "Iris" + ChatColor.GREEN + "]" + ChatColor.GRAY + ": " + msg); + } + @Override public ChunkGenerator getDefaultWorldGenerator(String worldName, String id) { @@ -78,7 +212,16 @@ public class Iris extends JavaPlugin public static void msg(String string) { - Bukkit.getConsoleSender().sendMessage(ChatColor.GREEN + "[Iris]: " + ChatColor.GRAY + string); + String msg = ChatColor.GREEN + "[Iris]: " + ChatColor.GRAY + string; + + if(last.equals(msg)) + { + return; + } + + last = msg; + + Bukkit.getConsoleSender().sendMessage(msg); } public static void warn(String string) @@ -105,4 +248,9 @@ public class Iris extends JavaPlugin { msg(ChatColor.WHITE + string); } + + public void hit(long hits2) + { + hits.put(hits2); + } } diff --git a/src/main/java/ninja/bytecode/iris/IrisContext.java b/src/main/java/ninja/bytecode/iris/IrisContext.java index 7a092c641..4b1e44533 100644 --- a/src/main/java/ninja/bytecode/iris/IrisContext.java +++ b/src/main/java/ninja/bytecode/iris/IrisContext.java @@ -3,7 +3,7 @@ package ninja.bytecode.iris; import org.bukkit.World; import ninja.bytecode.iris.util.BiomeResult; -import ninja.bytecode.iris.util.KMap; +import ninja.bytecode.shuriken.collections.KMap; public interface IrisContext { diff --git a/src/main/java/ninja/bytecode/iris/IrisGenerator.java b/src/main/java/ninja/bytecode/iris/IrisGenerator.java index 6085fcf10..2133c8b71 100644 --- a/src/main/java/ninja/bytecode/iris/IrisGenerator.java +++ b/src/main/java/ninja/bytecode/iris/IrisGenerator.java @@ -2,6 +2,7 @@ package ninja.bytecode.iris; import java.util.List; import java.util.Random; +import java.util.concurrent.locks.ReentrantLock; import java.util.function.Function; import org.bukkit.Bukkit; @@ -9,43 +10,74 @@ import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.World; import org.bukkit.block.data.BlockData; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.HandlerList; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerTeleportEvent; +import org.bukkit.event.world.WorldUnloadEvent; import org.bukkit.generator.BlockPopulator; import org.bukkit.generator.ChunkGenerator; +import lombok.Data; +import lombok.EqualsAndHashCode; +import net.md_5.bungee.api.ChatColor; import ninja.bytecode.iris.layer.GenLayerBiome; import ninja.bytecode.iris.object.IrisBiome; import ninja.bytecode.iris.object.IrisDimension; import ninja.bytecode.iris.object.IrisRegion; +import ninja.bytecode.iris.object.atomics.AtomicSliver; import ninja.bytecode.iris.util.BiomeResult; +import ninja.bytecode.iris.util.BlockDataTools; import ninja.bytecode.iris.util.CNG; import ninja.bytecode.iris.util.ChronoLatch; +import ninja.bytecode.iris.util.GroupedExecutor; import ninja.bytecode.iris.util.IrisInterpolation; -import ninja.bytecode.iris.util.KList; import ninja.bytecode.iris.util.RNG; +import ninja.bytecode.shuriken.bench.PrecisionStopwatch; +import ninja.bytecode.shuriken.collections.KList; +import ninja.bytecode.shuriken.format.Form; +import ninja.bytecode.shuriken.logging.L; -public class IrisGenerator extends ChunkGenerator implements IrisContext +@Data +@EqualsAndHashCode(callSuper = false) +public class IrisGenerator extends ChunkGenerator implements IrisContext, Listener { - // TODO REMOVE OR FIND A BETTER PLACE - private BlockData STONE = Material.STONE.createBlockData(); - private BlockData WATER = Material.WATER.createBlockData(); private String dimensionName; - private GenLayerBiome glBiome; - private CNG terrainNoise; private IrisMetrics metrics; private World world; + private ChronoLatch perSecond; private ChronoLatch pushLatch; - + private BlockData STONE = Material.STONE.createBlockData(); + private BlockData WATER = Material.WATER.createBlockData(); + private GenLayerBiome glBiome; + private CNG terrainNoise; + private RNG masterRandom; + private GroupedExecutor tx; + private boolean failing = false; private boolean initialized = false; + private int generated = 0; + private boolean pregenDone = false; + private int task = -1; public IrisGenerator(String dimensionName) { this.dimensionName = dimensionName; pushLatch = new ChronoLatch(3000); + perSecond = new ChronoLatch(1000); + CNG.creates = 0; } public IrisDimension getDimension() { - return Iris.data.getDimensionLoader().load(dimensionName); + IrisDimension d = Iris.data.getDimensionLoader().load(dimensionName); + + if(d == null) + { + Iris.error("Can't find dimension: " + dimensionName); + } + + return d; } public void onInit(World world, RNG rng) @@ -56,10 +88,61 @@ public class IrisGenerator extends ChunkGenerator implements IrisContext } this.world = world; - metrics = new IrisMetrics(1024); + this.masterRandom = new RNG(world.getSeed()); + glBiome = new GenLayerBiome(this, masterRandom.nextParallelRNG(1)); + terrainNoise = CNG.signature(masterRandom.nextParallelRNG(2)); + metrics = new IrisMetrics(128); initialized = true; - glBiome = new GenLayerBiome(this, rng.nextParallelRNG(1)); - terrainNoise = CNG.signature(rng.nextParallelRNG(2)); + tx = new GroupedExecutor(16, Thread.MIN_PRIORITY, "Iris Generator"); + Iris.executors.add(tx); + Bukkit.getServer().getPluginManager().registerEvents(this, Iris.instance); + task = Bukkit.getScheduler().scheduleSyncRepeatingTask(Iris.instance, this::tick, 0, 0); + } + + public void tick() + { + if(perSecond.flip()) + { + if(generated > 770) + { + pregenDone = true; + } + + if(pregenDone) + { + metrics.getPerSecond().put(generated); + generated = 0; + } + } + } + + @EventHandler + public void on(PlayerTeleportEvent e) + { + if(e.getFrom().getWorld().equals(world) && !e.getTo().getWorld().equals(world)) + { + + } + + if(!e.getFrom().getWorld().equals(world) && e.getTo().getWorld().equals(world)) + { + + } + } + + @EventHandler + public void on(WorldUnloadEvent e) + { + if(world != null && e.getWorld().equals(world)) + { + close(); + } + } + + public void close() + { + HandlerList.unregisterAll(this); + Bukkit.getScheduler().cancelTask(getTask()); } @Override @@ -68,80 +151,164 @@ public class IrisGenerator extends ChunkGenerator implements IrisContext return super.canSpawn(world, x, z); } - @Override - public ChunkData generateChunkData(World world, Random no, int x, int z, BiomeGrid biomeGrid) + public ChunkData generateChunkDataFailure(World world, Random no, int x, int z, BiomeGrid biomeGrid) { - if(pushLatch.flip()) - { - Iris.hotloader.check(); - IrisContext.pushContext(this); - } - - int i, j, k, height, depth; - double wx, wz, rx, rz, noise, ox, oz; - boolean underwater; - BlockData block; - int fluidHeight = getDimension().getFluidHeight(); - BiomeResult biomeResult; - IrisBiome biome; - IrisRegion region; - RNG random = new RNG(world.getSeed()); - onInit(world, random.nextParallelRNG(0)); - ChunkData data = Bukkit.createChunkData(world); + ChunkData c = Bukkit.createChunkData(world); - for(i = 0; i < 16; i++) + for(int i = 0; i < 16; i++) { - for(j = 0; j < 16; j++) + for(int j = 0; j < 16; j++) { - rx = (x * 16) + i; - rz = (z * 16) + j; - ox = (getDimension().cosRotate() * rx) + (-getDimension().sinRotate() * rz) + getDimension().getCoordFracture(random, 39392).fitDoubleD(-getDimension().getCoordFractureDistance() / 2, getDimension().getCoordFractureDistance() / 2, rx, rz); - oz = (getDimension().sinRotate() * rx) + (getDimension().cosRotate() * rz) + getDimension().getCoordFracture(random, 39392).fitDoubleD(-getDimension().getCoordFractureDistance() / 2, getDimension().getCoordFractureDistance() / 2, rx, rz); - wx = (double) (ox) / getDimension().getTerrainZoom(); - wz = (double) (oz) / getDimension().getTerrainZoom(); - depth = 0; - region = glBiome.getRegion(wx, wz); - biomeResult = glBiome.generateRegionData(wx, wz, region); - biome = biomeResult.getBiome(); - double lo = interpolateHeight(ox, oz, (b) -> b.getLowHeight()); - double hi = interpolateSurface(ox, oz, (b) -> b.getHighHeight()); - noise = lo + (terrainNoise.fitDoubleD(0, hi - lo, wx, wz)); - height = (int) Math.round(noise) + fluidHeight; + int h = 0; - // Remove Land biome surfaces from underwater - if(height < fluidHeight + 1) + if(j == i || j + i == 16) { - if(biome.isLand()) - { - biome = glBiome.generateShoreData(wx, wz, region).getBiome(); - } + c.setBlock(i, h, j, BlockDataTools.getBlockData("RED_TERRACOTTA")); } - KList layers = biome.generateLayers(wx, wz, random, height); - - for(k = Math.max(height, fluidHeight); k >= 0; k--) + else { - underwater = k > height && k <= fluidHeight; - biomeGrid.setBiome(i, k, j, biome.getDerivative()); - - if(underwater) - { - block = WATER; - } - - else - { - block = layers.hasIndex(depth) ? layers.get(depth) : STONE; - depth++; - } - - data.setBlock(i, k, j, block); + c.setBlock(i, h, j, BlockDataTools.getBlockData("BLACK_TERRACOTTA")); } } } - Iris.verbose("Generated " + x + " " + z); - return data; + return c; + } + + @Override + public ChunkData generateChunkData(World world, Random no, int x, int z, BiomeGrid biomeGrid) + { + PrecisionStopwatch sx = PrecisionStopwatch.start(); + + if(failing) + { + return generateChunkDataFailure(world, no, x, z, biomeGrid); + } + + try + { + if(pushLatch.flip()) + { + if(this.world == null) + { + this.world = world; + } + + Iris.hotloader.check(); + IrisContext.pushContext(this); + if(metrics != null) + { + Iris.info("Generating " + Form.f(1000D / metrics.getTotal().getAverage(), 0) + "/s (" + Form.duration(metrics.getTotal().getAverage(), 2) + ")"); + } + } + + String key = "c" + x + "," + z; + PrecisionStopwatch s = PrecisionStopwatch.start(); + RNG random = new RNG(world.getSeed()); + onInit(world, random.nextParallelRNG(0)); + ChunkData c = Bukkit.createChunkData(world); + int ii, jj; + int fluidHeight = getDimension().getFluidHeight(); + KList collapse = new KList<>(); + ReentrantLock l = new ReentrantLock(); + + for(ii = 0; ii < 16; ii++) + { + int i = ii; + for(jj = 0; jj < 16; jj++) + { + int j = jj; + tx.queue(key, () -> + { + BlockData block; + int rx = (x * 16) + i; + int rz = (z * 16) + j; + AtomicSliver sliver = new AtomicSliver(i, j); + double ox = (getDimension().cosRotate() * rx) + (-getDimension().sinRotate() * rz) + getDimension().getCoordFracture(random, 39392).fitDoubleD(-getDimension().getCoordFractureDistance() / 2, getDimension().getCoordFractureDistance() / 2, rx, rz); + double oz = (getDimension().sinRotate() * rx) + (getDimension().cosRotate() * rz) + getDimension().getCoordFracture(random, 39392).fitDoubleD(-getDimension().getCoordFractureDistance() / 2, getDimension().getCoordFractureDistance() / 2, rx, rz); + double wx = (double) (ox) / getDimension().getTerrainZoom(); + double wz = (double) (oz) / getDimension().getTerrainZoom(); + int depth = 0; + IrisRegion region = glBiome.getRegion(wx, wz); + BiomeResult biomeResult = glBiome.generateRegionData(wx, wz, region); + IrisBiome biome = biomeResult.getBiome(); + double lo = interpolateHeight(ox, oz, (b) -> b.getLowHeight()); + double hi = interpolateSurface(ox, oz, (b) -> b.getHighHeight()); + double noise = lo + (terrainNoise.fitDoubleD(0, hi - lo, wx, wz)); + int height = (int) Math.round(noise) + fluidHeight; + + // Remove Land biome surfaces from underwater + if(height < fluidHeight + 1) + { + if(biome.isLand()) + { + biome = glBiome.generateShoreData(wx, wz, region).getBiome(); + } + } + + KList layers = biome.generateLayers(wx, wz, random, height); + + for(int k = Math.max(height, fluidHeight); k >= 0; k--) + { + boolean underwater = k > height && k <= fluidHeight; + sliver.set(k, biome.getDerivative()); + // biomeGrid.setBiome(i, k, j, biome.getDerivative()); + + if(underwater) + { + block = WATER; + } + + else + { + block = layers.hasIndex(depth) ? layers.get(depth) : STONE; + depth++; + } + + sliver.set(k, block); + // c.setBlock(i, k, j, block); + } + + l.lock(); + collapse.add(() -> + { + sliver.write(c); + sliver.write(biomeGrid); + }); + l.unlock(); + }); + } + } + + tx.waitFor(key); + collapse.forEach((i) -> i.run()); + metrics.getTotal().put(s.getMilliseconds()); + generated++; + long hits = CNG.hits; + CNG.hits = 0; + Iris.instance.hit(hits); + metrics.getLoss().put(sx.getMilliseconds() - s.getMilliseconds()); + + return c; + } + + catch(Throwable e) + { + failing = true; + Iris.error("ERROR! Failed to generate chunk! Iris has entered a failed state!"); + + for(Player i : world.getPlayers()) + { + Iris.instance.imsg(i, ChatColor.DARK_RED + "Iris Generator has entered a failed state!"); + Iris.instance.imsg(i, ChatColor.RED + "- Check the console for the error."); + Iris.instance.imsg(i, ChatColor.RED + "- Then simply run /iris dev"); + } + + L.ex(e); + } + + return generateChunkDataFailure(world, no, x, z, biomeGrid); } public double interpolateHeight(double rx, double rz, Function property) @@ -174,12 +341,6 @@ public class IrisGenerator extends ChunkGenerator implements IrisContext return super.getFixedSpawnLocation(world, random); } - @Override - public BiomeResult getBiome(int x, int z) - { - return null; - } - @Override public boolean isParallelCapable() { @@ -197,4 +358,16 @@ public class IrisGenerator extends ChunkGenerator implements IrisContext { return world; } + + @Override + public BiomeResult getBiome(int rx, int rz) + { + RNG random = new RNG(world.getSeed()); + double ox = (getDimension().cosRotate() * rx) + (-getDimension().sinRotate() * rz) + getDimension().getCoordFracture(random, 39392).fitDoubleD(-getDimension().getCoordFractureDistance() / 2, getDimension().getCoordFractureDistance() / 2, rx, rz); + double oz = (getDimension().sinRotate() * rx) + (getDimension().cosRotate() * rz) + getDimension().getCoordFracture(random, 39392).fitDoubleD(-getDimension().getCoordFractureDistance() / 2, getDimension().getCoordFractureDistance() / 2, rx, rz); + double wx = (double) (ox) / getDimension().getTerrainZoom(); + double wz = (double) (oz) / getDimension().getTerrainZoom(); + IrisRegion region = glBiome.getRegion(wx, wz); + return glBiome.generateRegionData(wx, wz, region); + } } diff --git a/src/main/java/ninja/bytecode/iris/IrisHotloadManager.java b/src/main/java/ninja/bytecode/iris/IrisHotloadManager.java index 18679d2e7..361afc24c 100644 --- a/src/main/java/ninja/bytecode/iris/IrisHotloadManager.java +++ b/src/main/java/ninja/bytecode/iris/IrisHotloadManager.java @@ -6,16 +6,16 @@ import org.bukkit.Bukkit; import ninja.bytecode.iris.util.ChronoLatch; import ninja.bytecode.iris.util.FileWatcher; -import ninja.bytecode.iris.util.KList; +import ninja.bytecode.shuriken.collections.KSet; public class IrisHotloadManager { private ChronoLatch latch; - private KList watchers; + private KSet watchers; public IrisHotloadManager() { - watchers = new KList<>(); + watchers = new KSet<>(); latch = new ChronoLatch(3000); } diff --git a/src/main/java/ninja/bytecode/iris/IrisMetrics.java b/src/main/java/ninja/bytecode/iris/IrisMetrics.java index ff14d75df..9c57fae0d 100644 --- a/src/main/java/ninja/bytecode/iris/IrisMetrics.java +++ b/src/main/java/ninja/bytecode/iris/IrisMetrics.java @@ -1,15 +1,21 @@ package ninja.bytecode.iris; import lombok.Data; -import ninja.bytecode.iris.util.RollingSequence; +import ninja.bytecode.shuriken.math.RollingSequence; @Data public class IrisMetrics { private final RollingSequence total; + private final RollingSequence perSecond; + private final RollingSequence loss; + public int generators = 0; + public int noiseHits = 0; public IrisMetrics(int memory) { total = new RollingSequence(memory); + perSecond = new RollingSequence(5); + loss = new RollingSequence(memory); } } diff --git a/src/main/java/ninja/bytecode/iris/layer/GenLayerBiome.java b/src/main/java/ninja/bytecode/iris/layer/GenLayerBiome.java index c152e6f59..bb187c836 100644 --- a/src/main/java/ninja/bytecode/iris/layer/GenLayerBiome.java +++ b/src/main/java/ninja/bytecode/iris/layer/GenLayerBiome.java @@ -8,8 +8,8 @@ import ninja.bytecode.iris.object.IrisRegion; import ninja.bytecode.iris.util.BiomeResult; import ninja.bytecode.iris.util.CellGenerator; import ninja.bytecode.iris.util.GenLayer; -import ninja.bytecode.iris.util.KList; import ninja.bytecode.iris.util.RNG; +import ninja.bytecode.shuriken.collections.KList; public class GenLayerBiome extends GenLayer { diff --git a/src/main/java/ninja/bytecode/iris/object/IrisBiome.java b/src/main/java/ninja/bytecode/iris/object/IrisBiome.java index eb5893f8a..cb901ad2c 100644 --- a/src/main/java/ninja/bytecode/iris/object/IrisBiome.java +++ b/src/main/java/ninja/bytecode/iris/object/IrisBiome.java @@ -1,18 +1,21 @@ package ninja.bytecode.iris.object; import java.util.List; +import java.util.concurrent.locks.ReentrantLock; import org.bukkit.block.Biome; import org.bukkit.block.data.BlockData; import lombok.Data; +import lombok.EqualsAndHashCode; import ninja.bytecode.iris.util.CNG; import ninja.bytecode.iris.util.CellGenerator; -import ninja.bytecode.iris.util.KList; import ninja.bytecode.iris.util.RNG; +import ninja.bytecode.shuriken.collections.KList; @Data -public class IrisBiome +@EqualsAndHashCode(callSuper = false) +public class IrisBiome extends IrisRegisteredObject { private String name = "A Biome"; private Biome derivative = Biome.THE_VOID; @@ -23,6 +26,7 @@ public class IrisBiome private KList layers = new KList().qadd(new IrisBiomePaletteLayer()); private KList decorators = new KList(); + private transient ReentrantLock lock = new ReentrantLock(); private transient CellGenerator childrenCell; private transient InferredType inferredType; private transient KList layerHeightGenerators; @@ -63,7 +67,15 @@ public class IrisBiome break; } - data.add(palette.get(sgen.fit(0, palette.size() - 1, (wx + j) / layers.get(i).getTerrainZoom(), (wz - j) / layers.get(i).getTerrainZoom()))); + try + { + data.add(palette.get(sgen.fit(0, palette.size() - 1, (wx + j) / layers.get(i).getTerrainZoom(), (wz - j) / layers.get(i).getTerrainZoom()))); + } + + catch(Throwable e) + { + + } } if(data.size() >= maxDepth) @@ -77,6 +89,7 @@ public class IrisBiome public KList getLayerSurfaceGenerators(RNG rng) { + lock.lock(); if(layerSurfaceGenerators == null) { layerSurfaceGenerators = new KList<>(); @@ -88,12 +101,14 @@ public class IrisBiome layerSurfaceGenerators.add(i.getGenerator(rng.nextParallelRNG((m += 3) * m * m * m))); } } + lock.unlock(); return layerSurfaceGenerators; } public KList getLayerHeightGenerators(RNG rng) { + lock.lock(); if(layerHeightGenerators == null) { layerHeightGenerators = new KList<>(); @@ -105,6 +120,7 @@ public class IrisBiome layerHeightGenerators.add(i.getGenerator(rng.nextParallelRNG((m++) * m * m * m))); } } + lock.unlock(); return layerHeightGenerators; } diff --git a/src/main/java/ninja/bytecode/iris/object/IrisBiomeDecorator.java b/src/main/java/ninja/bytecode/iris/object/IrisBiomeDecorator.java index 2a049b9c6..31bf3ff31 100644 --- a/src/main/java/ninja/bytecode/iris/object/IrisBiomeDecorator.java +++ b/src/main/java/ninja/bytecode/iris/object/IrisBiomeDecorator.java @@ -5,9 +5,9 @@ import org.bukkit.block.data.BlockData; import lombok.Data; import ninja.bytecode.iris.util.CNG; -import ninja.bytecode.iris.util.KList; -import ninja.bytecode.iris.util.KMap; import ninja.bytecode.iris.util.RNG; +import ninja.bytecode.shuriken.collections.KList; +import ninja.bytecode.shuriken.collections.KMap; @Data public class IrisBiomeDecorator diff --git a/src/main/java/ninja/bytecode/iris/object/IrisBiomePaletteLayer.java b/src/main/java/ninja/bytecode/iris/object/IrisBiomePaletteLayer.java index f96709bfd..ae1bb6b2b 100644 --- a/src/main/java/ninja/bytecode/iris/object/IrisBiomePaletteLayer.java +++ b/src/main/java/ninja/bytecode/iris/object/IrisBiomePaletteLayer.java @@ -1,13 +1,15 @@ package ninja.bytecode.iris.object; -import org.bukkit.Material; +import java.util.concurrent.locks.ReentrantLock; + import org.bukkit.block.data.BlockData; import lombok.Data; +import ninja.bytecode.iris.util.BlockDataTools; import ninja.bytecode.iris.util.CNG; -import ninja.bytecode.iris.util.KList; -import ninja.bytecode.iris.util.KMap; import ninja.bytecode.iris.util.RNG; +import ninja.bytecode.shuriken.collections.KList; +import ninja.bytecode.shuriken.collections.KMap; @Data public class IrisBiomePaletteLayer @@ -18,6 +20,7 @@ public class IrisBiomePaletteLayer private double terrainZoom = 5; private KList palette = new KList().qadd("GRASS_BLOCK"); + private transient ReentrantLock lock = new ReentrantLock(); private transient KMap layerGenerators; private transient KList blockData; @@ -47,26 +50,20 @@ public class IrisBiomePaletteLayer public KList getBlockData() { + lock.lock(); if(blockData == null) { blockData = new KList<>(); - for(String i : palette) + for(String ix : palette) { - try + BlockData bx = BlockDataTools.getBlockData(ix); + if(bx != null) { - Material m = Material.valueOf(i); - - if(m != null) - { - blockData.add(m.createBlockData()); - } - } - catch(Throwable e) - { - + blockData.add(bx); } } } + lock.unlock(); return blockData; } diff --git a/src/main/java/ninja/bytecode/iris/object/IrisDimension.java b/src/main/java/ninja/bytecode/iris/object/IrisDimension.java index d1b1851ac..e4b98b353 100644 --- a/src/main/java/ninja/bytecode/iris/object/IrisDimension.java +++ b/src/main/java/ninja/bytecode/iris/object/IrisDimension.java @@ -3,12 +3,14 @@ package ninja.bytecode.iris.object; import org.bukkit.World.Environment; import lombok.Data; +import lombok.EqualsAndHashCode; import ninja.bytecode.iris.util.CNG; -import ninja.bytecode.iris.util.KList; import ninja.bytecode.iris.util.RNG; +import ninja.bytecode.shuriken.collections.KList; @Data -public class IrisDimension +@EqualsAndHashCode(callSuper = false) +public class IrisDimension extends IrisRegisteredObject { private String name = "A Dimension"; private InterpolationMethod interpolationFunction = InterpolationMethod.BICUBIC; diff --git a/src/main/java/ninja/bytecode/iris/object/IrisRegion.java b/src/main/java/ninja/bytecode/iris/object/IrisRegion.java index 0153c006f..cfccc31a8 100644 --- a/src/main/java/ninja/bytecode/iris/object/IrisRegion.java +++ b/src/main/java/ninja/bytecode/iris/object/IrisRegion.java @@ -1,10 +1,12 @@ package ninja.bytecode.iris.object; import lombok.Data; -import ninja.bytecode.iris.util.KList; +import lombok.EqualsAndHashCode; +import ninja.bytecode.shuriken.collections.KList; @Data -public class IrisRegion +@EqualsAndHashCode(callSuper = false) +public class IrisRegion extends IrisRegisteredObject { private String name = "A Region"; private double shoreRatio = 0.13; diff --git a/src/main/java/ninja/bytecode/iris/object/IrisRegisteredObject.java b/src/main/java/ninja/bytecode/iris/object/IrisRegisteredObject.java new file mode 100644 index 000000000..6bbe10e80 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/object/IrisRegisteredObject.java @@ -0,0 +1,9 @@ +package ninja.bytecode.iris.object; + +import lombok.Data; + +@Data +public class IrisRegisteredObject +{ + private String loadKey; +} diff --git a/src/main/java/ninja/bytecode/iris/object/atomics/AtomicSliver.java b/src/main/java/ninja/bytecode/iris/object/atomics/AtomicSliver.java new file mode 100644 index 000000000..10c421874 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/object/atomics/AtomicSliver.java @@ -0,0 +1,52 @@ +package ninja.bytecode.iris.object.atomics; + +import org.bukkit.block.Biome; +import org.bukkit.block.data.BlockData; +import org.bukkit.generator.ChunkGenerator.BiomeGrid; +import org.bukkit.generator.ChunkGenerator.ChunkData; + +public class AtomicSliver +{ + private BlockData[] block; + private Biome[] biome; + private int highestBlock = 0; + private int highestBiome = 0; + private int x; + private int z; + + public AtomicSliver(int x, int z) + { + this.x = x; + this.z = z; + this.block = new BlockData[256]; + this.biome = new Biome[256]; + } + + public void set(int h, BlockData d) + { + block[h] = d; + highestBlock = h > highestBlock ? h : highestBlock; + } + + public void set(int h, Biome d) + { + biome[h] = d; + highestBiome = h > highestBiome ? h : highestBiome; + } + + public void write(ChunkData d) + { + for(int i = 0; i <= highestBlock; i++) + { + d.setBlock(x, i, z, block[i]); + } + } + + public void write(BiomeGrid d) + { + for(int i = 0; i <= highestBiome; i++) + { + d.setBiome(x, i, z, biome[i]); + } + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/BlockDataTools.java b/src/main/java/ninja/bytecode/iris/util/BlockDataTools.java new file mode 100644 index 000000000..788632885 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/BlockDataTools.java @@ -0,0 +1,72 @@ +package ninja.bytecode.iris.util; + +import org.bukkit.Bukkit; +import org.bukkit.Material; +import org.bukkit.block.data.BlockData; + +import ninja.bytecode.iris.Iris; +import ninja.bytecode.shuriken.collections.KList; +import ninja.bytecode.shuriken.collections.KMap; + +public class BlockDataTools +{ + private static final KMap bdc = new KMap<>(); + private static final KList nulls = new KList<>(); + + public static BlockData getBlockData(String bd) + { + if(bdc.containsKey(bd)) + { + return bdc.get(bd).clone(); + } + + BlockData bdx = parseBlockData(bd); + + if(bdx == null) + { + Iris.warn("Unknown Block Data '" + bd + "'"); + nulls.add(bd); + return bdx; + } + + bdc.put(bd, bdx); + + return bdx; + } + + public static BlockData parseBlockData(String ix) + { + try + { + BlockData bx = Bukkit.createBlockData(ix); + + if(bx != null) + { + return bx; + } + } + + catch(Throwable e) + { + + } + + String i = ix.toUpperCase().trim(); + i = i.equals("WOOL") ? "WHITE_WOOL" : i; + i = i.equals("CONCRETE") ? "WHITE_CONCRETE" : i; + + try + { + Material m = Material.valueOf(i); + + return m.createBlockData(); + } + + catch(Throwable e) + { + + } + + return null; + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/Board.java b/src/main/java/ninja/bytecode/iris/util/Board.java new file mode 100644 index 000000000..1649f7749 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/Board.java @@ -0,0 +1,131 @@ +package ninja.bytecode.iris.util; + +import java.util.Collections; +import java.util.List; +import java.util.function.Function; +import java.util.stream.Collectors; +import java.util.stream.IntStream; + +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +import org.bukkit.entity.Player; +import org.bukkit.scoreboard.DisplaySlot; +import org.bukkit.scoreboard.Objective; +import org.bukkit.scoreboard.Scoreboard; +import org.bukkit.scoreboard.Team; + +import lombok.NonNull; +import lombok.Setter; + +/** + * @author Missionary (missionarymc@gmail.com) + * @since 3/23/2018 + */ +public class Board { + + private static final String[] CACHED_ENTRIES = new String[ChatColor.values().length]; + + private static final Function APPLY_COLOR_TRANSLATION = s -> ChatColor.translateAlternateColorCodes('&', s); + + static { + IntStream.range(0, 15).forEach(i -> CACHED_ENTRIES[i] = ChatColor.values()[i].toString() + ChatColor.RESET); + } + + private final Player player; + private final Objective objective; + private final Team team; + @Setter private BoardSettings boardSettings; + private boolean ready; + + @SuppressWarnings("deprecation") + public Board(@NonNull final Player player, final BoardSettings boardSettings) { + this.player = player; + this.boardSettings = boardSettings; + this.objective = this.getScoreboard().getObjective("board") == null ? this.getScoreboard().registerNewObjective("board", "dummy") : this.getScoreboard().getObjective("board"); + this.objective.setDisplaySlot(DisplaySlot.SIDEBAR); + this.team = this.getScoreboard().getTeam("board") == null ? this.getScoreboard().registerNewTeam("board") : this.getScoreboard().getTeam("board"); + this.team.setAllowFriendlyFire(true); + this.team.setCanSeeFriendlyInvisibles(false); + this.team.setPrefix(""); + this.team.setSuffix(""); + this.ready = true; + } + + public Scoreboard getScoreboard() { + return (player != null) ? player.getScoreboard() : null; + } + + public void remove() { + this.resetScoreboard(); + } + + public void update() { + // Checking if we are ready to start updating the Scoreboard. + if (!ready) { + return; + } + + // Making sure the player is connected. + if (!player.isOnline()) { + remove(); + return; + } + + // Making sure the Scoreboard Provider is set. + if (boardSettings == null) { + return; + } + + // Getting their Scoreboard display from the Scoreboard Provider. + final List entries = boardSettings.getBoardProvider().getLines(player).stream().map(APPLY_COLOR_TRANSLATION).collect(Collectors.toList()); + + if (boardSettings.getScoreDirection() == ScoreDirection.UP) { + Collections.reverse(entries); + } + + // Setting the Scoreboard title + String title = boardSettings.getBoardProvider().getTitle(player); + if (title.length() > 32) { + Bukkit.getLogger().warning("The title " + title + " is over 32 characters in length, substringing to prevent errors."); + title = title.substring(0, 32); + } + objective.setDisplayName(ChatColor.translateAlternateColorCodes('&', title)); + + // Clearing previous Scoreboard values if entry sizes don't match. + if (this.getScoreboard().getEntries().size() != entries.size()) + this.getScoreboard().getEntries().forEach(this::removeEntry); + + // Setting Scoreboard lines. + for (int i = 0; i < entries.size(); i++) { + String str = entries.get(i); + BoardEntry entry = BoardEntry.translateToEntry(str); + Team team = getScoreboard().getTeam(CACHED_ENTRIES[i]); + + if (team == null) { + team = this.getScoreboard().registerNewTeam(CACHED_ENTRIES[i]); + team.addEntry(team.getName()); + } + + team.setPrefix(entry.getPrefix()); + team.setSuffix(entry.getSuffix()); + + switch (boardSettings.getScoreDirection()) { + case UP: + objective.getScore(team.getName()).setScore(1 + i); + break; + case DOWN: + objective.getScore(team.getName()).setScore(15 - i); + break; + } + } + } + + public void removeEntry(String id) { + this.getScoreboard().resetScores(id); + } + + public void resetScoreboard() { + ready = false; + player.setScoreboard(Bukkit.getScoreboardManager().getMainScoreboard()); + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/BoardEntry.java b/src/main/java/ninja/bytecode/iris/util/BoardEntry.java new file mode 100644 index 000000000..6448d3847 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/BoardEntry.java @@ -0,0 +1,40 @@ +package ninja.bytecode.iris.util; + +import lombok.Getter; +import org.apache.commons.lang.StringUtils; +import org.bukkit.ChatColor; + +/** + * @author Missionary (missionarymc@gmail.com) + * @since 3/29/2018 + */ +public class BoardEntry { + + @Getter + private final String prefix, suffix; + + private BoardEntry(final String prefix, final String suffix) { + this.prefix = prefix; + this.suffix = suffix; + } + + public static BoardEntry translateToEntry(String input) { + if (input.isEmpty()) { + return new BoardEntry("", ""); + } + if (input.length() <= 16) { + return new BoardEntry(input, ""); + } else { + String prefix = input.substring(0, 16); + String suffix = ""; + + if (prefix.endsWith("\u00a7")) { + prefix = prefix.substring(0, prefix.length() - 1); + suffix = "\u00a7" + suffix; + } + + suffix = StringUtils.left(ChatColor.getLastColors(prefix) + suffix + input.substring(16), 16); + return new BoardEntry(prefix, suffix); + } + } +} \ No newline at end of file diff --git a/src/main/java/ninja/bytecode/iris/util/BoardManager.java b/src/main/java/ninja/bytecode/iris/util/BoardManager.java new file mode 100644 index 000000000..d2f8184ec --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/BoardManager.java @@ -0,0 +1,86 @@ +package ninja.bytecode.iris.util; + +import org.bukkit.Bukkit; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerJoinEvent; +import org.bukkit.event.player.PlayerQuitEvent; +import org.bukkit.plugin.java.JavaPlugin; +import org.bukkit.scheduler.BukkitTask; + +import java.util.Collections; +import java.util.Map; +import java.util.Optional; +import java.util.UUID; +import java.util.concurrent.ConcurrentHashMap; + +/** + * @author Missionary (missionarymc@gmail.com) + * @since 3/23/2018 + */ +public class BoardManager implements Listener { + + private final JavaPlugin plugin; + private BoardSettings boardSettings; + private Map scoreboards; + private BukkitTask updateTask; + + public BoardManager(JavaPlugin plugin, BoardSettings boardSettings) { + this.plugin = plugin; + this.boardSettings = boardSettings; + this.scoreboards = new ConcurrentHashMap<>(); + this.updateTask = new BoardUpdateTask(this).runTaskTimer(plugin, 2L, 2L); + plugin.getServer().getPluginManager().registerEvents(this, plugin); + plugin.getServer().getOnlinePlayers().forEach(this::setup); + } + + public void setBoardSettings(BoardSettings boardSettings) { + this.boardSettings = boardSettings; + scoreboards.values().forEach(board -> board.setBoardSettings(boardSettings)); + } + + public boolean hasBoard(Player player) { + return scoreboards.containsKey(player.getUniqueId()); + } + + public Optional getBoard(Player player) { + return Optional.ofNullable(scoreboards.get(player.getUniqueId())); + } + + private void setup(Player player) { + Optional.ofNullable(scoreboards.remove(player.getUniqueId())).ifPresent(Board::resetScoreboard); + if (player.getScoreboard() == Bukkit.getScoreboardManager().getMainScoreboard()) { + player.setScoreboard(Bukkit.getScoreboardManager().getNewScoreboard()); + } + scoreboards.put(player.getUniqueId(), new Board(player, boardSettings)); + } + + private void remove(Player player) { + Optional.ofNullable(scoreboards.remove(player.getUniqueId())).ifPresent(Board::remove); + } + + public Map getScoreboards() { + return Collections.unmodifiableMap(scoreboards); + } + + @EventHandler + public void onJoin(final PlayerJoinEvent e) { + plugin.getServer().getScheduler().runTaskLater(plugin, () -> { + if (e.getPlayer().isOnline()) { // Set this up 2 ticks later. + setup(e.getPlayer()); + } + }, 2L); + } + + @EventHandler + public void onQuit(final PlayerQuitEvent e) { + this.remove(e.getPlayer()); + } + + public void onDisable() { + updateTask.cancel(); + plugin.getServer().getOnlinePlayers().forEach(this::remove); + scoreboards.clear(); + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/BoardProvider.java b/src/main/java/ninja/bytecode/iris/util/BoardProvider.java new file mode 100644 index 000000000..21b91ebfa --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/BoardProvider.java @@ -0,0 +1,25 @@ +package ninja.bytecode.iris.util; + +import org.bukkit.entity.Player; +import org.bukkit.scoreboard.Objective; + +import java.util.List; + +public interface BoardProvider { + + /** + * Gets the title for {@link Objective#getDisplayName()} + * + * @param player The {@link Player} to supply + * @return The title for the objective + */ + String getTitle(Player player); + + /** + * Gets the contents to be displayed on the {@link Board} + * + * @param player The {@link Player} to supply + * @return The {@link List} of contents + */ + List getLines(Player player); +} diff --git a/src/main/java/ninja/bytecode/iris/util/BoardSettings.java b/src/main/java/ninja/bytecode/iris/util/BoardSettings.java new file mode 100644 index 000000000..d2a5dd732 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/BoardSettings.java @@ -0,0 +1,18 @@ +package ninja.bytecode.iris.util; + +import lombok.Builder; +import lombok.Getter; + +/** + * @author Missionary (missionarymc@gmail.com) + * @since 5/31/2018 + */ +@Getter +@Builder +public class BoardSettings { + + private BoardProvider boardProvider; + + private ScoreDirection scoreDirection; + +} diff --git a/src/main/java/ninja/bytecode/iris/util/BoardUpdateTask.java b/src/main/java/ninja/bytecode/iris/util/BoardUpdateTask.java new file mode 100644 index 000000000..365f64e18 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/BoardUpdateTask.java @@ -0,0 +1,26 @@ +package ninja.bytecode.iris.util; + +import lombok.RequiredArgsConstructor; + +import org.bukkit.Bukkit; +import org.bukkit.scheduler.BukkitRunnable; + +import java.util.UUID; +import java.util.function.Predicate; + +/** + * @author Missionary (missionarymc@gmail.com) + * @since 5/31/2018 + */ +@RequiredArgsConstructor +public class BoardUpdateTask extends BukkitRunnable { + + private static final Predicate PLAYER_IS_ONLINE = uuid -> Bukkit.getPlayer(uuid) != null; + + private final BoardManager boardManager; + + @Override + public void run() { + boardManager.getScoreboards().entrySet().stream().filter(entrySet -> PLAYER_IS_ONLINE.test(entrySet.getKey())).forEach(entrySet -> entrySet.getValue().update()); + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/CNG.java b/src/main/java/ninja/bytecode/iris/util/CNG.java index 154e0a11b..45e0b5f24 100644 --- a/src/main/java/ninja/bytecode/iris/util/CNG.java +++ b/src/main/java/ninja/bytecode/iris/util/CNG.java @@ -1,5 +1,7 @@ package ninja.bytecode.iris.util; +import ninja.bytecode.shuriken.collections.KList; + public class CNG { public static long hits = 0; @@ -33,13 +35,13 @@ public class CNG public static CNG signature(RNG rng) { //@builder - return new CNG(rng.nextParallelRNG(17), 1D, 8) + return new CNG(rng.nextParallelRNG(17), 1D, 3) .scale(0.012) - .fractureWith(new CNG(rng.nextParallelRNG(18), 1, 5) + .fractureWith(new CNG(rng.nextParallelRNG(18), 1, 2) .scale(0.018) .child(new CNG(rng.nextParallelRNG(19), 1, 2) .scale(0.1)) - .fractureWith(new CNG(rng.nextParallelRNG(20), 1, 3) + .fractureWith(new CNG(rng.nextParallelRNG(20), 1, 2) .scale(0.15), 24), 44).down(0.3).patch(2.5); //@done } diff --git a/src/main/java/ninja/bytecode/iris/util/ChunkPosition.java b/src/main/java/ninja/bytecode/iris/util/ChunkPosition.java new file mode 100644 index 000000000..a3b4e4928 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/ChunkPosition.java @@ -0,0 +1,16 @@ +package ninja.bytecode.iris.util; + +import lombok.Data; + +@Data +public class ChunkPosition +{ + private int x; + private int z; + + public ChunkPosition(int x, int z) + { + this.x = x; + this.z = z; + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/Chunker.java b/src/main/java/ninja/bytecode/iris/util/Chunker.java deleted file mode 100644 index 914d9fee1..000000000 --- a/src/main/java/ninja/bytecode/iris/util/Chunker.java +++ /dev/null @@ -1,57 +0,0 @@ -package ninja.bytecode.iris.util; - -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.TimeUnit; -import java.util.function.Consumer; - -public class Chunker -{ - private ExecutorService executor; - private int threads; - private int workload; - private KList q; - - public Chunker(KList q) - { - this.q = q; - } - - public Chunker threads(int threads) - { - this.threads = threads; - return this; - } - - public Chunker workload(int workload) - { - this.workload = workload; - return this; - } - - public void execute(Consumer consumer, Callback progress, int progressInterval) - { - ChronoLatch cl = new ChronoLatch(progressInterval); - Contained consumed = new Contained(0); - executor = Executors.newFixedThreadPool(threads); - int length = q.size(); - int remaining = length; - - while(remaining > 0) - { - int at = remaining; - remaining -= (remaining > workload ? workload : remaining); - int to = remaining; - - executor.submit(() -> - { - J.dofor(at, (i) -> i >= to, -1, (i) -> J.attempt(() -> consumer.accept(q.get(i)))); - consumed.mod((c) -> c += workload); - J.doif(() -> progress != null && cl.flip(), () -> progress.run((double) consumed.get() / (double) length)); - }); - } - - executor.shutdown(); - J.attempt(() -> executor.awaitTermination(100, TimeUnit.HOURS)); - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/FileWatcher.java b/src/main/java/ninja/bytecode/iris/util/FileWatcher.java index 387576460..5ef247b78 100644 --- a/src/main/java/ninja/bytecode/iris/util/FileWatcher.java +++ b/src/main/java/ninja/bytecode/iris/util/FileWatcher.java @@ -2,8 +2,10 @@ package ninja.bytecode.iris.util; import java.io.File; +import lombok.Data; import lombok.Getter; +@Data public class FileWatcher { @Getter diff --git a/src/main/java/ninja/bytecode/iris/util/Form.java b/src/main/java/ninja/bytecode/iris/util/Form.java deleted file mode 100644 index bef89fb55..000000000 --- a/src/main/java/ninja/bytecode/iris/util/Form.java +++ /dev/null @@ -1,1564 +0,0 @@ -package ninja.bytecode.iris.util; - -import java.math.BigInteger; -import java.text.DecimalFormat; -import java.text.NumberFormat; -import java.util.Calendar; -import java.util.Date; -import java.util.LinkedHashMap; -import java.util.Locale; -import java.util.Map; -import java.util.Map.Entry; -import java.util.NavigableMap; -import java.util.TreeMap; -import java.util.concurrent.TimeUnit; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -public class Form -{ - private static NumberFormat NF; - private static DecimalFormat DF; - - private static final String NAMES[] = new String[] {"Thousand", "Million", "Billion", "Trillion", "Quadrillion", "Quintillion", "Sextillion", "Septillion", "Octillion", "Nonillion", "Decillion", "Undecillion", "Duodecillion", "Tredecillion", "Quattuordecillion", "Quindecillion", "Sexdecillion", "Septendecillion", "Octodecillion", "Novemdecillion", "Vigintillion",}; - private static final BigInteger THOUSAND = BigInteger.valueOf(1000); - private static final NavigableMap MAP; - - static - { - MAP = new TreeMap(); - for(int i = 0; i < NAMES.length; i++) - { - MAP.put(THOUSAND.pow(i + 1), NAMES[i]); - } - } - - private static void instantiate() - { - if(NF == null) - { - NF = NumberFormat.getInstance(Locale.US); - } - } - - /** - * Scroll text - * - * @param smx - * the text - * @param viewport - * the viewport length - * @param time - * the timeline value - * @return - */ - public static String scroll(String smx, int viewport, long time) - { - String src = Form.repeat(" ", viewport) + smx + Form.repeat(" ", viewport); - int len = src.length(); - int walk = (int) (time % (len - viewport)); - String base = src.substring(walk, M.min(walk + viewport, len - 1)); - base = base.length() < viewport ? base + Form.repeat(" ", (viewport - base.length()) - 3) : base; - - return base; - } - - /** - * Capitalize the first letter - * - * @param s - * the string - * @return the capitalized string - */ - public static String capitalize(String s) - { - String roll = ""; - boolean f = true; - - for(Character i : s.trim().toCharArray()) - { - if(f) - { - roll += Character.toUpperCase(i); - f = false; - } - - else - { - roll += i; - } - } - - return roll; - } - - /** - * Capitalize all words in the string - * - * @param s - * the string - * @return the capitalized string - */ - public static String capitalizeWords(String s) - { - String rollx = ""; - - for(String i : s.trim().split(" ")) - { - rollx += " " + capitalize(i.trim()); - } - - return rollx.substring(1); - } - - /** - * Hard word wrap - * - * @param s - * the words - * @param len - * the length per line - * @return the wrapped string - */ - public static String wrap(String s, int len) - { - return wrap(s, len, (String) null, false); - } - - /** - * Soft Word wrap - * - * @param s - * the string - * @param len - * the length to wrap - * @return the wrapped string - */ - public static String wrapWords(String s, int len) - { - return wrap(s, len, (String) null, true); - } - - /** - * Wrap words - * - * @param s - * the string - * @param len - * the wrap length - * @param newLineSep - * the new line seperator - * @param soft - * should it be soft wrapped or hard wrapped? - * @return the wrapped words - */ - public static String wrap(String s, int len, String newLineSep, boolean soft) - { - return wrap(s, len, newLineSep, soft, " "); - } - - /** - * Wrap words - * - * @param s - * the string - * @param len - * the length - * @param newLineSep - * the new line seperator - * @param soft - * soft or hard wrapping - * @param regex - * the regex - * @return the wrapped string - */ - public static String wrap(String s, int len, String newLineSep, boolean soft, String regex) - { - if(s == null) - { - return null; - } - - else - { - if(newLineSep == null) - { - newLineSep = "\n"; - } - - if(len < 1) - { - len = 1; - } - - if(regex.trim().equals("")) - { - regex = " "; - } - - Pattern arg4 = Pattern.compile(regex); - int arg5 = s.length(); - int arg6 = 0; - StringBuilder arg7 = new StringBuilder(arg5 + 32); - - while(arg6 < arg5) - { - int arg8 = -1; - Matcher arg9 = arg4.matcher(s.substring(arg6, Math.min(arg6 + len + 1, arg5))); - if(arg9.find()) - { - if(arg9.start() == 0) - { - arg6 += arg9.end(); - continue; - } - - arg8 = arg9.start(); - } - - if(arg5 - arg6 <= len) - { - break; - } - - while(arg9.find()) - { - arg8 = arg9.start() + arg6; - } - - if(arg8 >= arg6) - { - arg7.append(s.substring(arg6, arg8)); - arg7.append(newLineSep); - arg6 = arg8 + 1; - } - else if(soft) - { - arg7.append(s.substring(arg6, len + arg6)); - arg7.append(newLineSep); - arg6 += len; - } - else - { - arg9 = arg4.matcher(s.substring(arg6 + len)); - if(arg9.find()) - { - arg8 = arg9.start() + arg6 + len; - } - - if(arg8 >= 0) - { - arg7.append(s.substring(arg6, arg8)); - arg7.append(newLineSep); - arg6 = arg8 + 1; - } - else - { - arg7.append(s.substring(arg6)); - arg6 = arg5; - } - } - } - - arg7.append(s.substring(arg6)); - return arg7.toString(); - } - } - - /** - * Returns a fancy duration up to Years - * - * @param rollingSequence - * - * @param duration - * the duration in ms - * @return the fancy duration - */ - public static String duration(RollingSequence rollingSequence, long duration) - { - String suffix = "Millisecond"; - double phantom = duration; - int div = 1000; - - if(phantom > div) - { - phantom /= div; - suffix = "Second"; - div = 60; - - if(phantom > div) - { - phantom /= div; - suffix = "Minute"; - - if(phantom > div) - { - phantom /= div; - suffix = "Hour"; - div = 24; - - if(phantom > 24) - { - phantom /= div; - suffix = "Day"; - div = 7; - - if(phantom > div) - { - phantom /= div; - suffix = "Week"; - div = 4; - - if(phantom > div) - { - phantom /= div; - suffix = "Month"; - div = 12; - - if(phantom > div) - { - phantom /= div; - suffix = "Year"; - return Form.fd(phantom, 0) + " " + suffix + ((int) phantom == 1 ? "" : "s"); - } - - else - { - return Form.fd(phantom, 0) + " " + suffix + ((int) phantom == 1 ? "" : "s"); - } - } - - else - { - return Form.fd(phantom, 0) + " " + suffix + ((int) phantom == 1 ? "" : "s"); - } - } - - else - { - return Form.fd(phantom, 0) + " " + suffix + ((int) phantom == 1 ? "" : "s"); - } - } - - else - { - return Form.fd(phantom, 0) + " " + suffix + ((int) phantom == 1 ? "" : "s"); - } - } - - else - { - return Form.fd(phantom, 0) + " " + suffix + ((int) phantom == 1 ? "" : "s"); - } - } - - else - { - return Form.fd(phantom, 0) + " " + suffix + ((int) phantom == 1 ? "" : "s"); - } - } - - else - { - return "Under a Second"; - } - } - - /** - * Fixes the minute issue with formatting - * - * @param c - * the calendar - * @return the minute string - */ - public static String fmin(Calendar c) - { - String s = c.get(Calendar.MINUTE) + ""; - if(s.length() == 1) - { - return "0" + s; - } - - return s; - } - - /** - * Get a fancy time stamp - * - * @param time - * the stamp in time (ago) - * @return the fancy stamp in time (ago) - */ - public static String ago(long time) - { - long current = M.ms(); - - if(time > current - TimeUnit.SECONDS.toMillis(30) && time < current) - { - return "Just Now"; - } - - else if(time > current - TimeUnit.SECONDS.toMillis(60) && time < current) - { - return "Seconds Ago"; - } - - else if(time > current - TimeUnit.MINUTES.toMillis(10) && time < current) - { - return "Minutes Ago"; - } - - else - { - Calendar now = Calendar.getInstance(); - Calendar c = Calendar.getInstance(); - c.setTimeInMillis(time); - boolean sameYear = now.get(Calendar.YEAR) == c.get(Calendar.YEAR); - boolean sameDay = now.get(Calendar.DAY_OF_YEAR) == c.get(Calendar.DAY_OF_YEAR); - - if(sameDay) - { - int h = c.get(Calendar.HOUR); - h = h == 0 ? 12 : h; - - return "Today at " + h + ":" + fmin(c) + " " + (c.get(Calendar.AM_PM) == Calendar.PM ? "PM" : "AM"); - } - - else if(sameYear) - { - boolean yesterday = now.get(Calendar.DAY_OF_YEAR) - 1 == c.get(Calendar.DAY_OF_YEAR); - - if(yesterday) - { - int h = c.get(Calendar.HOUR); - h = h == 0 ? 12 : h; - - return "Yesterday at " + h + ":" + fmin(c) + " " + (c.get(Calendar.AM_PM) == Calendar.PM ? "PM" : "AM"); - } - - else - { - int h = c.get(Calendar.HOUR); - h = h == 0 ? 12 : h; - String dow = "Error Day"; - - switch(c.get(Calendar.DAY_OF_WEEK)) - { - case Calendar.SUNDAY: - dow = "Sunday"; - break; - case Calendar.MONDAY: - dow = "Monday"; - break; - case Calendar.TUESDAY: - dow = "Tuesday"; - break; - case Calendar.WEDNESDAY: - dow = "Wednesday"; - break; - case Calendar.THURSDAY: - dow = "Thursday"; - break; - case Calendar.FRIDAY: - dow = "Friday"; - break; - case Calendar.SATURDAY: - dow = "Saturday"; - break; - } - - String monthName = "Error Month"; - int month = c.get(Calendar.MONTH); - - switch(month) - { - case Calendar.JANUARY: - monthName = "Jan"; - break; - case Calendar.FEBRUARY: - monthName = "Feb"; - break; - case Calendar.MARCH: - monthName = "Mar"; - break; - case Calendar.APRIL: - monthName = "Apr"; - break; - case Calendar.MAY: - monthName = "May"; - break; - case Calendar.JUNE: - monthName = "Jun"; - break; - case Calendar.JULY: - monthName = "Jul"; - break; - case Calendar.AUGUST: - monthName = "Aug"; - break; - case Calendar.SEPTEMBER: - monthName = "Sep"; - break; - case Calendar.OCTOBER: - monthName = "Oct"; - break; - case Calendar.NOVEMBER: - monthName = "Nov"; - break; - case Calendar.DECEMBER: - monthName = "Dec"; - break; - } - - int dayOfMonth = c.get(Calendar.DAY_OF_MONTH); - String suffix = numberSuffix(dayOfMonth); - - return dow + ", " + monthName + " " + suffix + " at " + h + ":" + fmin(c) + " " + (c.get(Calendar.AM_PM) == Calendar.PM ? "PM" : "AM"); - } - } - - else - { - int h = c.get(Calendar.HOUR); - h = h == 0 ? 12 : h; - String dow = "Error Day"; - - switch(c.get(Calendar.DAY_OF_WEEK)) - { - case Calendar.SUNDAY: - dow = "Sunday"; - break; - case Calendar.MONDAY: - dow = "Monday"; - break; - case Calendar.TUESDAY: - dow = "Tuesday"; - break; - case Calendar.WEDNESDAY: - dow = "Wednesday"; - break; - case Calendar.THURSDAY: - dow = "Thursday"; - break; - case Calendar.FRIDAY: - dow = "Friday"; - break; - case Calendar.SATURDAY: - dow = "Saturday"; - break; - } - - String monthName = "Error Month"; - int month = c.get(Calendar.MONTH); - - switch(month) - { - case Calendar.JANUARY: - monthName = "Jan"; - break; - case Calendar.FEBRUARY: - monthName = "Feb"; - break; - case Calendar.MARCH: - monthName = "Mar"; - break; - case Calendar.APRIL: - monthName = "Apr"; - break; - case Calendar.MAY: - monthName = "May"; - break; - case Calendar.JUNE: - monthName = "Jun"; - break; - case Calendar.JULY: - monthName = "Jul"; - break; - case Calendar.AUGUST: - monthName = "Aug"; - break; - case Calendar.SEPTEMBER: - monthName = "Sep"; - break; - case Calendar.OCTOBER: - monthName = "Oct"; - break; - case Calendar.NOVEMBER: - monthName = "Nov"; - break; - case Calendar.DECEMBER: - monthName = "Dec"; - break; - } - - int dayOfMonth = c.get(Calendar.DAY_OF_MONTH); - String suffix = numberSuffix(dayOfMonth); - int year = c.get(Calendar.YEAR); - - return year + ", " + dow + ", " + monthName + " " + suffix + " at " + h + ":" + fmin(c) + " " + (c.get(Calendar.AM_PM) == Calendar.PM ? "PM" : "AM"); - } - } - } - - /** - * Get the suffix for a number i.e. 1st 2nd 3rd - * - * @param i - * the number - * @return the suffix - */ - public static String numberSuffix(int i) - { - String[] sufixes = new String[] {"th", "st", "nd", "rd", "th", "th", "th", "th", "th", "th"}; - switch(i % 100) - { - case 11: - case 12: - case 13: - return i + "th"; - default: - return i + sufixes[i % 10]; - - } - } - - /** - * Get a high accuracy but limited range duration (accurate up to a couple - * minutes) - * - * @param ms - * the milliseconds (double) - * @param prec - * the precision (decimal format) - * @return the formatted string - */ - public static String duration(double ms, int prec) - { - if(ms < 1000.0) - { - return Form.f(ms, prec) + "ms"; - } - - if(ms / 1000.0 < 60.0) - { - return Form.f(ms / 1000.0, prec) + "s"; - } - - if(ms / 1000.0 / 60.0 < 60.0) - { - return Form.f(ms / 1000.0 / 60.0, prec) + "m"; - } - - if(ms / 1000.0 / 60.0 / 60.0 < 24.0) - { - return Form.f(ms / 1000.0 / 60.0 / 60.0, prec) + " hours"; - } - - if(ms / 1000.0 / 60.0 / 60.0 / 24.0 < 7) - { - return Form.f(ms / 1000.0 / 60.0 / 24.0, prec) + " days"; - } - - return Form.f(ms, prec) + "ms"; - } - - public static String duration(long ms) - { - return duration(ms, 0); - } - - /** - * Get a duration from milliseconds up to days - * - * @param ms - * the ms - * @param prec - * the precision (decimal format) - * @return the formatted string - */ - public static String duration(long ms, int prec) - { - if(ms < 1000.0) - { - return Form.f(ms, prec) + "ms"; - } - - if(ms / 1000.0 < 60.0) - { - return Form.f(ms / 1000.0, prec) + " seconds"; - } - - if(ms / 1000.0 / 60.0 < 60.0) - { - return Form.f(ms / 1000.0 / 60.0, prec) + " minutes"; - } - - if(ms / 1000.0 / 60.0 / 60.0 < 24.0) - { - return Form.f(ms / 1000.0 / 60.0 / 60.0, prec) + " hours"; - } - - if(ms / 1000.0 / 60.0 / 60.0 / 24.0 < 7) - { - return Form.f(ms / 1000.0 / 60.0 / 24.0, prec) + " days"; - } - - return Form.f(ms, prec) + "ms"; - } - - /** - * Format a big value - * - * @param i - * the number - * @return the full value in string - */ - public static String b(int i) - { - return b(new BigInteger(String.valueOf(i))); - } - - /** - * Format a big value - * - * @param i - * the number - * @return the full value in string - */ - public static String b(long i) - { - return b(new BigInteger(String.valueOf(i))); - } - - /** - * Format a big value - * - * @param i - * the number - * @return the full value in string - */ - public static String b(double i) - { - return b(new BigInteger(String.valueOf((long) i))); - } - - /** - * Format a big number - * - * @param number - * the big number - * @return the value in string - */ - public static String b(BigInteger number) - { - Entry entry = MAP.floorEntry(number); - if(entry == null) - { - return "Nearly nothing"; - } - - BigInteger key = entry.getKey(); - BigInteger d = key.divide(THOUSAND); - BigInteger m = number.divide(d); - float f = m.floatValue() / 1000.0f; - float rounded = ((int) (f * 100.0)) / 100.0f; - - if(rounded % 1 == 0) - { - return ((int) rounded) + " " + entry.getValue(); - } - - return rounded + " " + entry.getValue(); - } - - /** - * Calculate a fancy string representation of a file size. Adds a suffix of B, - * KB, MB, GB, or TB - * - * @param s - * the size (in bytes) - * @return the string - */ - public static String fileSize(long s) - { - return ofSize(s, 1000); - } - - /** - * ":", "a", "b", "c" -> a:b:c - * - * @param splitter - * the splitter that goes in between - * @param strings - * the strings - * @return the result - */ - public static String split(String splitter, String... strings) - { - StringBuilder b = new StringBuilder(); - - for(String i : strings) - { - b.append(splitter); - b.append(i); - } - - return b.toString().substring(splitter.length()); - } - - /** - * Calculate a fancy string representation of a file size. Adds a suffix of B, - * KB, MB, GB, or TB - * - * @param s - * the size (in bytes) - * @return the string - */ - public static String memSize(long s) - { - return ofSize(s, 1024); - } - - public static String memSize(long s, int dec) - { - return ofSize(s, 1024, dec); - } - - /** - * Get the timestamp of the time t (ms since 1970) - * - * @param t - * the time - * @return the stamp - */ - @SuppressWarnings("deprecation") - public static String stamp(long t) - { - Date d = new Date(t); - return d.getMonth() + "-" + d.getDate() + "-" + (d.getYear() + 1900) + " " + d.getHours() + "h " + d.getMinutes() + "m " + d.getSeconds() + "s "; - } - - @SuppressWarnings("deprecation") - public static String stampTime(long t) - { - Date d = new Date(t); - - return Calendar.getInstance().get(Calendar.HOUR_OF_DAY) + ":" + forceDoubleDigit(d.getMinutes()) + ":" + forceDoubleDigit(d.getSeconds()); - } - - public static String forceDoubleDigit(int dig) - { - if(dig < 10) - { - return "0" + dig; - } - - return dig + ""; - } - - @SuppressWarnings("deprecation") - public static String stampDay(long t) - { - Date d = new Date(t); - return d.getMonth() + "-" + d.getDate() + "-" + (d.getYear() + 1900); - } - - /** - * Calculate a fancy string representation of a size in B, KB, MB, GB, or TB - * with a special divisor. The divisor decides how much goes up in the suffix - * chain. - * - * @param s - * the size (in bytes) - * @param div - * the divisor - * @return the string - */ - public static String ofSize(long s, int div) - { - Double d = (double) s; - String sub = "Bytes"; - - if(d > div - 1) - { - d /= div; - sub = "KB"; - - if(d > div - 1) - { - d /= div; - sub = "MB"; - - if(d > div - 1) - { - d /= div; - sub = "GB"; - - if(d > div - 1) - { - d /= div; - sub = "TB"; - } - } - } - } - - if(sub.equals("GB") || sub.equals("TB")) - { - return Form.f(d, 1) + sub; - } - - else - { - return Form.f(d, 0) + sub; - } - } - - /** - * Calculate a fancy string representation of a size in B, KB, MB, GB, or TB - * with a special divisor. The divisor decides how much goes up in the suffix - * chain. - * - * @param s - * the size (in bytes) - * @param div - * the divisor - * @param dec - * the decimal places - * @return the string - */ - public static String ofSize(long s, int div, int dec) - { - Double d = (double) s; - String sub = "Bytes"; - - if(d > div - 1) - { - d /= div; - sub = "KB"; - - if(d > div - 1) - { - d /= div; - sub = "MB"; - - if(d > div - 1) - { - d /= div; - sub = "GB"; - - if(d > div - 1) - { - d /= div; - sub = "TB"; - } - } - } - } - - return Form.f(d, dec) + " " + sub; - } - - /** - * Calculate a fancy string representation of a size in Grams, KG, MG, GG, TG - * with a special divisor. The divisor decides how much goes up in the suffix - * chain. - * - * @param s - * the size (in bytes) - * @param div - * the divisor - * @param dec - * the decimal places - * @return the string - */ - public static String ofSizeMetricWeight(long s, int div, int dec) - { - boolean neg = s < 0; - if(neg) - { - s = -s; - } - Double d = (double) s; - String sub = "Grams"; - - if(d > div - 1) - { - d /= div; - sub = "KG"; - - if(d > div - 1) - { - d /= div; - sub = "MG"; - - if(d > div - 1) - { - d /= div; - sub = "GG"; - - if(d > div - 1) - { - d /= div; - sub = "TG"; - } - } - } - } - - return (neg ? "-" : "") + Form.f(d, dec) + " " + sub; - } - - /** - * Trim a string to a length, then append ... at the end if it extends the limit - * - * @param s - * the string - * @param l - * the limit - * @return the modified string - */ - public static String trim(String s, int l) - { - if(s.length() <= l) - { - return s; - } - - return s.substring(0, l) + "..."; - } - - /** - * Get a class name into a configuration/filename key For example, - * PhantomController.class is converted to phantom-controller - * - * @param clazz - * the class - * @return the string representation - */ - public static String cname(String clazz) - { - String codeName = ""; - - for(Character i : clazz.toCharArray()) - { - if(Character.isUpperCase(i)) - { - codeName = codeName + "-" + Character.toLowerCase(i); - } - - else - { - codeName = codeName + i; - } - } - - if(codeName.startsWith("-")) - { - codeName = codeName.substring(1); - } - - return codeName; - } - - /** - * Get a formatted representation of the memory given in megabytes - * - * @param mb - * the megabytes - * @return the string representation with suffixes - */ - public static String mem(long mb) - { - if(mb < 1024) - { - return f(mb) + " MB"; - } - - else - { - return f(((double) mb / (double) 1024), 1) + " GB"; - } - } - - /** - * Get a formatted representation of the memory given in kilobytes - * - * @param mb - * the kilobytes - * @return the string representation with suffixes - */ - public static String memx(long kb) - { - if(kb < 1024) - { - return fd(kb, 2) + " KB"; - } - - else - { - double mb = (double) kb / 1024.0; - - if(mb < 1024) - { - return fd(mb, 2) + " MB"; - } - - else - { - double gb = (double) mb / 1024.0; - - return fd(gb, 2) + " GB"; - } - } - } - - /** - * Format a long. Changes -10334 into -10,334 - * - * @param i - * the number - * @return the string representation of the number - */ - public static String f(long i) - { - instantiate(); - return NF.format(i); - } - - /** - * Format a number. Changes -10334 into -10,334 - * - * @param i - * the number - * @return the string representation of the number - */ - public static String f(int i) - { - instantiate(); - return NF.format(i); - } - - /** - * Formats a double's decimals to a limit - * - * @param i - * the double - * @param p - * the number of decimal places to use - * @return the formated string - */ - public static String f(double i, int p) - { - String form = "#"; - - if(p > 0) - { - form = form + "." + repeat("#", p); - } - - DF = new DecimalFormat(form); - - return DF.format(i); - } - - /** - * Formats a double's decimals to a limit, however, this will add zeros to the - * decimal places that dont need to be placed down. 2.4343 formatted with 6 - * decimals gets returned as 2.434300 - * - * @param i - * the double - * @param p - * the number of decimal places to use - * @return the formated string - */ - public static String fd(double i, int p) - { - String form = "0"; - - if(p > 0) - { - form = form + "." + repeat("0", p); - } - - DF = new DecimalFormat(form); - - return DF.format(i); - } - - /** - * Formats a float's decimals to a limit - * - * @param i - * the float - * @param p - * the number of decimal places to use - * @return the formated string - */ - public static String f(float i, int p) - { - String form = "#"; - - if(p > 0) - { - form = form + "." + repeat("#", p); - } - - DF = new DecimalFormat(form); - - return DF.format(i); - } - - /** - * Formats a double's decimals (one decimal point) - * - * @param i - * the double - */ - public static String f(double i) - { - return f(i, 1); - } - - /** - * Formats a float's decimals (one decimal point) - * - * @param i - * the float - */ - public static String f(float i) - { - return f(i, 1); - } - - /** - * Get a percent representation of a double and decimal places (0.53) would - * return 53% - * - * @param i - * the double - * @param p - * the number of decimal points - * @return a string - */ - public static String pc(double i, int p) - { - return f(i * 100.0, p) + "%"; - } - - /** - * Get a percent representation of a float and decimal places (0.53) would - * return 53% - * - * @param i - * the float - * @param p - * the number of decimal points - * @return a string - */ - public static String pc(float i, int p) - { - return f(i * 100, p) + "%"; - } - - /** - * Get a percent representation of a double and zero decimal places (0.53) would - * return 53% - * - * @param i - * the double - * @return a string - */ - public static String pc(double i) - { - return f(i * 100, 0) + "%"; - } - - /** - * Get a percent representation of a float and zero decimal places (0.53) would - * return 53% - * - * @param i - * the double - * @return a string - */ - public static String pc(float i) - { - return f(i * 100, 0) + "%"; - } - - /** - * Get a percent as the percent of i out of "of" with custom decimal places - * - * @param i - * the percent out of - * @param of - * of of - * @param p - * the decimal places - * @return the string - */ - public static String pc(int i, int of, int p) - { - return f(100.0 * (((double) i) / ((double) of)), p) + "%"; - } - - /** - * Get a percent as the percent of i out of "of" - * - * @param i - * the percent out of - * @param of - * of of - * @return the string - */ - public static String pc(int i, int of) - { - return pc(i, of, 0); - } - - /** - * Get a percent as the percent of i out of "of" with custom decimal places - * - * @param i - * the percent out of - * @param of - * of of - * @param p - * the decimal places - * @return the string - */ - public static String pc(long i, long of, int p) - { - return f(100.0 * (((double) i) / ((double) of)), p) + "%"; - } - - /** - * Get a percent as the percent of i out of "of" - * - * @param i - * the percent out of - * @param of - * of of - * @return the string - */ - public static String pc(long i, long of) - { - return pc(i, of, 0); - } - - /** - * Milliseconds to seconds (double) - * - * @param ms - * the milliseconds - * @return a formatted string to milliseconds - */ - public static String msSeconds(long ms) - { - return f((double) ms / 1000.0); - } - - /** - * Milliseconds to seconds (double) custom decimals - * - * @param ms - * the milliseconds - * @param p - * number of decimal points - * @return a formatted string to milliseconds - */ - public static String msSeconds(long ms, int p) - { - return f((double) ms / 1000.0, p); - } - - /** - * nanoseconds to seconds (double) - * - * @param ms - * the nanoseconds - * @return a formatted string to nanoseconds - */ - public static String nsMs(long ns) - { - return f((double) ns / 1000000.0); - } - - /** - * nanoseconds to seconds (double) custom decimals - * - * @param ms - * the nanoseconds - * @param p - * number of decimal points - * @return a formatted string to nanoseconds - */ - public static String nsMs(long ns, int p) - { - return f((double) ns / 1000000.0, p); - } - - /** - * nanoseconds to seconds (double) custom decimals - * - * @param ms - * the nanoseconds - * @param p - * number of decimal points - * @return a formatted string to nanoseconds - */ - public static String nsMsd(long ns, int p) - { - return fd((double) ns / 1000000.0, p); - } - - /** - * Get roman numeral representation of the int - * - * @param num - * the int - * @return the numerals - */ - public static String toRoman(int num) - { - LinkedHashMap roman_numerals = new LinkedHashMap(); - - roman_numerals.put("M", 1000); - roman_numerals.put("CM", 900); - roman_numerals.put("D", 500); - roman_numerals.put("CD", 400); - roman_numerals.put("C", 100); - roman_numerals.put("XC", 90); - roman_numerals.put("L", 50); - roman_numerals.put("XL", 40); - roman_numerals.put("X", 10); - roman_numerals.put("IX", 9); - roman_numerals.put("V", 5); - roman_numerals.put("IV", 4); - roman_numerals.put("I", 1); - - String res = ""; - - for(Map.Entry entry : roman_numerals.entrySet()) - { - int matches = num / entry.getValue(); - - res += repeat(entry.getKey(), matches); - num = num % entry.getValue(); - } - - return res; - } - - /** - * Get the number representation from roman numerals. - * - * @param number - * the roman number - * @return the int representation - */ - public static int fromRoman(String number) - { - if(number.isEmpty()) - { - return 0; - } - - number = number.toUpperCase(); - - if(number.startsWith("M")) - { - return 1000 + fromRoman(number.substring(1)); - } - - if(number.startsWith("CM")) - { - return 900 + fromRoman(number.substring(2)); - } - - if(number.startsWith("D")) - { - return 500 + fromRoman(number.substring(1)); - } - - if(number.startsWith("CD")) - { - return 400 + fromRoman(number.substring(2)); - } - - if(number.startsWith("C")) - { - return 100 + fromRoman(number.substring(1)); - } - - if(number.startsWith("XC")) - { - return 90 + fromRoman(number.substring(2)); - } - - if(number.startsWith("L")) - { - return 50 + fromRoman(number.substring(1)); - } - - if(number.startsWith("XL")) - { - return 40 + fromRoman(number.substring(2)); - } - - if(number.startsWith("X")) - { - return 10 + fromRoman(number.substring(1)); - } - - if(number.startsWith("IX")) - { - return 9 + fromRoman(number.substring(2)); - } - - if(number.startsWith("V")) - { - return 5 + fromRoman(number.substring(1)); - } - - if(number.startsWith("IV")) - { - return 4 + fromRoman(number.substring(2)); - } - - if(number.startsWith("I")) - { - return 1 + fromRoman(number.substring(1)); - } - - return 0; - } - - /** - * Repeat a string - * - * @param s - * the string - * @param n - * the amount of times to repeat - * @return the repeated string - */ - public static String repeat(String s, int n) - { - if(s == null) - { - return null; - } - - final StringBuilder sb = new StringBuilder(); - - for(int i = 0; i < n; i++) - { - sb.append(s); - } - - return sb.toString(); - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/Formula.java b/src/main/java/ninja/bytecode/iris/util/Formula.java deleted file mode 100644 index 470c081a5..000000000 --- a/src/main/java/ninja/bytecode/iris/util/Formula.java +++ /dev/null @@ -1,50 +0,0 @@ -package ninja.bytecode.iris.util; - -import javax.script.ScriptException; - -/** - * Evaluates an expression using javascript engine and returns the double - * result. This can take variable parameters, so you need to define them. - * Parameters are defined as $[0-9]. For example evaluate("4$0/$1", 1, 2); This - * makes the expression (4x1)/2 == 2. Keep note that you must use 0-9, you - * cannot skip, or start at a number other than 0. - * - * @author cyberpwn - */ -public class Formula -{ - private String expression; - - /** - * Evaluates an expression using javascript engine and returns the double - * result. This can take variable parameters, so you need to define them. - * Parameters are defined as $[0-9]. For example evaluate("4$0/$1", 1, 2); This - * makes the expression (4x1)/2 == 2. Keep note that you must use 0-9, you - * cannot skip, or start at a number other than 0. - * - * @param expression - * the expression with variables - * @param args - * the arguments/variables - */ - public Formula(String expression) - { - this.expression = expression; - } - - /** - * Evaluates the given args - * - * @param args - * the args - * @return the return result - * @throws IndexOutOfBoundsException - * invalid number of args - * @throws ScriptException - * syntax issue - */ - public double evaluate(Double... args) throws IndexOutOfBoundsException, ScriptException - { - return M.evaluate(expression, args); - } -} \ No newline at end of file diff --git a/src/main/java/ninja/bytecode/iris/util/Function2.java b/src/main/java/ninja/bytecode/iris/util/Function2.java deleted file mode 100644 index 86543682f..000000000 --- a/src/main/java/ninja/bytecode/iris/util/Function2.java +++ /dev/null @@ -1,7 +0,0 @@ -package ninja.bytecode.iris.util; - -@FunctionalInterface -public interface Function2 -{ - public R apply(A a, B b); -} diff --git a/src/main/java/ninja/bytecode/iris/util/Function3.java b/src/main/java/ninja/bytecode/iris/util/Function3.java deleted file mode 100644 index 02bc754de..000000000 --- a/src/main/java/ninja/bytecode/iris/util/Function3.java +++ /dev/null @@ -1,7 +0,0 @@ -package ninja.bytecode.iris.util; - -@FunctionalInterface -public interface Function3 -{ - public R apply(A a, B b, C c); -} diff --git a/src/main/java/ninja/bytecode/iris/util/Function4.java b/src/main/java/ninja/bytecode/iris/util/Function4.java deleted file mode 100644 index 79742d544..000000000 --- a/src/main/java/ninja/bytecode/iris/util/Function4.java +++ /dev/null @@ -1,7 +0,0 @@ -package ninja.bytecode.iris.util; - -@FunctionalInterface -public interface Function4 -{ - public R apply(A a, B b, C c, D d); -} diff --git a/src/main/java/ninja/bytecode/iris/util/GroupedExecutor.java b/src/main/java/ninja/bytecode/iris/util/GroupedExecutor.java new file mode 100644 index 000000000..8d34adc36 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/GroupedExecutor.java @@ -0,0 +1,122 @@ +package ninja.bytecode.iris.util; + +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.ForkJoinPool; +import java.util.concurrent.ForkJoinPool.ForkJoinWorkerThreadFactory; +import java.util.concurrent.ForkJoinWorkerThread; +import java.util.concurrent.locks.ReentrantLock; + +import ninja.bytecode.shuriken.collections.KMap; +import ninja.bytecode.shuriken.execution.J; +import ninja.bytecode.shuriken.execution.NastyRunnable; + +public class GroupedExecutor +{ + private int xc; + private ExecutorService service; + private ReentrantLock lock; + private KMap mirror; + + public GroupedExecutor(int threadLimit, int priority, String name) + { + xc = 1; + lock = new ReentrantLock(); + mirror = new KMap(); + + if(threadLimit == 1) + { + service = Executors.newSingleThreadExecutor((r) -> + { + Thread t = new Thread(r); + t.setName(name); + t.setPriority(priority); + + return t; + }); + } + + else if(threadLimit > 1) + { + final ForkJoinWorkerThreadFactory factory = new ForkJoinWorkerThreadFactory() + { + @Override + public ForkJoinWorkerThread newThread(ForkJoinPool pool) + { + final ForkJoinWorkerThread worker = ForkJoinPool.defaultForkJoinWorkerThreadFactory.newThread(pool); + worker.setName(name + " " + xc++); + worker.setPriority(priority); + return worker; + } + }; + + service = new ForkJoinPool(threadLimit, factory, null, false); + } + + else + { + service = Executors.newCachedThreadPool((r) -> + { + Thread t = new Thread(r); + t.setName(name + " " + xc++); + t.setPriority(priority); + + return t; + }); + } + } + + public void waitFor(String g) + { + while(true) + { + J.sleep(1); + + if(mirror.get(g) == 0) + { + break; + } + } + } + + public void queue(String q, NastyRunnable r) + { + lock.lock(); + if(!mirror.containsKey(q)) + { + mirror.put(q, 0); + } + mirror.put(q, mirror.get(q) + 1); + lock.unlock(); + service.execute(() -> + { + try + { + r.run(); + } + + catch(Throwable e) + { + + } + + lock.lock(); + mirror.put(q, mirror.get(q) - 1); + lock.unlock(); + }); + } + + public void close() + { + J.a(() -> + { + J.sleep(10000); + service.shutdown(); + }); + } + + public void closeNow() + { + service.shutdown(); + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/HTTP.java b/src/main/java/ninja/bytecode/iris/util/HTTP.java deleted file mode 100644 index 2665d698d..000000000 --- a/src/main/java/ninja/bytecode/iris/util/HTTP.java +++ /dev/null @@ -1,201 +0,0 @@ -package ninja.bytecode.iris.util; - - -/* -Copyright (c) 2002 JSON.org - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -The Software shall be used for Good, not Evil. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -*/ - -import java.util.Iterator; - -/** - * Convert an HTTP header to a JSONObject and back. - * - * @author JSON.org - * @version 2014-05-03 - */ -public class HTTP -{ - - /** Carriage return/line feed. */ - public static final String CRLF = "\r\n"; - - /** - * Convert an HTTP header string into a JSONObject. It can be a request - * header or a response header. A request header will contain - * - *
-	 * {
-	 *    Method: "POST" (for example),
-	 *    "Request-URI": "/" (for example),
-	 *    "HTTP-Version": "HTTP/1.1" (for example)
-	 * }
-	 * 
- * - * A response header will contain - * - *
-	 * {
-	 *    "HTTP-Version": "HTTP/1.1" (for example),
-	 *    "Status-Code": "200" (for example),
-	 *    "Reason-Phrase": "OK" (for example)
-	 * }
-	 * 
- * - * In addition, the other parameters in the header will be captured, using - * the HTTP field names as JSON names, so that - * - *
-	 *    Date: Sun, 26 May 2002 18:06:04 GMT
-	 *    Cookie: Q=q2=PPEAsg--; B=677gi6ouf29bn&b=2&f=s
-	 *    Cache-Control: no-cache
-	 * 
- * - * become - * - *
-	 * {...
-	 *    Date: "Sun, 26 May 2002 18:06:04 GMT",
-	 *    Cookie: "Q=q2=PPEAsg--; B=677gi6ouf29bn&b=2&f=s",
-	 *    "Cache-Control": "no-cache",
-	 * ...}
-	 * 
- * - * It does no further checking or conversion. It does not parse dates. It - * does not do '%' transforms on URLs. - * - * @param string - * An HTTP header string. - * @return A JSONObject containing the elements and attributes of the XML - * string. - * @throws JSONException - */ - public static JSONObject toJSONObject(String string) throws JSONException - { - JSONObject jo = new JSONObject(); - HTTPTokener x = new HTTPTokener(string); - String token; - - token = x.nextToken(); - if(token.toUpperCase().startsWith("HTTP")) - { - - // Response - - jo.put("HTTP-Version", token); - jo.put("Status-Code", x.nextToken()); - jo.put("Reason-Phrase", x.nextTo('\0')); - x.next(); - - } else - { - - // Request - - jo.put("Method", token); - jo.put("Request-URI", x.nextToken()); - jo.put("HTTP-Version", x.nextToken()); - } - - // Fields - - while(x.more()) - { - String name = x.nextTo(':'); - x.next(':'); - jo.put(name, x.nextTo('\0')); - x.next(); - } - return jo; - } - - /** - * Convert a JSONObject into an HTTP header. A request header must contain - * - *
-	 * {
-	 *    Method: "POST" (for example),
-	 *    "Request-URI": "/" (for example),
-	 *    "HTTP-Version": "HTTP/1.1" (for example)
-	 * }
-	 * 
- * - * A response header must contain - * - *
-	 * {
-	 *    "HTTP-Version": "HTTP/1.1" (for example),
-	 *    "Status-Code": "200" (for example),
-	 *    "Reason-Phrase": "OK" (for example)
-	 * }
-	 * 
- * - * Any other members of the JSONObject will be output as HTTP fields. The - * result will end with two CRLF pairs. - * - * @param jo - * A JSONObject - * @return An HTTP header string. - * @throws JSONException - * if the object does not contain enough information. - */ - public static String toString(JSONObject jo) throws JSONException - { - Iterator keys = jo.keys(); - String string; - StringBuilder sb = new StringBuilder(); - if(jo.has("Status-Code") && jo.has("Reason-Phrase")) - { - sb.append(jo.getString("HTTP-Version")); - sb.append(' '); - sb.append(jo.getString("Status-Code")); - sb.append(' '); - sb.append(jo.getString("Reason-Phrase")); - } else if(jo.has("Method") && jo.has("Request-URI")) - { - sb.append(jo.getString("Method")); - sb.append(' '); - sb.append('"'); - sb.append(jo.getString("Request-URI")); - sb.append('"'); - sb.append(' '); - sb.append(jo.getString("HTTP-Version")); - } else - { - throw new JSONException("Not enough material for an HTTP header."); - } - sb.append(CRLF); - while(keys.hasNext()) - { - string = keys.next(); - if(!"HTTP-Version".equals(string) && !"Status-Code".equals(string) && !"Reason-Phrase".equals(string) && !"Method".equals(string) && !"Request-URI".equals(string) && !jo.isNull(string)) - { - sb.append(string); - sb.append(": "); - sb.append(jo.getString(string)); - sb.append(CRLF); - } - } - sb.append(CRLF); - return sb.toString(); - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/HTTPTokener.java b/src/main/java/ninja/bytecode/iris/util/HTTPTokener.java deleted file mode 100644 index 14c419f8d..000000000 --- a/src/main/java/ninja/bytecode/iris/util/HTTPTokener.java +++ /dev/null @@ -1,91 +0,0 @@ -package ninja.bytecode.iris.util; - - -/* -Copyright (c) 2002 JSON.org - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -The Software shall be used for Good, not Evil. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -*/ - -/** - * The HTTPTokener extends the JSONTokener to provide additional methods for the - * parsing of HTTP headers. - * - * @author JSON.org - * @version 2014-05-03 - */ -public class HTTPTokener extends JSONTokener -{ - - /** - * Construct an HTTPTokener from a string. - * - * @param string - * A source string. - */ - public HTTPTokener(String string) - { - super(string); - } - - /** - * Get the next token or string. This is used in parsing HTTP headers. - * - * @throws JSONException - * @return A String. - */ - public String nextToken() throws JSONException - { - char c; - char q; - StringBuilder sb = new StringBuilder(); - do - { - c = next(); - } while(Character.isWhitespace(c)); - if(c == '"' || c == '\'') - { - q = c; - for(;;) - { - c = next(); - if(c < ' ') - { - throw syntaxError("Unterminated string."); - } - if(c == q) - { - return sb.toString(); - } - sb.append(c); - } - } - for(;;) - { - if(c == 0 || Character.isWhitespace(c)) - { - return sb.toString(); - } - sb.append(c); - c = next(); - } - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/IrisInterpolation.java b/src/main/java/ninja/bytecode/iris/util/IrisInterpolation.java index 949939e3b..82ada55ab 100644 --- a/src/main/java/ninja/bytecode/iris/util/IrisInterpolation.java +++ b/src/main/java/ninja/bytecode/iris/util/IrisInterpolation.java @@ -1,7 +1,6 @@ package ninja.bytecode.iris.util; import ninja.bytecode.iris.object.InterpolationMethod; -import ninja.bytecode.iris.object.IrisDimension; public class IrisInterpolation { diff --git a/src/main/java/ninja/bytecode/iris/util/J.java b/src/main/java/ninja/bytecode/iris/util/J.java deleted file mode 100644 index ccd885d94..000000000 --- a/src/main/java/ninja/bytecode/iris/util/J.java +++ /dev/null @@ -1,133 +0,0 @@ -package ninja.bytecode.iris.util; - -import java.util.concurrent.Callable; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.Future; -import java.util.concurrent.ThreadFactory; -import java.util.function.Consumer; -import java.util.function.Function; -import java.util.function.Supplier; - -public class J -{ - private static int tid = 0; - private static final ExecutorService e = Executors.newCachedThreadPool(new ThreadFactory() - { - @Override - public Thread newThread(Runnable r) - { - tid++; - Thread t = new Thread(r); - t.setName("Actuator " + tid); - t.setPriority(Thread.MIN_PRIORITY); - t.setUncaughtExceptionHandler((et, e) -> { - e.printStackTrace(); - }); - - return t; - } - }); - - public static void dofor(int a, Function c, int ch, Consumer d) - { - for(int i = a; c.apply(i); i+=ch) - { - c.apply(i); - } - } - - public static boolean doif(Supplier c, Runnable g) - { - if(c.get()) - { - g.run(); - return true; - } - - return false; - } - - public static void a(Runnable a) - { - e.submit(a); - } - - public static Future a(Callable a) - { - return e.submit(a); - } - - public static void attemptAsync(NastyRunnable r) - { - J.a(() -> J.attempt(r)); - } - - public static R attemptResult(NastyFuture r, R onError) - { - try - { - return r.run(); - } - - catch(Throwable e) - { - - } - - return onError; - } - - public static R attemptFunction(NastyFunction r, T param, R onError) - { - try - { - return r.run(param); - } - - catch(Throwable e) - { - - } - - return onError; - } - - public static boolean sleep(long ms) - { - return J.attempt(() -> Thread.sleep(ms)); - } - - public static boolean attempt(NastyRunnable r) - { - return attemptCatch(r) == null; - } - - public static Throwable attemptCatch(NastyRunnable r) - { - try - { - r.run(); - } - - catch(Throwable e) - { - return e; - } - - return null; - } - - public static T attempt(Supplier t, T i) - { - try - { - return t.get(); - } - - catch(Throwable e) - { - return i; - } - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/JSONArray.java b/src/main/java/ninja/bytecode/iris/util/JSONArray.java deleted file mode 100644 index 2e6c3bedf..000000000 --- a/src/main/java/ninja/bytecode/iris/util/JSONArray.java +++ /dev/null @@ -1,1252 +0,0 @@ -package ninja.bytecode.iris.util; - - -/* - Copyright (c) 2002 JSON.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - The Software shall be used for Good, not Evil. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. - */ - -import java.io.IOException; -import java.io.StringWriter; -import java.io.Writer; -import java.lang.reflect.Array; -import java.math.BigDecimal; -import java.math.BigInteger; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Iterator; -import java.util.Map; - -/** - * A JSONArray is an ordered sequence of values. Its external text form is a - * string wrapped in square brackets with commas separating the values. The - * internal form is an object having get and opt - * methods for accessing the values by index, and put methods for - * adding or replacing values. The values can be any of these types: - * Boolean, JSONArray, JSONObject, - * Number, String, or the - * JSONObject.NULL object. - *

- * The constructor can convert a JSON text into a Java object. The - * toString method converts to JSON text. - *

- * A get method returns a value if one can be found, and throws an - * exception if one cannot be found. An opt method returns a - * default value instead of throwing an exception, and so is useful for - * obtaining optional values. - *

- * The generic get() and opt() methods return an - * object which you can cast or query for type. There are also typed - * get and opt methods that do type checking and type - * coercion for you. - *

- * The texts produced by the toString methods strictly conform to - * JSON syntax rules. The constructors are more forgiving in the texts they will - * accept: - *

    - *
  • An extra , (comma) may appear just - * before the closing bracket.
  • - *
  • The null value will be inserted when there is , - *  (comma) elision.
  • - *
  • Strings may be quoted with ' (single - * quote).
  • - *
  • Strings do not need to be quoted at all if they do not begin with a quote - * or single quote, and if they do not contain leading or trailing spaces, and - * if they do not contain any of these characters: - * { } [ ] / \ : , # and if they do not look like numbers and if - * they are not the reserved words true, false, or - * null.
  • - *
- * - * @author JSON.org - * @version 2015-07-22 - */ -public class JSONArray implements Iterable -{ - - /** - * The arrayList where the JSONArray's properties are kept. - */ - private final ArrayList myArrayList; - - /** - * Construct an empty JSONArray. - */ - public JSONArray() - { - this.myArrayList = new ArrayList(); - } - - /** - * Construct a JSONArray from a JSONTokener. - * - * @param x - * A JSONTokener - * @throws JSONException - * If there is a syntax error. - */ - public JSONArray(JSONTokener x) throws JSONException - { - this(); - if(x.nextClean() != '[') - { - throw x.syntaxError("A JSONArray text must start with '['"); - } - if(x.nextClean() != ']') - { - x.back(); - for(;;) - { - if(x.nextClean() == ',') - { - x.back(); - this.myArrayList.add(JSONObject.NULL); - } else - { - x.back(); - this.myArrayList.add(x.nextValue()); - } - switch(x.nextClean()) - { - case ',': - if(x.nextClean() == ']') - { - return; - } - x.back(); - break; - case ']': - return; - default: - throw x.syntaxError("Expected a ',' or ']'"); - } - } - } - } - - /** - * Construct a JSONArray from a source JSON text. - * - * @param source - * A string that begins with [ (left - * bracket) and ends with ]   - * (right bracket). - * @throws JSONException - * If there is a syntax error. - */ - public JSONArray(String source) throws JSONException - { - this(new JSONTokener(source)); - } - - /** - * Construct a JSONArray from a Collection. - * - * @param collection - * A Collection. - */ - public JSONArray(Collection collection) - { - this.myArrayList = new ArrayList(); - if(collection != null) - { - Iterator iter = collection.iterator(); - while(iter.hasNext()) - { - this.myArrayList.add(JSONObject.wrap(iter.next())); - } - } - } - - /** - * Construct a JSONArray from an array - * - * @throws JSONException - * If not an array. - */ - public JSONArray(Object array) throws JSONException - { - this(); - if(array.getClass().isArray()) - { - int length = Array.getLength(array); - for(int i = 0; i < length; i += 1) - { - this.put(JSONObject.wrap(Array.get(array, i))); - } - } else - { - throw new JSONException("JSONArray initial value should be a string or collection or array."); - } - } - - @Override - public Iterator iterator() - { - return myArrayList.iterator(); - } - - /** - * Get the object value associated with an index. - * - * @param index - * The index must be between 0 and length() - 1. - * @return An object value. - * @throws JSONException - * If there is no value for the index. - */ - public Object get(int index) throws JSONException - { - Object object = this.opt(index); - if(object == null) - { - throw new JSONException("JSONArray[" + index + "] not found."); - } - return object; - } - - /** - * Get the boolean value associated with an index. The string values "true" - * and "false" are converted to boolean. - * - * @param index - * The index must be between 0 and length() - 1. - * @return The truth. - * @throws JSONException - * If there is no value for the index or if the value is not - * convertible to boolean. - */ - public boolean getBoolean(int index) throws JSONException - { - Object object = this.get(index); - if(object.equals(Boolean.FALSE) || (object instanceof String && ((String) object).equalsIgnoreCase("false"))) - { - return false; - } else if(object.equals(Boolean.TRUE) || (object instanceof String && ((String) object).equalsIgnoreCase("true"))) - { - return true; - } - throw new JSONException("JSONArray[" + index + "] is not a boolean."); - } - - /** - * Get the double value associated with an index. - * - * @param index - * The index must be between 0 and length() - 1. - * @return The value. - * @throws JSONException - * If the key is not found or if the value cannot be converted - * to a number. - */ - public double getDouble(int index) throws JSONException - { - Object object = this.get(index); - try - { - return object instanceof Number ? ((Number) object).doubleValue() : Double.parseDouble((String) object); - } catch(Exception e) - { - throw new JSONException("JSONArray[" + index + "] is not a number."); - } - } - - /** - * Get the enum value associated with an index. - * - * @param clazz - * The type of enum to retrieve. - * @param index - * The index must be between 0 and length() - 1. - * @return The enum value at the index location - * @throws JSONException - * if the key is not found or if the value cannot be converted - * to an enum. - */ - public > E getEnum(Class clazz, int index) throws JSONException - { - E val = optEnum(clazz, index); - if(val == null) - { - // JSONException should really take a throwable argument. - // If it did, I would re-implement this with the Enum.valueOf - // method and place any thrown exception in the JSONException - throw new JSONException("JSONObject[" + JSONObject.quote(Integer.toString(index)) + "] is not an enum of type " + JSONObject.quote(clazz.getSimpleName()) + "."); - } - return val; - } - - /** - * Get the BigDecimal value associated with an index. - * - * @param index - * The index must be between 0 and length() - 1. - * @return The value. - * @throws JSONException - * If the key is not found or if the value cannot be converted - * to a BigDecimal. - */ - public BigDecimal getBigDecimal(int index) throws JSONException - { - Object object = this.get(index); - try - { - return new BigDecimal(object.toString()); - } catch(Exception e) - { - throw new JSONException("JSONArray[" + index + "] could not convert to BigDecimal."); - } - } - - /** - * Get the BigInteger value associated with an index. - * - * @param index - * The index must be between 0 and length() - 1. - * @return The value. - * @throws JSONException - * If the key is not found or if the value cannot be converted - * to a BigInteger. - */ - public BigInteger getBigInteger(int index) throws JSONException - { - Object object = this.get(index); - try - { - return new BigInteger(object.toString()); - } catch(Exception e) - { - throw new JSONException("JSONArray[" + index + "] could not convert to BigInteger."); - } - } - - /** - * Get the int value associated with an index. - * - * @param index - * The index must be between 0 and length() - 1. - * @return The value. - * @throws JSONException - * If the key is not found or if the value is not a number. - */ - public int getInt(int index) throws JSONException - { - Object object = this.get(index); - try - { - return object instanceof Number ? ((Number) object).intValue() : Integer.parseInt((String) object); - } catch(Exception e) - { - throw new JSONException("JSONArray[" + index + "] is not a number."); - } - } - - /** - * Get the JSONArray associated with an index. - * - * @param index - * The index must be between 0 and length() - 1. - * @return A JSONArray value. - * @throws JSONException - * If there is no value for the index. or if the value is not a - * JSONArray - */ - public JSONArray getJSONArray(int index) throws JSONException - { - Object object = this.get(index); - if(object instanceof JSONArray) - { - return (JSONArray) object; - } - throw new JSONException("JSONArray[" + index + "] is not a JSONArray."); - } - - /** - * Get the JSONObject associated with an index. - * - * @param index - * subscript - * @return A JSONObject value. - * @throws JSONException - * If there is no value for the index or if the value is not a - * JSONObject - */ - public JSONObject getJSONObject(int index) throws JSONException - { - Object object = this.get(index); - if(object instanceof JSONObject) - { - return (JSONObject) object; - } - throw new JSONException("JSONArray[" + index + "] is not a JSONObject."); - } - - /** - * Get the long value associated with an index. - * - * @param index - * The index must be between 0 and length() - 1. - * @return The value. - * @throws JSONException - * If the key is not found or if the value cannot be converted - * to a number. - */ - public long getLong(int index) throws JSONException - { - Object object = this.get(index); - try - { - return object instanceof Number ? ((Number) object).longValue() : Long.parseLong((String) object); - } catch(Exception e) - { - throw new JSONException("JSONArray[" + index + "] is not a number."); - } - } - - /** - * Get the string associated with an index. - * - * @param index - * The index must be between 0 and length() - 1. - * @return A string value. - * @throws JSONException - * If there is no string value for the index. - */ - public String getString(int index) throws JSONException - { - Object object = this.get(index); - if(object instanceof String) - { - return (String) object; - } - throw new JSONException("JSONArray[" + index + "] not a string."); - } - - /** - * Determine if the value is null. - * - * @param index - * The index must be between 0 and length() - 1. - * @return true if the value at the index is null, or if there is no value. - */ - public boolean isNull(int index) - { - return JSONObject.NULL.equals(this.opt(index)); - } - - /** - * Make a string from the contents of this JSONArray. The - * separator string is inserted between each element. Warning: - * This method assumes that the data structure is acyclical. - * - * @param separator - * A string that will be inserted between the elements. - * @return a string. - * @throws JSONException - * If the array contains an invalid number. - */ - public String join(String separator) throws JSONException - { - int len = this.length(); - StringBuilder sb = new StringBuilder(); - - for(int i = 0; i < len; i += 1) - { - if(i > 0) - { - sb.append(separator); - } - sb.append(JSONObject.valueToString(this.myArrayList.get(i))); - } - return sb.toString(); - } - - /** - * Get the number of elements in the JSONArray, included nulls. - * - * @return The length (or size). - */ - public int length() - { - return this.myArrayList.size(); - } - - /** - * Get the optional object value associated with an index. - * - * @param index - * The index must be between 0 and length() - 1. - * @return An object value, or null if there is no object at that index. - */ - public Object opt(int index) - { - return (index < 0 || index >= this.length()) ? null : this.myArrayList.get(index); - } - - /** - * Get the optional boolean value associated with an index. It returns false - * if there is no value at that index, or if the value is not Boolean.TRUE - * or the String "true". - * - * @param index - * The index must be between 0 and length() - 1. - * @return The truth. - */ - public boolean optBoolean(int index) - { - return this.optBoolean(index, false); - } - - /** - * Get the optional boolean value associated with an index. It returns the - * defaultValue if there is no value at that index or if it is not a Boolean - * or the String "true" or "false" (case insensitive). - * - * @param index - * The index must be between 0 and length() - 1. - * @param defaultValue - * A boolean default. - * @return The truth. - */ - public boolean optBoolean(int index, boolean defaultValue) - { - try - { - return this.getBoolean(index); - } catch(Exception e) - { - return defaultValue; - } - } - - /** - * Get the optional double value associated with an index. NaN is returned - * if there is no value for the index, or if the value is not a number and - * cannot be converted to a number. - * - * @param index - * The index must be between 0 and length() - 1. - * @return The value. - */ - public double optDouble(int index) - { - return this.optDouble(index, Double.NaN); - } - - /** - * Get the optional double value associated with an index. The defaultValue - * is returned if there is no value for the index, or if the value is not a - * number and cannot be converted to a number. - * - * @param index - * subscript - * @param defaultValue - * The default value. - * @return The value. - */ - public double optDouble(int index, double defaultValue) - { - try - { - return this.getDouble(index); - } catch(Exception e) - { - return defaultValue; - } - } - - /** - * Get the optional int value associated with an index. Zero is returned if - * there is no value for the index, or if the value is not a number and - * cannot be converted to a number. - * - * @param index - * The index must be between 0 and length() - 1. - * @return The value. - */ - public int optInt(int index) - { - return this.optInt(index, 0); - } - - /** - * Get the optional int value associated with an index. The defaultValue is - * returned if there is no value for the index, or if the value is not a - * number and cannot be converted to a number. - * - * @param index - * The index must be between 0 and length() - 1. - * @param defaultValue - * The default value. - * @return The value. - */ - public int optInt(int index, int defaultValue) - { - try - { - return this.getInt(index); - } catch(Exception e) - { - return defaultValue; - } - } - - /** - * Get the enum value associated with a key. - * - * @param clazz - * The type of enum to retrieve. - * @param index - * The index must be between 0 and length() - 1. - * @return The enum value at the index location or null if not found - */ - public > E optEnum(Class clazz, int index) - { - return this.optEnum(clazz, index, null); - } - - /** - * Get the enum value associated with a key. - * - * @param clazz - * The type of enum to retrieve. - * @param index - * The index must be between 0 and length() - 1. - * @param defaultValue - * The default in case the value is not found - * @return The enum value at the index location or defaultValue if the value - * is not found or cannot be assigned to clazz - */ - public > E optEnum(Class clazz, int index, E defaultValue) - { - try - { - Object val = this.opt(index); - if(JSONObject.NULL.equals(val)) - { - return defaultValue; - } - if(clazz.isAssignableFrom(val.getClass())) - { - // we just checked it! - @SuppressWarnings("unchecked") - E myE = (E) val; - return myE; - } - return Enum.valueOf(clazz, val.toString()); - } - - catch(IllegalArgumentException e) - { - return defaultValue; - } - - catch(NullPointerException e) - { - return defaultValue; - } - } - - /** - * Get the optional BigInteger value associated with an index. The - * defaultValue is returned if there is no value for the index, or if the - * value is not a number and cannot be converted to a number. - * - * @param index - * The index must be between 0 and length() - 1. - * @param defaultValue - * The default value. - * @return The value. - */ - public BigInteger optBigInteger(int index, BigInteger defaultValue) - { - try - { - return this.getBigInteger(index); - } catch(Exception e) - { - return defaultValue; - } - } - - /** - * Get the optional BigDecimal value associated with an index. The - * defaultValue is returned if there is no value for the index, or if the - * value is not a number and cannot be converted to a number. - * - * @param index - * The index must be between 0 and length() - 1. - * @param defaultValue - * The default value. - * @return The value. - */ - public BigDecimal optBigDecimal(int index, BigDecimal defaultValue) - { - try - { - return this.getBigDecimal(index); - } catch(Exception e) - { - return defaultValue; - } - } - - /** - * Get the optional JSONArray associated with an index. - * - * @param index - * subscript - * @return A JSONArray value, or null if the index has no value, or if the - * value is not a JSONArray. - */ - public JSONArray optJSONArray(int index) - { - Object o = this.opt(index); - return o instanceof JSONArray ? (JSONArray) o : null; - } - - /** - * Get the optional JSONObject associated with an index. Null is returned if - * the key is not found, or null if the index has no value, or if the value - * is not a JSONObject. - * - * @param index - * The index must be between 0 and length() - 1. - * @return A JSONObject value. - */ - public JSONObject optJSONObject(int index) - { - Object o = this.opt(index); - return o instanceof JSONObject ? (JSONObject) o : null; - } - - /** - * Get the optional long value associated with an index. Zero is returned if - * there is no value for the index, or if the value is not a number and - * cannot be converted to a number. - * - * @param index - * The index must be between 0 and length() - 1. - * @return The value. - */ - public long optLong(int index) - { - return this.optLong(index, 0); - } - - /** - * Get the optional long value associated with an index. The defaultValue is - * returned if there is no value for the index, or if the value is not a - * number and cannot be converted to a number. - * - * @param index - * The index must be between 0 and length() - 1. - * @param defaultValue - * The default value. - * @return The value. - */ - public long optLong(int index, long defaultValue) - { - try - { - return this.getLong(index); - } catch(Exception e) - { - return defaultValue; - } - } - - /** - * Get the optional string value associated with an index. It returns an - * empty string if there is no value at that index. If the value is not a - * string and is not null, then it is coverted to a string. - * - * @param index - * The index must be between 0 and length() - 1. - * @return A String value. - */ - public String optString(int index) - { - return this.optString(index, ""); - } - - /** - * Get the optional string associated with an index. The defaultValue is - * returned if the key is not found. - * - * @param index - * The index must be between 0 and length() - 1. - * @param defaultValue - * The default value. - * @return A String value. - */ - public String optString(int index, String defaultValue) - { - Object object = this.opt(index); - return JSONObject.NULL.equals(object) ? defaultValue : object.toString(); - } - - /** - * Append a boolean value. This increases the array's length by one. - * - * @param value - * A boolean value. - * @return this. - */ - public JSONArray put(boolean value) - { - this.put(value ? Boolean.TRUE : Boolean.FALSE); - return this; - } - - /** - * Put a value in the JSONArray, where the value will be a JSONArray which - * is produced from a Collection. - * - * @param value - * A Collection value. - * @return this. - */ - public JSONArray put(Collection value) - { - this.put(new JSONArray(value)); - return this; - } - - /** - * Append a double value. This increases the array's length by one. - * - * @param value - * A double value. - * @throws JSONException - * if the value is not finite. - * @return this. - */ - public JSONArray put(double value) throws JSONException - { - Double d = new Double(value); - JSONObject.testValidity(d); - this.put(d); - return this; - } - - /** - * Append an int value. This increases the array's length by one. - * - * @param value - * An int value. - * @return this. - */ - public JSONArray put(int value) - { - this.put(new Integer(value)); - return this; - } - - /** - * Append an long value. This increases the array's length by one. - * - * @param value - * A long value. - * @return this. - */ - public JSONArray put(long value) - { - this.put(new Long(value)); - return this; - } - - /** - * Put a value in the JSONArray, where the value will be a JSONObject which - * is produced from a Map. - * - * @param value - * A Map value. - * @return this. - */ - public JSONArray put(Map value) - { - this.put(new JSONObject(value)); - return this; - } - - /** - * Append an object value. This increases the array's length by one. - * - * @param value - * An object value. The value should be a Boolean, Double, - * Integer, JSONArray, JSONObject, Long, or String, or the - * JSONObject.NULL object. - * @return this. - */ - public JSONArray put(Object value) - { - this.myArrayList.add(value); - return this; - } - - /** - * Put or replace a boolean value in the JSONArray. If the index is greater - * than the length of the JSONArray, then null elements will be added as - * necessary to pad it out. - * - * @param index - * The subscript. - * @param value - * A boolean value. - * @return this. - * @throws JSONException - * If the index is negative. - */ - public JSONArray put(int index, boolean value) throws JSONException - { - this.put(index, value ? Boolean.TRUE : Boolean.FALSE); - return this; - } - - /** - * Put a value in the JSONArray, where the value will be a JSONArray which - * is produced from a Collection. - * - * @param index - * The subscript. - * @param value - * A Collection value. - * @return this. - * @throws JSONException - * If the index is negative or if the value is not finite. - */ - public JSONArray put(int index, Collection value) throws JSONException - { - this.put(index, new JSONArray(value)); - return this; - } - - /** - * Put or replace a double value. If the index is greater than the length of - * the JSONArray, then null elements will be added as necessary to pad it - * out. - * - * @param index - * The subscript. - * @param value - * A double value. - * @return this. - * @throws JSONException - * If the index is negative or if the value is not finite. - */ - public JSONArray put(int index, double value) throws JSONException - { - this.put(index, new Double(value)); - return this; - } - - /** - * Put or replace an int value. If the index is greater than the length of - * the JSONArray, then null elements will be added as necessary to pad it - * out. - * - * @param index - * The subscript. - * @param value - * An int value. - * @return this. - * @throws JSONException - * If the index is negative. - */ - public JSONArray put(int index, int value) throws JSONException - { - this.put(index, new Integer(value)); - return this; - } - - /** - * Put or replace a long value. If the index is greater than the length of - * the JSONArray, then null elements will be added as necessary to pad it - * out. - * - * @param index - * The subscript. - * @param value - * A long value. - * @return this. - * @throws JSONException - * If the index is negative. - */ - public JSONArray put(int index, long value) throws JSONException - { - this.put(index, new Long(value)); - return this; - } - - /** - * Put a value in the JSONArray, where the value will be a JSONObject that - * is produced from a Map. - * - * @param index - * The subscript. - * @param value - * The Map value. - * @return this. - * @throws JSONException - * If the index is negative or if the the value is an invalid - * number. - */ - public JSONArray put(int index, Map value) throws JSONException - { - this.put(index, new JSONObject(value)); - return this; - } - - /** - * Put or replace an object value in the JSONArray. If the index is greater - * than the length of the JSONArray, then null elements will be added as - * necessary to pad it out. - * - * @param index - * The subscript. - * @param value - * The value to put into the array. The value should be a - * Boolean, Double, Integer, JSONArray, JSONObject, Long, or - * String, or the JSONObject.NULL object. - * @return this. - * @throws JSONException - * If the index is negative or if the the value is an invalid - * number. - */ - public JSONArray put(int index, Object value) throws JSONException - { - JSONObject.testValidity(value); - if(index < 0) - { - throw new JSONException("JSONArray[" + index + "] not found."); - } - if(index < this.length()) - { - this.myArrayList.set(index, value); - } else - { - while(index != this.length()) - { - this.put(JSONObject.NULL); - } - this.put(value); - } - return this; - } - - /** - * Remove an index and close the hole. - * - * @param index - * The index of the element to be removed. - * @return The value that was associated with the index, or null if there - * was no value. - */ - public Object remove(int index) - { - return index >= 0 && index < this.length() ? this.myArrayList.remove(index) : null; - } - - /** - * Determine if two JSONArrays are similar. They must contain similar - * sequences. - * - * @param other - * The other JSONArray - * @return true if they are equal - */ - public boolean similar(Object other) - { - if(!(other instanceof JSONArray)) - { - return false; - } - int len = this.length(); - if(len != ((JSONArray) other).length()) - { - return false; - } - for(int i = 0; i < len; i += 1) - { - Object valueThis = this.get(i); - Object valueOther = ((JSONArray) other).get(i); - if(valueThis instanceof JSONObject) - { - if(!((JSONObject) valueThis).similar(valueOther)) - { - return false; - } - } else if(valueThis instanceof JSONArray) - { - if(!((JSONArray) valueThis).similar(valueOther)) - { - return false; - } - } else if(!valueThis.equals(valueOther)) - { - return false; - } - } - return true; - } - - /** - * Produce a JSONObject by combining a JSONArray of names with the values of - * this JSONArray. - * - * @param names - * A JSONArray containing a list of key strings. These will be - * paired with the values. - * @return A JSONObject, or null if there are no names or if this JSONArray - * has no values. - * @throws JSONException - * If any of the names are null. - */ - public JSONObject toJSONObject(JSONArray names) throws JSONException - { - if(names == null || names.length() == 0 || this.length() == 0) - { - return null; - } - JSONObject jo = new JSONObject(); - for(int i = 0; i < names.length(); i += 1) - { - jo.put(names.getString(i), this.opt(i)); - } - return jo; - } - - /** - * Make a JSON text of this JSONArray. For compactness, no unnecessary - * whitespace is added. If it is not possible to produce a syntactically - * correct JSON text then null will be returned instead. This could occur if - * the array contains an invalid number. - *

- * Warning: This method assumes that the data structure is acyclical. - * - * @return a printable, displayable, transmittable representation of the - * array. - */ - @Override - public String toString() - { - try - { - return this.toString(0); - } catch(Exception e) - { - return null; - } - } - - /** - * Make a prettyprinted JSON text of this JSONArray. Warning: This method - * assumes that the data structure is acyclical. - * - * @param indentFactor - * The number of spaces to add to each level of indentation. - * @return a printable, displayable, transmittable representation of the - * object, beginning with [ (left - * bracket) and ending with ]   - * (right bracket). - * @throws JSONException - */ - public String toString(int indentFactor) throws JSONException - { - StringWriter sw = new StringWriter(); - synchronized(sw.getBuffer()) - { - return this.write(sw, indentFactor, 0).toString(); - } - } - - /** - * Write the contents of the JSONArray as JSON text to a writer. For - * compactness, no whitespace is added. - *

- * Warning: This method assumes that the data structure is acyclical. - * - * @return The writer. - * @throws JSONException - */ - public Writer write(Writer writer) throws JSONException - { - return this.write(writer, 0, 0); - } - - /** - * Write the contents of the JSONArray as JSON text to a writer. For - * compactness, no whitespace is added. - *

- * Warning: This method assumes that the data structure is acyclical. - * - * @param indentFactor - * The number of spaces to add to each level of indentation. - * @param indent - * The indention of the top level. - * @return The writer. - * @throws JSONException - */ - Writer write(Writer writer, int indentFactor, int indent) throws JSONException - { - try - { - boolean commanate = false; - int length = this.length(); - writer.write('['); - - if(length == 1) - { - JSONObject.writeValue(writer, this.myArrayList.get(0), indentFactor, indent); - } else if(length != 0) - { - final int newindent = indent + indentFactor; - - for(int i = 0; i < length; i += 1) - { - if(commanate) - { - writer.write(','); - } - if(indentFactor > 0) - { - writer.write('\n'); - } - JSONObject.indent(writer, newindent); - JSONObject.writeValue(writer, this.myArrayList.get(i), indentFactor, newindent); - commanate = true; - } - if(indentFactor > 0) - { - writer.write('\n'); - } - JSONObject.indent(writer, indent); - } - writer.write(']'); - return writer; - } catch(IOException e) - { - throw new JSONException(e); - } - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/JSONException.java b/src/main/java/ninja/bytecode/iris/util/JSONException.java deleted file mode 100644 index d2364e501..000000000 --- a/src/main/java/ninja/bytecode/iris/util/JSONException.java +++ /dev/null @@ -1,50 +0,0 @@ -package ninja.bytecode.iris.util; - - -/** - * The JSONException is thrown by the JSON.org classes when things are amiss. - * - * @author JSON.org - * @version 2014-05-03 - */ -public class JSONException extends RuntimeException -{ - private static final long serialVersionUID = 0; - private Throwable cause; - - /** - * Constructs a JSONException with an explanatory message. - * - * @param message - * Detail about the reason for the exception. - */ - public JSONException(String message) - { - super(message); - } - - /** - * Constructs a new JSONException with the specified cause. - * - * @param cause - * The cause. - */ - public JSONException(Throwable cause) - { - super(cause.getMessage()); - this.cause = cause; - } - - /** - * Returns the cause of this exception or null if the cause is nonexistent - * or unknown. - * - * @return the cause of this exception or null if the cause is nonexistent - * or unknown. - */ - @Override - public Throwable getCause() - { - return this.cause; - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/JSONML.java b/src/main/java/ninja/bytecode/iris/util/JSONML.java deleted file mode 100644 index 96ba0bb7c..000000000 --- a/src/main/java/ninja/bytecode/iris/util/JSONML.java +++ /dev/null @@ -1,555 +0,0 @@ -package ninja.bytecode.iris.util; - - -/* -Copyright (c) 2008 JSON.org - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -The Software shall be used for Good, not Evil. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -*/ - -import java.util.Iterator; - -/** - * This provides static methods to convert an XML text into a JSONArray or - * JSONObject, and to covert a JSONArray or JSONObject into an XML text using - * the JsonML transform. - * - * @author JSON.org - * @version 2014-05-03 - */ -public class JSONML -{ - - /** - * Parse XML values and store them in a JSONArray. - * - * @param x - * The XMLTokener containing the source string. - * @param arrayForm - * true if array form, false if object form. - * @param ja - * The JSONArray that is containing the current tag or null if we - * are at the outermost level. - * @return A JSONArray if the value is the outermost tag, otherwise null. - * @throws JSONException - */ - private static Object parse(XMLTokener x, boolean arrayForm, JSONArray ja) throws JSONException - { - String attribute; - char c; - String closeTag = null; - int i; - JSONArray newja = null; - JSONObject newjo = null; - Object token; - String tagName = null; - - // Test for and skip past these forms: - // - // - // - // - - while(true) - { - if(!x.more()) - { - throw x.syntaxError("Bad XML"); - } - token = x.nextContent(); - if(token == XML.LT) - { - token = x.nextToken(); - if(token instanceof Character) - { - if(token == XML.SLASH) - { - - // Close tag "); - } else - { - x.back(); - } - } else if(c == '[') - { - token = x.nextToken(); - if(token.equals("CDATA") && x.next() == '[') - { - if(ja != null) - { - ja.put(x.nextCDATA()); - } - } else - { - throw x.syntaxError("Expected 'CDATA['"); - } - } else - { - i = 1; - do - { - token = x.nextMeta(); - if(token == null) - { - throw x.syntaxError("Missing '>' after ' 0); - } - } else if(token == XML.QUEST) - { - - // "); - } else - { - throw x.syntaxError("Misshaped tag"); - } - - // Open tag < - - } else - { - if(!(token instanceof String)) - { - throw x.syntaxError("Bad tagName '" + token + "'."); - } - tagName = (String) token; - newja = new JSONArray(); - newjo = new JSONObject(); - if(arrayForm) - { - newja.put(tagName); - if(ja != null) - { - ja.put(newja); - } - } else - { - newjo.put("tagName", tagName); - if(ja != null) - { - ja.put(newjo); - } - } - token = null; - for(;;) - { - if(token == null) - { - token = x.nextToken(); - } - if(token == null) - { - throw x.syntaxError("Misshaped tag"); - } - if(!(token instanceof String)) - { - break; - } - - // attribute = value - - attribute = (String) token; - if(!arrayForm && ("tagName".equals(attribute) || "childNode".equals(attribute))) - { - throw x.syntaxError("Reserved attribute."); - } - token = x.nextToken(); - if(token == XML.EQ) - { - token = x.nextToken(); - if(!(token instanceof String)) - { - throw x.syntaxError("Missing value"); - } - newjo.accumulate(attribute, XML.stringToValue((String) token)); - token = null; - } else - { - newjo.accumulate(attribute, ""); - } - } - if(arrayForm && newjo.length() > 0) - { - newja.put(newjo); - } - - // Empty tag <.../> - - if(token == XML.SLASH) - { - if(x.nextToken() != XML.GT) - { - throw x.syntaxError("Misshaped tag"); - } - if(ja == null) - { - if(arrayForm) - { - return newja; - } else - { - return newjo; - } - } - - // Content, between <...> and - - } else - { - if(token != XML.GT) - { - throw x.syntaxError("Misshaped tag"); - } - closeTag = (String) parse(x, arrayForm, newja); - if(closeTag != null) - { - if(!closeTag.equals(tagName)) - { - throw x.syntaxError("Mismatched '" + tagName + "' and '" + closeTag + "'"); - } - tagName = null; - if(!arrayForm && newja.length() > 0) - { - newjo.put("childNodes", newja); - } - if(ja == null) - { - if(arrayForm) - { - return newja; - } else - { - return newjo; - } - } - } - } - } - } else - { - if(ja != null) - { - ja.put(token instanceof String ? XML.stringToValue((String) token) : token); - } - } - } - } - - /** - * Convert a well-formed (but not necessarily valid) XML string into a - * JSONArray using the JsonML transform. Each XML tag is represented as a - * JSONArray in which the first element is the tag name. If the tag has - * attributes, then the second element will be JSONObject containing the - * name/value pairs. If the tag contains children, then strings and - * JSONArrays will represent the child tags. Comments, prologs, DTDs, and - * <[ [ ]]> are ignored. - * - * @param string - * The source string. - * @return A JSONArray containing the structured data from the XML string. - * @throws JSONException - */ - public static JSONArray toJSONArray(String string) throws JSONException - { - return toJSONArray(new XMLTokener(string)); - } - - /** - * Convert a well-formed (but not necessarily valid) XML string into a - * JSONArray using the JsonML transform. Each XML tag is represented as a - * JSONArray in which the first element is the tag name. If the tag has - * attributes, then the second element will be JSONObject containing the - * name/value pairs. If the tag contains children, then strings and - * JSONArrays will represent the child content and tags. Comments, prologs, - * DTDs, and <[ [ ]]> are ignored. - * - * @param x - * An XMLTokener. - * @return A JSONArray containing the structured data from the XML string. - * @throws JSONException - */ - public static JSONArray toJSONArray(XMLTokener x) throws JSONException - { - return (JSONArray) parse(x, true, null); - } - - /** - * Convert a well-formed (but not necessarily valid) XML string into a - * JSONObject using the JsonML transform. Each XML tag is represented as a - * JSONObject with a "tagName" property. If the tag has attributes, then the - * attributes will be in the JSONObject as properties. If the tag contains - * children, the object will have a "childNodes" property which will be an - * array of strings and JsonML JSONObjects. - * - * Comments, prologs, DTDs, and <[ [ ]]> are ignored. - * - * @param x - * An XMLTokener of the XML source text. - * @return A JSONObject containing the structured data from the XML string. - * @throws JSONException - */ - public static JSONObject toJSONObject(XMLTokener x) throws JSONException - { - return (JSONObject) parse(x, false, null); - } - - /** - * Convert a well-formed (but not necessarily valid) XML string into a - * JSONObject using the JsonML transform. Each XML tag is represented as a - * JSONObject with a "tagName" property. If the tag has attributes, then the - * attributes will be in the JSONObject as properties. If the tag contains - * children, the object will have a "childNodes" property which will be an - * array of strings and JsonML JSONObjects. - * - * Comments, prologs, DTDs, and <[ [ ]]> are ignored. - * - * @param string - * The XML source text. - * @return A JSONObject containing the structured data from the XML string. - * @throws JSONException - */ - public static JSONObject toJSONObject(String string) throws JSONException - { - return toJSONObject(new XMLTokener(string)); - } - - /** - * Reverse the JSONML transformation, making an XML text from a JSONArray. - * - * @param ja - * A JSONArray. - * @return An XML string. - * @throws JSONException - */ - public static String toString(JSONArray ja) throws JSONException - { - int i; - JSONObject jo; - String key; - Iterator keys; - int length; - Object object; - StringBuilder sb = new StringBuilder(); - String tagName; - String value; - - // Emit = length) - { - sb.append('/'); - sb.append('>'); - } else - { - sb.append('>'); - do - { - object = ja.get(i); - i += 1; - if(object != null) - { - if(object instanceof String) - { - sb.append(XML.escape(object.toString())); - } else if(object instanceof JSONObject) - { - sb.append(toString((JSONObject) object)); - } else if(object instanceof JSONArray) - { - sb.append(toString((JSONArray) object)); - } else - { - sb.append(object.toString()); - } - } - } while(i < length); - sb.append('<'); - sb.append('/'); - sb.append(tagName); - sb.append('>'); - } - return sb.toString(); - } - - /** - * Reverse the JSONML transformation, making an XML text from a JSONObject. - * The JSONObject must contain a "tagName" property. If it has children, - * then it must have a "childNodes" property containing an array of objects. - * The other properties are attributes with string values. - * - * @param jo - * A JSONObject. - * @return An XML string. - * @throws JSONException - */ - public static String toString(JSONObject jo) throws JSONException - { - StringBuilder sb = new StringBuilder(); - int i; - JSONArray ja; - String key; - Iterator keys; - int length; - Object object; - String tagName; - String value; - - // Emit '); - } else - { - sb.append('>'); - length = ja.length(); - for(i = 0; i < length; i += 1) - { - object = ja.get(i); - if(object != null) - { - if(object instanceof String) - { - sb.append(XML.escape(object.toString())); - } else if(object instanceof JSONObject) - { - sb.append(toString((JSONObject) object)); - } else if(object instanceof JSONArray) - { - sb.append(toString((JSONArray) object)); - } else - { - sb.append(object.toString()); - } - } - } - sb.append('<'); - sb.append('/'); - sb.append(tagName); - sb.append('>'); - } - return sb.toString(); - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/JSONObject.java b/src/main/java/ninja/bytecode/iris/util/JSONObject.java deleted file mode 100644 index dfd1259fd..000000000 --- a/src/main/java/ninja/bytecode/iris/util/JSONObject.java +++ /dev/null @@ -1,2072 +0,0 @@ -package ninja.bytecode.iris.util; - - -/* - Copyright (c) 2002 JSON.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - The Software shall be used for Good, not Evil. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. - */ - -import java.io.IOException; -import java.io.StringWriter; -import java.io.Writer; -import java.lang.reflect.Field; -import java.lang.reflect.Method; -import java.lang.reflect.Modifier; -import java.math.BigDecimal; -import java.math.BigInteger; -import java.util.Collection; -import java.util.Enumeration; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Locale; -import java.util.Map; -import java.util.Map.Entry; -import java.util.ResourceBundle; -import java.util.Set; - -/** - * A JSONObject is an unordered collection of name/value pairs. Its external - * form is a string wrapped in curly braces with colons between the names and - * values, and commas between the values and names. The internal form is an - * object having get and opt methods for accessing the - * values by name, and put methods for adding or replacing values - * by name. The values can be any of these types: Boolean, - * JSONArray, JSONObject, Number, - * String, or the JSONObject.NULL object. A JSONObject - * constructor can be used to convert an external form JSON text into an - * internal form whose values can be retrieved with the get and - * opt methods, or to convert values into a JSON text using the - * put and toString methods. A get method - * returns a value if one can be found, and throws an exception if one cannot be - * found. An opt method returns a default value instead of throwing - * an exception, and so is useful for obtaining optional values. - *

- * The generic get() and opt() methods return an - * object, which you can cast or query for type. There are also typed - * get and opt methods that do type checking and type - * coercion for you. The opt methods differ from the get methods in that they do - * not throw. Instead, they return a specified value, such as null. - *

- * The put methods add or replace values in an object. For example, - * - *

- * myString = new JSONObject().put("JSON", "Hello, World!").toString();
- * 
- * - * produces the string {"JSON": "Hello, World"}. - *

- * The texts produced by the toString methods strictly conform to - * the JSON syntax rules. The constructors are more forgiving in the texts they - * will accept: - *

    - *
  • An extra , (comma) may appear just - * before the closing brace.
  • - *
  • Strings may be quoted with ' (single - * quote).
  • - *
  • Strings do not need to be quoted at all if they do not begin with a quote - * or single quote, and if they do not contain leading or trailing spaces, and - * if they do not contain any of these characters: - * { } [ ] / \ : , # and if they do not look like numbers and if - * they are not the reserved words true, false, or - * null.
  • - *
- * - * @author JSON.org - * @version 2015-07-22 - */ -public class JSONObject -{ - /** - * JSONObject.NULL is equivalent to the value that JavaScript calls null, - * whilst Java's null is equivalent to the value that JavaScript calls - * undefined. - */ - private static final class Null - { - - /** - * There is only intended to be a single instance of the NULL object, so - * the clone method returns itself. - * - * @return NULL. - */ - @Override - protected final Object clone() - { - return this; - } - - /** - * A Null object is equal to the null value and to itself. - * - * @param object - * An object to test for nullness. - * @return true if the object parameter is the JSONObject.NULL object or - * null. - */ - @Override - public boolean equals(Object object) - { - return object == null || object == this; - } - - /** - * Get the "null" string value. - * - * @return The string "null". - */ - public String toString() - { - return "null"; - } - } - - /** - * The map where the JSONObject's properties are kept. - */ - private final Map map; - - /** - * It is sometimes more convenient and less ambiguous to have a - * NULL object than to use Java's null value. - * JSONObject.NULL.equals(null) returns true. - * JSONObject.NULL.toString() returns "null". - */ - public static final Object NULL = new Null(); - - /** - * Construct an empty JSONObject. - */ - public JSONObject() - { - this.map = new HashMap(); - } - - /** - * Construct a JSONObject from a subset of another JSONObject. An array of - * strings is used to identify the keys that should be copied. Missing keys - * are ignored. - * - * @param jo - * A JSONObject. - * @param names - * An array of strings. - * @throws JSONException - * @exception JSONException - * If a value is a non-finite number or if a name is - * duplicated. - */ - public JSONObject(JSONObject jo, String[] names) - { - this(); - for(int i = 0; i < names.length; i += 1) - { - try - { - this.putOnce(names[i], jo.opt(names[i])); - } catch(Exception ignore) - { - } - } - } - - /** - * Construct a JSONObject from a JSONTokener. - * - * @param x - * A JSONTokener object containing the source string. - * @throws JSONException - * If there is a syntax error in the source string or a - * duplicated key. - */ - public JSONObject(JSONTokener x) throws JSONException - { - this(); - char c; - String key; - - if(x.nextClean() != '{') - { - throw x.syntaxError("A JSONObject text must begin with '{'"); - } - for(;;) - { - c = x.nextClean(); - switch(c) - { - case 0: - throw x.syntaxError("A JSONObject text must end with '}'"); - case '}': - return; - default: - x.back(); - key = x.nextValue().toString(); - } - - // The key is followed by ':'. - - c = x.nextClean(); - if(c != ':') - { - throw x.syntaxError("Expected a ':' after a key"); - } - this.putOnce(key, x.nextValue()); - - // Pairs are separated by ','. - - switch(x.nextClean()) - { - case ';': - case ',': - if(x.nextClean() == '}') - { - return; - } - x.back(); - break; - case '}': - return; - default: - throw x.syntaxError("Expected a ',' or '}'"); - } - } - } - - /** - * Construct a JSONObject from a Map. - * - * @param map - * A map object that can be used to initialize the contents of - * the JSONObject. - * @throws JSONException - */ - public JSONObject(Map map) - { - this.map = new HashMap(); - if(map != null) - { - Iterator> i = map.entrySet().iterator(); - while(i.hasNext()) - { - Entry entry = i.next(); - Object value = entry.getValue(); - if(value != null) - { - this.map.put(entry.getKey(), wrap(value)); - } - } - } - } - - /** - * Construct a JSONObject from an Object using bean getters. It reflects on - * all of the public methods of the object. For each of the methods with no - * parameters and a name starting with "get" or - * "is" followed by an uppercase letter, the method is invoked, - * and a key and the value returned from the getter method are put into the - * new JSONObject. - * - * The key is formed by removing the "get" or "is" - * prefix. If the second remaining character is not upper case, then the - * first character is converted to lower case. - * - * For example, if an object has a method named "getName", and - * if the result of calling object.getName() is - * "Larry Fine", then the JSONObject will contain - * "name": "Larry Fine". - * - * @param bean - * An object that has getter methods that should be used to make - * a JSONObject. - */ - public JSONObject(Object bean) - { - this(); - this.populateMap(bean); - } - - /** - * Construct a JSONObject from an Object, using reflection to find the - * public members. The resulting JSONObject's keys will be the strings from - * the names array, and the values will be the field values associated with - * those keys in the object. If a key is not found or not visible, then it - * will not be copied into the new JSONObject. - * - * @param object - * An object that has fields that should be used to make a - * JSONObject. - * @param names - * An array of strings, the names of the fields to be obtained - * from the object. - */ - public JSONObject(Object object, String names[]) - { - this(); - Class c = object.getClass(); - for(int i = 0; i < names.length; i += 1) - { - String name = names[i]; - try - { - this.putOpt(name, c.getField(name).get(object)); - } catch(Exception ignore) - { - } - } - } - - /** - * Construct a JSONObject from a source JSON text string. This is the most - * commonly used JSONObject constructor. - * - * @param source - * A string beginning with { (left - * brace) and ending with }   - * (right brace). - * @exception JSONException - * If there is a syntax error in the source string or a - * duplicated key. - */ - public JSONObject(String source) throws JSONException - { - this(new JSONTokener(source)); - } - - /** - * Construct a JSONObject from a ResourceBundle. - * - * @param baseName - * The ResourceBundle base name. - * @param locale - * The Locale to load the ResourceBundle for. - * @throws JSONException - * If any JSONExceptions are detected. - */ - public JSONObject(String baseName, Locale locale) throws JSONException - { - this(); - ResourceBundle bundle = ResourceBundle.getBundle(baseName, locale, Thread.currentThread().getContextClassLoader()); - - // Iterate through the keys in the bundle. - - Enumeration keys = bundle.getKeys(); - while(keys.hasMoreElements()) - { - Object key = keys.nextElement(); - if(key != null) - { - - // Go through the path, ensuring that there is a nested - // JSONObject for each - // segment except the last. Add the value using the last - // segment's name into - // the deepest nested JSONObject. - - String[] path = ((String) key).split("\\."); - int last = path.length - 1; - JSONObject target = this; - for(int i = 0; i < last; i += 1) - { - String segment = path[i]; - JSONObject nextTarget = target.optJSONObject(segment); - if(nextTarget == null) - { - nextTarget = new JSONObject(); - target.put(segment, nextTarget); - } - target = nextTarget; - } - target.put(path[last], bundle.getString((String) key)); - } - } - } - - /** - * Accumulate values under a key. It is similar to the put method except - * that if there is already an object stored under the key then a JSONArray - * is stored under the key to hold all of the accumulated values. If there - * is already a JSONArray, then the new value is appended to it. In - * contrast, the put method replaces the previous value. - * - * If only one value is accumulated that is not a JSONArray, then the result - * will be the same as using put. But if multiple values are accumulated, - * then the result will be like append. - * - * @param key - * A key string. - * @param value - * An object to be accumulated under the key. - * @return this. - * @throws JSONException - * If the value is an invalid number or if the key is null. - */ - public JSONObject accumulate(String key, Object value) throws JSONException - { - testValidity(value); - Object object = this.opt(key); - if(object == null) - { - this.put(key, value instanceof JSONArray ? new JSONArray().put(value) : value); - } else if(object instanceof JSONArray) - { - ((JSONArray) object).put(value); - } else - { - this.put(key, new JSONArray().put(object).put(value)); - } - return this; - } - - /** - * Append values to the array under a key. If the key does not exist in the - * JSONObject, then the key is put in the JSONObject with its value being a - * JSONArray containing the value parameter. If the key was already - * associated with a JSONArray, then the value parameter is appended to it. - * - * @param key - * A key string. - * @param value - * An object to be accumulated under the key. - * @return this. - * @throws JSONException - * If the key is null or if the current value associated with - * the key is not a JSONArray. - */ - public JSONObject append(String key, Object value) throws JSONException - { - testValidity(value); - Object object = this.opt(key); - if(object == null) - { - this.put(key, new JSONArray().put(value)); - } else if(object instanceof JSONArray) - { - this.put(key, ((JSONArray) object).put(value)); - } else - { - throw new JSONException("JSONObject[" + key + "] is not a JSONArray."); - } - return this; - } - - /** - * Produce a string from a double. The string "null" will be returned if the - * number is not finite. - * - * @param d - * A double. - * @return A String. - */ - public static String doubleToString(double d) - { - if(Double.isInfinite(d) || Double.isNaN(d)) - { - return "null"; - } - - // Shave off trailing zeros and decimal point, if possible. - - String string = Double.toString(d); - if(string.indexOf('.') > 0 && string.indexOf('e') < 0 && string.indexOf('E') < 0) - { - while(string.endsWith("0")) - { - string = string.substring(0, string.length() - 1); - } - if(string.endsWith(".")) - { - string = string.substring(0, string.length() - 1); - } - } - return string; - } - - /** - * Get the value object associated with a key. - * - * @param key - * A key string. - * @return The object associated with the key. - * @throws JSONException - * if the key is not found. - */ - public Object get(String key) throws JSONException - { - if(key == null) - { - throw new JSONException("Null key."); - } - Object object = this.opt(key); - if(object == null) - { - throw new JSONException("JSONObject[" + quote(key) + "] not found."); - } - return object; - } - - /** - * Get the enum value associated with a key. - * - * @param clazz - * The type of enum to retrieve. - * @param key - * A key string. - * @return The enum value associated with the key - * @throws JSONException - * if the key is not found or if the value cannot be converted - * to an enum. - */ - public > E getEnum(Class clazz, String key) throws JSONException - { - E val = optEnum(clazz, key); - if(val == null) - { - // JSONException should really take a throwable argument. - // If it did, I would re-implement this with the Enum.valueOf - // method and place any thrown exception in the JSONException - throw new JSONException("JSONObject[" + quote(key) + "] is not an enum of type " + quote(clazz.getSimpleName()) + "."); - } - return val; - } - - /** - * Get the boolean value associated with a key. - * - * @param key - * A key string. - * @return The truth. - * @throws JSONException - * if the value is not a Boolean or the String "true" or - * "false". - */ - public boolean getBoolean(String key) throws JSONException - { - Object object = this.get(key); - if(object.equals(Boolean.FALSE) || (object instanceof String && ((String) object).equalsIgnoreCase("false"))) - { - return false; - } else if(object.equals(Boolean.TRUE) || (object instanceof String && ((String) object).equalsIgnoreCase("true"))) - { - return true; - } - throw new JSONException("JSONObject[" + quote(key) + "] is not a Boolean."); - } - - /** - * Get the BigInteger value associated with a key. - * - * @param key - * A key string. - * @return The numeric value. - * @throws JSONException - * if the key is not found or if the value cannot be converted - * to BigInteger. - */ - public BigInteger getBigInteger(String key) throws JSONException - { - Object object = this.get(key); - try - { - return new BigInteger(object.toString()); - } catch(Exception e) - { - throw new JSONException("JSONObject[" + quote(key) + "] could not be converted to BigInteger."); - } - } - - /** - * Get the BigDecimal value associated with a key. - * - * @param key - * A key string. - * @return The numeric value. - * @throws JSONException - * if the key is not found or if the value cannot be converted - * to BigDecimal. - */ - public BigDecimal getBigDecimal(String key) throws JSONException - { - Object object = this.get(key); - try - { - return new BigDecimal(object.toString()); - } catch(Exception e) - { - throw new JSONException("JSONObject[" + quote(key) + "] could not be converted to BigDecimal."); - } - } - - /** - * Get the double value associated with a key. - * - * @param key - * A key string. - * @return The numeric value. - * @throws JSONException - * if the key is not found or if the value is not a Number - * object and cannot be converted to a number. - */ - public double getDouble(String key) throws JSONException - { - Object object = this.get(key); - try - { - return object instanceof Number ? ((Number) object).doubleValue() : Double.parseDouble((String) object); - } catch(Exception e) - { - throw new JSONException("JSONObject[" + quote(key) + "] is not a number."); - } - } - - /** - * Get the int value associated with a key. - * - * @param key - * A key string. - * @return The integer value. - * @throws JSONException - * if the key is not found or if the value cannot be converted - * to an integer. - */ - public int getInt(String key) throws JSONException - { - Object object = this.get(key); - try - { - return object instanceof Number ? ((Number) object).intValue() : Integer.parseInt((String) object); - } catch(Exception e) - { - throw new JSONException("JSONObject[" + quote(key) + "] is not an int."); - } - } - - /** - * Get the JSONArray value associated with a key. - * - * @param key - * A key string. - * @return A JSONArray which is the value. - * @throws JSONException - * if the key is not found or if the value is not a JSONArray. - */ - public JSONArray getJSONArray(String key) throws JSONException - { - Object object = this.get(key); - if(object instanceof JSONArray) - { - return (JSONArray) object; - } - throw new JSONException("JSONObject[" + quote(key) + "] is not a JSONArray."); - } - - /** - * Get the JSONObject value associated with a key. - * - * @param key - * A key string. - * @return A JSONObject which is the value. - * @throws JSONException - * if the key is not found or if the value is not a JSONObject. - */ - public JSONObject getJSONObject(String key) throws JSONException - { - Object object = this.get(key); - if(object instanceof JSONObject) - { - return (JSONObject) object; - } - throw new JSONException("JSONObject[" + quote(key) + "] is not a JSONObject."); - } - - /** - * Get the long value associated with a key. - * - * @param key - * A key string. - * @return The long value. - * @throws JSONException - * if the key is not found or if the value cannot be converted - * to a long. - */ - public long getLong(String key) throws JSONException - { - Object object = this.get(key); - try - { - return object instanceof Number ? ((Number) object).longValue() : Long.parseLong((String) object); - } catch(Exception e) - { - throw new JSONException("JSONObject[" + quote(key) + "] is not a long."); - } - } - - /** - * Get an array of field names from a JSONObject. - * - * @return An array of field names, or null if there are no names. - */ - public static String[] getNames(JSONObject jo) - { - int length = jo.length(); - if(length == 0) - { - return null; - } - Iterator iterator = jo.keys(); - String[] names = new String[length]; - int i = 0; - while(iterator.hasNext()) - { - names[i] = iterator.next(); - i += 1; - } - return names; - } - - /** - * Get an array of field names from an Object. - * - * @return An array of field names, or null if there are no names. - */ - public static String[] getNames(Object object) - { - if(object == null) - { - return null; - } - Class klass = object.getClass(); - Field[] fields = klass.getFields(); - int length = fields.length; - if(length == 0) - { - return null; - } - String[] names = new String[length]; - for(int i = 0; i < length; i += 1) - { - names[i] = fields[i].getName(); - } - return names; - } - - /** - * Get the string associated with a key. - * - * @param key - * A key string. - * @return A string which is the value. - * @throws JSONException - * if there is no string value for the key. - */ - public String getString(String key) throws JSONException - { - Object object = this.get(key); - if(object instanceof String) - { - return (String) object; - } - throw new JSONException("JSONObject[" + quote(key) + "] not a string."); - } - - /** - * Determine if the JSONObject contains a specific key. - * - * @param key - * A key string. - * @return true if the key exists in the JSONObject. - */ - public boolean has(String key) - { - return this.map.containsKey(key); - } - - /** - * Increment a property of a JSONObject. If there is no such property, - * create one with a value of 1. If there is such a property, and if it is - * an Integer, Long, Double, or Float, then add one to it. - * - * @param key - * A key string. - * @return this. - * @throws JSONException - * If there is already a property with this name that is not an - * Integer, Long, Double, or Float. - */ - public JSONObject increment(String key) throws JSONException - { - Object value = this.opt(key); - if(value == null) - { - this.put(key, 1); - } else if(value instanceof BigInteger) - { - this.put(key, ((BigInteger) value).add(BigInteger.ONE)); - } else if(value instanceof BigDecimal) - { - this.put(key, ((BigDecimal) value).add(BigDecimal.ONE)); - } else if(value instanceof Integer) - { - this.put(key, (Integer) value + 1); - } else if(value instanceof Long) - { - this.put(key, (Long) value + 1); - } else if(value instanceof Double) - { - this.put(key, (Double) value + 1); - } else if(value instanceof Float) - { - this.put(key, (Float) value + 1); - } else - { - throw new JSONException("Unable to increment [" + quote(key) + "]."); - } - return this; - } - - /** - * Determine if the value associated with the key is null or if there is no - * value. - * - * @param key - * A key string. - * @return true if there is no value associated with the key or if the value - * is the JSONObject.NULL object. - */ - public boolean isNull(String key) - { - return JSONObject.NULL.equals(this.opt(key)); - } - - /** - * Get an enumeration of the keys of the JSONObject. - * - * @return An iterator of the keys. - */ - public Iterator keys() - { - return this.keySet().iterator(); - } - - /** - * Get a set of keys of the JSONObject. - * - * @return A keySet. - */ - public Set keySet() - { - return this.map.keySet(); - } - - /** - * Get the number of keys stored in the JSONObject. - * - * @return The number of keys in the JSONObject. - */ - public int length() - { - return this.map.size(); - } - - /** - * Produce a JSONArray containing the names of the elements of this - * JSONObject. - * - * @return A JSONArray containing the key strings, or null if the JSONObject - * is empty. - */ - public JSONArray names() - { - JSONArray ja = new JSONArray(); - Iterator keys = this.keys(); - while(keys.hasNext()) - { - ja.put(keys.next()); - } - return ja.length() == 0 ? null : ja; - } - - /** - * Produce a string from a Number. - * - * @param number - * A Number - * @return A String. - * @throws JSONException - * If n is a non-finite number. - */ - public static String numberToString(Number number) throws JSONException - { - if(number == null) - { - throw new JSONException("Null pointer"); - } - testValidity(number); - - // Shave off trailing zeros and decimal point, if possible. - - String string = number.toString(); - if(string.indexOf('.') > 0 && string.indexOf('e') < 0 && string.indexOf('E') < 0) - { - while(string.endsWith("0")) - { - string = string.substring(0, string.length() - 1); - } - if(string.endsWith(".")) - { - string = string.substring(0, string.length() - 1); - } - } - return string; - } - - /** - * Get an optional value associated with a key. - * - * @param key - * A key string. - * @return An object which is the value, or null if there is no value. - */ - public Object opt(String key) - { - return key == null ? null : this.map.get(key); - } - - /** - * Get the enum value associated with a key. - * - * @param clazz - * The type of enum to retrieve. - * @param key - * A key string. - * @return The enum value associated with the key or null if not found - */ - public > E optEnum(Class clazz, String key) - { - return this.optEnum(clazz, key, null); - } - - /** - * Get the enum value associated with a key. - * - * @param clazz - * The type of enum to retrieve. - * @param key - * A key string. - * @param defaultValue - * The default in case the value is not found - * @return The enum value associated with the key or defaultValue if the - * value is not found or cannot be assigned to clazz - */ - public > E optEnum(Class clazz, String key, E defaultValue) - { - try - { - Object val = this.opt(key); - if(NULL.equals(val)) - { - return defaultValue; - } - if(clazz.isAssignableFrom(val.getClass())) - { - // we just checked it! - @SuppressWarnings("unchecked") - E myE = (E) val; - return myE; - } - return Enum.valueOf(clazz, val.toString()); - } - - catch(IllegalArgumentException e) - { - return defaultValue; - } - - catch(NullPointerException e) - { - return defaultValue; - } - } - - /** - * Get an optional boolean associated with a key. It returns false if there - * is no such key, or if the value is not Boolean.TRUE or the String "true". - * - * @param key - * A key string. - * @return The truth. - */ - public boolean optBoolean(String key) - { - return this.optBoolean(key, false); - } - - /** - * Get an optional boolean associated with a key. It returns the - * defaultValue if there is no such key, or if it is not a Boolean or the - * String "true" or "false" (case insensitive). - * - * @param key - * A key string. - * @param defaultValue - * The default. - * @return The truth. - */ - public boolean optBoolean(String key, boolean defaultValue) - { - try - { - return this.getBoolean(key); - } catch(Exception e) - { - return defaultValue; - } - } - - /** - * Get an optional double associated with a key, or NaN if there is no such - * key or if its value is not a number. If the value is a string, an attempt - * will be made to evaluate it as a number. - * - * @param key - * A string which is the key. - * @return An object which is the value. - */ - public double optDouble(String key) - { - return this.optDouble(key, Double.NaN); - } - - /** - * Get an optional BigInteger associated with a key, or the defaultValue if - * there is no such key or if its value is not a number. If the value is a - * string, an attempt will be made to evaluate it as a number. - * - * @param key - * A key string. - * @param defaultValue - * The default. - * @return An object which is the value. - */ - public BigInteger optBigInteger(String key, BigInteger defaultValue) - { - try - { - return this.getBigInteger(key); - } catch(Exception e) - { - return defaultValue; - } - } - - /** - * Get an optional BigDecimal associated with a key, or the defaultValue if - * there is no such key or if its value is not a number. If the value is a - * string, an attempt will be made to evaluate it as a number. - * - * @param key - * A key string. - * @param defaultValue - * The default. - * @return An object which is the value. - */ - public BigDecimal optBigDecimal(String key, BigDecimal defaultValue) - { - try - { - return this.getBigDecimal(key); - } catch(Exception e) - { - return defaultValue; - } - } - - /** - * Get an optional double associated with a key, or the defaultValue if - * there is no such key or if its value is not a number. If the value is a - * string, an attempt will be made to evaluate it as a number. - * - * @param key - * A key string. - * @param defaultValue - * The default. - * @return An object which is the value. - */ - public double optDouble(String key, double defaultValue) - { - try - { - return this.getDouble(key); - } catch(Exception e) - { - return defaultValue; - } - } - - /** - * Get an optional int value associated with a key, or zero if there is no - * such key or if the value is not a number. If the value is a string, an - * attempt will be made to evaluate it as a number. - * - * @param key - * A key string. - * @return An object which is the value. - */ - public int optInt(String key) - { - return this.optInt(key, 0); - } - - /** - * Get an optional int value associated with a key, or the default if there - * is no such key or if the value is not a number. If the value is a string, - * an attempt will be made to evaluate it as a number. - * - * @param key - * A key string. - * @param defaultValue - * The default. - * @return An object which is the value. - */ - public int optInt(String key, int defaultValue) - { - try - { - return this.getInt(key); - } catch(Exception e) - { - return defaultValue; - } - } - - /** - * Get an optional JSONArray associated with a key. It returns null if there - * is no such key, or if its value is not a JSONArray. - * - * @param key - * A key string. - * @return A JSONArray which is the value. - */ - public JSONArray optJSONArray(String key) - { - Object o = this.opt(key); - return o instanceof JSONArray ? (JSONArray) o : null; - } - - /** - * Get an optional JSONObject associated with a key. It returns null if - * there is no such key, or if its value is not a JSONObject. - * - * @param key - * A key string. - * @return A JSONObject which is the value. - */ - public JSONObject optJSONObject(String key) - { - Object object = this.opt(key); - return object instanceof JSONObject ? (JSONObject) object : null; - } - - /** - * Get an optional long value associated with a key, or zero if there is no - * such key or if the value is not a number. If the value is a string, an - * attempt will be made to evaluate it as a number. - * - * @param key - * A key string. - * @return An object which is the value. - */ - public long optLong(String key) - { - return this.optLong(key, 0); - } - - /** - * Get an optional long value associated with a key, or the default if there - * is no such key or if the value is not a number. If the value is a string, - * an attempt will be made to evaluate it as a number. - * - * @param key - * A key string. - * @param defaultValue - * The default. - * @return An object which is the value. - */ - public long optLong(String key, long defaultValue) - { - try - { - return this.getLong(key); - } catch(Exception e) - { - return defaultValue; - } - } - - /** - * Get an optional string associated with a key. It returns an empty string - * if there is no such key. If the value is not a string and is not null, - * then it is converted to a string. - * - * @param key - * A key string. - * @return A string which is the value. - */ - public String optString(String key) - { - return this.optString(key, ""); - } - - /** - * Get an optional string associated with a key. It returns the defaultValue - * if there is no such key. - * - * @param key - * A key string. - * @param defaultValue - * The default. - * @return A string which is the value. - */ - public String optString(String key, String defaultValue) - { - Object object = this.opt(key); - return NULL.equals(object) ? defaultValue : object.toString(); - } - - private void populateMap(Object bean) - { - Class klass = bean.getClass(); - - // If klass is a System class then set includeSuperClass to false. - - boolean includeSuperClass = klass.getClassLoader() != null; - - Method[] methods = includeSuperClass ? klass.getMethods() : klass.getDeclaredMethods(); - for(int i = 0; i < methods.length; i += 1) - { - try - { - Method method = methods[i]; - if(Modifier.isPublic(method.getModifiers())) - { - String name = method.getName(); - String key = ""; - if(name.startsWith("get")) - { - if("getClass".equals(name) || "getDeclaringClass".equals(name)) - { - key = ""; - } else - { - key = name.substring(3); - } - } else if(name.startsWith("is")) - { - key = name.substring(2); - } - if(key.length() > 0 && Character.isUpperCase(key.charAt(0)) && method.getParameterTypes().length == 0) - { - if(key.length() == 1) - { - key = key.toLowerCase(); - } else if(!Character.isUpperCase(key.charAt(1))) - { - key = key.substring(0, 1).toLowerCase() + key.substring(1); - } - - Object result = method.invoke(bean, (Object[]) null); - if(result != null) - { - this.map.put(key, wrap(result)); - } - } - } - } catch(Exception ignore) - { - } - } - } - - /** - * Put a key/boolean pair in the JSONObject. - * - * @param key - * A key string. - * @param value - * A boolean which is the value. - * @return this. - * @throws JSONException - * If the key is null. - */ - public JSONObject put(String key, boolean value) throws JSONException - { - this.put(key, value ? Boolean.TRUE : Boolean.FALSE); - return this; - } - - /** - * Put a key/value pair in the JSONObject, where the value will be a - * JSONArray which is produced from a Collection. - * - * @param key - * A key string. - * @param value - * A Collection value. - * @return this. - * @throws JSONException - */ - public JSONObject put(String key, Collection value) throws JSONException - { - this.put(key, new JSONArray(value)); - return this; - } - - /** - * Put a key/double pair in the JSONObject. - * - * @param key - * A key string. - * @param value - * A double which is the value. - * @return this. - * @throws JSONException - * If the key is null or if the number is invalid. - */ - public JSONObject put(String key, double value) throws JSONException - { - this.put(key, new Double(value)); - return this; - } - - /** - * Put a key/int pair in the JSONObject. - * - * @param key - * A key string. - * @param value - * An int which is the value. - * @return this. - * @throws JSONException - * If the key is null. - */ - public JSONObject put(String key, int value) throws JSONException - { - this.put(key, new Integer(value)); - return this; - } - - /** - * Put a key/long pair in the JSONObject. - * - * @param key - * A key string. - * @param value - * A long which is the value. - * @return this. - * @throws JSONException - * If the key is null. - */ - public JSONObject put(String key, long value) throws JSONException - { - this.put(key, new Long(value)); - return this; - } - - /** - * Put a key/value pair in the JSONObject, where the value will be a - * JSONObject which is produced from a Map. - * - * @param key - * A key string. - * @param value - * A Map value. - * @return this. - * @throws JSONException - */ - public JSONObject put(String key, Map value) throws JSONException - { - this.put(key, new JSONObject(value)); - return this; - } - - /** - * Put a key/value pair in the JSONObject. If the value is null, then the - * key will be removed from the JSONObject if it is present. - * - * @param key - * A key string. - * @param value - * An object which is the value. It should be of one of these - * types: Boolean, Double, Integer, JSONArray, JSONObject, Long, - * String, or the JSONObject.NULL object. - * @return this. - * @throws JSONException - * If the value is non-finite number or if the key is null. - */ - public JSONObject put(String key, Object value) throws JSONException - { - if(key == null) - { - throw new NullPointerException("Null key."); - } - if(value != null) - { - testValidity(value); - this.map.put(key, value); - } else - { - this.remove(key); - } - return this; - } - - /** - * Put a key/value pair in the JSONObject, but only if the key and the value - * are both non-null, and only if there is not already a member with that - * name. - * - * @param key - * string - * @param value - * object - * @return this. - * @throws JSONException - * if the key is a duplicate - */ - public JSONObject putOnce(String key, Object value) throws JSONException - { - if(key != null && value != null) - { - if(this.opt(key) != null) - { - throw new JSONException("Duplicate key \"" + key + "\""); - } - this.put(key, value); - } - return this; - } - - /** - * Put a key/value pair in the JSONObject, but only if the key and the value - * are both non-null. - * - * @param key - * A key string. - * @param value - * An object which is the value. It should be of one of these - * types: Boolean, Double, Integer, JSONArray, JSONObject, Long, - * String, or the JSONObject.NULL object. - * @return this. - * @throws JSONException - * If the value is a non-finite number. - */ - public JSONObject putOpt(String key, Object value) throws JSONException - { - if(key != null && value != null) - { - this.put(key, value); - } - return this; - } - - /** - * Produce a string in double quotes with backslash sequences in all the - * right places. A backslash will be inserted within = '\u0080' && c < '\u00a0') || (c >= '\u2000' && c < '\u2100')) - { - w.write("\\u"); - hhhh = Integer.toHexString(c); - w.write("0000", 0, 4 - hhhh.length()); - w.write(hhhh); - } else - { - w.write(c); - } - } - } - w.write('"'); - return w; - } - - /** - * Remove a name and its value, if present. - * - * @param key - * The name to be removed. - * @return The value that was associated with the name, or null if there was - * no value. - */ - public Object remove(String key) - { - return this.map.remove(key); - } - - /** - * Determine if two JSONObjects are similar. They must contain the same set - * of names which must be associated with similar values. - * - * @param other - * The other JSONObject - * @return true if they are equal - */ - public boolean similar(Object other) - { - try - { - if(!(other instanceof JSONObject)) - { - return false; - } - Set set = this.keySet(); - if(!set.equals(((JSONObject) other).keySet())) - { - return false; - } - Iterator iterator = set.iterator(); - while(iterator.hasNext()) - { - String name = iterator.next(); - Object valueThis = this.get(name); - Object valueOther = ((JSONObject) other).get(name); - if(valueThis instanceof JSONObject) - { - if(!((JSONObject) valueThis).similar(valueOther)) - { - return false; - } - } else if(valueThis instanceof JSONArray) - { - if(!((JSONArray) valueThis).similar(valueOther)) - { - return false; - } - } else if(!valueThis.equals(valueOther)) - { - return false; - } - } - return true; - } catch(Throwable exception) - { - return false; - } - } - - /** - * Try to convert a string into a number, boolean, or null. If the string - * can't be converted, return the string. - * - * @param string - * A String. - * @return A simple JSON value. - */ - public static Object stringToValue(String string) - { - Double d; - if(string.equals("")) - { - return string; - } - if(string.equalsIgnoreCase("true")) - { - return Boolean.TRUE; - } - if(string.equalsIgnoreCase("false")) - { - return Boolean.FALSE; - } - if(string.equalsIgnoreCase("null")) - { - return JSONObject.NULL; - } - - /* - * If it might be a number, try converting it. If a number cannot be - * produced, then the value will just be a string. - */ - - char b = string.charAt(0); - if((b >= '0' && b <= '9') || b == '-') - { - try - { - if(string.indexOf('.') > -1 || string.indexOf('e') > -1 || string.indexOf('E') > -1) - { - d = Double.valueOf(string); - if(!d.isInfinite() && !d.isNaN()) - { - return d; - } - } else - { - Long myLong = new Long(string); - if(string.equals(myLong.toString())) - { - if(myLong == myLong.intValue()) - { - return myLong.intValue(); - } else - { - return myLong; - } - } - } - } catch(Exception ignore) - { - } - } - return string; - } - - /** - * Throw an exception if the object is a NaN or infinite number. - * - * @param o - * The object to test. - * @throws JSONException - * If o is a non-finite number. - */ - public static void testValidity(Object o) throws JSONException - { - if(o != null) - { - if(o instanceof Double) - { - if(((Double) o).isInfinite() || ((Double) o).isNaN()) - { - throw new JSONException("JSON does not allow non-finite numbers."); - } - } else if(o instanceof Float) - { - if(((Float) o).isInfinite() || ((Float) o).isNaN()) - { - throw new JSONException("JSON does not allow non-finite numbers."); - } - } - } - } - - /** - * Produce a JSONArray containing the values of the members of this - * JSONObject. - * - * @param names - * A JSONArray containing a list of key strings. This determines - * the sequence of the values in the result. - * @return A JSONArray of values. - * @throws JSONException - * If any of the values are non-finite numbers. - */ - public JSONArray toJSONArray(JSONArray names) throws JSONException - { - if(names == null || names.length() == 0) - { - return null; - } - JSONArray ja = new JSONArray(); - for(int i = 0; i < names.length(); i += 1) - { - ja.put(this.opt(names.getString(i))); - } - return ja; - } - - /** - * Make a JSON text of this JSONObject. For compactness, no whitespace is - * added. If this would not result in a syntactically correct JSON text, - * then null will be returned instead. - *

- * Warning: This method assumes that the data structure is acyclical. - * - * @return a printable, displayable, portable, transmittable representation - * of the object, beginning with { (left - * brace) and ending with } (right - * brace). - */ - public String toString() - { - try - { - return this.toString(0); - } catch(Exception e) - { - return null; - } - } - - /** - * Make a prettyprinted JSON text of this JSONObject. - *

- * Warning: This method assumes that the data structure is acyclical. - * - * @param indentFactor - * The number of spaces to add to each level of indentation. - * @return a printable, displayable, portable, transmittable representation - * of the object, beginning with { (left - * brace) and ending with } (right - * brace). - * @throws JSONException - * If the object contains an invalid number. - */ - public String toString(int indentFactor) throws JSONException - { - StringWriter w = new StringWriter(); - synchronized(w.getBuffer()) - { - return this.write(w, indentFactor, 0).toString(); - } - } - - /** - * Make a JSON text of an Object value. If the object has an - * value.toJSONString() method, then that method will be used to produce the - * JSON text. The method is required to produce a strictly conforming text. - * If the object does not contain a toJSONString method (which is the most - * common case), then a text will be produced by other means. If the value - * is an array or Collection, then a JSONArray will be made from it and its - * toJSONString method will be called. If the value is a MAP, then a - * JSONObject will be made from it and its toJSONString method will be - * called. Otherwise, the value's toString method will be called, and the - * result will be quoted. - * - *

- * Warning: This method assumes that the data structure is acyclical. - * - * @param value - * The value to be serialized. - * @return a printable, displayable, transmittable representation of the - * object, beginning with { (left - * brace) and ending with } (right - * brace). - * @throws JSONException - * If the value is or contains an invalid number. - */ - public static String valueToString(Object value) throws JSONException - { - if(value == null || value.equals(null)) - { - return "null"; - } - if(value instanceof JSONString) - { - Object object; - try - { - object = ((JSONString) value).toJSONString(); - } catch(Exception e) - { - throw new JSONException(e); - } - if(object instanceof String) - { - return (String) object; - } - throw new JSONException("Bad value from toJSONString: " + object); - } - if(value instanceof Number) - { - return numberToString((Number) value); - } - if(value instanceof Boolean || value instanceof JSONObject || value instanceof JSONArray) - { - return value.toString(); - } - if(value instanceof Map) - { - @SuppressWarnings("unchecked") - Map map = (Map) value; - return new JSONObject(map).toString(); - } - if(value instanceof Collection) - { - @SuppressWarnings("unchecked") - Collection coll = (Collection) value; - return new JSONArray(coll).toString(); - } - if(value.getClass().isArray()) - { - return new JSONArray(value).toString(); - } - return quote(value.toString()); - } - - /** - * Wrap an object, if necessary. If the object is null, return the NULL - * object. If it is an array or collection, wrap it in a JSONArray. If it is - * a map, wrap it in a JSONObject. If it is a standard property (Double, - * String, et al) then it is already wrapped. Otherwise, if it comes from - * one of the java packages, turn it into a string. And if it doesn't, try - * to wrap it in a JSONObject. If the wrapping fails, then null is returned. - * - * @param object - * The object to wrap - * @return The wrapped value - */ - public static Object wrap(Object object) - { - try - { - if(object == null) - { - return NULL; - } - if(object instanceof JSONObject || object instanceof JSONArray || NULL.equals(object) || object instanceof JSONString || object instanceof Byte || object instanceof Character || object instanceof Short || object instanceof Integer || object instanceof Long || object instanceof Boolean || object instanceof Float || object instanceof Double || object instanceof String || object instanceof BigInteger || object instanceof BigDecimal) - { - return object; - } - - if(object instanceof Collection) - { - @SuppressWarnings("unchecked") - Collection coll = (Collection) object; - return new JSONArray(coll); - } - if(object.getClass().isArray()) - { - return new JSONArray(object); - } - if(object instanceof Map) - { - @SuppressWarnings("unchecked") - Map map = (Map) object; - return new JSONObject(map); - } - Package objectPackage = object.getClass().getPackage(); - String objectPackageName = objectPackage != null ? objectPackage.getName() : ""; - if(objectPackageName.startsWith("java.") || objectPackageName.startsWith("javax.") || object.getClass().getClassLoader() == null) - { - return object.toString(); - } - return new JSONObject(object); - } catch(Exception exception) - { - return null; - } - } - - /** - * Write the contents of the JSONObject as JSON text to a writer. For - * compactness, no whitespace is added. - *

- * Warning: This method assumes that the data structure is acyclical. - * - * @return The writer. - * @throws JSONException - */ - public Writer write(Writer writer) throws JSONException - { - return this.write(writer, 0, 0); - } - - static final Writer writeValue(Writer writer, Object value, int indentFactor, int indent) throws JSONException, IOException - { - if(value == null || value.equals(null)) - { - writer.write("null"); - } else if(value instanceof JSONObject) - { - ((JSONObject) value).write(writer, indentFactor, indent); - } else if(value instanceof JSONArray) - { - ((JSONArray) value).write(writer, indentFactor, indent); - } else if(value instanceof Map) - { - @SuppressWarnings("unchecked") - Map map = (Map) value; - new JSONObject(map).write(writer, indentFactor, indent); - } else if(value instanceof Collection) - { - @SuppressWarnings("unchecked") - Collection coll = (Collection) value; - new JSONArray(coll).write(writer, indentFactor, indent); - } else if(value.getClass().isArray()) - { - new JSONArray(value).write(writer, indentFactor, indent); - } else if(value instanceof Number) - { - writer.write(numberToString((Number) value)); - } else if(value instanceof Boolean) - { - writer.write(value.toString()); - } else if(value instanceof JSONString) - { - Object o; - try - { - o = ((JSONString) value).toJSONString(); - } catch(Exception e) - { - throw new JSONException(e); - } - writer.write(o != null ? o.toString() : quote(value.toString())); - } else - { - quote(value.toString(), writer); - } - return writer; - } - - static final void indent(Writer writer, int indent) throws IOException - { - for(int i = 0; i < indent; i += 1) - { - writer.write(' '); - } - } - - /** - * Write the contents of the JSONObject as JSON text to a writer. For - * compactness, no whitespace is added. - *

- * Warning: This method assumes that the data structure is acyclical. - * - * @return The writer. - * @throws JSONException - */ - Writer write(Writer writer, int indentFactor, int indent) throws JSONException - { - try - { - boolean commanate = false; - final int length = this.length(); - Iterator keys = this.keys(); - writer.write('{'); - - if(length == 1) - { - Object key = keys.next(); - writer.write(quote(key.toString())); - writer.write(':'); - if(indentFactor > 0) - { - writer.write(' '); - } - writeValue(writer, this.map.get(key), indentFactor, indent); - } else if(length != 0) - { - final int newindent = indent + indentFactor; - while(keys.hasNext()) - { - Object key = keys.next(); - if(commanate) - { - writer.write(','); - } - if(indentFactor > 0) - { - writer.write('\n'); - } - indent(writer, newindent); - writer.write(quote(key.toString())); - writer.write(':'); - if(indentFactor > 0) - { - writer.write(' '); - } - writeValue(writer, this.map.get(key), indentFactor, newindent); - commanate = true; - } - if(indentFactor > 0) - { - writer.write('\n'); - } - indent(writer, indent); - } - writer.write('}'); - return writer; - } catch(IOException exception) - { - throw new JSONException(exception); - } - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/JSONString.java b/src/main/java/ninja/bytecode/iris/util/JSONString.java deleted file mode 100644 index 168634476..000000000 --- a/src/main/java/ninja/bytecode/iris/util/JSONString.java +++ /dev/null @@ -1,21 +0,0 @@ -package ninja.bytecode.iris.util; - - -/** - * The JSONString interface allows a toJSONString() - * method so that a class can change the behavior of - * JSONObject.toString(), JSONArray.toString(), and - * JSONWriter.value(Object). The - * toJSONString method will be used instead of the default behavior - * of using the Object's toString() method and quoting the result. - */ -public interface JSONString -{ - /** - * The toJSONString method allows a class to produce its own - * JSON serialization. - * - * @return A strictly syntactically correct JSON text. - */ - public String toJSONString(); -} diff --git a/src/main/java/ninja/bytecode/iris/util/JSONStringer.java b/src/main/java/ninja/bytecode/iris/util/JSONStringer.java deleted file mode 100644 index bf2d783a8..000000000 --- a/src/main/java/ninja/bytecode/iris/util/JSONStringer.java +++ /dev/null @@ -1,86 +0,0 @@ -package ninja.bytecode.iris.util; - - -/* -Copyright (c) 2006 JSON.org - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -The Software shall be used for Good, not Evil. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -*/ - -import java.io.StringWriter; - -/** - * JSONStringer provides a quick and convenient way of producing JSON text. The - * texts produced strictly conform to JSON syntax rules. No whitespace is added, - * so the results are ready for transmission or storage. Each instance of - * JSONStringer can produce one JSON text. - *

- * A JSONStringer instance provides a value method for appending - * values to the text, and a key method for adding keys before - * values in objects. There are array and endArray - * methods that make and bound array values, and object and - * endObject methods which make and bound object values. All of - * these methods return the JSONWriter instance, permitting cascade style. For - * example, - * - *

- * myString = new JSONStringer().object().key("JSON").value("Hello, World!").endObject().toString();
- * 
- * - * which produces the string - * - *
- * {"JSON":"Hello, World!"}
- * 
- *

- * The first method called must be array or object. - * There are no methods for adding commas or colons. JSONStringer adds them for - * you. Objects and arrays can be nested up to 20 levels deep. - *

- * This can sometimes be easier than using a JSONObject to build a string. - * - * @author JSON.org - * @version 2008-09-18 - */ -public class JSONStringer extends JSONWriter -{ - /** - * Make a fresh JSONStringer. It can be used to build one JSON text. - */ - public JSONStringer() - { - super(new StringWriter()); - } - - /** - * Return the JSON text. This method is used to obtain the product of the - * JSONStringer instance. It will return null if there was a - * problem in the construction of the JSON text (such as the calls to - * array were not properly balanced with calls to - * endArray). - * - * @return The JSON text. - */ - public String toString() - { - return this.mode == 'd' ? this.writer.toString() : null; - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/JSONTokener.java b/src/main/java/ninja/bytecode/iris/util/JSONTokener.java deleted file mode 100644 index b1bd2dc3d..000000000 --- a/src/main/java/ninja/bytecode/iris/util/JSONTokener.java +++ /dev/null @@ -1,504 +0,0 @@ -package ninja.bytecode.iris.util; - - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.Reader; -import java.io.StringReader; - -/* -Copyright (c) 2002 JSON.org - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -The Software shall be used for Good, not Evil. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -*/ - -/** - * A JSONTokener takes a source string and extracts characters and tokens from - * it. It is used by the JSONObject and JSONArray constructors to parse JSON - * source strings. - * - * @author JSON.org - * @version 2014-05-03 - */ -public class JSONTokener -{ - - private long character; - private boolean eof; - private long index; - private long line; - private char previous; - private Reader reader; - private boolean usePrevious; - - /** - * Construct a JSONTokener from a Reader. - * - * @param reader - * A reader. - */ - public JSONTokener(Reader reader) - { - this.reader = reader.markSupported() ? reader : new BufferedReader(reader); - this.eof = false; - this.usePrevious = false; - this.previous = 0; - this.index = 0; - this.character = 1; - this.line = 1; - } - - /** - * Construct a JSONTokener from an InputStream. - * - * @param inputStream - * The source. - */ - public JSONTokener(InputStream inputStream) throws JSONException - { - this(new InputStreamReader(inputStream)); - } - - /** - * Construct a JSONTokener from a string. - * - * @param s - * A source string. - */ - public JSONTokener(String s) - { - this(new StringReader(s)); - } - - /** - * Back up one character. This provides a sort of lookahead capability, so - * that you can test for a digit or letter before attempting to parse the - * next number or identifier. - */ - public void back() throws JSONException - { - if(this.usePrevious || this.index <= 0) - { - throw new JSONException("Stepping back two steps is not supported"); - } - this.index -= 1; - this.character -= 1; - this.usePrevious = true; - this.eof = false; - } - - /** - * Get the hex value of a character (base16). - * - * @param c - * A character between '0' and '9' or between 'A' and 'F' or - * between 'a' and 'f'. - * @return An int between 0 and 15, or -1 if c was not a hex digit. - */ - public static int dehexchar(char c) - { - if(c >= '0' && c <= '9') - { - return c - '0'; - } - if(c >= 'A' && c <= 'F') - { - return c - ('A' - 10); - } - if(c >= 'a' && c <= 'f') - { - return c - ('a' - 10); - } - return -1; - } - - public boolean end() - { - return this.eof && !this.usePrevious; - } - - /** - * Determine if the source string still contains characters that next() can - * consume. - * - * @return true if not yet at the end of the source. - */ - public boolean more() throws JSONException - { - this.next(); - if(this.end()) - { - return false; - } - this.back(); - return true; - } - - /** - * Get the next character in the source string. - * - * @return The next character, or 0 if past the end of the source string. - */ - public char next() throws JSONException - { - int c; - if(this.usePrevious) - { - this.usePrevious = false; - c = this.previous; - } else - { - try - { - c = this.reader.read(); - } catch(IOException exception) - { - throw new JSONException(exception); - } - - if(c <= 0) - { // End of stream - this.eof = true; - c = 0; - } - } - this.index += 1; - if(this.previous == '\r') - { - this.line += 1; - this.character = c == '\n' ? 0 : 1; - } else if(c == '\n') - { - this.line += 1; - this.character = 0; - } else - { - this.character += 1; - } - this.previous = (char) c; - return this.previous; - } - - /** - * Consume the next character, and check that it matches a specified - * character. - * - * @param c - * The character to match. - * @return The character. - * @throws JSONException - * if the character does not match. - */ - public char next(char c) throws JSONException - { - char n = this.next(); - if(n != c) - { - throw this.syntaxError("Expected '" + c + "' and instead saw '" + n + "'"); - } - return n; - } - - /** - * Get the next n characters. - * - * @param n - * The number of characters to take. - * @return A string of n characters. - * @throws JSONException - * Substring bounds error if there are not n characters - * remaining in the source string. - */ - public String next(int n) throws JSONException - { - if(n == 0) - { - return ""; - } - - char[] chars = new char[n]; - int pos = 0; - - while(pos < n) - { - chars[pos] = this.next(); - if(this.end()) - { - throw this.syntaxError("Substring bounds error"); - } - pos += 1; - } - return new String(chars); - } - - /** - * Get the next char in the string, skipping whitespace. - * - * @throws JSONException - * @return A character, or 0 if there are no more characters. - */ - public char nextClean() throws JSONException - { - for(;;) - { - char c = this.next(); - if(c == 0 || c > ' ') - { - return c; - } - } - } - - /** - * Return the characters up to the next close quote character. Backslash - * processing is done. The formal JSON format does not allow strings in - * single quotes, but an implementation is allowed to accept them. - * - * @param quote - * The quoting character, either "  - * (double quote) or '  - * (single quote). - * @return A String. - * @throws JSONException - * Unterminated string. - */ - public String nextString(char quote) throws JSONException - { - char c; - StringBuilder sb = new StringBuilder(); - for(;;) - { - c = this.next(); - switch(c) - { - case 0: - case '\n': - case '\r': - throw this.syntaxError("Unterminated string"); - case '\\': - c = this.next(); - switch(c) - { - case 'b': - sb.append('\b'); - break; - case 't': - sb.append('\t'); - break; - case 'n': - sb.append('\n'); - break; - case 'f': - sb.append('\f'); - break; - case 'r': - sb.append('\r'); - break; - case 'u': - sb.append((char) Integer.parseInt(this.next(4), 16)); - break; - case '"': - case '\'': - case '\\': - case '/': - sb.append(c); - break; - default: - throw this.syntaxError("Illegal escape."); - } - break; - default: - if(c == quote) - { - return sb.toString(); - } - sb.append(c); - } - } - } - - /** - * Get the text up but not including the specified character or the end of - * line, whichever comes first. - * - * @param delimiter - * A delimiter character. - * @return A string. - */ - public String nextTo(char delimiter) throws JSONException - { - StringBuilder sb = new StringBuilder(); - for(;;) - { - char c = this.next(); - if(c == delimiter || c == 0 || c == '\n' || c == '\r') - { - if(c != 0) - { - this.back(); - } - return sb.toString().trim(); - } - sb.append(c); - } - } - - /** - * Get the text up but not including one of the specified delimiter - * characters or the end of line, whichever comes first. - * - * @param delimiters - * A set of delimiter characters. - * @return A string, trimmed. - */ - public String nextTo(String delimiters) throws JSONException - { - char c; - StringBuilder sb = new StringBuilder(); - for(;;) - { - c = this.next(); - if(delimiters.indexOf(c) >= 0 || c == 0 || c == '\n' || c == '\r') - { - if(c != 0) - { - this.back(); - } - return sb.toString().trim(); - } - sb.append(c); - } - } - - /** - * Get the next value. The value can be a Boolean, Double, Integer, - * JSONArray, JSONObject, Long, or String, or the JSONObject.NULL object. - * - * @throws JSONException - * If syntax error. - * - * @return An object. - */ - public Object nextValue() throws JSONException - { - char c = this.nextClean(); - String string; - - switch(c) - { - case '"': - case '\'': - return this.nextString(c); - case '{': - this.back(); - return new JSONObject(this); - case '[': - this.back(); - return new JSONArray(this); - } - - /* - * Handle unquoted text. This could be the values true, false, or null, - * or it can be a number. An implementation (such as this one) is - * allowed to also accept non-standard forms. - * - * Accumulate characters until we reach the end of the text or a - * formatting character. - */ - - StringBuilder sb = new StringBuilder(); - while(c >= ' ' && ",:]}/\\\"[{;=#".indexOf(c) < 0) - { - sb.append(c); - c = this.next(); - } - this.back(); - - string = sb.toString().trim(); - if("".equals(string)) - { - throw this.syntaxError("Missing value"); - } - return JSONObject.stringToValue(string); - } - - /** - * Skip characters until the next character is the requested character. If - * the requested character is not found, no characters are skipped. - * - * @param to - * A character to skip to. - * @return The requested character, or zero if the requested character is - * not found. - */ - public char skipTo(char to) throws JSONException - { - char c; - try - { - long startIndex = this.index; - long startCharacter = this.character; - long startLine = this.line; - this.reader.mark(1000000); - do - { - c = this.next(); - if(c == 0) - { - this.reader.reset(); - this.index = startIndex; - this.character = startCharacter; - this.line = startLine; - return c; - } - } while(c != to); - } catch(IOException exception) - { - throw new JSONException(exception); - } - this.back(); - return c; - } - - /** - * Make a JSONException to signal a syntax error. - * - * @param message - * The error message. - * @return A JSONException object, suitable for throwing - */ - public JSONException syntaxError(String message) - { - return new JSONException(message + this.toString()); - } - - /** - * Make a printable string of this JSONTokener. - * - * @return " at {index} [character {character} line {line}]" - */ - public String toString() - { - return " at " + this.index + " [character " + this.character + " line " + this.line + "]"; - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/JSONWriter.java b/src/main/java/ninja/bytecode/iris/util/JSONWriter.java deleted file mode 100644 index f38284517..000000000 --- a/src/main/java/ninja/bytecode/iris/util/JSONWriter.java +++ /dev/null @@ -1,388 +0,0 @@ -package ninja.bytecode.iris.util; - - -import java.io.IOException; -import java.io.Writer; - -/* -Copyright (c) 2006 JSON.org - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -The Software shall be used for Good, not Evil. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -*/ - -/** - * JSONWriter provides a quick and convenient way of producing JSON text. The - * texts produced strictly conform to JSON syntax rules. No whitespace is added, - * so the results are ready for transmission or storage. Each instance of - * JSONWriter can produce one JSON text. - *

- * A JSONWriter instance provides a value method for appending - * values to the text, and a key method for adding keys before - * values in objects. There are array and endArray - * methods that make and bound array values, and object and - * endObject methods which make and bound object values. All of - * these methods return the JSONWriter instance, permitting a cascade style. For - * example, - * - *

- * new JSONWriter(myWriter).object().key("JSON").value("Hello, World!").endObject();
- * 
- * - * which writes - * - *
- * {"JSON":"Hello, World!"}
- * 
- *

- * The first method called must be array or object. - * There are no methods for adding commas or colons. JSONWriter adds them for - * you. Objects and arrays can be nested up to 20 levels deep. - *

- * This can sometimes be easier than using a JSONObject to build a string. - * - * @author JSON.org - * @version 2011-11-24 - */ -public class JSONWriter -{ - private static final int maxdepth = 200; - - /** - * The comma flag determines if a comma should be output before the next - * value. - */ - private boolean comma; - - /** - * The current mode. Values: 'a' (array), 'd' (done), 'i' (initial), 'k' - * (key), 'o' (object). - */ - protected char mode; - - /** - * The object/array stack. - */ - private final JSONObject stack[]; - - /** - * The stack top index. A value of 0 indicates that the stack is empty. - */ - private int top; - - /** - * The writer that will receive the output. - */ - protected Writer writer; - - /** - * Make a fresh JSONWriter. It can be used to build one JSON text. - */ - public JSONWriter(Writer w) - { - this.comma = false; - this.mode = 'i'; - this.stack = new JSONObject[maxdepth]; - this.top = 0; - this.writer = w; - } - - /** - * Append a value. - * - * @param string - * A string value. - * @return this - * @throws JSONException - * If the value is out of sequence. - */ - private JSONWriter append(String string) throws JSONException - { - if(string == null) - { - throw new JSONException("Null pointer"); - } - if(this.mode == 'o' || this.mode == 'a') - { - try - { - if(this.comma && this.mode == 'a') - { - this.writer.write(','); - } - this.writer.write(string); - } catch(IOException e) - { - throw new JSONException(e); - } - if(this.mode == 'o') - { - this.mode = 'k'; - } - this.comma = true; - return this; - } - throw new JSONException("Value out of sequence."); - } - - /** - * Begin appending a new array. All values until the balancing - * endArray will be appended to this array. The - * endArray method must be called to mark the array's end. - * - * @return this - * @throws JSONException - * If the nesting is too deep, or if the object is started in - * the wrong place (for example as a key or after the end of the - * outermost array or object). - */ - public JSONWriter array() throws JSONException - { - if(this.mode == 'i' || this.mode == 'o' || this.mode == 'a') - { - this.push(null); - this.append("["); - this.comma = false; - return this; - } - throw new JSONException("Misplaced array."); - } - - /** - * End something. - * - * @param mode - * Mode - * @param c - * Closing character - * @return this - * @throws JSONException - * If unbalanced. - */ - private JSONWriter end(char mode, char c) throws JSONException - { - if(this.mode != mode) - { - throw new JSONException(mode == 'a' ? "Misplaced endArray." : "Misplaced endObject."); - } - this.pop(mode); - try - { - this.writer.write(c); - } catch(IOException e) - { - throw new JSONException(e); - } - this.comma = true; - return this; - } - - /** - * End an array. This method most be called to balance calls to - * array. - * - * @return this - * @throws JSONException - * If incorrectly nested. - */ - public JSONWriter endArray() throws JSONException - { - return this.end('a', ']'); - } - - /** - * End an object. This method most be called to balance calls to - * object. - * - * @return this - * @throws JSONException - * If incorrectly nested. - */ - public JSONWriter endObject() throws JSONException - { - return this.end('k', '}'); - } - - /** - * Append a key. The key will be associated with the next value. In an - * object, every value must be preceded by a key. - * - * @param string - * A key string. - * @return this - * @throws JSONException - * If the key is out of place. For example, keys do not belong - * in arrays or if the key is null. - */ - public JSONWriter key(String string) throws JSONException - { - if(string == null) - { - throw new JSONException("Null key."); - } - if(this.mode == 'k') - { - try - { - this.stack[this.top - 1].putOnce(string, Boolean.TRUE); - if(this.comma) - { - this.writer.write(','); - } - this.writer.write(JSONObject.quote(string)); - this.writer.write(':'); - this.comma = false; - this.mode = 'o'; - return this; - } catch(IOException e) - { - throw new JSONException(e); - } - } - throw new JSONException("Misplaced key."); - } - - /** - * Begin appending a new object. All keys and values until the balancing - * endObject will be appended to this object. The - * endObject method must be called to mark the object's end. - * - * @return this - * @throws JSONException - * If the nesting is too deep, or if the object is started in - * the wrong place (for example as a key or after the end of the - * outermost array or object). - */ - public JSONWriter object() throws JSONException - { - if(this.mode == 'i') - { - this.mode = 'o'; - } - if(this.mode == 'o' || this.mode == 'a') - { - this.append("{"); - this.push(new JSONObject()); - this.comma = false; - return this; - } - throw new JSONException("Misplaced object."); - - } - - /** - * Pop an array or object scope. - * - * @param c - * The scope to close. - * @throws JSONException - * If nesting is wrong. - */ - private void pop(char c) throws JSONException - { - if(this.top <= 0) - { - throw new JSONException("Nesting error."); - } - char m = this.stack[this.top - 1] == null ? 'a' : 'k'; - if(m != c) - { - throw new JSONException("Nesting error."); - } - this.top -= 1; - this.mode = this.top == 0 ? 'd' : this.stack[this.top - 1] == null ? 'a' : 'k'; - } - - /** - * Push an array or object scope. - * - * @param jo - * The scope to open. - * @throws JSONException - * If nesting is too deep. - */ - private void push(JSONObject jo) throws JSONException - { - if(this.top >= maxdepth) - { - throw new JSONException("Nesting too deep."); - } - this.stack[this.top] = jo; - this.mode = jo == null ? 'a' : 'k'; - this.top += 1; - } - - /** - * Append either the value true or the value false - * . - * - * @param b - * A boolean. - * @return this - * @throws JSONException - */ - public JSONWriter value(boolean b) throws JSONException - { - return this.append(b ? "true" : "false"); - } - - /** - * Append a double value. - * - * @param d - * A double. - * @return this - * @throws JSONException - * If the number is not finite. - */ - public JSONWriter value(double d) throws JSONException - { - return this.value(new Double(d)); - } - - /** - * Append a long value. - * - * @param l - * A long. - * @return this - * @throws JSONException - */ - public JSONWriter value(long l) throws JSONException - { - return this.append(Long.toString(l)); - } - - /** - * Append an object value. - * - * @param object - * The object to append. It can be null, or a Boolean, Number, - * String, JSONObject, or JSONArray, or an object that implements - * JSONString. - * @return this - * @throws JSONException - * If the value is out of sequence. - */ - public JSONWriter value(Object object) throws JSONException - { - return this.append(JSONObject.valueToString(object)); - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/KList.java b/src/main/java/ninja/bytecode/iris/util/KList.java deleted file mode 100644 index 2778aa750..000000000 --- a/src/main/java/ninja/bytecode/iris/util/KList.java +++ /dev/null @@ -1,648 +0,0 @@ -package ninja.bytecode.iris.util; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.Enumeration; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.function.Function; - -public class KList extends ArrayList implements List -{ - private static final long serialVersionUID = -2892550695744823337L; - - @SafeVarargs - public KList(T... ts) - { - super(); - add(ts); - } - - public KList() - { - super(); - } - - public KList(Collection values) - { - super(); - add(values); - } - - public KList(Enumeration e) - { - super(); - add(e); - } - - public Chunker chunk() - { - return new Chunker(this); - } - - /** - * Remove the last element - */ - public KList removeLast() - { - remove(last()); - - return this; - } - - public Queue enqueue() - { - return Queue.create(this); - } - - private KList add(Enumeration e) - { - while(e.hasMoreElements()) - { - add(e.nextElement()); - } - - return this; - } - - public KList add(Collection values) - { - addAll(values); - return this; - } - - /** - * Create a Map out of this list where this list becomes the values of the - * returned map. You must specify each key for each value in this list. In the - * function, returning null will not add the keyval pair. - * - * @param - * the inferred key type - * @param f - * the function - * @return the new map - */ - public KMap asValues(Function f) - { - KMap m = new KMap(); - forEach((i) -> m.putNonNull(f.apply(i), i)); - return m; - } - - /** - * Create a Map out of this list where this list becomes the keys of the - * returned map. You must specify each value for each key in this list. In the - * function, returning null will not add the keyval pair. - * - * @param - * the inferred value type - * @param f - * the function - * @return the new map - */ - public KMap asKeys(Function f) - { - KMap m = new KMap(); - forEach((i) -> m.putNonNull(i, f.apply(i))); - return m; - } - - /** - * Cut this list into targetCount sublists - * - * @param targetCount - * the target count of sublists - * @return the list of sublists - */ - public KList> divide(int targetCount) - { - return split(size() / targetCount); - } - - /** - * Split this list into a list of sublists with roughly targetSize elements of T - * per sublist - * - * @param targetSize - * the target size - * @return the list of sublists - */ - public KList> split(int targetSize) - { - targetSize = targetSize < 1 ? 1 : targetSize; - KList> gg = new KList<>(); - KList b = new KList<>(); - - for(T i : this) - { - if(b.size() >= targetSize) - { - gg.add(b.copy()); - b.clear(); - } - - b.add(i); - } - - if(!b.isEmpty()) - { - gg.add(b); - } - - return gg; - } - - /** - * Rewrite this list by checking each value and changing the value (or not). - * Return null to remove the element in the function - * - * @param t - * the function - * @return the same list (not a copy) - */ - public KList rewrite(Function t) - { - KList m = copy(); - clear(); - - for(T i : m) - { - addNonNull(t.apply(i)); - } - - return this; - } - - /** - * To array - * - * @return the array - */ - @SuppressWarnings("unchecked") - public T[] array() - { - return (T[]) toArray(); - } - - /** - * Return a copy of this list - * - * @return the copy - */ - public KList copy() - { - return new KList().add(this); - } - - /** - * Shuffle the list - * - * @return the same list - */ - public KList shuffle() - { - Collections.shuffle(this); - return this; - } - - /** - * Sort the list (based on toString comparison) - * - * @return the same list - */ - public KList sort() - { - Collections.sort(this, (a, b) -> a.toString().compareTo(b.toString())); - return this; - } - - /** - * Reverse this list - * - * @return the same list - */ - public KList reverse() - { - Collections.reverse(this); - return this; - } - - @Override - public String toString() - { - return "[" + toString(", ") + "]"; - } - - /** - * Tostring with a seperator for each item in the list - * - * @param split - * the seperator - * @return the string representing this object - */ - public String toString(String split) - { - if(isEmpty()) - { - return ""; - } - - if(size() == 1) - { - return get(0).toString(); - } - - StringBuilder b = new StringBuilder(); - - for(String i : toStringList()) - { - b.append(split + i); - } - - return b.toString().substring(split.length()); - } - - /** - * Invoke tostring on each value in the list into a string list - * - * @return the string list - */ - public KList toStringList() - { - return convert((t) -> t.toString()); - } - - /** - * Convert a list into another list type. Such as GList to - * GList. list.convert((i) -> "" + i); - * - * @param - * @param converter - * @return - */ - public KList convert(Function converter) - { - KList v = new KList(); - forEach((t) -> v.addNonNull(converter.apply(t))); - return v; - } - - /** - * Adds T to the list, ignores if null - * - * @param t - * the value to add - * @return the same list - */ - public KList addNonNull(T t) - { - if(t != null) - { - super.add(t); - } - - return this; - } - - /** - * Swaps the values of index a and b. For example "hello", "world", "!" swap(1, - * 2) would change the list to "hello", "!", "world" - * - * @param a - * the first index - * @param b - * the second index - * @return the same list (builder), not a copy - */ - public KList swapIndexes(int a, int b) - { - T aa = remove(a); - T bb = get(b); - add(a, bb); - remove(b); - add(b, aa); - - return this; - } - - /** - * Remove a number of elements from the list - * - * @param t - * the elements - * @return this list - */ - @SuppressWarnings("unchecked") - public KList remove(T... t) - { - for(T i : t) - { - super.remove(i); - } - - return this; - } - - /** - * Add another glist's contents to this one (addall builder) - * - * @param t - * the list - * @return the same list - */ - public KList add(KList t) - { - super.addAll(t); - return this; - } - - /** - * Add a number of values to this list - * - * @param t - * the list - * @return this list - */ - @SuppressWarnings("unchecked") - public KList add(T... t) - { - for(T i : t) - { - super.add(i); - } - - return this; - } - - /** - * Check if this list has an index at the given index - * - * @param index - * the given index - * @return true if size > index - */ - public boolean hasIndex(int index) - { - return size() > index; - } - - /** - * Get the last index of this list (size - 1) - * - * @return the last index of this list - */ - public int last() - { - return size() - 1; - } - - /** - * Deduplicate this list by converting to linked hash set and back - * - * @return the deduplicated list - */ - public KList dedupe() - { - return qclear().add(new LinkedHashSet(this)); - } - - /** - * Clear this list (and return it) - * - * @return the same list - */ - public KList qclear() - { - super.clear(); - return this; - } - - /** - * Simply !isEmpty() - * - * @return true if this list has 1 or more element(s) - */ - public boolean hasElements() - { - return !isEmpty(); - } - - /** - * Pop the first item off this list and return it - * - * @return the popped off item or null if the list is empty - */ - public T pop() - { - if(isEmpty()) - { - return null; - } - - return remove(0); - } - - /** - * Pop the last item off this list and return it - * - * @return the popped off item or null if the list is empty - */ - public T popLast() - { - if(isEmpty()) - { - return null; - } - - return remove(last()); - } - - public T popRandom() - { - if(isEmpty()) - { - return null; - } - - if(size() == 1) - { - return pop(); - } - - return remove(M.irand(0, last())); - } - - public static KList fromJSONAny(JSONArray oo) - { - KList s = new KList(); - - for(int i = 0; i < oo.length(); i++) - { - s.add(oo.get(i).toString()); - } - - return s; - } - - public KList sub(int f, int t) - { - KList g = new KList<>(); - - for(int i = f; i < M.min(size(), t); i++) - { - g.add(get(i)); - } - - return g; - } - - public JSONArray toJSONStringArray() - { - JSONArray j = new JSONArray(); - - for(Object i : this) - { - j.put(i.toString()); - } - - return j; - } - - public static KList asStringList(List oo) - { - KList s = new KList(); - - for(Object i : oo) - { - s.add(i.toString()); - } - - return s; - } - - @SuppressWarnings("unchecked") - public KList forceAdd(Object[] values) - { - for(Object i : values) - { - add((T) i); - } - - return this; - } - - @SuppressWarnings("unchecked") - public KList forceAdd(int[] values) - { - for(Object i : values) - { - add((T) i); - } - - return this; - } - - @SuppressWarnings("unchecked") - public KList forceAdd(double[] values) - { - for(Object i : values) - { - add((T) i); - } - - return this; - } - - @SuppressWarnings("unchecked") - public KList forceAdd(float[] values) - { - for(Object i : values) - { - add((T) i); - } - - return this; - } - - @SuppressWarnings("unchecked") - public KList forceAdd(byte[] values) - { - for(Object i : values) - { - add((T) i); - } - - return this; - } - - @SuppressWarnings("unchecked") - public KList forceAdd(short[] values) - { - for(Object i : values) - { - add((T) i); - } - - return this; - } - - @SuppressWarnings("unchecked") - public KList forceAdd(long[] values) - { - for(Object i : values) - { - add((T) i); - } - - return this; - } - - @SuppressWarnings("unchecked") - public KList forceAdd(boolean[] values) - { - for(Object i : values) - { - add((T) i); - } - - return this; - } - - public T middleValue() - { - return get(middleIndex()); - } - - private int middleIndex() - { - return size() % 2 == 0 ? (size() / 2) : ((size() / 2) + 1); - } - - public T getRandom() - { - if(isEmpty()) - { - return null; - } - - if(size() == 1) - { - return get(0); - } - - return get(M.irand(0, last())); - } - - public KList qdel(T t) - { - remove(t); - return this; - } - - public KList qadd(T t) - { - add(t); - return this; - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/KMap.java b/src/main/java/ninja/bytecode/iris/util/KMap.java deleted file mode 100644 index 46711be5a..000000000 --- a/src/main/java/ninja/bytecode/iris/util/KMap.java +++ /dev/null @@ -1,424 +0,0 @@ -package ninja.bytecode.iris.util; - -import java.util.Collections; -import java.util.Comparator; -import java.util.Enumeration; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; - -public class KMap extends ConcurrentHashMap -{ - private static final long serialVersionUID = 7288942695300448163L; - - public KMap() - { - super(); - } - - public KMap(KMap gMap) - { - this(); - put(gMap); - } - - /** - * Puts a value into a map-value-list based on the key such that if GMap> where V is GList - * - * @param - * the list type in the value type - * @param k - * the key to look for - * @param vs - * the values to put into the list of the given key - * @return the same list (builder) - */ - @SuppressWarnings("unchecked") - public KMap putValueList(K k, S... vs) - { - try - { - KMap> s = (KMap>) this; - - if(!s.containsKey(k)) - { - s.put(k, new KList()); - } - - s.get(k).add(vs); - } - - catch(Throwable e) - { - - } - - return this; - } - - /** - * Returns a sorted list of keys from this map, based on the sorting order of - * the values. - * - * @return the value-sorted key list - */ - public KList sortK() - { - KList k = new KList(); - KList v = v(); - - Collections.sort(v, new Comparator() - { - @Override - public int compare(V v, V t1) - { - return v.toString().compareTo(t1.toString()); - } - }); - - for(V i : v) - { - for(K j : k()) - { - if(get(j).equals(i)) - { - k.add(j); - } - } - } - - k.dedupe(); - return k; - } - - /** - * Returns a sorted list of keys from this map, based on the sorting order of - * the values. Sorting is based on numerical values - * - * @return the value-sorted key list - */ - public KList sortKNumber() - { - KList k = new KList(); - KList v = v(); - - Collections.sort(v, new Comparator() - { - @Override - public int compare(V v, V t1) - { - Number n1 = (Number) v; - Number n2 = (Number) t1; - - return (int) ((n1.doubleValue() - n2.doubleValue()) * 1000); - } - }); - - for(V i : v) - { - for(K j : k()) - { - if(get(j).equals(i)) - { - k.add(j); - } - } - } - - k.dedupe(); - return k; - } - - /** - * Put another map's values into this map - * - * @param m - * the map to insert - * @return this map (builder) - */ - public KMap put(Map m) - { - putAll(m); - return this; - } - - /** - * Return a copy of this map - * - * @return the copied map - */ - public KMap copy() - { - return new KMap(this); - } - - /** - * Loop through each keyvalue set (copy of it) with the map parameter - * - * @param f - * the function - * @return the same gmap - */ - public KMap rewrite(Consumer3> f) - { - KMap m = copy(); - - for(K i : m.k()) - { - f.accept(i, get(i), this); - } - - return this; - } - - /** - * Loop through each keyvalue set (copy of it) - * - * @param f - * the function - * @return the same gmap - */ - public KMap each(Consumer2 f) - { - for(K i : k()) - { - f.accept(i, get(i)); - } - - return this; - } - - /** - * Flip the hashmap and flatten the value list even if there are multiple keys - * - * @return the flipped and flattened hashmap - */ - public KMap flipFlatten() - { - KMap> f = flip(); - KMap m = new KMap<>(); - - for(V i : f.k()) - { - m.putNonNull(i, m.isEmpty() ? null : m.get(0)); - } - - return m; - } - - /** - * Flip the hashmap so keys are now list-keys in the value position - * - * @return the flipped hashmap - */ - public KMap> flip() - { - KMap> flipped = new KMap>(); - - for(K i : keySet()) - { - if(i == null) - { - continue; - } - - if(!flipped.containsKey(get(i))) - { - flipped.put(get(i), new KList()); - } - - flipped.get(get(i)).add(i); - } - - return flipped; - } - - /** - * Sort values based on the keys sorting order - * - * @return the values (sorted) - */ - public KList sortV() - { - KList v = new KList(); - KList k = k(); - - Collections.sort(k, new Comparator() - { - @Override - public int compare(K v, K t1) - { - return v.toString().compareTo(t1.toString()); - } - }); - - for(K i : k) - { - for(V j : v()) - { - if(get(i).equals(j)) - { - v.add(j); - } - } - } - - v.dedupe(); - return v; - } - - public KList sortVNoDedupe() - { - KList v = new KList(); - KList k = k(); - - Collections.sort(k, new Comparator() - { - @Override - public int compare(K v, K t1) - { - return v.toString().compareTo(t1.toString()); - } - }); - - for(K i : k) - { - for(V j : v()) - { - if(get(i).equals(j)) - { - v.add(j); - } - } - } - - return v; - } - - /** - * Get a copy of this maps keys - * - * @return the keys - */ - public KList k() - { - KList k = new KList(); - Enumeration kk = keys(); - - while(kk.hasMoreElements()) - { - K kkk = kk.nextElement(); - k.add(kkk); - } - - return k; - } - - /** - * Get a copy of this maps values - * - * @return the values - */ - public KList v() - { - return new KList(values()); - } - - /** - * Still works as it normally should except it returns itself (builder) - * - * @param key - * the key - * @param value - * the value (single only supported) - * @return - */ - public KMap qput(K key, V value) - { - super.put(key, value); - return this; - } - - /** - * Works just like put, except it wont put anything unless the key and value are - * nonnull - * - * @param key - * the nonnull key - * @param value - * the nonnull value - * @return the same map - */ - public KMap putNonNull(K key, V value) - { - if(key != null || value != null) - { - put(key, value); - } - - return this; - } - - public V putThen(K key, V valueIfKeyNotPresent) - { - if(!containsKey(key)) - { - put(key, valueIfKeyNotPresent); - } - - return get(key); - } - - /** - * Clear this map and return it - * - * @return the cleared map - */ - public KMap qclear() - { - super.clear(); - return this; - } - - /** - * Convert this map to keypairs - * - * @return the keypair list - */ - public KList> keypair() - { - KList> g = new KList<>(); - each((k, v) -> g.add(new KeyPair(k, v))); - return g; - } - - /** - * Create a keypair queue - * - * @return the queue - */ - public Queue> enqueue() - { - return Queue.create(keypair()); - } - - /** - * Create a key queue - * - * @return the queue - */ - public Queue enqueueKeys() - { - return Queue.create(k()); - } - - /** - * Create a value queue - * - * @return the queue - */ - public Queue enqueueValues() - { - return Queue.create(v()); - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/KSet.java b/src/main/java/ninja/bytecode/iris/util/KSet.java deleted file mode 100644 index 460383b20..000000000 --- a/src/main/java/ninja/bytecode/iris/util/KSet.java +++ /dev/null @@ -1,29 +0,0 @@ -package ninja.bytecode.iris.util; - -import java.util.Collection; -import java.util.HashSet; - -public class KSet extends HashSet -{ - private static final long serialVersionUID = 1L; - - public KSet() - { - super(); - } - - public KSet(Collection c) - { - super(c); - } - - public KSet(int initialCapacity, float loadFactor) - { - super(initialCapacity, loadFactor); - } - - public KSet(int initialCapacity) - { - super(initialCapacity); - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/KeyPair.java b/src/main/java/ninja/bytecode/iris/util/KeyPair.java deleted file mode 100644 index 458840d8c..000000000 --- a/src/main/java/ninja/bytecode/iris/util/KeyPair.java +++ /dev/null @@ -1,45 +0,0 @@ -package ninja.bytecode.iris.util; - -/** - * Represents a keypair - * @author cyberpwn - * - * @param the key type - * @param the value type - */ -public class KeyPair -{ - private K k; - private V v; - - /** - * Create a keypair - * @param k the key - * @param v the value - */ - public KeyPair(K k, V v) - { - this.k = k; - this.v = v; - } - - public K getK() - { - return k; - } - - public void setK(K k) - { - this.k = k; - } - - public V getV() - { - return v; - } - - public void setV(V v) - { - this.v = v; - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/Looper.java b/src/main/java/ninja/bytecode/iris/util/Looper.java deleted file mode 100644 index 85098d581..000000000 --- a/src/main/java/ninja/bytecode/iris/util/Looper.java +++ /dev/null @@ -1,34 +0,0 @@ -package ninja.bytecode.iris.util; - -public abstract class Looper extends Thread -{ - public void run() - { - while(!interrupted()) - { - try - { - long m = loop(); - - if(m < 0) - { - break; - } - - Thread.sleep(m); - } - - catch(InterruptedException e) - { - break; - } - - catch(Throwable e) - { - e.printStackTrace(); - } - } - } - - protected abstract long loop(); -} diff --git a/src/main/java/ninja/bytecode/iris/util/M.java b/src/main/java/ninja/bytecode/iris/util/M.java deleted file mode 100644 index 60d3bfd30..000000000 --- a/src/main/java/ninja/bytecode/iris/util/M.java +++ /dev/null @@ -1,448 +0,0 @@ -package ninja.bytecode.iris.util; - -import java.util.regex.Matcher; - -import javax.script.ScriptEngine; -import javax.script.ScriptEngineManager; -import javax.script.ScriptException; - -/** - * Math - * - * @author cyberpwn - */ -public class M -{ - private static final int precision = 128; - private static final int modulus = 360 * precision; - private static final float[] sin = new float[modulus]; - - /** - * Scales B by an external range change so that
- *
- * BMIN < B < BMAX
- * AMIN < RESULT < AMAX
- *
- * So Given rangeScale(0, 20, 0, 10, 5) -> 10
- * 0 < 5 < 10
- * 0 < ? < 20
- *
- * would return 10 - * - * @param amin - * the resulting minimum - * @param amax - * the resulting maximum - * @param bmin - * the initial minimum - * @param bmax - * the initial maximum - * @param b - * the initial value - * @return the resulting value - */ - public static double rangeScale(double amin, double amax, double bmin, double bmax, double b) - { - return amin + ((amax - amin) * ((b - bmin) / (bmax - bmin))); - } - - /** - * Get the percent (inverse lerp) from "from" to "to" where "at". - * - * If from = 0 and to = 100 and at = 25 then it would return 0.25 - * - * @param from - * the from - * @param to - * the to - * @param at - * the at - * @return the percent - */ - public static double lerpInverse(double from, double to, double at) - { - return M.rangeScale(0, 1, from, to, at); - } - - /** - * Linear interpolation from a to b where f is the percent across - * - * @param a - * the first pos (0) - * @param b - * the second pos (1) - * @param f - * the percent - * @return the value - */ - public static double lerp(double a, double b, double f) - { - return a + (f * (b - a)); - } - - /** - * Bilinear interpolation - * - * @param a - * the first point (0, 0) - * @param b - * the second point (1, 0) - * @param c - * the third point (0, 1) - * @param d - * the fourth point (1, 1) - * @param tx - * the x - * @param ty - * the y - * @return the bilerped value - */ - public static double bilerp(double a, double b, double c, double d, double x, double y) - { - return lerp(lerp(a, b, x), lerp(c, d, x), y); - } - - /** - * Trilinear interpolation - * - * @param a - * the first point (0, 0, 0) - * @param b - * the second point (1, 0, 0) - * @param c - * the third point (0, 0, 1) - * @param d - * the fourth point (1, 0, 1) - * @param e - * the fifth point (0, 1, 0) - * @param f - * the sixth point (1, 1, 0) - * @param g - * the seventh point (0, 1, 1) - * @param h - * the eighth point (1, 1, 1) - * @param x - * the x - * @param y - * the y - * @param z - * the z - * @return the trilerped value - */ - public static double trilerp(double a, double b, double c, double d, double e, double f, double g, double h, double x, double y, double z) - { - return lerp(bilerp(a, b, c, d, x, y), bilerp(e, f, g, h, x, y), z); - } - - /** - * Clip a value - * - * @param value - * the value - * @param min - * the min - * @param max - * the max - * @return the clipped value - */ - @SuppressWarnings("unchecked") - public static T clip(T value, T min, T max) - { - return (T) Double.valueOf(Math.min(max.doubleValue(), Math.max(min.doubleValue(), value.doubleValue()))); - } - - public static int iclip(int value, int min, int max) - { - return Math.min(max, Math.max(min, value)); - } - - /** - * Get true or false based on random percent - * - * @param d - * between 0 and 1 - * @return true if true - */ - public static boolean r(Double d) - { - if(d == null) - { - return Math.random() < 0.5; - } - - return Math.random() < d; - } - - /** - * Get the ticks per second from a time in nanoseconds, the rad can be used for - * multiple ticks - * - * @param ns - * the time in nanoseconds - * @param rad - * the radius of the time - * @return the ticks per second in double form - */ - public static double tps(long ns, int rad) - { - return (20.0 * (ns / 50000000.0)) / rad; - } - - /** - * Get the number of ticks from a time in nanoseconds - * - * @param ns - * the nanoseconds - * @return the amount of ticks - */ - public static double ticksFromNS(long ns) - { - return (ns / 50000000.0); - } - - /** - * Get a random int from to (inclusive) - * - * @param f - * the from - * @param t - * the to - * @return the value - */ - public static int irand(int f, int t) - { - return f + (int) (Math.random() * ((t - f) + 1)); - } - - /** - * Get a random float from to (inclusive) - * - * @param f - * the from - * @param t - * the to - * @return the value - */ - public static float frand(float f, float t) - { - return f + (float) (Math.random() * ((t - f) + 1)); - } - - /** - * Get a random double from to (inclusive) - * - * @param f - * the from - * @param t - * the to - * @return the value - */ - public static double drand(double f, double t) - { - return f + (Math.random() * ((t - f) + 1)); - } - - /** - * Get system Nanoseconds - * - * @return nanoseconds (current) - */ - public static long ns() - { - return System.nanoTime(); - } - - /** - * Get the current millisecond time - * - * @return milliseconds - */ - public static long ms() - { - return System.currentTimeMillis(); - } - - /** - * Fast sin function - * - * @param a - * the number - * @return the sin - */ - public static float sin(float a) - { - return sinLookup((int) (a * precision + 0.5f)); - } - - /** - * Fast cos function - * - * @param a - * the number - * @return the cos - */ - public static float cos(float a) - { - return sinLookup((int) ((a + 90f) * precision + 0.5f)); - } - - /** - * Fast tan function - * - * @param a - * the number - * @return the tan - */ - public static float tan(float a) - { - float c = cos(a); - return sin(a) / (c == 0 ? 0.0000001f : c); - } - - /** - * Biggest number - * - * @param numbers - * the numbers - * @return the biggest one - */ - @SuppressWarnings("unchecked") - public static T max(T... doubles) - { - double max = Double.MIN_VALUE; - - for(T i : doubles) - { - if(i.doubleValue() > max) - { - max = i.doubleValue(); - } - } - - return (T) Double.valueOf(max); - } - - /** - * Smallest number - * - * @param doubles - * the numbers - * @return the smallest one - */ - @SuppressWarnings("unchecked") - public static T min(T... doubles) - { - double min = Double.MAX_VALUE; - - for(T i : doubles) - { - if(i.doubleValue() < min) - { - min = i.doubleValue(); - } - } - - return (T) Double.valueOf(min); - } - - /** - * Evaluates an expression using javascript engine and returns the double - * result. This can take variable parameters, so you need to define them. - * Parameters are defined as $[0-9]. For example evaluate("4$0/$1", 1, 2); This - * makes the expression (4x1)/2 == 2. Keep note that you must use 0-9, you - * cannot skip, or start at a number other than 0. - * - * @param expression - * the expression with variables - * @param args - * the arguments/variables - * @return the resulting double value - * @throws ScriptException - * ... gg - * @throws IndexOutOfBoundsException - * learn to count - */ - public static double evaluate(String expression, Double... args) throws ScriptException, IndexOutOfBoundsException - { - for(int i = 0; i < args.length; i++) - { - String current = "$" + i; - - if(expression.contains(current)) - { - expression = expression.replaceAll(Matcher.quoteReplacement(current), args[i] + ""); - } - } - - return evaluate(expression); - } - - /** - * Evaluates an expression using javascript engine and returns the double - * - * @param expression - * the mathimatical expression - * @return the double result - * @throws ScriptException - * ... gg - */ - public static double evaluate(String expression) throws ScriptException - { - ScriptEngineManager mgr = new ScriptEngineManager(); - ScriptEngine scriptEngine = mgr.getEngineByName("JavaScript"); - - return Double.valueOf(scriptEngine.eval(expression).toString()); - } - - /** - * is the number "is" within from-to - * - * @param from - * the lower end - * @param to - * the upper end - * @param is - * the check - * @return true if its within - */ - public static boolean within(int from, int to, int is) - { - return is >= from && is <= to; - } - - /** - * Get the amount of days past since the epoch time (1970 jan 1 utc) - * - * @return the epoch days - */ - public static long epochDays() - { - return epochDays(M.ms()); - } - - /** - * Get the amount of days past since the epoch time (1970 jan 1 utc) - * - * @param ms - * the time in milliseconds - * @return the epoch days - */ - private static long epochDays(long ms) - { - return ms / 1000 / 60 / 60 / 24; - } - - static - { - for(int i = 0; i < sin.length; i++) - { - sin[i] = (float) Math.sin((i * Math.PI) / (precision * 180)); - } - } - - private static float sinLookup(int a) - { - return a >= 0 ? sin[a % (modulus)] : -sin[-a % (modulus)]; - } - -} diff --git a/src/main/java/ninja/bytecode/iris/util/NastyFunction.java b/src/main/java/ninja/bytecode/iris/util/NastyFunction.java deleted file mode 100644 index c42e6f696..000000000 --- a/src/main/java/ninja/bytecode/iris/util/NastyFunction.java +++ /dev/null @@ -1,6 +0,0 @@ -package ninja.bytecode.iris.util; - -public interface NastyFunction -{ - public R run(T t) throws Throwable; -} diff --git a/src/main/java/ninja/bytecode/iris/util/NastyFuture.java b/src/main/java/ninja/bytecode/iris/util/NastyFuture.java deleted file mode 100644 index 121bb51d8..000000000 --- a/src/main/java/ninja/bytecode/iris/util/NastyFuture.java +++ /dev/null @@ -1,6 +0,0 @@ -package ninja.bytecode.iris.util; - -public interface NastyFuture -{ - public R run() throws Throwable; -} diff --git a/src/main/java/ninja/bytecode/iris/util/NastyRunnable.java b/src/main/java/ninja/bytecode/iris/util/NastyRunnable.java deleted file mode 100644 index 94870fe0f..000000000 --- a/src/main/java/ninja/bytecode/iris/util/NastyRunnable.java +++ /dev/null @@ -1,6 +0,0 @@ -package ninja.bytecode.iris.util; - -public interface NastyRunnable -{ - public void run() throws Throwable; -} diff --git a/src/main/java/ninja/bytecode/iris/util/PolygonGenerator.java b/src/main/java/ninja/bytecode/iris/util/PolygonGenerator.java index 7bf86c6b9..568c80810 100644 --- a/src/main/java/ninja/bytecode/iris/util/PolygonGenerator.java +++ b/src/main/java/ninja/bytecode/iris/util/PolygonGenerator.java @@ -2,6 +2,10 @@ package ninja.bytecode.iris.util; import java.util.function.Function; +import ninja.bytecode.shuriken.collections.KList; +import ninja.bytecode.shuriken.collections.KMap; +import ninja.bytecode.shuriken.math.M; + public class PolygonGenerator { private double[] rarity; diff --git a/src/main/java/ninja/bytecode/iris/util/PrecisionStopwatch.java b/src/main/java/ninja/bytecode/iris/util/PrecisionStopwatch.java deleted file mode 100644 index 0c6363a04..000000000 --- a/src/main/java/ninja/bytecode/iris/util/PrecisionStopwatch.java +++ /dev/null @@ -1,101 +0,0 @@ -package ninja.bytecode.iris.util; - -public class PrecisionStopwatch { - private long nanos; - private long startNano; - private long millis; - private long startMillis; - private double time; - private boolean profiling; - - public static PrecisionStopwatch start() { - PrecisionStopwatch p = new PrecisionStopwatch(); - p.begin(); - - return p; - } - - public PrecisionStopwatch() { - reset(); - profiling = false; - } - - public void begin() { - profiling = true; - startNano = System.nanoTime(); - startMillis = System.currentTimeMillis(); - } - - public void end() { - if (!profiling) { - return; - } - - profiling = false; - nanos = System.nanoTime() - startNano; - millis = System.currentTimeMillis() - startMillis; - time = (double) nanos / 1000000.0; - time = (double) millis - time > 1.01 ? millis : time; - } - - public void reset() { - nanos = -1; - millis = -1; - startNano = -1; - startMillis = -1; - time = -0; - profiling = false; - } - - public double getTicks() { - return getMilliseconds() / 50.0; - } - - public double getSeconds() { - return getMilliseconds() / 1000.0; - } - - public double getMinutes() { - return getSeconds() / 60.0; - } - - public double getHours() { - return getMinutes() / 60.0; - } - - public double getMilliseconds() { - nanos = System.nanoTime() - startNano; - millis = System.currentTimeMillis() - startMillis; - time = (double) nanos / 1000000.0; - time = (double) millis - time > 1.01 ? millis : time; - return time; - } - - public long getNanoseconds() { - return (long) (time * 1000000.0); - } - - public long getNanos() { - return nanos; - } - - public long getStartNano() { - return startNano; - } - - public long getMillis() { - return millis; - } - - public long getStartMillis() { - return startMillis; - } - - public double getTime() { - return time; - } - - public boolean isProfiling() { - return profiling; - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/Queue.java b/src/main/java/ninja/bytecode/iris/util/Queue.java deleted file mode 100644 index f3c6d21c8..000000000 --- a/src/main/java/ninja/bytecode/iris/util/Queue.java +++ /dev/null @@ -1,31 +0,0 @@ -package ninja.bytecode.iris.util; - -public interface Queue -{ - public Queue queue(T t); - - public Queue queue(KList t); - - public boolean hasNext(int amt); - - public boolean hasNext(); - - public T next(); - - public KList next(int amt); - - public Queue clear(); - - public int size(); - - public static Queue create(KList t) - { - return new ShurikenQueue().queue(t); - } - - @SuppressWarnings("unchecked") - public static Queue create(T... t) - { - return new ShurikenQueue().queue(new KList().add(t)); - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/QueueExecutor.java b/src/main/java/ninja/bytecode/iris/util/QueueExecutor.java deleted file mode 100644 index e0b385f30..000000000 --- a/src/main/java/ninja/bytecode/iris/util/QueueExecutor.java +++ /dev/null @@ -1,54 +0,0 @@ -package ninja.bytecode.iris.util; - -public class QueueExecutor extends Looper -{ - private Queue queue; - private boolean shutdown; - - public QueueExecutor() - { - queue = new ShurikenQueue(); - shutdown = false; - } - - public Queue queue() - { - return queue; - } - - @Override - protected long loop() - { - - while(queue.hasNext()) - { - try - { - queue.next().run(); - } - - catch(Throwable e) - { - e.printStackTrace(); - } - } - - if(shutdown && !queue.hasNext()) - { - interrupt(); - return -1; - } - - return Math.max(500, (long) getRunTime() * 10); - } - - public double getRunTime() - { - return -1; - } - - public void shutdown() - { - shutdown = true; - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/ResourceLoader.java b/src/main/java/ninja/bytecode/iris/util/ResourceLoader.java index 65e00e3be..29a55cf1e 100644 --- a/src/main/java/ninja/bytecode/iris/util/ResourceLoader.java +++ b/src/main/java/ninja/bytecode/iris/util/ResourceLoader.java @@ -1,12 +1,16 @@ package ninja.bytecode.iris.util; import java.io.File; +import java.util.concurrent.locks.ReentrantLock; import com.google.gson.Gson; import ninja.bytecode.iris.Iris; +import ninja.bytecode.iris.object.IrisRegisteredObject; +import ninja.bytecode.shuriken.collections.KList; +import ninja.bytecode.shuriken.collections.KMap; -public class ResourceLoader +public class ResourceLoader { private File root; private String folderName; @@ -14,9 +18,11 @@ public class ResourceLoader private KMap loadCache; private KList folderCache; private Class objectClass; + private ReentrantLock lock; public ResourceLoader(File root, String folderName, String resourceTypeName, Class objectClass) { + lock = new ReentrantLock(); this.objectClass = objectClass; this.resourceTypeName = resourceTypeName; this.root = root; @@ -30,9 +36,11 @@ public class ResourceLoader if(loadCache.containsKey(key)) { - return loadCache.get(key); + T t = loadCache.get(key); + return t; } + lock.lock(); for(File i : getFolders()) { for(File j : i.listFiles()) @@ -45,12 +53,14 @@ public class ResourceLoader loadCache.put(key, t); Iris.hotloader.track(j); Iris.info("Loading " + resourceTypeName + ": " + j.getPath()); - + t.setLoadKey(name); + lock.unlock(); return t; } catch(Throwable e) { + lock.unlock(); Iris.warn("Couldn't read " + resourceTypeName + " file: " + j.getPath() + ": " + e.getMessage()); } } @@ -59,6 +69,7 @@ public class ResourceLoader Iris.warn("Couldn't find " + resourceTypeName + ": " + name); + lock.unlock(); return null; } diff --git a/src/main/java/ninja/bytecode/iris/util/RollingSequence.java b/src/main/java/ninja/bytecode/iris/util/RollingSequence.java deleted file mode 100644 index 5caac8342..000000000 --- a/src/main/java/ninja/bytecode/iris/util/RollingSequence.java +++ /dev/null @@ -1,101 +0,0 @@ -package ninja.bytecode.iris.util; - -public class RollingSequence extends Average -{ - private double median; - private double max; - private double min; - private boolean dirtyMedian; - private int dirtyExtremes; - private boolean precision; - - public RollingSequence(int size) - { - super(size); - median = 0; - min = 0; - max = 0; - setPrecision(false); - } - - public double addLast(int amt) - { - double f = 0; - - for(int i = 0; i < Math.min(values.length, amt); i++) - { - f += values[i]; - } - - return f; - } - - public void setPrecision(boolean p) - { - this.precision = p; - } - - public boolean isPrecision() - { - return precision; - } - - public double getMin() - { - if(dirtyExtremes > (isPrecision() ? 0 : values.length)) - { - resetExtremes(); - } - - return min; - } - - public double getMax() - { - if(dirtyExtremes > (isPrecision() ? 0 : values.length)) - { - resetExtremes(); - } - - return max; - } - - public double getMedian() - { - if(dirtyMedian) - { - recalculateMedian(); - } - - return median; - } - - private void recalculateMedian() - { - median = new KList().forceAdd(values).sort().middleValue(); - dirtyMedian = false; - } - - public void resetExtremes() - { - max = Integer.MIN_VALUE; - min = Integer.MAX_VALUE; - - for(double i : values) - { - max = M.max(max, i); - min = M.min(min, i); - } - - dirtyExtremes = 0; - } - - public void put(double i) - { - super.put(i); - dirtyMedian = true; - dirtyExtremes++; - max = M.max(max, i); - min = M.min(min, i); - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/ScoreDirection.java b/src/main/java/ninja/bytecode/iris/util/ScoreDirection.java new file mode 100644 index 000000000..881e2e6b0 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/ScoreDirection.java @@ -0,0 +1,10 @@ +package ninja.bytecode.iris.util; + +/** + * @author Missionary (missionarymc@gmail.com) + * @since 5/31/2018 + */ +public enum ScoreDirection { + UP, + DOWN +} diff --git a/src/main/java/ninja/bytecode/iris/util/ShurikenQueue.java b/src/main/java/ninja/bytecode/iris/util/ShurikenQueue.java deleted file mode 100644 index 94c7f9702..000000000 --- a/src/main/java/ninja/bytecode/iris/util/ShurikenQueue.java +++ /dev/null @@ -1,88 +0,0 @@ -package ninja.bytecode.iris.util; - -public class ShurikenQueue implements Queue -{ - private KList queue; - private boolean randomPop; - private boolean reversePop; - - public ShurikenQueue() - { - clear(); - } - - public ShurikenQueue responsiveMode() - { - reversePop = true; - return this; - } - - public ShurikenQueue randomMode() - { - randomPop = true; - return this; - } - - @Override - public ShurikenQueue queue(T t) - { - queue.add(t); - return this; - } - - @Override - public ShurikenQueue queue(KList t) - { - queue.add(t); - return this; - } - - @Override - public boolean hasNext(int amt) - { - return queue.size() >= amt; - } - - @Override - public boolean hasNext() - { - return !queue.isEmpty(); - } - - @Override - public T next() - { - return reversePop ? queue.popLast() : randomPop ? queue.popRandom() : queue.pop(); - } - - @Override - public KList next(int amt) - { - KList t = new KList<>(); - - for(int i = 0; i < amt; i++) - { - if(!hasNext()) - { - break; - } - - t.add(next()); - } - - return t; - } - - @Override - public ShurikenQueue clear() - { - queue = new KList(); - return this; - } - - @Override - public int size() - { - return queue.size(); - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/WeightMap.java b/src/main/java/ninja/bytecode/iris/util/WeightMap.java index 532c45774..322e91201 100644 --- a/src/main/java/ninja/bytecode/iris/util/WeightMap.java +++ b/src/main/java/ninja/bytecode/iris/util/WeightMap.java @@ -1,5 +1,7 @@ package ninja.bytecode.iris.util; +import ninja.bytecode.shuriken.collections.KMap; + public class WeightMap extends KMap { private static final long serialVersionUID = 87558033900969389L; diff --git a/src/main/java/ninja/bytecode/iris/util/XML.java b/src/main/java/ninja/bytecode/iris/util/XML.java deleted file mode 100644 index 99afd5f7a..000000000 --- a/src/main/java/ninja/bytecode/iris/util/XML.java +++ /dev/null @@ -1,584 +0,0 @@ -package ninja.bytecode.iris.util; - - -/* -Copyright (c) 2002 JSON.org - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -The Software shall be used for Good, not Evil. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -*/ - -import java.util.Iterator; - -/** - * This provides static methods to convert an XML text into a JSONObject, and to - * covert a JSONObject into an XML text. - * - * @author JSON.org - * @version 2014-05-03 - */ -public class XML -{ - - /** The Character '&'. */ - public static final Character AMP = '&'; - - /** The Character '''. */ - public static final Character APOS = '\''; - - /** The Character '!'. */ - public static final Character BANG = '!'; - - /** The Character '='. */ - public static final Character EQ = '='; - - /** The Character '>'. */ - public static final Character GT = '>'; - - /** The Character '<'. */ - public static final Character LT = '<'; - - /** The Character '?'. */ - public static final Character QUEST = '?'; - - /** The Character '"'. */ - public static final Character QUOT = '"'; - - /** The Character '/'. */ - public static final Character SLASH = '/'; - - /** - * Replace special characters with XML escapes: - * - *

-	 * & (ampersand) is replaced by &amp;
-	 * < (less than) is replaced by &lt;
-	 * > (greater than) is replaced by &gt;
-	 * " (double quote) is replaced by &quot;
-	 * 
- * - * @param string - * The string to be escaped. - * @return The escaped string. - */ - public static String escape(String string) - { - StringBuilder sb = new StringBuilder(string.length()); - for(int i = 0, length = string.length(); i < length; i++) - { - char c = string.charAt(i); - switch(c) - { - case '&': - sb.append("&"); - break; - case '<': - sb.append("<"); - break; - case '>': - sb.append(">"); - break; - case '"': - sb.append("""); - break; - case '\'': - sb.append("'"); - break; - default: - sb.append(c); - } - } - return sb.toString(); - } - - /** - * Throw an exception if the string contains whitespace. Whitespace is not - * allowed in tagNames and attributes. - * - * @param string - * A string. - * @throws JSONException - */ - public static void noSpace(String string) throws JSONException - { - int i, length = string.length(); - if(length == 0) - { - throw new JSONException("Empty string."); - } - for(i = 0; i < length; i += 1) - { - if(Character.isWhitespace(string.charAt(i))) - { - throw new JSONException("'" + string + "' contains a space character."); - } - } - } - - /** - * Scan the content following the named tag, attaching it to the context. - * - * @param x - * The XMLTokener containing the source string. - * @param context - * The JSONObject that will include the new material. - * @param name - * The tag name. - * @return true if the close tag is processed. - * @throws JSONException - */ - private static boolean parse(XMLTokener x, JSONObject context, String name) throws JSONException - { - char c; - int i; - JSONObject jsonobject = null; - String string; - String tagName; - Object token; - - // Test for and skip past these forms: - // - // - // - // - // Report errors for these forms: - // <> - // <= - // << - - token = x.nextToken(); - - // "); - return false; - } - x.back(); - } else if(c == '[') - { - token = x.nextToken(); - if("CDATA".equals(token)) - { - if(x.next() == '[') - { - string = x.nextCDATA(); - if(string.length() > 0) - { - context.accumulate("content", string); - } - return false; - } - } - throw x.syntaxError("Expected 'CDATA['"); - } - i = 1; - do - { - token = x.nextMeta(); - if(token == null) - { - throw x.syntaxError("Missing '>' after ' 0); - return false; - } else if(token == QUEST) - { - - // "); - return false; - } else if(token == SLASH) - { - - // Close tag - - } else if(token == SLASH) - { - if(x.nextToken() != GT) - { - throw x.syntaxError("Misshaped tag"); - } - if(jsonobject.length() > 0) - { - context.accumulate(tagName, jsonobject); - } else - { - context.accumulate(tagName, ""); - } - return false; - - // Content, between <...> and - - } else if(token == GT) - { - for(;;) - { - token = x.nextContent(); - if(token == null) - { - if(tagName != null) - { - throw x.syntaxError("Unclosed tag " + tagName); - } - return false; - } else if(token instanceof String) - { - string = (String) token; - if(string.length() > 0) - { - jsonobject.accumulate("content", XML.stringToValue(string)); - } - - // Nested element - - } else if(token == LT) - { - if(parse(x, jsonobject, tagName)) - { - if(jsonobject.length() == 0) - { - context.accumulate(tagName, ""); - } else if(jsonobject.length() == 1 && jsonobject.opt("content") != null) - { - context.accumulate(tagName, jsonobject.opt("content")); - } else - { - context.accumulate(tagName, jsonobject); - } - return false; - } - } - } - } else - { - throw x.syntaxError("Misshaped tag"); - } - } - } - } - - /** - * Try to convert a string into a number, boolean, or null. If the string - * can't be converted, return the string. This is much less ambitious than - * JSONObject.stringToValue, especially because it does not attempt to - * convert plus forms, octal forms, hex forms, or E forms lacking decimal - * points. - * - * @param string - * A String. - * @return A simple JSON value. - */ - public static Object stringToValue(String string) - { - if("true".equalsIgnoreCase(string)) - { - return Boolean.TRUE; - } - if("false".equalsIgnoreCase(string)) - { - return Boolean.FALSE; - } - if("null".equalsIgnoreCase(string)) - { - return JSONObject.NULL; - } - - // If it might be a number, try converting it, first as a Long, and then - // as a - // Double. If that doesn't work, return the string. - - try - { - char initial = string.charAt(0); - if(initial == '-' || (initial >= '0' && initial <= '9')) - { - Long value = new Long(string); - if(value.toString().equals(string)) - { - return value; - } - } - } catch(Exception ignore) - { - try - { - Double value = new Double(string); - if(value.toString().equals(string)) - { - return value; - } - } catch(Exception ignoreAlso) - { - } - } - return string; - } - - /** - * Convert a well-formed (but not necessarily valid) XML string into a - * JSONObject. Some information may be lost in this transformation because - * JSON is a data format and XML is a document format. XML uses elements, - * attributes, and content text, while JSON uses unordered collections of - * name/value pairs and arrays of values. JSON does not does not like to - * distinguish between elements and attributes. Sequences of similar - * elements are represented as JSONArrays. Content text may be placed in a - * "content" member. Comments, prologs, DTDs, and <[ [ ]]> - * are ignored. - * - * @param string - * The source string. - * @return A JSONObject containing the structured data from the XML string. - * @throws JSONException - */ - public static JSONObject toJSONObject(String string) throws JSONException - { - JSONObject jo = new JSONObject(); - XMLTokener x = new XMLTokener(string); - while(x.more() && x.skipPast("<")) - { - parse(x, jo, null); - } - return jo; - } - - /** - * Convert a JSONObject into a well-formed, element-normal XML string. - * - * @param object - * A JSONObject. - * @return A string. - * @throws JSONException - */ - public static String toString(Object object) throws JSONException - { - return toString(object, null); - } - - /** - * Convert a JSONObject into a well-formed, element-normal XML string. - * - * @param object - * A JSONObject. - * @param tagName - * The optional name of the enclosing tag. - * @return A string. - * @throws JSONException - */ - public static String toString(Object object, String tagName) throws JSONException - { - StringBuilder sb = new StringBuilder(); - int i; - JSONArray ja; - JSONObject jo; - String key; - Iterator keys; - int length; - String string; - Object value; - if(object instanceof JSONObject) - { - - // Emit - - if(tagName != null) - { - sb.append('<'); - sb.append(tagName); - sb.append('>'); - } - - // Loop thru the keys. - - jo = (JSONObject) object; - keys = jo.keys(); - while(keys.hasNext()) - { - key = keys.next(); - value = jo.opt(key); - if(value == null) - { - value = ""; - } - string = value instanceof String ? (String) value : null; - - // Emit content in body - - if("content".equals(key)) - { - if(value instanceof JSONArray) - { - ja = (JSONArray) value; - length = ja.length(); - for(i = 0; i < length; i += 1) - { - if(i > 0) - { - sb.append('\n'); - } - sb.append(escape(ja.get(i).toString())); - } - } else - { - sb.append(escape(value.toString())); - } - - // Emit an array of similar keys - - } else if(value instanceof JSONArray) - { - ja = (JSONArray) value; - length = ja.length(); - for(i = 0; i < length; i += 1) - { - value = ja.get(i); - if(value instanceof JSONArray) - { - sb.append('<'); - sb.append(key); - sb.append('>'); - sb.append(toString(value)); - sb.append("'); - } else - { - sb.append(toString(value, key)); - } - } - } else if("".equals(value)) - { - sb.append('<'); - sb.append(key); - sb.append("/>"); - - // Emit a new tag - - } else - { - sb.append(toString(value, key)); - } - } - if(tagName != null) - { - - // Emit the close tag - - sb.append("'); - } - return sb.toString(); - - // XML does not have good support for arrays. If an array appears in - // a place - // where XML is lacking, synthesize an element. - - } else - { - if(object.getClass().isArray()) - { - object = new JSONArray(object); - } - if(object instanceof JSONArray) - { - ja = (JSONArray) object; - length = ja.length(); - for(i = 0; i < length; i += 1) - { - sb.append(toString(ja.opt(i), tagName == null ? "array" : tagName)); - } - return sb.toString(); - } else - { - string = (object == null) ? "null" : escape(object.toString()); - return (tagName == null) ? "\"" + string + "\"" : (string.length() == 0) ? "<" + tagName + "/>" : "<" + tagName + ">" + string + ""; - } - } - } -} diff --git a/src/main/java/ninja/bytecode/iris/util/XMLTokener.java b/src/main/java/ninja/bytecode/iris/util/XMLTokener.java deleted file mode 100644 index df5062b41..000000000 --- a/src/main/java/ninja/bytecode/iris/util/XMLTokener.java +++ /dev/null @@ -1,425 +0,0 @@ -package ninja.bytecode.iris.util; - - -/* -Copyright (c) 2002 JSON.org - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -The Software shall be used for Good, not Evil. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -*/ - -/** - * The XMLTokener extends the JSONTokener to provide additional methods for the - * parsing of XML texts. - * - * @author JSON.org - * @version 2014-05-03 - */ -public class XMLTokener extends JSONTokener -{ - - /** - * The table of entity values. It initially contains Character values for - * amp, apos, gt, lt, quot. - */ - public static final java.util.HashMap entity; - - static - { - entity = new java.util.HashMap(8); - entity.put("amp", XML.AMP); - entity.put("apos", XML.APOS); - entity.put("gt", XML.GT); - entity.put("lt", XML.LT); - entity.put("quot", XML.QUOT); - } - - /** - * Construct an XMLTokener from a string. - * - * @param s - * A source string. - */ - public XMLTokener(String s) - { - super(s); - } - - /** - * Get the text in the CDATA block. - * - * @return The string up to the ]]>. - * @throws JSONException - * If the ]]> is not found. - */ - public String nextCDATA() throws JSONException - { - char c; - int i; - StringBuilder sb = new StringBuilder(); - for(;;) - { - c = next(); - if(end()) - { - throw syntaxError("Unclosed CDATA"); - } - sb.append(c); - i = sb.length() - 3; - if(i >= 0 && sb.charAt(i) == ']' && sb.charAt(i + 1) == ']' && sb.charAt(i + 2) == '>') - { - sb.setLength(i); - return sb.toString(); - } - } - } - - /** - * Get the next XML outer token, trimming whitespace. There are two kinds of - * tokens: the '<' character which begins a markup tag, and the content text - * between markup tags. - * - * @return A string, or a '<' Character, or null if there is no more source - * text. - * @throws JSONException - */ - public Object nextContent() throws JSONException - { - char c; - StringBuilder sb; - do - { - c = next(); - } while(Character.isWhitespace(c)); - if(c == 0) - { - return null; - } - if(c == '<') - { - return XML.LT; - } - sb = new StringBuilder(); - for(;;) - { - if(c == '<' || c == 0) - { - back(); - return sb.toString().trim(); - } - if(c == '&') - { - sb.append(nextEntity(c)); - } else - { - sb.append(c); - } - c = next(); - } - } - - /** - * Return the next entity. These entities are translated to Characters: - * & ' > < ". - * - * @param ampersand - * An ampersand character. - * @return A Character or an entity String if the entity is not recognized. - * @throws JSONException - * If missing ';' in XML entity. - */ - public Object nextEntity(char ampersand) throws JSONException - { - StringBuilder sb = new StringBuilder(); - for(;;) - { - char c = next(); - if(Character.isLetterOrDigit(c) || c == '#') - { - sb.append(Character.toLowerCase(c)); - } else if(c == ';') - { - break; - } else - { - throw syntaxError("Missing ';' in XML entity: &" + sb); - } - } - String string = sb.toString(); - Object object = entity.get(string); - return object != null ? object : ampersand + string + ";"; - } - - /** - * Returns the next XML meta token. This is used for skipping over - * and structures. - * - * @return Syntax characters (< > / = ! ?) are returned as - * Character, and strings and names are returned as Boolean. We - * don't care what the values actually are. - * @throws JSONException - * If a string is not properly closed or if the XML is badly - * structured. - */ - public Object nextMeta() throws JSONException - { - char c; - char q; - do - { - c = next(); - } while(Character.isWhitespace(c)); - switch(c) - { - case 0: - throw syntaxError("Misshaped meta tag"); - case '<': - return XML.LT; - case '>': - return XML.GT; - case '/': - return XML.SLASH; - case '=': - return XML.EQ; - case '!': - return XML.BANG; - case '?': - return XML.QUEST; - case '"': - case '\'': - q = c; - for(;;) - { - c = next(); - if(c == 0) - { - throw syntaxError("Unterminated string"); - } - if(c == q) - { - return Boolean.TRUE; - } - } - default: - for(;;) - { - c = next(); - if(Character.isWhitespace(c)) - { - return Boolean.TRUE; - } - switch(c) - { - case 0: - case '<': - case '>': - case '/': - case '=': - case '!': - case '?': - case '"': - case '\'': - back(); - return Boolean.TRUE; - } - } - } - } - - /** - * Get the next XML Token. These tokens are found inside of angle brackets. - * It may be one of these characters: / > = ! ? or it may be a - * string wrapped in single quotes or double quotes, or it may be a name. - * - * @return a String or a Character. - * @throws JSONException - * If the XML is not well formed. - */ - public Object nextToken() throws JSONException - { - char c; - char q; - StringBuilder sb; - do - { - c = next(); - } while(Character.isWhitespace(c)); - switch(c) - { - case 0: - throw syntaxError("Misshaped element"); - case '<': - throw syntaxError("Misplaced '<'"); - case '>': - return XML.GT; - case '/': - return XML.SLASH; - case '=': - return XML.EQ; - case '!': - return XML.BANG; - case '?': - return XML.QUEST; - - // Quoted string - - case '"': - case '\'': - q = c; - sb = new StringBuilder(); - for(;;) - { - c = next(); - if(c == 0) - { - throw syntaxError("Unterminated string"); - } - if(c == q) - { - return sb.toString(); - } - if(c == '&') - { - sb.append(nextEntity(c)); - } else - { - sb.append(c); - } - } - default: - - // Name - - sb = new StringBuilder(); - for(;;) - { - sb.append(c); - c = next(); - if(Character.isWhitespace(c)) - { - return sb.toString(); - } - switch(c) - { - case 0: - return sb.toString(); - case '>': - case '/': - case '=': - case '!': - case '?': - case '[': - case ']': - back(); - return sb.toString(); - case '<': - case '"': - case '\'': - throw syntaxError("Bad character in a name"); - } - } - } - } - - /** - * Skip characters until past the requested string. If it is not found, we - * are left at the end of the source with a result of false. - * - * @param to - * A string to skip past. - * @throws JSONException - */ - public boolean skipPast(String to) throws JSONException - { - boolean b; - char c; - int i; - int j; - int offset = 0; - int length = to.length(); - char[] circle = new char[length]; - - /* - * First fill the circle buffer with as many characters as are in the to - * string. If we reach an early end, bail. - */ - - for(i = 0; i < length; i += 1) - { - c = next(); - if(c == 0) - { - return false; - } - circle[i] = c; - } - - /* We will loop, possibly for all of the remaining characters. */ - - for(;;) - { - j = offset; - b = true; - - /* Compare the circle buffer with the to string. */ - - for(i = 0; i < length; i += 1) - { - if(circle[j] != to.charAt(i)) - { - b = false; - break; - } - j += 1; - if(j >= length) - { - j -= length; - } - } - - /* If we exit the loop with b intact, then victory is ours. */ - - if(b) - { - return true; - } - - /* - * Get the next character. If there isn't one, then defeat is ours. - */ - - c = next(); - if(c == 0) - { - return false; - } - /* - * Shove the character in the circle buffer and advance the circle - * offset. The offset is mod n. - */ - circle[offset] = c; - offset += 1; - if(offset >= length) - { - offset -= length; - } - } - } -} diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 29268c6cb..66fe82995 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -2,5 +2,7 @@ name: ${project.name} version: ${project.version} main: ninja.bytecode.iris.Iris load: STARTUP +commands: + iris: api-version: 1.15 hotload-dependencies: false \ No newline at end of file From 17df8f23c54b03d4bfe9b08c0ccbc6b4c2d0255c Mon Sep 17 00:00:00 2001 From: Daniel Mills Date: Sun, 10 May 2020 20:43:30 -0400 Subject: [PATCH 07/20] Cleanup --- src/main/java/ninja/bytecode/iris/Iris.java | 5 +- .../java/ninja/bytecode/iris/IrisContext.java | 12 +- .../ninja/bytecode/iris/IrisGenerator.java | 373 ------------------ .../iris/generator/BiomeChunkGenerator.java | 64 +++ .../generator/ContextualChunkGenerator.java | 293 ++++++++++++++ .../generator/DimensionChunkGenerator.java | 46 +++ .../iris/generator/IrisGenerator.java | 80 ++++ .../generator/ParallaxChunkGenerator.java | 22 ++ .../generator/ParallelChunkGenerator.java | 92 +++++ .../iris/generator/TerrainChunkGenerator.java | 96 +++++ .../bytecode/iris/layer/GenLayerBiome.java | 4 +- .../iris/object/atomics/AtomicSliver.java | 21 +- .../iris/object/atomics/AtomicSliverMap.java | 42 ++ .../ninja/bytecode/iris/util/GenLayer.java | 6 +- .../ninja/bytecode/iris/util/HeightMap.java | 24 ++ 15 files changed, 797 insertions(+), 383 deletions(-) delete mode 100644 src/main/java/ninja/bytecode/iris/IrisGenerator.java create mode 100644 src/main/java/ninja/bytecode/iris/generator/BiomeChunkGenerator.java create mode 100644 src/main/java/ninja/bytecode/iris/generator/ContextualChunkGenerator.java create mode 100644 src/main/java/ninja/bytecode/iris/generator/DimensionChunkGenerator.java create mode 100644 src/main/java/ninja/bytecode/iris/generator/IrisGenerator.java create mode 100644 src/main/java/ninja/bytecode/iris/generator/ParallaxChunkGenerator.java create mode 100644 src/main/java/ninja/bytecode/iris/generator/ParallelChunkGenerator.java create mode 100644 src/main/java/ninja/bytecode/iris/generator/TerrainChunkGenerator.java create mode 100644 src/main/java/ninja/bytecode/iris/object/atomics/AtomicSliverMap.java create mode 100644 src/main/java/ninja/bytecode/iris/util/HeightMap.java diff --git a/src/main/java/ninja/bytecode/iris/Iris.java b/src/main/java/ninja/bytecode/iris/Iris.java index fce273cb3..ab17e7db6 100644 --- a/src/main/java/ninja/bytecode/iris/Iris.java +++ b/src/main/java/ninja/bytecode/iris/Iris.java @@ -17,6 +17,7 @@ import org.bukkit.entity.Player; import org.bukkit.generator.ChunkGenerator; import org.bukkit.plugin.java.JavaPlugin; +import ninja.bytecode.iris.generator.IrisGenerator; import ninja.bytecode.iris.object.IrisBiome; import ninja.bytecode.iris.object.IrisDimension; import ninja.bytecode.iris.util.BiomeResult; @@ -154,7 +155,7 @@ public class Iris extends JavaPlugin implements BoardProvider imsg(i, "Creating Iris " + dimm + "..."); } - IrisGenerator gx = new IrisGenerator("overworld"); + IrisGenerator gx = new IrisGenerator("overworld", 16); O done = new O(); done.set(false); @@ -207,7 +208,7 @@ public class Iris extends JavaPlugin implements BoardProvider @Override public ChunkGenerator getDefaultWorldGenerator(String worldName, String id) { - return new IrisGenerator("overworld"); + return new IrisGenerator("overworld", 16); } public static void msg(String string) diff --git a/src/main/java/ninja/bytecode/iris/IrisContext.java b/src/main/java/ninja/bytecode/iris/IrisContext.java index 4b1e44533..b742a5435 100644 --- a/src/main/java/ninja/bytecode/iris/IrisContext.java +++ b/src/main/java/ninja/bytecode/iris/IrisContext.java @@ -2,13 +2,15 @@ package ninja.bytecode.iris; import org.bukkit.World; +import ninja.bytecode.iris.object.IrisDimension; +import ninja.bytecode.iris.object.IrisRegion; import ninja.bytecode.iris.util.BiomeResult; import ninja.bytecode.shuriken.collections.KMap; public interface IrisContext { static KMap contexts = new KMap<>(); - + public static void pushContext(IrisContext context) { contexts.put(context.getWorld(), context); @@ -20,8 +22,14 @@ public interface IrisContext } public BiomeResult getBiome(int x, int z); - + + public IrisDimension getDimension(); + + public IrisRegion getRegion(int x, int z); + public IrisMetrics getMetrics(); + public int getHeight(int x, int z); + public World getWorld(); } diff --git a/src/main/java/ninja/bytecode/iris/IrisGenerator.java b/src/main/java/ninja/bytecode/iris/IrisGenerator.java deleted file mode 100644 index 2133c8b71..000000000 --- a/src/main/java/ninja/bytecode/iris/IrisGenerator.java +++ /dev/null @@ -1,373 +0,0 @@ -package ninja.bytecode.iris; - -import java.util.List; -import java.util.Random; -import java.util.concurrent.locks.ReentrantLock; -import java.util.function.Function; - -import org.bukkit.Bukkit; -import org.bukkit.Location; -import org.bukkit.Material; -import org.bukkit.World; -import org.bukkit.block.data.BlockData; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.HandlerList; -import org.bukkit.event.Listener; -import org.bukkit.event.player.PlayerTeleportEvent; -import org.bukkit.event.world.WorldUnloadEvent; -import org.bukkit.generator.BlockPopulator; -import org.bukkit.generator.ChunkGenerator; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import net.md_5.bungee.api.ChatColor; -import ninja.bytecode.iris.layer.GenLayerBiome; -import ninja.bytecode.iris.object.IrisBiome; -import ninja.bytecode.iris.object.IrisDimension; -import ninja.bytecode.iris.object.IrisRegion; -import ninja.bytecode.iris.object.atomics.AtomicSliver; -import ninja.bytecode.iris.util.BiomeResult; -import ninja.bytecode.iris.util.BlockDataTools; -import ninja.bytecode.iris.util.CNG; -import ninja.bytecode.iris.util.ChronoLatch; -import ninja.bytecode.iris.util.GroupedExecutor; -import ninja.bytecode.iris.util.IrisInterpolation; -import ninja.bytecode.iris.util.RNG; -import ninja.bytecode.shuriken.bench.PrecisionStopwatch; -import ninja.bytecode.shuriken.collections.KList; -import ninja.bytecode.shuriken.format.Form; -import ninja.bytecode.shuriken.logging.L; - -@Data -@EqualsAndHashCode(callSuper = false) -public class IrisGenerator extends ChunkGenerator implements IrisContext, Listener -{ - private String dimensionName; - private IrisMetrics metrics; - private World world; - private ChronoLatch perSecond; - private ChronoLatch pushLatch; - private BlockData STONE = Material.STONE.createBlockData(); - private BlockData WATER = Material.WATER.createBlockData(); - private GenLayerBiome glBiome; - private CNG terrainNoise; - private RNG masterRandom; - private GroupedExecutor tx; - private boolean failing = false; - private boolean initialized = false; - private int generated = 0; - private boolean pregenDone = false; - private int task = -1; - - public IrisGenerator(String dimensionName) - { - this.dimensionName = dimensionName; - pushLatch = new ChronoLatch(3000); - perSecond = new ChronoLatch(1000); - CNG.creates = 0; - } - - public IrisDimension getDimension() - { - IrisDimension d = Iris.data.getDimensionLoader().load(dimensionName); - - if(d == null) - { - Iris.error("Can't find dimension: " + dimensionName); - } - - return d; - } - - public void onInit(World world, RNG rng) - { - if(initialized) - { - return; - } - - this.world = world; - this.masterRandom = new RNG(world.getSeed()); - glBiome = new GenLayerBiome(this, masterRandom.nextParallelRNG(1)); - terrainNoise = CNG.signature(masterRandom.nextParallelRNG(2)); - metrics = new IrisMetrics(128); - initialized = true; - tx = new GroupedExecutor(16, Thread.MIN_PRIORITY, "Iris Generator"); - Iris.executors.add(tx); - Bukkit.getServer().getPluginManager().registerEvents(this, Iris.instance); - task = Bukkit.getScheduler().scheduleSyncRepeatingTask(Iris.instance, this::tick, 0, 0); - } - - public void tick() - { - if(perSecond.flip()) - { - if(generated > 770) - { - pregenDone = true; - } - - if(pregenDone) - { - metrics.getPerSecond().put(generated); - generated = 0; - } - } - } - - @EventHandler - public void on(PlayerTeleportEvent e) - { - if(e.getFrom().getWorld().equals(world) && !e.getTo().getWorld().equals(world)) - { - - } - - if(!e.getFrom().getWorld().equals(world) && e.getTo().getWorld().equals(world)) - { - - } - } - - @EventHandler - public void on(WorldUnloadEvent e) - { - if(world != null && e.getWorld().equals(world)) - { - close(); - } - } - - public void close() - { - HandlerList.unregisterAll(this); - Bukkit.getScheduler().cancelTask(getTask()); - } - - @Override - public boolean canSpawn(World world, int x, int z) - { - return super.canSpawn(world, x, z); - } - - public ChunkData generateChunkDataFailure(World world, Random no, int x, int z, BiomeGrid biomeGrid) - { - ChunkData c = Bukkit.createChunkData(world); - - for(int i = 0; i < 16; i++) - { - for(int j = 0; j < 16; j++) - { - int h = 0; - - if(j == i || j + i == 16) - { - c.setBlock(i, h, j, BlockDataTools.getBlockData("RED_TERRACOTTA")); - } - - else - { - c.setBlock(i, h, j, BlockDataTools.getBlockData("BLACK_TERRACOTTA")); - } - } - } - - return c; - } - - @Override - public ChunkData generateChunkData(World world, Random no, int x, int z, BiomeGrid biomeGrid) - { - PrecisionStopwatch sx = PrecisionStopwatch.start(); - - if(failing) - { - return generateChunkDataFailure(world, no, x, z, biomeGrid); - } - - try - { - if(pushLatch.flip()) - { - if(this.world == null) - { - this.world = world; - } - - Iris.hotloader.check(); - IrisContext.pushContext(this); - if(metrics != null) - { - Iris.info("Generating " + Form.f(1000D / metrics.getTotal().getAverage(), 0) + "/s (" + Form.duration(metrics.getTotal().getAverage(), 2) + ")"); - } - } - - String key = "c" + x + "," + z; - PrecisionStopwatch s = PrecisionStopwatch.start(); - RNG random = new RNG(world.getSeed()); - onInit(world, random.nextParallelRNG(0)); - ChunkData c = Bukkit.createChunkData(world); - int ii, jj; - int fluidHeight = getDimension().getFluidHeight(); - KList collapse = new KList<>(); - ReentrantLock l = new ReentrantLock(); - - for(ii = 0; ii < 16; ii++) - { - int i = ii; - for(jj = 0; jj < 16; jj++) - { - int j = jj; - tx.queue(key, () -> - { - BlockData block; - int rx = (x * 16) + i; - int rz = (z * 16) + j; - AtomicSliver sliver = new AtomicSliver(i, j); - double ox = (getDimension().cosRotate() * rx) + (-getDimension().sinRotate() * rz) + getDimension().getCoordFracture(random, 39392).fitDoubleD(-getDimension().getCoordFractureDistance() / 2, getDimension().getCoordFractureDistance() / 2, rx, rz); - double oz = (getDimension().sinRotate() * rx) + (getDimension().cosRotate() * rz) + getDimension().getCoordFracture(random, 39392).fitDoubleD(-getDimension().getCoordFractureDistance() / 2, getDimension().getCoordFractureDistance() / 2, rx, rz); - double wx = (double) (ox) / getDimension().getTerrainZoom(); - double wz = (double) (oz) / getDimension().getTerrainZoom(); - int depth = 0; - IrisRegion region = glBiome.getRegion(wx, wz); - BiomeResult biomeResult = glBiome.generateRegionData(wx, wz, region); - IrisBiome biome = biomeResult.getBiome(); - double lo = interpolateHeight(ox, oz, (b) -> b.getLowHeight()); - double hi = interpolateSurface(ox, oz, (b) -> b.getHighHeight()); - double noise = lo + (terrainNoise.fitDoubleD(0, hi - lo, wx, wz)); - int height = (int) Math.round(noise) + fluidHeight; - - // Remove Land biome surfaces from underwater - if(height < fluidHeight + 1) - { - if(biome.isLand()) - { - biome = glBiome.generateShoreData(wx, wz, region).getBiome(); - } - } - - KList layers = biome.generateLayers(wx, wz, random, height); - - for(int k = Math.max(height, fluidHeight); k >= 0; k--) - { - boolean underwater = k > height && k <= fluidHeight; - sliver.set(k, biome.getDerivative()); - // biomeGrid.setBiome(i, k, j, biome.getDerivative()); - - if(underwater) - { - block = WATER; - } - - else - { - block = layers.hasIndex(depth) ? layers.get(depth) : STONE; - depth++; - } - - sliver.set(k, block); - // c.setBlock(i, k, j, block); - } - - l.lock(); - collapse.add(() -> - { - sliver.write(c); - sliver.write(biomeGrid); - }); - l.unlock(); - }); - } - } - - tx.waitFor(key); - collapse.forEach((i) -> i.run()); - metrics.getTotal().put(s.getMilliseconds()); - generated++; - long hits = CNG.hits; - CNG.hits = 0; - Iris.instance.hit(hits); - metrics.getLoss().put(sx.getMilliseconds() - s.getMilliseconds()); - - return c; - } - - catch(Throwable e) - { - failing = true; - Iris.error("ERROR! Failed to generate chunk! Iris has entered a failed state!"); - - for(Player i : world.getPlayers()) - { - Iris.instance.imsg(i, ChatColor.DARK_RED + "Iris Generator has entered a failed state!"); - Iris.instance.imsg(i, ChatColor.RED + "- Check the console for the error."); - Iris.instance.imsg(i, ChatColor.RED + "- Then simply run /iris dev"); - } - - L.ex(e); - } - - return generateChunkDataFailure(world, no, x, z, biomeGrid); - } - - public double interpolateHeight(double rx, double rz, Function property) - { - return IrisInterpolation.getNoise(getDimension().getInterpolationFunction(), (int) Math.round(rx), (int) Math.round(rz), getDimension().getInterpolationScale(), (xx, zz) -> - { - BiomeResult neighborResult = glBiome.generateData(xx / getDimension().getTerrainZoom(), zz / getDimension().getTerrainZoom()); - return property.apply(neighborResult.getBiome()); - }); - } - - public double interpolateSurface(double rx, double rz, Function property) - { - return IrisInterpolation.getNoise(getDimension().getInterpolationSurfaceFunction(), (int) Math.round(rx), (int) Math.round(rz), getDimension().getInterpolationSurfaceScale(), (xx, zz) -> - { - BiomeResult neighborResult = glBiome.generateData(xx / getDimension().getTerrainZoom(), zz / getDimension().getTerrainZoom()); - return property.apply(neighborResult.getBiome()); - }); - } - - @Override - public List getDefaultPopulators(World world) - { - return super.getDefaultPopulators(world); - } - - @Override - public Location getFixedSpawnLocation(World world, Random random) - { - return super.getFixedSpawnLocation(world, random); - } - - @Override - public boolean isParallelCapable() - { - return true; - } - - @Override - public IrisMetrics getMetrics() - { - return metrics; - } - - @Override - public World getWorld() - { - return world; - } - - @Override - public BiomeResult getBiome(int rx, int rz) - { - RNG random = new RNG(world.getSeed()); - double ox = (getDimension().cosRotate() * rx) + (-getDimension().sinRotate() * rz) + getDimension().getCoordFracture(random, 39392).fitDoubleD(-getDimension().getCoordFractureDistance() / 2, getDimension().getCoordFractureDistance() / 2, rx, rz); - double oz = (getDimension().sinRotate() * rx) + (getDimension().cosRotate() * rz) + getDimension().getCoordFracture(random, 39392).fitDoubleD(-getDimension().getCoordFractureDistance() / 2, getDimension().getCoordFractureDistance() / 2, rx, rz); - double wx = (double) (ox) / getDimension().getTerrainZoom(); - double wz = (double) (oz) / getDimension().getTerrainZoom(); - IrisRegion region = glBiome.getRegion(wx, wz); - return glBiome.generateRegionData(wx, wz, region); - } -} diff --git a/src/main/java/ninja/bytecode/iris/generator/BiomeChunkGenerator.java b/src/main/java/ninja/bytecode/iris/generator/BiomeChunkGenerator.java new file mode 100644 index 000000000..7f1c6baae --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/generator/BiomeChunkGenerator.java @@ -0,0 +1,64 @@ +package ninja.bytecode.iris.generator; + +import java.util.function.Function; + +import org.bukkit.World; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import ninja.bytecode.iris.layer.GenLayerBiome; +import ninja.bytecode.iris.object.IrisBiome; +import ninja.bytecode.iris.object.IrisRegion; +import ninja.bytecode.iris.util.BiomeResult; +import ninja.bytecode.iris.util.IrisInterpolation; +import ninja.bytecode.iris.util.RNG; + +@Data +@EqualsAndHashCode(callSuper = false) +public abstract class BiomeChunkGenerator extends DimensionChunkGenerator +{ + protected GenLayerBiome glBiome; + + public BiomeChunkGenerator(String dimensionName) + { + super(dimensionName); + } + + public void onInit(World world, RNG rng) + { + glBiome = new GenLayerBiome(this, masterRandom.nextParallelRNG(1)); + } + + public IrisRegion sampleRegion(int x, int z) + { + double wx = getZoomed(getModifiedX(x, z)); + double wz = getZoomed(getModifiedZ(x, z)); + return glBiome.getRegion(wx, wz); + } + + public BiomeResult sampleBiome(int x, int z) + { + double wx = getZoomed(getModifiedX(x, z)); + double wz = getZoomed(getModifiedZ(x, z)); + IrisRegion region = glBiome.getRegion(wx, wz); + return glBiome.generateRegionData(wx, wz, region); + } + + protected double interpolateHeight(double rx, double rz, Function property) + { + return IrisInterpolation.getNoise(getDimension().getInterpolationFunction(), (int) Math.round(rx), (int) Math.round(rz), getDimension().getInterpolationScale(), (xx, zz) -> + { + BiomeResult neighborResult = glBiome.generateData(xx / getDimension().getTerrainZoom(), zz / getDimension().getTerrainZoom()); + return property.apply(neighborResult.getBiome()); + }); + } + + protected double interpolateSurface(double rx, double rz, Function property) + { + return IrisInterpolation.getNoise(getDimension().getInterpolationSurfaceFunction(), (int) Math.round(rx), (int) Math.round(rz), getDimension().getInterpolationSurfaceScale(), (xx, zz) -> + { + BiomeResult neighborResult = glBiome.generateData(xx / getDimension().getTerrainZoom(), zz / getDimension().getTerrainZoom()); + return property.apply(neighborResult.getBiome()); + }); + } +} diff --git a/src/main/java/ninja/bytecode/iris/generator/ContextualChunkGenerator.java b/src/main/java/ninja/bytecode/iris/generator/ContextualChunkGenerator.java new file mode 100644 index 000000000..ed27df212 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/generator/ContextualChunkGenerator.java @@ -0,0 +1,293 @@ +package ninja.bytecode.iris.generator; + +import java.util.List; +import java.util.Random; + +import org.bukkit.Bukkit; +import org.bukkit.Chunk; +import org.bukkit.Location; +import org.bukkit.World; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.HandlerList; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerJoinEvent; +import org.bukkit.event.player.PlayerQuitEvent; +import org.bukkit.event.player.PlayerTeleportEvent; +import org.bukkit.event.world.ChunkLoadEvent; +import org.bukkit.event.world.ChunkUnloadEvent; +import org.bukkit.event.world.WorldUnloadEvent; +import org.bukkit.generator.BlockPopulator; +import org.bukkit.generator.ChunkGenerator; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import net.md_5.bungee.api.ChatColor; +import ninja.bytecode.iris.Iris; +import ninja.bytecode.iris.IrisContext; +import ninja.bytecode.iris.IrisMetrics; +import ninja.bytecode.iris.util.BlockDataTools; +import ninja.bytecode.iris.util.CNG; +import ninja.bytecode.iris.util.ChronoLatch; +import ninja.bytecode.iris.util.RNG; +import ninja.bytecode.shuriken.bench.PrecisionStopwatch; +import ninja.bytecode.shuriken.logging.L; + +@Data +@EqualsAndHashCode(callSuper = false) +public abstract class ContextualChunkGenerator extends ChunkGenerator implements Listener +{ + protected boolean failing; + protected int task; + protected boolean initialized; + protected RNG masterRandom; + protected ChronoLatch perSecond; + protected ChronoLatch pushLatch; + protected IrisMetrics metrics; + protected World world; + protected int generated; + protected int ticks; + protected boolean pregenDone; + + public ContextualChunkGenerator() + { + pushLatch = new ChronoLatch(3000); + perSecond = new ChronoLatch(1000); + CNG.creates = 0; + generated = 0; + ticks = 0; + task = -1; + initialized = false; + failing = false; + pregenDone = false; + } + + protected abstract void onGenerate(RNG masterRandom, int x, int z, ChunkData data, BiomeGrid grid); + + protected abstract void onInit(World world, RNG masterRandom); + + protected abstract void onTick(int ticks); + + protected abstract void onClose(); + + protected abstract void onFailure(Throwable e); + + protected abstract void onChunkLoaded(Chunk c); + + protected abstract void onChunkUnloaded(Chunk c); + + protected abstract void onPlayerJoin(Player p); + + protected abstract void onPlayerLeft(Player p); + + private void init(World world, RNG rng) + { + if(initialized) + { + return; + } + + this.world = world; + this.masterRandom = new RNG(world.getSeed()); + metrics = new IrisMetrics(128); + initialized = true; + Bukkit.getServer().getPluginManager().registerEvents(this, Iris.instance); + task = Bukkit.getScheduler().scheduleSyncRepeatingTask(Iris.instance, this::tick, 0, 0); + onInit(world, masterRandom); + } + + private void tick() + { + if(perSecond.flip()) + { + if(generated > 770) + { + pregenDone = true; + } + + if(pregenDone) + { + metrics.getPerSecond().put(generated); + generated = 0; + } + } + + onTick(ticks++); + } + + @EventHandler + public void on(PlayerTeleportEvent e) + { + if(e.getFrom().getWorld().equals(world) && !e.getTo().getWorld().equals(world)) + { + onPlayerLeft(e.getPlayer()); + } + + if(!e.getFrom().getWorld().equals(world) && e.getTo().getWorld().equals(world)) + { + onPlayerJoin(e.getPlayer()); + } + } + + @EventHandler + public void on(PlayerQuitEvent e) + { + if(e.getPlayer().getWorld().equals(world)) + { + onPlayerLeft(e.getPlayer()); + } + } + + @EventHandler + public void on(PlayerJoinEvent e) + { + if(e.getPlayer().getWorld().equals(world)) + { + onPlayerJoin(e.getPlayer()); + } + } + + @EventHandler + public void on(ChunkLoadEvent e) + { + if(e.getWorld().equals(world)) + { + onChunkLoaded(e.getChunk()); + } + } + + @EventHandler + public void on(ChunkUnloadEvent e) + { + if(e.getWorld().equals(world)) + { + onChunkUnloaded(e.getChunk()); + } + } + + @EventHandler + public void on(WorldUnloadEvent e) + { + if(world != null && e.getWorld().equals(world)) + { + close(); + } + } + + protected void close() + { + HandlerList.unregisterAll(this); + Bukkit.getScheduler().cancelTask(getTask()); + onClose(); + } + + @Override + public boolean canSpawn(World world, int x, int z) + { + return super.canSpawn(world, x, z); + } + + protected ChunkData generateChunkDataFailure(World world, Random no, int x, int z, BiomeGrid biomeGrid) + { + ChunkData c = Bukkit.createChunkData(world); + + for(int i = 0; i < 16; i++) + { + for(int j = 0; j < 16; j++) + { + int h = 0; + + if(j == i || j + i == 16) + { + c.setBlock(i, h, j, BlockDataTools.getBlockData("RED_TERRACOTTA")); + } + + else + { + c.setBlock(i, h, j, BlockDataTools.getBlockData("BLACK_TERRACOTTA")); + } + } + } + + return c; + } + + @Override + public ChunkData generateChunkData(World world, Random no, int x, int z, BiomeGrid biomeGrid) + { + PrecisionStopwatch sx = PrecisionStopwatch.start(); + + if(failing) + { + return generateChunkDataFailure(world, no, x, z, biomeGrid); + } + + try + { + if(pushLatch.flip()) + { + if(this.world == null) + { + this.world = world; + } + + Iris.hotloader.check(); + + if(this instanceof IrisContext) + { + IrisContext.pushContext((IrisContext) this); + } + } + + PrecisionStopwatch s = PrecisionStopwatch.start(); + RNG random = new RNG(world.getSeed()); + init(world, random.nextParallelRNG(0)); + ChunkData c = Bukkit.createChunkData(world); + onGenerate(random, x, z, c, biomeGrid); + metrics.getTotal().put(s.getMilliseconds()); + generated++; + long hits = CNG.hits; + CNG.hits = 0; + Iris.instance.hit(hits); + metrics.getLoss().put(sx.getMilliseconds() - s.getMilliseconds()); + + return c; + } + + catch(Throwable e) + { + failing = true; + Iris.error("ERROR! Failed to generate chunk! Iris has entered a failed state!"); + + for(Player i : world.getPlayers()) + { + Iris.instance.imsg(i, ChatColor.DARK_RED + "Iris Generator has entered a failed state!"); + Iris.instance.imsg(i, ChatColor.RED + "- Check the console for the error."); + Iris.instance.imsg(i, ChatColor.RED + "- Then simply run /iris dev"); + } + + L.ex(e); + onFailure(e); + } + + return generateChunkDataFailure(world, no, x, z, biomeGrid); + } + + @Override + public List getDefaultPopulators(World world) + { + return super.getDefaultPopulators(world); + } + + @Override + public Location getFixedSpawnLocation(World world, Random random) + { + return super.getFixedSpawnLocation(world, random); + } + + @Override + public boolean isParallelCapable() + { + return true; + } +} diff --git a/src/main/java/ninja/bytecode/iris/generator/DimensionChunkGenerator.java b/src/main/java/ninja/bytecode/iris/generator/DimensionChunkGenerator.java new file mode 100644 index 000000000..33409913c --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/generator/DimensionChunkGenerator.java @@ -0,0 +1,46 @@ +package ninja.bytecode.iris.generator; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import ninja.bytecode.iris.Iris; +import ninja.bytecode.iris.object.IrisDimension; + +@Data +@EqualsAndHashCode(callSuper = false) +public abstract class DimensionChunkGenerator extends ContextualChunkGenerator +{ + protected final String dimensionName; + + public DimensionChunkGenerator(String dimensionName) + { + super(); + this.dimensionName = dimensionName; + } + + public IrisDimension getDimension() + { + IrisDimension d = Iris.data.getDimensionLoader().load(dimensionName); + + if(d == null) + { + Iris.error("Can't find dimension: " + dimensionName); + } + + return d; + } + + public double getModifiedX(int rx, int rz) + { + return (getDimension().cosRotate() * rx) + (-getDimension().sinRotate() * rz) + getDimension().getCoordFracture(masterRandom, 39392).fitDoubleD(-getDimension().getCoordFractureDistance() / 2, getDimension().getCoordFractureDistance() / 2, rx, rz); + } + + public double getModifiedZ(int rx, int rz) + { + return (getDimension().sinRotate() * rx) + (getDimension().cosRotate() * rz) + getDimension().getCoordFracture(masterRandom, 39392).fitDoubleD(-getDimension().getCoordFractureDistance() / 2, getDimension().getCoordFractureDistance() / 2, rx, rz); + } + + public double getZoomed(double modified) + { + return (double) (modified) / getDimension().getTerrainZoom(); + } +} diff --git a/src/main/java/ninja/bytecode/iris/generator/IrisGenerator.java b/src/main/java/ninja/bytecode/iris/generator/IrisGenerator.java new file mode 100644 index 000000000..c5e6d32b8 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/generator/IrisGenerator.java @@ -0,0 +1,80 @@ +package ninja.bytecode.iris.generator; + +import org.bukkit.Chunk; +import org.bukkit.entity.Player; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import ninja.bytecode.iris.IrisContext; +import ninja.bytecode.iris.object.IrisRegion; +import ninja.bytecode.iris.util.BiomeResult; + +@Data +@EqualsAndHashCode(callSuper = false) +public class IrisGenerator extends ParallaxChunkGenerator implements IrisContext +{ + public IrisGenerator(String dimensionName, int threads) + { + super(dimensionName, threads); + } + + @Override + public BiomeResult getBiome(int x, int z) + { + return sampleBiome(x, z); + } + + @Override + public IrisRegion getRegion(int x, int z) + { + return sampleRegion(x, z); + } + + @Override + public int getHeight(int x, int z) + { + return sampleHeight(x, z); + } + + @Override + protected void onTick(int ticks) + { + + } + + @Override + protected void onClose() + { + + } + + @Override + protected void onFailure(Throwable e) + { + + } + + @Override + protected void onChunkLoaded(Chunk c) + { + + } + + @Override + protected void onChunkUnloaded(Chunk c) + { + + } + + @Override + protected void onPlayerJoin(Player p) + { + + } + + @Override + protected void onPlayerLeft(Player p) + { + + } +} diff --git a/src/main/java/ninja/bytecode/iris/generator/ParallaxChunkGenerator.java b/src/main/java/ninja/bytecode/iris/generator/ParallaxChunkGenerator.java new file mode 100644 index 000000000..5702635fd --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/generator/ParallaxChunkGenerator.java @@ -0,0 +1,22 @@ +package ninja.bytecode.iris.generator; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import ninja.bytecode.iris.util.HeightMap; +import ninja.bytecode.iris.util.RNG; + +@Data +@EqualsAndHashCode(callSuper = false) +public abstract class ParallaxChunkGenerator extends TerrainChunkGenerator +{ + public ParallaxChunkGenerator(String dimensionName, int threads) + { + super(dimensionName, threads); + } + + @Override + protected void onPostGenerate(RNG random, int x, int z, ChunkData data, BiomeGrid grid, HeightMap height) + { + + } +} diff --git a/src/main/java/ninja/bytecode/iris/generator/ParallelChunkGenerator.java b/src/main/java/ninja/bytecode/iris/generator/ParallelChunkGenerator.java new file mode 100644 index 000000000..0e265986f --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/generator/ParallelChunkGenerator.java @@ -0,0 +1,92 @@ +package ninja.bytecode.iris.generator; + +import org.bukkit.World; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import ninja.bytecode.iris.Iris; +import ninja.bytecode.iris.object.atomics.AtomicSliver; +import ninja.bytecode.iris.object.atomics.AtomicSliverMap; +import ninja.bytecode.iris.util.GroupedExecutor; +import ninja.bytecode.iris.util.HeightMap; +import ninja.bytecode.iris.util.RNG; + +@Data +@EqualsAndHashCode(callSuper = false) +public abstract class ParallelChunkGenerator extends BiomeChunkGenerator +{ + private GroupedExecutor tx; + private int threads; + + public ParallelChunkGenerator(String dimensionName, int threads) + { + super(dimensionName); + this.threads = threads; + } + + public void changeThreadCount(int tc) + { + threads = tc; + GroupedExecutor e = tx; + tx = new GroupedExecutor(threads, Thread.NORM_PRIORITY, "Iris Generator - " + world.getName()); + Iris.executors.add(tx); + + if(e != null) + { + e.close(); + } + } + + protected abstract void onGenerateColumn(int cx, int cz, int wx, int wz, int x, int z, AtomicSliver sliver); + + protected abstract int onSampleColumnHeight(int cx, int cz, int wx, int wz, int x, int z); + + protected abstract void onPostGenerate(RNG random, int x, int z, ChunkData data, BiomeGrid grid, HeightMap height); + + protected int sampleHeight(int x, int z) + { + return onSampleColumnHeight(x >> 4, z >> 4, x, z, x & 15, z & 15); + } + + protected void onGenerate(RNG random, int x, int z, ChunkData data, BiomeGrid grid) + { + AtomicSliverMap map = new AtomicSliverMap(); + HeightMap height = new HeightMap(); + String key = "c" + x + "," + z; + int ii, jj; + + for(ii = 0; ii < 16; ii++) + { + int i = ii; + int wx = (x * 16) + i; + + for(jj = 0; jj < 16; jj++) + { + int j = jj; + int wz = (z * 16) + j; + AtomicSliver sliver = map.getSliver(i, j); + + tx.queue(key, () -> + { + onGenerateColumn(x, z, wx, wz, i, j, sliver); + }); + } + } + + tx.waitFor(key); + map.write(data, grid, height); + onPostGenerate(random, x, z, data, grid, height); + } + + public void onInit(World world, RNG rng) + { + super.onInit(world, rng); + changeThreadCount(threads); + } + + @Override + public boolean isParallelCapable() + { + return true; + } +} diff --git a/src/main/java/ninja/bytecode/iris/generator/TerrainChunkGenerator.java b/src/main/java/ninja/bytecode/iris/generator/TerrainChunkGenerator.java new file mode 100644 index 000000000..8c6ccbcc5 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/generator/TerrainChunkGenerator.java @@ -0,0 +1,96 @@ +package ninja.bytecode.iris.generator; + +import org.bukkit.Material; +import org.bukkit.World; +import org.bukkit.block.data.BlockData; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import ninja.bytecode.iris.object.IrisBiome; +import ninja.bytecode.iris.object.IrisRegion; +import ninja.bytecode.iris.object.atomics.AtomicSliver; +import ninja.bytecode.iris.util.BiomeResult; +import ninja.bytecode.iris.util.CNG; +import ninja.bytecode.iris.util.RNG; +import ninja.bytecode.shuriken.collections.KList; + +@Data +@EqualsAndHashCode(callSuper = false) +public abstract class TerrainChunkGenerator extends ParallelChunkGenerator +{ + protected static final BlockData STONE = Material.STONE.createBlockData(); + protected static final BlockData WATER = Material.WATER.createBlockData(); + protected CNG terrainNoise; + + public TerrainChunkGenerator(String dimensionName, int threads) + { + super(dimensionName, threads); + } + + public void onInit(World world, RNG rng) + { + super.onInit(world, rng); + terrainNoise = CNG.signature(masterRandom.nextParallelRNG(2)); + } + + @Override + protected void onGenerateColumn(int cx, int cz, int rx, int rz, int x, int z, AtomicSliver sliver) + { + BlockData block; + int fluidHeight = getDimension().getFluidHeight(); + double ox = getModifiedX(rx, rz); + double oz = getModifiedZ(rx, rz); + double wx = getZoomed(ox); + double wz = getZoomed(oz); + int depth = 0; + IrisRegion region = glBiome.getRegion(wx, wz); + BiomeResult biomeResult = glBiome.generateRegionData(wx, wz, region); + IrisBiome biome = biomeResult.getBiome(); + double lo = interpolateHeight(ox, oz, (b) -> b.getLowHeight()); + double hi = interpolateSurface(ox, oz, (b) -> b.getHighHeight()); + double noise = lo + (terrainNoise.fitDoubleD(0, hi - lo, wx, wz)); + int height = (int) Math.round(noise) + fluidHeight; + + if(height < fluidHeight + 1) + { + if(biome.isLand()) + { + biome = glBiome.generateShoreData(wx, wz, region).getBiome(); + } + } + + KList layers = biome.generateLayers(wx, wz, masterRandom, height); + + for(int k = Math.max(height, fluidHeight); k >= 0; k--) + { + boolean underwater = k > height && k <= fluidHeight; + sliver.set(k, biome.getDerivative()); + + if(underwater) + { + block = WATER; + } + + else + { + block = layers.hasIndex(depth) ? layers.get(depth) : STONE; + depth++; + } + + sliver.set(k, block); + } + } + + @Override + protected int onSampleColumnHeight(int cx, int cz, int rx, int rz, int x, int z) + { + int fluidHeight = getDimension().getFluidHeight(); + double ox = getModifiedX(rx, rz); + double oz = getModifiedZ(rx, rz); + double lo = interpolateHeight(ox, oz, (b) -> b.getLowHeight()); + double hi = interpolateSurface(ox, oz, (b) -> b.getHighHeight()); + double noise = lo + (terrainNoise.fitDoubleD(0, hi - lo, getZoomed(ox), getZoomed(oz))); + + return (int) Math.round(noise) + fluidHeight; + } +} diff --git a/src/main/java/ninja/bytecode/iris/layer/GenLayerBiome.java b/src/main/java/ninja/bytecode/iris/layer/GenLayerBiome.java index bb187c836..024c9b5e6 100644 --- a/src/main/java/ninja/bytecode/iris/layer/GenLayerBiome.java +++ b/src/main/java/ninja/bytecode/iris/layer/GenLayerBiome.java @@ -1,7 +1,7 @@ package ninja.bytecode.iris.layer; import ninja.bytecode.iris.Iris; -import ninja.bytecode.iris.IrisGenerator; +import ninja.bytecode.iris.generator.DimensionChunkGenerator; import ninja.bytecode.iris.object.InferredType; import ninja.bytecode.iris.object.IrisBiome; import ninja.bytecode.iris.object.IrisRegion; @@ -19,7 +19,7 @@ public class GenLayerBiome extends GenLayer private CellGenerator shore; private CellGenerator sea; - public GenLayerBiome(IrisGenerator iris, RNG rng) + public GenLayerBiome(DimensionChunkGenerator iris, RNG rng) { super(iris, rng); region = new CellGenerator(rng.nextParallelRNG(1188519)); diff --git a/src/main/java/ninja/bytecode/iris/object/atomics/AtomicSliver.java b/src/main/java/ninja/bytecode/iris/object/atomics/AtomicSliver.java index 10c421874..d88a617aa 100644 --- a/src/main/java/ninja/bytecode/iris/object/atomics/AtomicSliver.java +++ b/src/main/java/ninja/bytecode/iris/object/atomics/AtomicSliver.java @@ -5,8 +5,14 @@ import org.bukkit.block.data.BlockData; import org.bukkit.generator.ChunkGenerator.BiomeGrid; import org.bukkit.generator.ChunkGenerator.ChunkData; +import lombok.Data; +import ninja.bytecode.iris.util.BlockDataTools; +import ninja.bytecode.iris.util.HeightMap; + +@Data public class AtomicSliver { + private static final BlockData AIR = BlockDataTools.getBlockData("AIR"); private BlockData[] block; private Biome[] biome; private int highestBlock = 0; @@ -38,7 +44,15 @@ public class AtomicSliver { for(int i = 0; i <= highestBlock; i++) { - d.setBlock(x, i, z, block[i]); + if(block[i] == null) + { + d.setBlock(x, i, z, AIR); + } + + else + { + d.setBlock(x, i, z, block[i]); + } } } @@ -49,4 +63,9 @@ public class AtomicSliver d.setBiome(x, i, z, biome[i]); } } + + public void write(HeightMap height) + { + height.setHeight(x, z, highestBlock); + } } diff --git a/src/main/java/ninja/bytecode/iris/object/atomics/AtomicSliverMap.java b/src/main/java/ninja/bytecode/iris/object/atomics/AtomicSliverMap.java new file mode 100644 index 000000000..74b0eeeb2 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/object/atomics/AtomicSliverMap.java @@ -0,0 +1,42 @@ +package ninja.bytecode.iris.object.atomics; + +import org.bukkit.generator.ChunkGenerator.BiomeGrid; +import org.bukkit.generator.ChunkGenerator.ChunkData; + +import ninja.bytecode.iris.util.HeightMap; + +public class AtomicSliverMap +{ + private final AtomicSliver[] slivers; + + public AtomicSliverMap() + { + slivers = new AtomicSliver[256]; + + for(int i = 0; i < 16; i++) + { + for(int j = 0; j < 16; j++) + { + slivers[i * 16 + j] = new AtomicSliver(i, j); + } + } + } + + public AtomicSliver getSliver(int x, int z) + { + return slivers[x * 16 + z]; + } + + public void write(ChunkData data, BiomeGrid grid, HeightMap height) + { + for(AtomicSliver i : slivers) + { + if(i != null) + { + i.write(data); + i.write(grid); + i.write(height); + } + } + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/GenLayer.java b/src/main/java/ninja/bytecode/iris/util/GenLayer.java index bca1bcc9f..adbb88c7a 100644 --- a/src/main/java/ninja/bytecode/iris/util/GenLayer.java +++ b/src/main/java/ninja/bytecode/iris/util/GenLayer.java @@ -1,13 +1,13 @@ package ninja.bytecode.iris.util; -import ninja.bytecode.iris.IrisGenerator; +import ninja.bytecode.iris.generator.DimensionChunkGenerator; public abstract class GenLayer { protected final RNG rng; - protected final IrisGenerator iris; + protected final DimensionChunkGenerator iris; - public GenLayer(IrisGenerator iris, RNG rng) + public GenLayer(DimensionChunkGenerator iris, RNG rng) { this.iris = iris; this.rng = rng; diff --git a/src/main/java/ninja/bytecode/iris/util/HeightMap.java b/src/main/java/ninja/bytecode/iris/util/HeightMap.java new file mode 100644 index 000000000..e2cede5ba --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/HeightMap.java @@ -0,0 +1,24 @@ +package ninja.bytecode.iris.util; + +import java.util.Arrays; + +public class HeightMap +{ + private final byte[] height; + + public HeightMap() + { + height = new byte[256]; + Arrays.fill(height, Byte.MIN_VALUE); + } + + public void setHeight(int x, int z, int h) + { + height[(x & 15) * 16 + (z & 15)] = (byte) (h + Byte.MIN_VALUE); + } + + public int getHeight(int x, int z) + { + return height[(x & 15) * 16 + (z & 15)] - Byte.MIN_VALUE; + } +} From 1b2ce750ca7b5d7dbec303819b53dcd38b977e9a Mon Sep 17 00:00:00 2001 From: Daniel Mills Date: Mon, 11 May 2020 10:09:23 -0400 Subject: [PATCH 08/20] Parallax --- .../bytecode/iris/object/IrisObject.java | 49 +++ .../iris/object/atomics/AtomicRegionData.java | 80 +++++ .../iris/object/atomics/AtomicSliver.java | 41 +++ .../iris/object/atomics/AtomicSliverMap.java | 34 ++ .../iris/object/atomics/AtomicWorldData.java | 163 ++++++++++ .../bytecode/iris/util/ByteArrayTag.java | 82 +++++ .../ninja/bytecode/iris/util/ByteTag.java | 74 +++++ .../ninja/bytecode/iris/util/CompoundTag.java | 83 +++++ .../ninja/bytecode/iris/util/DoubleTag.java | 74 +++++ .../java/ninja/bytecode/iris/util/EndTag.java | 60 ++++ .../ninja/bytecode/iris/util/FloatTag.java | 74 +++++ .../ninja/bytecode/iris/util/HeightMap.java | 4 +- .../ninja/bytecode/iris/util/IntArrayTag.java | 76 +++++ .../java/ninja/bytecode/iris/util/IntTag.java | 74 +++++ .../ninja/bytecode/iris/util/ListTag.java | 99 ++++++ .../ninja/bytecode/iris/util/LongTag.java | 74 +++++ .../bytecode/iris/util/NBTConstants.java | 77 +++++ .../bytecode/iris/util/NBTInputStream.java | 205 ++++++++++++ .../bytecode/iris/util/NBTOutputStream.java | 301 ++++++++++++++++++ .../ninja/bytecode/iris/util/NBTUtils.java | 165 ++++++++++ .../ninja/bytecode/iris/util/ShortTag.java | 74 +++++ .../ninja/bytecode/iris/util/StringTag.java | 74 +++++ .../java/ninja/bytecode/iris/util/Tag.java | 73 +++++ 23 files changed, 2108 insertions(+), 2 deletions(-) create mode 100644 src/main/java/ninja/bytecode/iris/object/IrisObject.java create mode 100644 src/main/java/ninja/bytecode/iris/object/atomics/AtomicRegionData.java create mode 100644 src/main/java/ninja/bytecode/iris/object/atomics/AtomicWorldData.java create mode 100644 src/main/java/ninja/bytecode/iris/util/ByteArrayTag.java create mode 100644 src/main/java/ninja/bytecode/iris/util/ByteTag.java create mode 100644 src/main/java/ninja/bytecode/iris/util/CompoundTag.java create mode 100644 src/main/java/ninja/bytecode/iris/util/DoubleTag.java create mode 100644 src/main/java/ninja/bytecode/iris/util/EndTag.java create mode 100644 src/main/java/ninja/bytecode/iris/util/FloatTag.java create mode 100644 src/main/java/ninja/bytecode/iris/util/IntArrayTag.java create mode 100644 src/main/java/ninja/bytecode/iris/util/IntTag.java create mode 100644 src/main/java/ninja/bytecode/iris/util/ListTag.java create mode 100644 src/main/java/ninja/bytecode/iris/util/LongTag.java create mode 100644 src/main/java/ninja/bytecode/iris/util/NBTConstants.java create mode 100644 src/main/java/ninja/bytecode/iris/util/NBTInputStream.java create mode 100644 src/main/java/ninja/bytecode/iris/util/NBTOutputStream.java create mode 100644 src/main/java/ninja/bytecode/iris/util/NBTUtils.java create mode 100644 src/main/java/ninja/bytecode/iris/util/ShortTag.java create mode 100644 src/main/java/ninja/bytecode/iris/util/StringTag.java create mode 100644 src/main/java/ninja/bytecode/iris/util/Tag.java diff --git a/src/main/java/ninja/bytecode/iris/object/IrisObject.java b/src/main/java/ninja/bytecode/iris/object/IrisObject.java new file mode 100644 index 000000000..ab1262ca0 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/object/IrisObject.java @@ -0,0 +1,49 @@ +package ninja.bytecode.iris.object; + +import org.bukkit.block.data.BlockData; +import org.bukkit.util.BlockVector; + +import ninja.bytecode.shuriken.collections.KMap; +import ninja.bytecode.shuriken.collections.KSet; + +public class IrisObject +{ + private String name; + private KMap blocks; + private KSet mount; + private int w; + private int d; + private int h; + private transient BlockVector center; + + public IrisObject(String name, int w, int h, int d) + { + blocks = new KMap<>(); + mount = new KSet<>(); + this.w = w; + this.h = h; + this.d = d; + this.name = name; + center = new BlockVector(w / 2, h / 2, d / 2); + } + + public void setUnsigned(int x, int y, int z, BlockData block) + { + if(x >= w || y >= h || z >= d) + { + throw new RuntimeException(x + " " + y + " " + z + " exceeds limit of " + w + " " + h + " " + d); + } + + BlockVector v = new BlockVector(x, y, z).subtract(center).toBlockVector(); + + if(block == null) + { + blocks.remove(v); + } + + else + { + blocks.put(v, block); + } + } +} diff --git a/src/main/java/ninja/bytecode/iris/object/atomics/AtomicRegionData.java b/src/main/java/ninja/bytecode/iris/object/atomics/AtomicRegionData.java new file mode 100644 index 000000000..6db485f91 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/object/atomics/AtomicRegionData.java @@ -0,0 +1,80 @@ +package ninja.bytecode.iris.object.atomics; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; + +import org.bukkit.World; + +import ninja.bytecode.iris.util.ByteArrayTag; +import ninja.bytecode.iris.util.CompoundTag; +import ninja.bytecode.iris.util.NBTInputStream; +import ninja.bytecode.iris.util.NBTOutputStream; +import ninja.bytecode.iris.util.Tag; +import ninja.bytecode.shuriken.collections.KMap; + +public class AtomicRegionData +{ + private final World world; + private KMap tag; + + public AtomicRegionData(World world) + { + this.world = world; + tag = new KMap<>(); + } + + public void read(InputStream in) throws IOException + { + NBTInputStream nin = new NBTInputStream(in); + tag = new KMap<>(); + tag.putAll(((CompoundTag) nin.readTag()).getValue()); + nin.close(); + } + + public void write(OutputStream out) throws IOException + { + NBTOutputStream nos = new NBTOutputStream(out); + nos.writeTag(new CompoundTag("imca", tag)); + nos.close(); + } + + public boolean contains(int rx, int rz) + { + return tag.containsKey(rx + "." + rz); + } + + public void delete(int rx, int rz) + { + tag.remove(rx + "." + rz); + } + + public void set(int rx, int rz, AtomicSliverMap data) throws IOException + { + ByteArrayOutputStream boas = new ByteArrayOutputStream(); + data.write(boas); + tag.put(rx + "." + rz, new ByteArrayTag(rx + "." + rz, boas.toByteArray())); + } + + public AtomicSliverMap get(int rx, int rz) throws IOException + { + if(!contains(rx, rz)) + { + return null; + } + + AtomicSliverMap data = new AtomicSliverMap(); + ByteArrayTag btag = (ByteArrayTag) tag.get(rx + "." + rz); + ByteArrayInputStream in = new ByteArrayInputStream(btag.getValue()); + data.read(in); + + return data; + } + + public World getWorld() + { + return world; + } +} diff --git a/src/main/java/ninja/bytecode/iris/object/atomics/AtomicSliver.java b/src/main/java/ninja/bytecode/iris/object/atomics/AtomicSliver.java index d88a617aa..979f4ab0c 100644 --- a/src/main/java/ninja/bytecode/iris/object/atomics/AtomicSliver.java +++ b/src/main/java/ninja/bytecode/iris/object/atomics/AtomicSliver.java @@ -1,5 +1,9 @@ package ninja.bytecode.iris.object.atomics; +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; + import org.bukkit.block.Biome; import org.bukkit.block.data.BlockData; import org.bukkit.generator.ChunkGenerator.BiomeGrid; @@ -68,4 +72,41 @@ public class AtomicSliver { height.setHeight(x, z, highestBlock); } + + public void read(DataInputStream din) throws IOException + { + this.block = new BlockData[256]; + int h = din.readByte() - Byte.MIN_VALUE; + for(int i = 0; i <= h; i++) + { + block[i] = BlockDataTools.getBlockData(din.readUTF()); + } + } + + public void write(DataOutputStream dos) throws IOException + { + dos.writeByte(highestBlock + Byte.MIN_VALUE); + + for(int i = 0; i <= highestBlock; i++) + { + dos.writeUTF(block[i].getAsString(true)); + } + } + + public void insert(AtomicSliver atomicSliver) + { + for(int i = 0; i < 256; i++) + { + if(block[i] == null || block[i].equals(AIR)) + { + BlockData b = atomicSliver.block[i]; + if(b == null || b.equals(AIR)) + { + continue; + } + + block[i] = b; + } + } + } } diff --git a/src/main/java/ninja/bytecode/iris/object/atomics/AtomicSliverMap.java b/src/main/java/ninja/bytecode/iris/object/atomics/AtomicSliverMap.java index 74b0eeeb2..eccfee7d2 100644 --- a/src/main/java/ninja/bytecode/iris/object/atomics/AtomicSliverMap.java +++ b/src/main/java/ninja/bytecode/iris/object/atomics/AtomicSliverMap.java @@ -1,5 +1,11 @@ package ninja.bytecode.iris.object.atomics; +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; + import org.bukkit.generator.ChunkGenerator.BiomeGrid; import org.bukkit.generator.ChunkGenerator.ChunkData; @@ -22,6 +28,34 @@ public class AtomicSliverMap } } + public void insert(AtomicSliverMap map) + { + for(int i = 0; i < 256; i++) + { + slivers[i].insert(map.slivers[i]); + } + } + + public void write(OutputStream out) throws IOException + { + DataOutputStream dos = new DataOutputStream(out); + for(int i = 0; i < 256; i++) + { + slivers[i].write(dos); + } + + dos.flush(); + } + + public void read(InputStream in) throws IOException + { + DataInputStream din = new DataInputStream(in); + for(int i = 0; i < 256; i++) + { + slivers[i].read(din); + } + } + public AtomicSliver getSliver(int x, int z) { return slivers[x * 16 + z]; diff --git a/src/main/java/ninja/bytecode/iris/object/atomics/AtomicWorldData.java b/src/main/java/ninja/bytecode/iris/object/atomics/AtomicWorldData.java new file mode 100644 index 000000000..cc3dfceee --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/object/atomics/AtomicWorldData.java @@ -0,0 +1,163 @@ +package ninja.bytecode.iris.object.atomics; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; + +import org.bukkit.World; + +import ninja.bytecode.iris.util.ChunkPosition; +import ninja.bytecode.shuriken.collections.KList; +import ninja.bytecode.shuriken.collections.KMap; + +public class AtomicWorldData +{ + private World world; + private KMap loadedSections; + + public AtomicWorldData(World world) + { + this.world = world; + loadedSections = new KMap<>(); + getSubregionFolder().mkdirs(); + } + + public KList getLoadedRegions() + { + return loadedSections.k(); + } + + public AtomicRegionData getSubregion(int x, int z) throws IOException + { + if(!isSectionLoaded(x, z)) + { + loadedSections.put(new ChunkPosition(x, z), loadSection(x, z)); + } + + AtomicRegionData f = loadedSections.get(new ChunkPosition(x, z)); + + return f; + } + + public void saveAll() throws IOException + { + for(ChunkPosition i : loadedSections.keySet()) + { + saveSection(i); + } + } + + public void unloadAll(boolean save) throws IOException + { + for(ChunkPosition i : loadedSections.keySet()) + { + unloadSection(i, save); + } + } + + public void deleteSection(int x, int z) throws IOException + { + unloadSection(x, z, false); + getSubregionFile(x, z).delete(); + } + + public boolean isSectionLoaded(int x, int z) + { + return isSectionLoaded(new ChunkPosition(x, z)); + } + + public boolean isSectionLoaded(ChunkPosition s) + { + return loadedSections.containsKey(s); + } + + public boolean unloadSection(int x, int z, boolean save) throws IOException + { + return unloadSection(new ChunkPosition(x, z), save); + } + + public boolean unloadSection(ChunkPosition s, boolean save) throws IOException + { + if(!isSectionLoaded(s)) + { + return false; + } + + if(save) + { + saveSection(s); + } + + loadedSections.remove(s); + return true; + } + + public boolean saveSection(int x, int z) throws IOException + { + return saveSection(new ChunkPosition(x, z)); + } + + public boolean saveSection(ChunkPosition s) throws IOException + { + if(!isSectionLoaded(s.getX(), s.getZ())) + { + return false; + } + + AtomicRegionData data = loadedSections.get(s); + FileOutputStream fos = new FileOutputStream(getSubregionFile(s.getX(), s.getZ())); + data.write(fos); + fos.close(); + return true; + } + + public AtomicSliverMap loadChunk(int x, int z) throws IOException + { + return loadSection(x >> 5, z >> 5).get(x & 31, z & 31); + } + + public AtomicRegionData loadSection(int x, int z) throws IOException + { + if(isSectionLoaded(x, z)) + { + return loadedSections.get(new ChunkPosition(x, z)); + } + + File file = getSubregionFile(x, z); + + if(!file.exists()) + { + return createSection(x, z); + } + + FileInputStream fin = new FileInputStream(file); + AtomicRegionData data = new AtomicRegionData(world); + data.read(fin); + fin.close(); + return data; + } + + public AtomicRegionData createSection(int x, int z) + { + if(isSectionLoaded(x, z)) + { + return loadedSections.get(new ChunkPosition(x, z)); + } + + AtomicRegionData data = new AtomicRegionData(world); + loadedSections.put(new ChunkPosition(x, z), data); + + return data; + } + + public File getSubregionFile(int x, int z) + { + return new File(getSubregionFolder(), "sr." + x + "." + z + ".smca"); + } + + public File getSubregionFolder() + { + return new File(world.getWorldFolder(), "subregion"); + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/ByteArrayTag.java b/src/main/java/ninja/bytecode/iris/util/ByteArrayTag.java new file mode 100644 index 000000000..b73bb8ff4 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/ByteArrayTag.java @@ -0,0 +1,82 @@ +package ninja.bytecode.iris.util; + +/* + * JNBT License + * + * Copyright (c) 2010 Graham Edgecombe + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of the JNBT team nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +/** + * The TAG_Byte_Array tag. + * + * @author Graham Edgecombe + * + */ +public final class ByteArrayTag extends Tag { + + /** + * The value. + */ + private final byte[] value; + + /** + * Creates the tag. + * + * @param name The name. + * @param value The value. + */ + public ByteArrayTag(String name, byte[] value) { + super(name); + this.value = value; + } + + @Override + public byte[] getValue() { + return value; + } + + @Override + public String toString() { + StringBuilder hex = new StringBuilder(); + for (byte b : value) { + String hexDigits = Integer.toHexString(b).toUpperCase(); + if (hexDigits.length() == 1) { + hex.append("0"); + } + hex.append(hexDigits).append(" "); + } + String name = getName(); + String append = ""; + if (name != null && !name.equals("")) { + append = "(\"" + this.getName() + "\")"; + } + return "TAG_Byte_Array" + append + ": " + hex.toString(); + } + +} diff --git a/src/main/java/ninja/bytecode/iris/util/ByteTag.java b/src/main/java/ninja/bytecode/iris/util/ByteTag.java new file mode 100644 index 000000000..b25fb4ab4 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/ByteTag.java @@ -0,0 +1,74 @@ +package ninja.bytecode.iris.util; + +/* + * JNBT License + * + * Copyright (c) 2010 Graham Edgecombe + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of the JNBT team nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +/** + * The TAG_Byte tag. + * + * @author Graham Edgecombe + * + */ +public final class ByteTag extends Tag { + + /** + * The value. + */ + private final byte value; + + /** + * Creates the tag. + * + * @param name The name. + * @param value The value. + */ + public ByteTag(String name, byte value) { + super(name); + this.value = value; + } + + @Override + public Byte getValue() { + return value; + } + + @Override + public String toString() { + String name = getName(); + String append = ""; + if (name != null && !name.equals("")) { + append = "(\"" + this.getName() + "\")"; + } + return "TAG_Byte" + append + ": " + value; + } + +} diff --git a/src/main/java/ninja/bytecode/iris/util/CompoundTag.java b/src/main/java/ninja/bytecode/iris/util/CompoundTag.java new file mode 100644 index 000000000..e51c0637f --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/CompoundTag.java @@ -0,0 +1,83 @@ +package ninja.bytecode.iris.util; + +/* + * JNBT License + * + * Copyright (c) 2010 Graham Edgecombe + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of the JNBT team nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +import java.util.Collections; +import java.util.Map; + +/** + * The TAG_Compound tag. + * + * @author Graham Edgecombe + * + */ +public final class CompoundTag extends Tag { + + /** + * The value. + */ + private final Map value; + + /** + * Creates the tag. + * + * @param name The name. + * @param value The value. + */ + public CompoundTag(String name, Map value) { + super(name); + this.value = Collections.unmodifiableMap(value); + } + + @Override + public Map getValue() { + return value; + } + + @Override + public String toString() { + String name = getName(); + String append = ""; + if (name != null && !name.equals("")) { + append = "(\"" + this.getName() + "\")"; + } + StringBuilder bldr = new StringBuilder(); + bldr.append("TAG_Compound" + append + ": " + value.size() + " entries\r\n{\r\n"); + for (Map.Entry entry : value.entrySet()) { + bldr.append(" " + entry.getValue().toString().replaceAll("\r\n", "\r\n ") + "\r\n"); + } + bldr.append("}"); + return bldr.toString(); + } + +} diff --git a/src/main/java/ninja/bytecode/iris/util/DoubleTag.java b/src/main/java/ninja/bytecode/iris/util/DoubleTag.java new file mode 100644 index 000000000..7e48618e7 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/DoubleTag.java @@ -0,0 +1,74 @@ +package ninja.bytecode.iris.util; + +/* + * JNBT License + * + * Copyright (c) 2010 Graham Edgecombe + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of the JNBT team nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +/** + * The TAG_Double tag. + * + * @author Graham Edgecombe + * + */ +public final class DoubleTag extends Tag { + + /** + * The value. + */ + private final double value; + + /** + * Creates the tag. + * + * @param name The name. + * @param value The value. + */ + public DoubleTag(String name, double value) { + super(name); + this.value = value; + } + + @Override + public Double getValue() { + return value; + } + + @Override + public String toString() { + String name = getName(); + String append = ""; + if (name != null && !name.equals("")) { + append = "(\"" + this.getName() + "\")"; + } + return "TAG_Double" + append + ": " + value; + } + +} diff --git a/src/main/java/ninja/bytecode/iris/util/EndTag.java b/src/main/java/ninja/bytecode/iris/util/EndTag.java new file mode 100644 index 000000000..db58c6084 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/EndTag.java @@ -0,0 +1,60 @@ +package ninja.bytecode.iris.util; + +/* + * JNBT License + * + * Copyright (c) 2010 Graham Edgecombe + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of the JNBT team nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +/** + * The TAG_End tag. + * + * @author Graham Edgecombe + * + */ +public final class EndTag extends Tag { + + /** + * Creates the tag. + */ + public EndTag() { + super(""); + } + + @Override + public Object getValue() { + return null; + } + + @Override + public String toString() { + return "TAG_End"; + } + +} diff --git a/src/main/java/ninja/bytecode/iris/util/FloatTag.java b/src/main/java/ninja/bytecode/iris/util/FloatTag.java new file mode 100644 index 000000000..af6cc1057 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/FloatTag.java @@ -0,0 +1,74 @@ +package ninja.bytecode.iris.util; + +/* + * JNBT License + * + * Copyright (c) 2010 Graham Edgecombe + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of the JNBT team nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +/** + * The TAG_Float tag. + * + * @author Graham Edgecombe + * + */ +public final class FloatTag extends Tag { + + /** + * The value. + */ + private final float value; + + /** + * Creates the tag. + * + * @param name The name. + * @param value The value. + */ + public FloatTag(String name, float value) { + super(name); + this.value = value; + } + + @Override + public Float getValue() { + return value; + } + + @Override + public String toString() { + String name = getName(); + String append = ""; + if (name != null && !name.equals("")) { + append = "(\"" + this.getName() + "\")"; + } + return "TAG_Float" + append + ": " + value; + } + +} diff --git a/src/main/java/ninja/bytecode/iris/util/HeightMap.java b/src/main/java/ninja/bytecode/iris/util/HeightMap.java index e2cede5ba..37344e2e4 100644 --- a/src/main/java/ninja/bytecode/iris/util/HeightMap.java +++ b/src/main/java/ninja/bytecode/iris/util/HeightMap.java @@ -14,11 +14,11 @@ public class HeightMap public void setHeight(int x, int z, int h) { - height[(x & 15) * 16 + (z & 15)] = (byte) (h + Byte.MIN_VALUE); + height[x * 16 + z] = (byte) (h + Byte.MIN_VALUE); } public int getHeight(int x, int z) { - return height[(x & 15) * 16 + (z & 15)] - Byte.MIN_VALUE; + return height[x * 16 + z] - Byte.MIN_VALUE; } } diff --git a/src/main/java/ninja/bytecode/iris/util/IntArrayTag.java b/src/main/java/ninja/bytecode/iris/util/IntArrayTag.java new file mode 100644 index 000000000..3e4a4afea --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/IntArrayTag.java @@ -0,0 +1,76 @@ +package ninja.bytecode.iris.util; + +import java.util.Arrays; + +/* + * JNBT License + * + * Copyright (c) 2015 Neil Wightman + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of the JNBT team nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +/** + * The TAG_Int_Array tag. + * + * @author Neil Wightman + * + */ +public final class IntArrayTag extends Tag { + + /** + * The value. + */ + private final int[] value; + + /** + * Creates the tag. + * + * @param name The name. + * @param value The value. + */ + public IntArrayTag(String name, int[] value) { + super(name); + this.value = value; + } + + @Override + public int[] getValue() { + return value; + } + + @Override + public String toString() { + String name = getName(); + String append = ""; + if (name != null && !name.equals("")) { + append = "(\"" + this.getName() + "\")"; + } + return "TAG_Int_Array" + append + ": " + Arrays.toString(value); + } + +} diff --git a/src/main/java/ninja/bytecode/iris/util/IntTag.java b/src/main/java/ninja/bytecode/iris/util/IntTag.java new file mode 100644 index 000000000..8b16f7196 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/IntTag.java @@ -0,0 +1,74 @@ +package ninja.bytecode.iris.util; + +/* + * JNBT License + * + * Copyright (c) 2010 Graham Edgecombe + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of the JNBT team nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +/** + * The TAG_Int tag. + * + * @author Graham Edgecombe + * + */ +public final class IntTag extends Tag { + + /** + * The value. + */ + private final int value; + + /** + * Creates the tag. + * + * @param name The name. + * @param value The value. + */ + public IntTag(String name, int value) { + super(name); + this.value = value; + } + + @Override + public Integer getValue() { + return value; + } + + @Override + public String toString() { + String name = getName(); + String append = ""; + if (name != null && !name.equals("")) { + append = "(\"" + this.getName() + "\")"; + } + return "TAG_Int" + append + ": " + value; + } + +} diff --git a/src/main/java/ninja/bytecode/iris/util/ListTag.java b/src/main/java/ninja/bytecode/iris/util/ListTag.java new file mode 100644 index 000000000..0df76693e --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/ListTag.java @@ -0,0 +1,99 @@ +package ninja.bytecode.iris.util; + +/* + * JNBT License + * + * Copyright (c) 2010 Graham Edgecombe + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of the JNBT team nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +import java.util.Collections; +import java.util.List; + +/** + * The TAG_List tag. + * + * @author Graham Edgecombe + * + */ +public final class ListTag extends Tag { + + /** + * The type. + */ + private final Class type; + + /** + * The value. + */ + private final List value; + + /** + * Creates the tag. + * + * @param name The name. + * @param type The type of item in the list. + * @param value The value. + */ + public ListTag(String name, Class type, List value) { + super(name); + this.type = type; + this.value = Collections.unmodifiableList(value); + } + + /** + * Gets the type of item in this list. + * + * @return The type of item in this list. + */ + public Class getType() { + return type; + } + + @Override + public List getValue() { + return value; + } + + @Override + public String toString() { + String name = getName(); + String append = ""; + if (name != null && !name.equals("")) { + append = "(\"" + this.getName() + "\")"; + } + StringBuilder bldr = new StringBuilder(); + bldr.append("TAG_List" + append + ": " + value.size() + " entries of type " + NBTUtils.getTypeName(type) + "\r\n{\r\n"); + for (Tag t : value) { + bldr.append(" " + t.toString().replaceAll("\r\n", "\r\n ") + "\r\n"); + } + bldr.append("}"); + return bldr.toString(); + } + +} diff --git a/src/main/java/ninja/bytecode/iris/util/LongTag.java b/src/main/java/ninja/bytecode/iris/util/LongTag.java new file mode 100644 index 000000000..828f13e56 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/LongTag.java @@ -0,0 +1,74 @@ +package ninja.bytecode.iris.util; + +/* + * JNBT License + * + * Copyright (c) 2010 Graham Edgecombe + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of the JNBT team nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +/** + * The TAG_Long tag. + * + * @author Graham Edgecombe + * + */ +public final class LongTag extends Tag { + + /** + * The value. + */ + private final long value; + + /** + * Creates the tag. + * + * @param name The name. + * @param value The value. + */ + public LongTag(String name, long value) { + super(name); + this.value = value; + } + + @Override + public Long getValue() { + return value; + } + + @Override + public String toString() { + String name = getName(); + String append = ""; + if (name != null && !name.equals("")) { + append = "(\"" + this.getName() + "\")"; + } + return "TAG_Long" + append + ": " + value; + } + +} diff --git a/src/main/java/ninja/bytecode/iris/util/NBTConstants.java b/src/main/java/ninja/bytecode/iris/util/NBTConstants.java new file mode 100644 index 000000000..3da22a163 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/NBTConstants.java @@ -0,0 +1,77 @@ +package ninja.bytecode.iris.util; + +/* + * JNBT License + * + * Copyright (c) 2015 Neil Wightman + * Copyright (c) 2010 Graham Edgecombe + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of the JNBT team nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +import java.nio.charset.Charset; + +/** + * Changes : Neil Wightman - Support 19133 Tag_Int_Array tag + */ +/** + * A class which holds constant values. + * + * @author Graham Edgecombe + * + */ +public final class NBTConstants { + + /** + * The character set used by NBT (UTF-8). + */ + public static final Charset CHARSET = Charset.forName("UTF-8"); + + /** + * Tag type constants. + */ + public static final int TYPE_END = 0, + TYPE_BYTE = 1, + TYPE_SHORT = 2, + TYPE_INT = 3, + TYPE_LONG = 4, + TYPE_FLOAT = 5, + TYPE_DOUBLE = 6, + TYPE_BYTE_ARRAY = 7, + TYPE_STRING = 8, + TYPE_LIST = 9, + TYPE_COMPOUND = 10, + TYPE_INT_ARRAY = 11; + + /** + * Default private constructor. + */ + private NBTConstants() { + + } + +} diff --git a/src/main/java/ninja/bytecode/iris/util/NBTInputStream.java b/src/main/java/ninja/bytecode/iris/util/NBTInputStream.java new file mode 100644 index 000000000..374ee89be --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/NBTInputStream.java @@ -0,0 +1,205 @@ +package ninja.bytecode.iris.util; + +/* + * JNBT License + * + * Copyright (c) 2015 Neil Wightman + * Copyright (c) 2010 Graham Edgecombe + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of the JNBT team nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +import java.io.Closeable; +import java.io.DataInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.zip.GZIPInputStream; + +/** + * Changes : + * Neil Wightman - Support 19133 Tag_Int_Array tag + */ + +/** + *

+ * This class reads NBT, or + * Named Binary Tag streams, and produces an object graph of subclasses of the Tag object.

+ * + *

+ * The NBT format was created by Markus Persson, and the specification may be found at + * http://www.minecraft.net/docs/NBT.txt.

+ * + * @author Graham Edgecombe + * + */ +public final class NBTInputStream implements Closeable { + + /** + * The data input stream. + */ + private final DataInputStream is; + + /** + * Create a new NBTInputStream, which will source its data from the specified input stream. + * @param is The output stream + */ + public NBTInputStream(DataInputStream is) { + this.is = is; + } + + /** + * Creates a new NBTInputStream, which will source its data from the specified input stream. + * The stream will be decompressed using GZIP. + * + * @param is The input stream. + * @throws IOException if an I/O error occurs. + */ + public NBTInputStream(InputStream is) throws IOException { + this.is = new DataInputStream(new GZIPInputStream(is)); + } + + /** + * Reads an NBT tag from the stream. + * + * @return The tag that was read. + * @throws IOException if an I/O error occurs. + */ + public Tag readTag() throws IOException { + return readTag(0); + } + + /** + * Reads an NBT from the stream. + * + * @param depth The depth of this tag. + * @return The tag that was read. + * @throws IOException if an I/O error occurs. + */ + private Tag readTag(int depth) throws IOException { + int type = is.readByte() & 0xFF; + + String name; + if (type != NBTConstants.TYPE_END) { + int nameLength = is.readShort() & 0xFFFF; + byte[] nameBytes = new byte[nameLength]; + is.readFully(nameBytes); + name = new String(nameBytes, NBTConstants.CHARSET); + } else { + name = ""; + } + + return readTagPayload(type, name, depth); + } + + /** + * Reads the payload of a tag, given the name and type. + * + * @param type The type. + * @param name The name. + * @param depth The depth. + * @return The tag. + * @throws IOException if an I/O error occurs. + */ + private Tag readTagPayload(int type, String name, int depth) throws IOException { + switch (type) { + case NBTConstants.TYPE_END: + if (depth == 0) { + throw new IOException("TAG_End found without a TAG_Compound/TAG_List tag preceding it."); + } else { + return new EndTag(); + } + case NBTConstants.TYPE_BYTE: + return new ByteTag(name, is.readByte()); + case NBTConstants.TYPE_SHORT: + return new ShortTag(name, is.readShort()); + case NBTConstants.TYPE_INT: + return new IntTag(name, is.readInt()); + case NBTConstants.TYPE_LONG: + return new LongTag(name, is.readLong()); + case NBTConstants.TYPE_FLOAT: + return new FloatTag(name, is.readFloat()); + case NBTConstants.TYPE_DOUBLE: + return new DoubleTag(name, is.readDouble()); + case NBTConstants.TYPE_BYTE_ARRAY: + int length = is.readInt(); + byte[] bytes = new byte[length]; + is.readFully(bytes); + return new ByteArrayTag(name, bytes); + case NBTConstants.TYPE_STRING: + length = is.readShort(); + bytes = new byte[length]; + is.readFully(bytes); + return new StringTag(name, new String(bytes, NBTConstants.CHARSET)); + case NBTConstants.TYPE_LIST: + int childType = is.readByte(); + length = is.readInt(); + + List tagList = new ArrayList(); + for (int i = 0; i < length; i++) { + Tag tag = readTagPayload(childType, "", depth + 1); + if (tag instanceof EndTag) { + throw new IOException("TAG_End not permitted in a list."); + } + tagList.add(tag); + } + + return new ListTag(name, NBTUtils.getTypeClass(childType), tagList); + case NBTConstants.TYPE_COMPOUND: + Map tagMap = new HashMap(); + while (true) { + Tag tag = readTag(depth + 1); + if (tag instanceof EndTag) { + break; + } else { + tagMap.put(tag.getName(), tag); + } + } + + return new CompoundTag(name, tagMap); + case NBTConstants.TYPE_INT_ARRAY: + length = is.readInt(); + int[] value = new int[length]; + for (int i = 0; i < length; i++) { + value[i] = is.readInt(); + } + return new IntArrayTag(name, value); + default: + throw new IOException("Invalid tag type: " + type + "."); + } + } + + @Override + public void close() throws IOException { + is.close(); + } + +} diff --git a/src/main/java/ninja/bytecode/iris/util/NBTOutputStream.java b/src/main/java/ninja/bytecode/iris/util/NBTOutputStream.java new file mode 100644 index 000000000..9de2bb73c --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/NBTOutputStream.java @@ -0,0 +1,301 @@ +package ninja.bytecode.iris.util; + +/* + * JNBT License + * + * Copyright (c) 2015 Neil Wightman + * Copyright (c) 2010 Graham Edgecombe + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of the JNBT team nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +import java.io.Closeable; +import java.io.DataOutputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.util.List; +import java.util.zip.GZIPOutputStream; +/** + * Changes : Neil Wightman - Support 19133 Tag_Int_Array tag + */ + +/** + *

+ * This class writes NBT, or + * Named Binary Tag Tag objects to an underlying OutputStream.

+ * + *

+ * The NBT format was created by Markus Persson, and the specification may be found at + * http://www.minecraft.net/docs/NBT.txt.

+ * + * @author Graham Edgecombe + * + */ +public final class NBTOutputStream implements Closeable { + + /** + * The output stream. + */ + private final DataOutputStream os; + + /** + * Create a new NBTOutputStream, which will write data to the specified underlying output stream. + * @param os The output stream + */ + public NBTOutputStream(DataOutputStream os) { + this.os = os; + } + + /** + * Creates a new NBTOutputStream, which will write data to the specified underlying output stream. + * the stream will be compressed using GZIP. + * + * @param os The output stream. + * @throws IOException if an I/O error occurs. + */ + public NBTOutputStream(OutputStream os) throws IOException { + this.os = new DataOutputStream(new GZIPOutputStream(os)); + } + + /** + * Writes a tag. + * + * @param tag The tag to write. + * @throws IOException if an I/O error occurs. + */ + public void writeTag(Tag tag) throws IOException { + int type = NBTUtils.getTypeCode(tag.getClass()); + String name = tag.getName(); + byte[] nameBytes = name.getBytes(NBTConstants.CHARSET); + + os.writeByte(type); + os.writeShort(nameBytes.length); + os.write(nameBytes); + + if (type == NBTConstants.TYPE_END) { + throw new IOException("Named TAG_End not permitted."); + } + + writeTagPayload(tag); + } + + /** + * Writes tag payload. + * + * @param tag The tag. + * @throws IOException if an I/O error occurs. + */ + private void writeTagPayload(Tag tag) throws IOException { + int type = NBTUtils.getTypeCode(tag.getClass()); + switch (type) { + case NBTConstants.TYPE_END: + writeEndTagPayload((EndTag) tag); + break; + case NBTConstants.TYPE_BYTE: + writeByteTagPayload((ByteTag) tag); + break; + case NBTConstants.TYPE_SHORT: + writeShortTagPayload((ShortTag) tag); + break; + case NBTConstants.TYPE_INT: + writeIntTagPayload((IntTag) tag); + break; + case NBTConstants.TYPE_LONG: + writeLongTagPayload((LongTag) tag); + break; + case NBTConstants.TYPE_FLOAT: + writeFloatTagPayload((FloatTag) tag); + break; + case NBTConstants.TYPE_DOUBLE: + writeDoubleTagPayload((DoubleTag) tag); + break; + case NBTConstants.TYPE_BYTE_ARRAY: + writeByteArrayTagPayload((ByteArrayTag) tag); + break; + case NBTConstants.TYPE_STRING: + writeStringTagPayload((StringTag) tag); + break; + case NBTConstants.TYPE_LIST: + writeListTagPayload((ListTag) tag); + break; + case NBTConstants.TYPE_COMPOUND: + writeCompoundTagPayload((CompoundTag) tag); + break; + case NBTConstants.TYPE_INT_ARRAY: + writeIntArrayTagPayload((IntArrayTag) tag); + break; + default: + throw new IOException("Invalid tag type: " + type + "."); + } + } + + /** + * Writes a TAG_Byte tag. + * + * @param tag The tag. + * @throws IOException if an I/O error occurs. + */ + private void writeByteTagPayload(ByteTag tag) throws IOException { + os.writeByte(tag.getValue()); + } + + /** + * Writes a TAG_Byte_Array tag. + * + * @param tag The tag. + * @throws IOException if an I/O error occurs. + */ + private void writeByteArrayTagPayload(ByteArrayTag tag) throws IOException { + byte[] bytes = tag.getValue(); + os.writeInt(bytes.length); + os.write(bytes); + } + + + /** + * Writes a TAG_Compound tag. + * + * @param tag The tag. + * @throws IOException if an I/O error occurs. + */ + private void writeCompoundTagPayload(CompoundTag tag) throws IOException { + for (Tag childTag : tag.getValue().values()) { + writeTag(childTag); + } + os.writeByte((byte) 0); // end tag - better way? + } + + /** + * Writes a TAG_List tag. + * + * @param tag The tag. + * @throws IOException if an I/O error occurs. + */ + private void writeListTagPayload(ListTag tag) throws IOException { + Class clazz = tag.getType(); + List tags = tag.getValue(); + int size = tags.size(); + + os.writeByte(NBTUtils.getTypeCode(clazz)); + os.writeInt(size); + for (int i = 0; i < size; i++) { + writeTagPayload(tags.get(i)); + } + } + + /** + * Writes a TAG_String tag. + * + * @param tag The tag. + * @throws IOException if an I/O error occurs. + */ + private void writeStringTagPayload(StringTag tag) throws IOException { + byte[] bytes = tag.getValue().getBytes(NBTConstants.CHARSET); + os.writeShort(bytes.length); + os.write(bytes); + } + + /** + * Writes a TAG_Double tag. + * + * @param tag The tag. + * @throws IOException if an I/O error occurs. + */ + private void writeDoubleTagPayload(DoubleTag tag) throws IOException { + os.writeDouble(tag.getValue()); + } + + /** + * Writes a TAG_Float tag. + * + * @param tag The tag. + * @throws IOException if an I/O error occurs. + */ + private void writeFloatTagPayload(FloatTag tag) throws IOException { + os.writeFloat(tag.getValue()); + } + + /** + * Writes a TAG_Long tag. + * + * @param tag The tag. + * @throws IOException if an I/O error occurs. + */ + private void writeLongTagPayload(LongTag tag) throws IOException { + os.writeLong(tag.getValue()); + } + + /** + * Writes a TAG_Int tag. + * + * @param tag The tag. + * @throws IOException if an I/O error occurs. + */ + private void writeIntTagPayload(IntTag tag) throws IOException { + os.writeInt(tag.getValue()); + } + + /** + * Writes a TAG_Short tag. + * + * @param tag The tag. + * @throws IOException if an I/O error occurs. + */ + private void writeShortTagPayload(ShortTag tag) throws IOException { + os.writeShort(tag.getValue()); + } + + /** + * Writes a TAG_Empty tag. + * + * @param tag The tag. + * @throws IOException if an I/O error occurs. + */ + private void writeEndTagPayload(EndTag tag) { + /* empty */ + } + + /** + * Writes a TAG_Int_Array tag. + * + * @param tag The tag. + * @throws IOException if an I/O error occurs. + */ + private void writeIntArrayTagPayload(IntArrayTag tag) throws IOException { + final int[] values = tag.getValue(); + os.writeInt(values.length); + for(final int value : values) { + os.writeInt(value); + } + } + + @Override + public void close() throws IOException { + os.close(); + } + +} diff --git a/src/main/java/ninja/bytecode/iris/util/NBTUtils.java b/src/main/java/ninja/bytecode/iris/util/NBTUtils.java new file mode 100644 index 000000000..268d1454f --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/NBTUtils.java @@ -0,0 +1,165 @@ +package ninja.bytecode.iris.util; + +/* + * JNBT License + * + * Copyright (c) 2015 Neil Wightman + * Copyright (c) 2010 Graham Edgecombe + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of the JNBT team nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +/** + * Changes : Neil Wightman - Support 19133 Tag_Int_Array tag + */ +/** + * A class which contains NBT-related utility methods. This currently supports reading 19133 but only writing 19132. + * + * @author Graham Edgecombe + * + */ +public final class NBTUtils { + + /** + * Gets the type name of a tag. + * + * @param clazz The tag class. + * @return The type name. + */ + public static String getTypeName(Class clazz) { + if (clazz.equals(ByteArrayTag.class)) { + return "TAG_Byte_Array"; + } else if (clazz.equals(ByteTag.class)) { + return "TAG_Byte"; + } else if (clazz.equals(CompoundTag.class)) { + return "TAG_Compound"; + } else if (clazz.equals(DoubleTag.class)) { + return "TAG_Double"; + } else if (clazz.equals(EndTag.class)) { + return "TAG_End"; + } else if (clazz.equals(FloatTag.class)) { + return "TAG_Float"; + } else if (clazz.equals(IntTag.class)) { + return "TAG_Int"; + } else if (clazz.equals(ListTag.class)) { + return "TAG_List"; + } else if (clazz.equals(LongTag.class)) { + return "TAG_Long"; + } else if (clazz.equals(ShortTag.class)) { + return "TAG_Short"; + } else if (clazz.equals(StringTag.class)) { + return "TAG_String"; + } else if (clazz.equals(IntArrayTag.class)) { + return "TAG_Int_Array"; + } else { + throw new IllegalArgumentException("Invalid tag classs (" + clazz.getName() + ")."); + } + } + + /** + * Gets the type code of a tag class. + * + * @param clazz The tag class. + * @return The type code. + * @throws IllegalArgumentException if the tag class is invalid. + */ + public static int getTypeCode(Class clazz) { + if (clazz.equals(ByteArrayTag.class)) { + return NBTConstants.TYPE_BYTE_ARRAY; + } else if (clazz.equals(ByteTag.class)) { + return NBTConstants.TYPE_BYTE; + } else if (clazz.equals(CompoundTag.class)) { + return NBTConstants.TYPE_COMPOUND; + } else if (clazz.equals(DoubleTag.class)) { + return NBTConstants.TYPE_DOUBLE; + } else if (clazz.equals(EndTag.class)) { + return NBTConstants.TYPE_END; + } else if (clazz.equals(FloatTag.class)) { + return NBTConstants.TYPE_FLOAT; + } else if (clazz.equals(IntTag.class)) { + return NBTConstants.TYPE_INT; + } else if (clazz.equals(ListTag.class)) { + return NBTConstants.TYPE_LIST; + } else if (clazz.equals(LongTag.class)) { + return NBTConstants.TYPE_LONG; + } else if (clazz.equals(ShortTag.class)) { + return NBTConstants.TYPE_SHORT; + } else if (clazz.equals(StringTag.class)) { + return NBTConstants.TYPE_STRING; + } else if (clazz.equals(IntArrayTag.class)) { + return NBTConstants.TYPE_INT_ARRAY; + } else { + throw new IllegalArgumentException("Invalid tag classs (" + clazz.getName() + ")."); + } + } + + /** + * Gets the class of a type of tag. + * + * @param type The type. + * @return The class. + * @throws IllegalArgumentException if the tag type is invalid. + */ + public static Class getTypeClass(int type) { + switch (type) { + case NBTConstants.TYPE_END: + return EndTag.class; + case NBTConstants.TYPE_BYTE: + return ByteTag.class; + case NBTConstants.TYPE_SHORT: + return ShortTag.class; + case NBTConstants.TYPE_INT: + return IntTag.class; + case NBTConstants.TYPE_LONG: + return LongTag.class; + case NBTConstants.TYPE_FLOAT: + return FloatTag.class; + case NBTConstants.TYPE_DOUBLE: + return DoubleTag.class; + case NBTConstants.TYPE_BYTE_ARRAY: + return ByteArrayTag.class; + case NBTConstants.TYPE_STRING: + return StringTag.class; + case NBTConstants.TYPE_LIST: + return ListTag.class; + case NBTConstants.TYPE_COMPOUND: + return CompoundTag.class; + case NBTConstants.TYPE_INT_ARRAY: + return IntArrayTag.class; + default: + throw new IllegalArgumentException("Invalid tag type : " + type + "."); + } + } + + /** + * Default private constructor. + */ + private NBTUtils() { + + } + +} diff --git a/src/main/java/ninja/bytecode/iris/util/ShortTag.java b/src/main/java/ninja/bytecode/iris/util/ShortTag.java new file mode 100644 index 000000000..e59e2969e --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/ShortTag.java @@ -0,0 +1,74 @@ +package ninja.bytecode.iris.util; + +/* + * JNBT License + * + * Copyright (c) 2010 Graham Edgecombe + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of the JNBT team nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +/** + * The TAG_Short tag. + * + * @author Graham Edgecombe + * + */ +public final class ShortTag extends Tag { + + /** + * The value. + */ + private final short value; + + /** + * Creates the tag. + * + * @param name The name. + * @param value The value. + */ + public ShortTag(String name, short value) { + super(name); + this.value = value; + } + + @Override + public Short getValue() { + return value; + } + + @Override + public String toString() { + String name = getName(); + String append = ""; + if (name != null && !name.equals("")) { + append = "(\"" + this.getName() + "\")"; + } + return "TAG_Short" + append + ": " + value; + } + +} diff --git a/src/main/java/ninja/bytecode/iris/util/StringTag.java b/src/main/java/ninja/bytecode/iris/util/StringTag.java new file mode 100644 index 000000000..d8a48ab43 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/StringTag.java @@ -0,0 +1,74 @@ +package ninja.bytecode.iris.util; + +/* + * JNBT License + * + * Copyright (c) 2010 Graham Edgecombe + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of the JNBT team nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +/** + * The TAG_String tag. + * + * @author Graham Edgecombe + * + */ +public final class StringTag extends Tag { + + /** + * The value. + */ + private final String value; + + /** + * Creates the tag. + * + * @param name The name. + * @param value The value. + */ + public StringTag(String name, String value) { + super(name); + this.value = value; + } + + @Override + public String getValue() { + return value; + } + + @Override + public String toString() { + String name = getName(); + String append = ""; + if (name != null && !name.equals("")) { + append = "(\"" + this.getName() + "\")"; + } + return "TAG_String" + append + ": " + value; + } + +} diff --git a/src/main/java/ninja/bytecode/iris/util/Tag.java b/src/main/java/ninja/bytecode/iris/util/Tag.java new file mode 100644 index 000000000..33f171b09 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/Tag.java @@ -0,0 +1,73 @@ +package ninja.bytecode.iris.util; + +/* + * JNBT License + * + * Copyright (c) 2010 Graham Edgecombe + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of the JNBT team nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +/** + * Represents a single NBT tag. + * + * @author Graham Edgecombe + * + */ +public abstract class Tag { + + /** + * The name of this tag. + */ + private final String name; + + /** + * Creates the tag with the specified name. + * + * @param name The name. + */ + public Tag(String name) { + this.name = name; + } + + /** + * Gets the name of this tag. + * + * @return The name of this tag. + */ + public final String getName() { + return name; + } + + /** + * Gets the value of this tag. + * + * @return The value of this tag. + */ + public abstract Object getValue(); + +} From 14e63bd47d3966cf05aa2a1edd2dcc932e860ea2 Mon Sep 17 00:00:00 2001 From: Daniel Mills Date: Wed, 13 May 2020 21:32:13 -0400 Subject: [PATCH 09/20] PAr fixes --- src/main/java/ninja/bytecode/iris/Iris.java | 86 +- .../ninja/bytecode/iris/IrisDataManager.java | 4 +- .../generator/ContextualChunkGenerator.java | 30 +- .../iris/generator/IrisGenerator.java | 6 +- .../generator/ParallaxChunkGenerator.java | 160 +++- .../generator/ParallelChunkGenerator.java | 17 +- .../iris/generator/TerrainChunkGenerator.java | 12 +- .../ninja/bytecode/iris/object/Blueprint.java | 6 + .../ninja/bytecode/iris/object/IrisBiome.java | 2 +- .../bytecode/iris/object/IrisObject.java | 104 ++- .../iris/object/IrisObjectPlacement.java | 42 + .../iris/object/atomics/AtomicRegionData.java | 10 +- .../iris/object/atomics/AtomicSliver.java | 47 +- .../iris/object/atomics/AtomicSliverMap.java | 8 + .../iris/object/atomics/AtomicWorldData.java | 109 ++- .../java/ninja/bytecode/iris/util/Axis.java | 31 + .../ninja/bytecode/iris/util/BiomeMap.java | 23 + .../java/ninja/bytecode/iris/util/CDou.java | 49 + .../java/ninja/bytecode/iris/util/Cuboid.java | 884 ++++++++++++++++++ .../bytecode/iris/util/CuboidException.java | 16 + .../java/ninja/bytecode/iris/util/DOP.java | 20 + .../ninja/bytecode/iris/util/Dimension.java | 86 ++ .../bytecode/iris/util/DimensionFace.java | 24 + .../ninja/bytecode/iris/util/Direction.java | 535 +++++++++++ .../bytecode/iris/util/FastParticle.java | 161 ++++ .../bytecode/iris/util/FastReflection.java | 59 ++ .../java/ninja/bytecode/iris/util/GBiset.java | 77 ++ .../bytecode/iris/util/GListAdapter.java | 51 + .../bytecode/iris/util/IObjectPlacer.java | 12 + .../iris/util/ObjectResourceLoader.java | 104 +++ .../bytecode/iris/util/ParticleSender.java | 130 +++ .../iris/util/ParticleSenderLegacy.java | 166 ++++ .../bytecode/iris/util/ParticleType.java | 177 ++++ .../bytecode/iris/util/ResourceLoader.java | 14 +- .../ninja/bytecode/iris/util/VectorMath.java | 755 +++++++++++++++ .../bytecode/iris/wand/WandController.java | 307 ++++++ 36 files changed, 4253 insertions(+), 71 deletions(-) create mode 100644 src/main/java/ninja/bytecode/iris/object/Blueprint.java create mode 100644 src/main/java/ninja/bytecode/iris/object/IrisObjectPlacement.java create mode 100644 src/main/java/ninja/bytecode/iris/util/Axis.java create mode 100644 src/main/java/ninja/bytecode/iris/util/BiomeMap.java create mode 100644 src/main/java/ninja/bytecode/iris/util/CDou.java create mode 100644 src/main/java/ninja/bytecode/iris/util/Cuboid.java create mode 100644 src/main/java/ninja/bytecode/iris/util/CuboidException.java create mode 100644 src/main/java/ninja/bytecode/iris/util/DOP.java create mode 100644 src/main/java/ninja/bytecode/iris/util/Dimension.java create mode 100644 src/main/java/ninja/bytecode/iris/util/DimensionFace.java create mode 100644 src/main/java/ninja/bytecode/iris/util/Direction.java create mode 100644 src/main/java/ninja/bytecode/iris/util/FastParticle.java create mode 100644 src/main/java/ninja/bytecode/iris/util/FastReflection.java create mode 100644 src/main/java/ninja/bytecode/iris/util/GBiset.java create mode 100644 src/main/java/ninja/bytecode/iris/util/GListAdapter.java create mode 100644 src/main/java/ninja/bytecode/iris/util/IObjectPlacer.java create mode 100644 src/main/java/ninja/bytecode/iris/util/ObjectResourceLoader.java create mode 100644 src/main/java/ninja/bytecode/iris/util/ParticleSender.java create mode 100644 src/main/java/ninja/bytecode/iris/util/ParticleSenderLegacy.java create mode 100644 src/main/java/ninja/bytecode/iris/util/ParticleType.java create mode 100644 src/main/java/ninja/bytecode/iris/util/VectorMath.java create mode 100644 src/main/java/ninja/bytecode/iris/wand/WandController.java diff --git a/src/main/java/ninja/bytecode/iris/Iris.java b/src/main/java/ninja/bytecode/iris/Iris.java index ab17e7db6..d88af5fbf 100644 --- a/src/main/java/ninja/bytecode/iris/Iris.java +++ b/src/main/java/ninja/bytecode/iris/Iris.java @@ -1,25 +1,32 @@ package ninja.bytecode.iris; import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.List; +import java.util.Set; import java.util.UUID; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.GameMode; import org.bukkit.Location; +import org.bukkit.Material; import org.bukkit.World; import org.bukkit.WorldCreator; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +import org.bukkit.event.HandlerList; import org.bukkit.generator.ChunkGenerator; +import org.bukkit.inventory.ItemStack; +import org.bukkit.plugin.Plugin; import org.bukkit.plugin.java.JavaPlugin; import ninja.bytecode.iris.generator.IrisGenerator; import ninja.bytecode.iris.object.IrisBiome; import ninja.bytecode.iris.object.IrisDimension; +import ninja.bytecode.iris.object.IrisObject; import ninja.bytecode.iris.util.BiomeResult; import ninja.bytecode.iris.util.BoardManager; import ninja.bytecode.iris.util.BoardProvider; @@ -28,6 +35,7 @@ import ninja.bytecode.iris.util.CNG; import ninja.bytecode.iris.util.GroupedExecutor; import ninja.bytecode.iris.util.IO; import ninja.bytecode.iris.util.ScoreDirection; +import ninja.bytecode.iris.wand.WandController; import ninja.bytecode.shuriken.collections.KList; import ninja.bytecode.shuriken.execution.J; import ninja.bytecode.shuriken.format.Form; @@ -39,8 +47,9 @@ public class Iris extends JavaPlugin implements BoardProvider public static KList executors = new KList<>(); public static Iris instance; public static IrisDataManager data; - private static String last = ""; public static IrisHotloadManager hotloader; + public static WandController wand; + private static String last = ""; private BoardManager manager; private RollingSequence hits = new RollingSequence(20); @@ -54,6 +63,7 @@ public class Iris extends JavaPlugin implements BoardProvider instance = this; hotloader = new IrisHotloadManager(); data = new IrisDataManager(getDataFolder()); + wand = new WandController(); manager = new BoardManager(this, BoardSettings.builder().boardProvider(this).scoreDirection(ScoreDirection.UP).build()); } @@ -83,6 +93,9 @@ public class Iris extends JavaPlugin implements BoardProvider lines.add(ChatColor.GREEN + "Loss" + ChatColor.GRAY + ": " + ChatColor.BOLD + "" + ChatColor.GRAY + Form.duration(g.getMetrics().getLoss().getAverage(), 4) + ""); lines.add(ChatColor.GREEN + "Generators" + ChatColor.GRAY + ": " + Form.f(CNG.creates)); lines.add(ChatColor.GREEN + "Noise" + ChatColor.GRAY + ": " + Form.f((int) hits.getAverage())); + lines.add(ChatColor.GREEN + "Parallax Regions" + ChatColor.GRAY + ": " + Form.f((int) g.getParallaxMap().getLoadedRegions().size())); + lines.add(ChatColor.GREEN + "Parallax Chunks" + ChatColor.GRAY + ": " + Form.f((int) g.getParallaxMap().getLoadedChunks().size())); + lines.add(ChatColor.GREEN + "Sliver Buffer" + ChatColor.GRAY + ": " + Form.f((int) g.getSliverBuffer())); if(er != null && b != null) { @@ -110,6 +123,8 @@ public class Iris extends JavaPlugin implements BoardProvider executors.clear(); manager.onDisable(); + Bukkit.getScheduler().cancelTasks(this); + HandlerList.unregisterAll((Plugin) this); } @Override @@ -120,10 +135,79 @@ public class Iris extends JavaPlugin implements BoardProvider if(args.length == 0) { imsg(sender, "/iris dev - Create a new dev world"); + imsg(sender, "/iris wand - Get a wand"); } if(args.length >= 1) { + if(args[0].equalsIgnoreCase("wand")) + { + ((Player) sender).getInventory().addItem(WandController.createWand()); + } + + if(args[0].equalsIgnoreCase("save") && args.length >= 2) + { + ItemStack wand = ((Player) sender).getInventory().getItemInMainHand(); + IrisObject o = WandController.createSchematic(wand); + try + { + o.write(new File(getDataFolder(), "objects/" + args[1] + ".iob")); + imsg(sender, "Saved " + "objects/" + args[1] + ".iob"); + } + + catch(IOException e) + { + imsg(sender, "Failed to save " + "objects/" + args[1] + ".iob"); + + e.printStackTrace(); + } + } + + if(args[0].equalsIgnoreCase("load") && args.length >= 2) + { + File file = new File(getDataFolder(), "objects/" + args[1] + ".iob"); + boolean intoWand = false; + + for(String i : args) + { + if(i.equalsIgnoreCase("-edit")) + { + intoWand = true; + } + } + + if(!file.exists()) + { + imsg(sender, "Can't find " + "objects/" + args[1] + ".iob"); + } + + ItemStack wand = ((Player) sender).getInventory().getItemInMainHand(); + IrisObject o = new IrisObject(0, 0, 0); + + try + { + o.read(new File(getDataFolder(), "objects/" + args[1] + ".iob")); + imsg(sender, "Loaded " + "objects/" + args[1] + ".iob"); + Location block = ((Player) sender).getTargetBlock((Set) null, 256).getLocation().clone().add(0, 1, 0); + + if(intoWand && WandController.isWand(wand)) + { + wand = WandController.createWand(block.clone().subtract(o.getCenter()).add(o.getW() - 1, o.getH(), o.getD() - 1), block.clone().subtract(o.getCenter())); + ((Player) sender).getInventory().setItemInMainHand(wand); + imsg(sender, "Updated wand for " + "objects/" + args[1] + ".iob"); + } + + WandController.pasteSchematic(o, block); + imsg(sender, "Placed " + "objects/" + args[1] + ".iob"); + } + + catch(IOException e) + { + imsg(sender, "Failed to load " + "objects/" + args[1] + ".iob"); + e.printStackTrace(); + } + } + if(args[0].equalsIgnoreCase("dev")) { String dim = "Overworld"; diff --git a/src/main/java/ninja/bytecode/iris/IrisDataManager.java b/src/main/java/ninja/bytecode/iris/IrisDataManager.java index c49328cd0..8d5221436 100644 --- a/src/main/java/ninja/bytecode/iris/IrisDataManager.java +++ b/src/main/java/ninja/bytecode/iris/IrisDataManager.java @@ -10,6 +10,7 @@ import ninja.bytecode.iris.object.IrisBiome; import ninja.bytecode.iris.object.IrisDimension; import ninja.bytecode.iris.object.IrisRegion; import ninja.bytecode.iris.util.IO; +import ninja.bytecode.iris.util.ObjectResourceLoader; import ninja.bytecode.iris.util.ResourceLoader; @Data @@ -17,10 +18,10 @@ public class IrisDataManager { private File dataFolder; private File packs; - private ResourceLoader biomeLoader; private ResourceLoader regionLoader; private ResourceLoader dimensionLoader; + private ObjectResourceLoader objectLoader; public void hotloaded() { @@ -28,6 +29,7 @@ public class IrisDataManager this.regionLoader = new ResourceLoader<>(packs, "regions", "Region", IrisRegion.class); this.biomeLoader = new ResourceLoader<>(packs, "biomes", "Biome", IrisBiome.class); this.dimensionLoader = new ResourceLoader<>(packs, "dimensions", "Dimension", IrisDimension.class); + this.objectLoader = new ObjectResourceLoader(packs, "objects", "Object"); writeExamples(); } diff --git a/src/main/java/ninja/bytecode/iris/generator/ContextualChunkGenerator.java b/src/main/java/ninja/bytecode/iris/generator/ContextualChunkGenerator.java index ed27df212..bc3a4bd89 100644 --- a/src/main/java/ninja/bytecode/iris/generator/ContextualChunkGenerator.java +++ b/src/main/java/ninja/bytecode/iris/generator/ContextualChunkGenerator.java @@ -250,29 +250,33 @@ public abstract class ContextualChunkGenerator extends ChunkGenerator implements CNG.hits = 0; Iris.instance.hit(hits); metrics.getLoss().put(sx.getMilliseconds() - s.getMilliseconds()); - return c; } catch(Throwable e) { - failing = true; - Iris.error("ERROR! Failed to generate chunk! Iris has entered a failed state!"); - - for(Player i : world.getPlayers()) - { - Iris.instance.imsg(i, ChatColor.DARK_RED + "Iris Generator has entered a failed state!"); - Iris.instance.imsg(i, ChatColor.RED + "- Check the console for the error."); - Iris.instance.imsg(i, ChatColor.RED + "- Then simply run /iris dev"); - } - - L.ex(e); - onFailure(e); + fail(e); } return generateChunkDataFailure(world, no, x, z, biomeGrid); } + protected void fail(Throwable e) + { + failing = true; + Iris.error("ERROR! Failed to generate chunk! Iris has entered a failed state!"); + + for(Player i : world.getPlayers()) + { + Iris.instance.imsg(i, ChatColor.DARK_RED + "Iris Generator has entered a failed state!"); + Iris.instance.imsg(i, ChatColor.RED + "- Check the console for the error."); + Iris.instance.imsg(i, ChatColor.RED + "- Then simply run /iris dev"); + } + + L.ex(e); + onFailure(e); + } + @Override public List getDefaultPopulators(World world) { diff --git a/src/main/java/ninja/bytecode/iris/generator/IrisGenerator.java b/src/main/java/ninja/bytecode/iris/generator/IrisGenerator.java index c5e6d32b8..7532639cd 100644 --- a/src/main/java/ninja/bytecode/iris/generator/IrisGenerator.java +++ b/src/main/java/ninja/bytecode/iris/generator/IrisGenerator.java @@ -5,6 +5,7 @@ import org.bukkit.entity.Player; import lombok.Data; import lombok.EqualsAndHashCode; +import ninja.bytecode.iris.Iris; import ninja.bytecode.iris.IrisContext; import ninja.bytecode.iris.object.IrisRegion; import ninja.bytecode.iris.util.BiomeResult; @@ -39,13 +40,14 @@ public class IrisGenerator extends ParallaxChunkGenerator implements IrisContext @Override protected void onTick(int ticks) { - + super.onTick(ticks); } @Override protected void onClose() { - + super.onClose(); + Iris.info("Closing Iris Dimension " + getWorld().getName()); } @Override diff --git a/src/main/java/ninja/bytecode/iris/generator/ParallaxChunkGenerator.java b/src/main/java/ninja/bytecode/iris/generator/ParallaxChunkGenerator.java index 5702635fd..b17e955ed 100644 --- a/src/main/java/ninja/bytecode/iris/generator/ParallaxChunkGenerator.java +++ b/src/main/java/ninja/bytecode/iris/generator/ParallaxChunkGenerator.java @@ -1,22 +1,172 @@ package ninja.bytecode.iris.generator; +import java.io.IOException; + +import org.bukkit.World; +import org.bukkit.block.data.BlockData; + import lombok.Data; import lombok.EqualsAndHashCode; +import ninja.bytecode.iris.Iris; +import ninja.bytecode.iris.object.IrisBiome; +import ninja.bytecode.iris.object.IrisObjectPlacement; +import ninja.bytecode.iris.object.atomics.AtomicSliver; +import ninja.bytecode.iris.object.atomics.AtomicSliverMap; +import ninja.bytecode.iris.object.atomics.AtomicWorldData; +import ninja.bytecode.iris.util.BiomeMap; +import ninja.bytecode.iris.util.ChunkPosition; import ninja.bytecode.iris.util.HeightMap; +import ninja.bytecode.iris.util.IObjectPlacer; import ninja.bytecode.iris.util.RNG; +import ninja.bytecode.shuriken.collections.KMap; @Data @EqualsAndHashCode(callSuper = false) -public abstract class ParallaxChunkGenerator extends TerrainChunkGenerator +public abstract class ParallaxChunkGenerator extends TerrainChunkGenerator implements IObjectPlacer { + private KMap sliverCache; + protected AtomicWorldData parallaxMap; + private int sliverBuffer = 0; + public ParallaxChunkGenerator(String dimensionName, int threads) { super(dimensionName, threads); + sliverCache = new KMap<>(); } - - @Override - protected void onPostGenerate(RNG random, int x, int z, ChunkData data, BiomeGrid grid, HeightMap height) + + public void onInit(World world, RNG rng) { - + super.onInit(world, rng); + parallaxMap = new AtomicWorldData(world); + } + + protected void onClose() + { + super.onClose(); + + try + { + parallaxMap.unloadAll(true); + } + + catch(IOException e) + { + e.printStackTrace(); + } + } + + @Override + public int getHighest(int x, int z) + { + return sampleSliver(x, z).getHighestBlock(); + } + + @Override + public void set(int x, int y, int z, BlockData d) + { + getParallaxSliver(x, z).set(y, d); + } + + @Override + public BlockData get(int x, int y, int z) + { + BlockData b = sampleSliver(x, z).getBlock().get(y); + return b == null ? AIR : b; + } + + public AtomicSliver getParallaxSliver(int wx, int wz) + { + return getParallaxChunk(wx >> 4, wz >> 4).getSliver(wx & 15, wz & 15); + } + + public boolean hasParallaxChunk(int x, int z) + { + try + { + return getParallaxMap().hasChunk(x, z); + } + + catch(IOException e) + { + fail(e); + } + + return false; + } + + public AtomicSliverMap getParallaxChunk(int x, int z) + { + try + { + return getParallaxMap().loadChunk(x, z); + } + + catch(IOException e) + { + fail(e); + } + + return new AtomicSliverMap(); + } + + @Override + protected void onPostGenerate(RNG random, int x, int z, ChunkData data, BiomeGrid grid, HeightMap height, BiomeMap biomeMap) + { + onGenerateParallax(random, x, z); + getParallaxChunk(x, z).inject(data); + sliverBuffer = sliverCache.size(); + sliverCache.clear(); + } + + protected void onGenerateParallax(RNG random, int x, int z) + { + ChunkPosition pos = Iris.data.getObjectLoader().getParallaxSize(); + + for(int i = x - pos.getX() / 2; i <= x + pos.getX() / 2; i++) + { + for(int j = z - pos.getZ() / 2; j <= z + pos.getZ() / 2; j++) + { + IrisBiome b = sampleBiome((i * 16) + 7, (j * 16) + 7).getBiome(); + int g = 1; + + for(IrisObjectPlacement k : b.getObjects()) + { + placeObject(k, i, j, random.nextParallelRNG((i * 30) + (j * 30) + g++)); + } + } + } + } + + @Override + protected void onTick(int ticks) + { + if(ticks % 100 == 0) + { + parallaxMap.clean(); + } + } + + protected void placeObject(IrisObjectPlacement o, int x, int z, RNG rng) + { + for(int i = 0; i < o.getTriesForChunk(rng); i++) + { + o.getSchematic(rng).place((x * 16) * rng.nextInt(16), (z * 16) + rng.nextInt(16), this); + } + } + + public AtomicSliver sampleSliver(int x, int z) + { + ChunkPosition key = new ChunkPosition(x, z); + + if(sliverCache.containsKey(key)) + { + return sliverCache.get(key); + } + + AtomicSliver s = new AtomicSliver(x & 15, z & 15); + onGenerateColumn(x >> 4, z >> 4, x, z, x & 15, z & 15, s, null); + sliverCache.put(key, s); + + return s; } } diff --git a/src/main/java/ninja/bytecode/iris/generator/ParallelChunkGenerator.java b/src/main/java/ninja/bytecode/iris/generator/ParallelChunkGenerator.java index 0e265986f..d0cca8b24 100644 --- a/src/main/java/ninja/bytecode/iris/generator/ParallelChunkGenerator.java +++ b/src/main/java/ninja/bytecode/iris/generator/ParallelChunkGenerator.java @@ -7,6 +7,7 @@ import lombok.EqualsAndHashCode; import ninja.bytecode.iris.Iris; import ninja.bytecode.iris.object.atomics.AtomicSliver; import ninja.bytecode.iris.object.atomics.AtomicSliverMap; +import ninja.bytecode.iris.util.BiomeMap; import ninja.bytecode.iris.util.GroupedExecutor; import ninja.bytecode.iris.util.HeightMap; import ninja.bytecode.iris.util.RNG; @@ -37,11 +38,11 @@ public abstract class ParallelChunkGenerator extends BiomeChunkGenerator } } - protected abstract void onGenerateColumn(int cx, int cz, int wx, int wz, int x, int z, AtomicSliver sliver); + protected abstract void onGenerateColumn(int cx, int cz, int wx, int wz, int x, int z, AtomicSliver sliver, BiomeMap biomeMap); protected abstract int onSampleColumnHeight(int cx, int cz, int wx, int wz, int x, int z); - protected abstract void onPostGenerate(RNG random, int x, int z, ChunkData data, BiomeGrid grid, HeightMap height); + protected abstract void onPostGenerate(RNG random, int x, int z, ChunkData data, BiomeGrid grid, HeightMap height, BiomeMap biomeMap); protected int sampleHeight(int x, int z) { @@ -53,6 +54,7 @@ public abstract class ParallelChunkGenerator extends BiomeChunkGenerator AtomicSliverMap map = new AtomicSliverMap(); HeightMap height = new HeightMap(); String key = "c" + x + "," + z; + BiomeMap biomeMap = new BiomeMap(); int ii, jj; for(ii = 0; ii < 16; ii++) @@ -68,14 +70,19 @@ public abstract class ParallelChunkGenerator extends BiomeChunkGenerator tx.queue(key, () -> { - onGenerateColumn(x, z, wx, wz, i, j, sliver); + onGenerateColumn(x, z, wx, wz, i, j, sliver, biomeMap); }); } } tx.waitFor(key); map.write(data, grid, height); - onPostGenerate(random, x, z, data, grid, height); + onPostGenerate(random, x, z, data, grid, height, biomeMap); + } + + protected void onClose() + { + tx.close(); } public void onInit(World world, RNG rng) @@ -87,6 +94,6 @@ public abstract class ParallelChunkGenerator extends BiomeChunkGenerator @Override public boolean isParallelCapable() { - return true; + return false; } } diff --git a/src/main/java/ninja/bytecode/iris/generator/TerrainChunkGenerator.java b/src/main/java/ninja/bytecode/iris/generator/TerrainChunkGenerator.java index 8c6ccbcc5..91dab992f 100644 --- a/src/main/java/ninja/bytecode/iris/generator/TerrainChunkGenerator.java +++ b/src/main/java/ninja/bytecode/iris/generator/TerrainChunkGenerator.java @@ -9,6 +9,7 @@ import lombok.EqualsAndHashCode; import ninja.bytecode.iris.object.IrisBiome; import ninja.bytecode.iris.object.IrisRegion; import ninja.bytecode.iris.object.atomics.AtomicSliver; +import ninja.bytecode.iris.util.BiomeMap; import ninja.bytecode.iris.util.BiomeResult; import ninja.bytecode.iris.util.CNG; import ninja.bytecode.iris.util.RNG; @@ -18,6 +19,7 @@ import ninja.bytecode.shuriken.collections.KList; @EqualsAndHashCode(callSuper = false) public abstract class TerrainChunkGenerator extends ParallelChunkGenerator { + protected static final BlockData AIR = Material.AIR.createBlockData(); protected static final BlockData STONE = Material.STONE.createBlockData(); protected static final BlockData WATER = Material.WATER.createBlockData(); protected CNG terrainNoise; @@ -34,7 +36,7 @@ public abstract class TerrainChunkGenerator extends ParallelChunkGenerator } @Override - protected void onGenerateColumn(int cx, int cz, int rx, int rz, int x, int z, AtomicSliver sliver) + protected void onGenerateColumn(int cx, int cz, int rx, int rz, int x, int z, AtomicSliver sliver, BiomeMap biomeMap) { BlockData block; int fluidHeight = getDimension().getFluidHeight(); @@ -64,7 +66,12 @@ public abstract class TerrainChunkGenerator extends ParallelChunkGenerator for(int k = Math.max(height, fluidHeight); k >= 0; k--) { boolean underwater = k > height && k <= fluidHeight; - sliver.set(k, biome.getDerivative()); + + if(biomeMap != null) + { + sliver.set(k, biome.getDerivative()); + biomeMap.setBiome(x, z, biome); + } if(underwater) { @@ -76,7 +83,6 @@ public abstract class TerrainChunkGenerator extends ParallelChunkGenerator block = layers.hasIndex(depth) ? layers.get(depth) : STONE; depth++; } - sliver.set(k, block); } } diff --git a/src/main/java/ninja/bytecode/iris/object/Blueprint.java b/src/main/java/ninja/bytecode/iris/object/Blueprint.java new file mode 100644 index 000000000..00ee59e13 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/object/Blueprint.java @@ -0,0 +1,6 @@ +package ninja.bytecode.iris.object; + +public class Blueprint +{ + +} diff --git a/src/main/java/ninja/bytecode/iris/object/IrisBiome.java b/src/main/java/ninja/bytecode/iris/object/IrisBiome.java index cb901ad2c..c674a133a 100644 --- a/src/main/java/ninja/bytecode/iris/object/IrisBiome.java +++ b/src/main/java/ninja/bytecode/iris/object/IrisBiome.java @@ -25,7 +25,7 @@ public class IrisBiome extends IrisRegisteredObject private KList children = new KList<>(); private KList layers = new KList().qadd(new IrisBiomePaletteLayer()); private KList decorators = new KList(); - + private KList objects = new KList(); private transient ReentrantLock lock = new ReentrantLock(); private transient CellGenerator childrenCell; private transient InferredType inferredType; diff --git a/src/main/java/ninja/bytecode/iris/object/IrisObject.java b/src/main/java/ninja/bytecode/iris/object/IrisObject.java index ab1262ca0..064abed65 100644 --- a/src/main/java/ninja/bytecode/iris/object/IrisObject.java +++ b/src/main/java/ninja/bytecode/iris/object/IrisObject.java @@ -1,31 +1,97 @@ package ninja.bytecode.iris.object; +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; + +import org.bukkit.Location; import org.bukkit.block.data.BlockData; import org.bukkit.util.BlockVector; +import lombok.Data; +import lombok.EqualsAndHashCode; +import ninja.bytecode.iris.util.BlockDataTools; +import ninja.bytecode.iris.util.IObjectPlacer; import ninja.bytecode.shuriken.collections.KMap; -import ninja.bytecode.shuriken.collections.KSet; -public class IrisObject +@Data +@EqualsAndHashCode(callSuper = false) +public class IrisObject extends IrisRegisteredObject { - private String name; private KMap blocks; - private KSet mount; private int w; private int d; private int h; private transient BlockVector center; - public IrisObject(String name, int w, int h, int d) + public IrisObject(int w, int h, int d) { blocks = new KMap<>(); - mount = new KSet<>(); this.w = w; this.h = h; this.d = d; - this.name = name; center = new BlockVector(w / 2, h / 2, d / 2); } + + public static BlockVector sampleSize(File file) throws IOException + { + FileInputStream in = new FileInputStream(file); + DataInputStream din = new DataInputStream(in); + BlockVector bv = new BlockVector(din.readInt(), din.readInt(), din.readInt()); + din.close(); + return bv; + } + + public void read(InputStream in) throws IOException + { + DataInputStream din = new DataInputStream(in); + this.w = din.readInt(); + this.h = din.readInt(); + this.d = din.readInt(); + center = new BlockVector(w / 2, h / 2, d / 2); + int s = din.readInt(); + + for(int i = 0; i < s; i++) + { + blocks.put(new BlockVector(din.readShort(), din.readShort(), din.readShort()), BlockDataTools.getBlockData(din.readUTF())); + } + } + + public void read(File file) throws IOException + { + FileInputStream fin = new FileInputStream(file); + read(fin); + fin.close(); + } + + public void write(File file) throws IOException + { + file.getParentFile().mkdirs(); + FileOutputStream out = new FileOutputStream(file); + write(out); + out.close(); + } + + public void write(OutputStream o) throws IOException + { + DataOutputStream dos = new DataOutputStream(o); + dos.writeInt(w); + dos.writeInt(h); + dos.writeInt(d); + dos.writeInt(blocks.size()); + for(BlockVector i : blocks.k()) + { + dos.writeShort(i.getBlockX()); + dos.writeShort(i.getBlockY()); + dos.writeShort(i.getBlockZ()); + dos.writeUTF(blocks.get(i).getAsString(true)); + } + } public void setUnsigned(int x, int y, int z, BlockData block) { @@ -33,17 +99,35 @@ public class IrisObject { throw new RuntimeException(x + " " + y + " " + z + " exceeds limit of " + w + " " + h + " " + d); } - + BlockVector v = new BlockVector(x, y, z).subtract(center).toBlockVector(); - + if(block == null) { blocks.remove(v); } - + else { blocks.put(v, block); } } + + public void place(int x, int z, IObjectPlacer placer) + { + int y = placer.getHighest(x, z) + getCenter().getBlockY(); + + for(BlockVector i : blocks.k()) + { + placer.set(x + i.getBlockX(), y + i.getBlockY(), z + i.getBlockZ(), blocks.get(i)); + } + } + + public void place(Location at) + { + for(BlockVector i : blocks.k()) + { + at.clone().add(0, getCenter().getY(), 0).add(i).getBlock().setBlockData(blocks.get(i), false); + } + } } diff --git a/src/main/java/ninja/bytecode/iris/object/IrisObjectPlacement.java b/src/main/java/ninja/bytecode/iris/object/IrisObjectPlacement.java new file mode 100644 index 000000000..c8a71bc24 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/object/IrisObjectPlacement.java @@ -0,0 +1,42 @@ +package ninja.bytecode.iris.object; + +import ninja.bytecode.iris.Iris; +import ninja.bytecode.iris.util.RNG; +import ninja.bytecode.shuriken.collections.KList; + +public class IrisObjectPlacement +{ + private KList place = new KList<>(); + private double chance = 1; + private int density = 1; + + public IrisObjectPlacement() + { + + } + + public IrisObject getSchematic(RNG random) + { + if(place.isEmpty()) + { + return null; + } + + return Iris.data.getObjectLoader().load(place.get(random.nextInt(place.size()))); + } + + public int getTriesForChunk(RNG random) + { + if(chance <= 0) + { + return 0; + } + + if(chance >= 1 || random.nextDouble() < chance) + { + return density; + } + + return 0; + } +} diff --git a/src/main/java/ninja/bytecode/iris/object/atomics/AtomicRegionData.java b/src/main/java/ninja/bytecode/iris/object/atomics/AtomicRegionData.java index 6db485f91..22bf5e558 100644 --- a/src/main/java/ninja/bytecode/iris/object/atomics/AtomicRegionData.java +++ b/src/main/java/ninja/bytecode/iris/object/atomics/AtomicRegionData.java @@ -53,6 +53,11 @@ public class AtomicRegionData public void set(int rx, int rz, AtomicSliverMap data) throws IOException { + if(data == null) + { + return; + } + ByteArrayOutputStream boas = new ByteArrayOutputStream(); data.write(boas); tag.put(rx + "." + rz, new ByteArrayTag(rx + "." + rz, boas.toByteArray())); @@ -60,12 +65,13 @@ public class AtomicRegionData public AtomicSliverMap get(int rx, int rz) throws IOException { + AtomicSliverMap data = new AtomicSliverMap(); + if(!contains(rx, rz)) { - return null; + return data; } - AtomicSliverMap data = new AtomicSliverMap(); ByteArrayTag btag = (ByteArrayTag) tag.get(rx + "." + rz); ByteArrayInputStream in = new ByteArrayInputStream(btag.getValue()); data.read(in); diff --git a/src/main/java/ninja/bytecode/iris/object/atomics/AtomicSliver.java b/src/main/java/ninja/bytecode/iris/object/atomics/AtomicSliver.java index 979f4ab0c..6917f3187 100644 --- a/src/main/java/ninja/bytecode/iris/object/atomics/AtomicSliver.java +++ b/src/main/java/ninja/bytecode/iris/object/atomics/AtomicSliver.java @@ -12,13 +12,14 @@ import org.bukkit.generator.ChunkGenerator.ChunkData; import lombok.Data; import ninja.bytecode.iris.util.BlockDataTools; import ninja.bytecode.iris.util.HeightMap; +import ninja.bytecode.shuriken.collections.KMap; @Data public class AtomicSliver { private static final BlockData AIR = BlockDataTools.getBlockData("AIR"); - private BlockData[] block; - private Biome[] biome; + private KMap block; + private KMap biome; private int highestBlock = 0; private int highestBiome = 0; private int x; @@ -28,19 +29,19 @@ public class AtomicSliver { this.x = x; this.z = z; - this.block = new BlockData[256]; - this.biome = new Biome[256]; + this.block = new KMap<>(); + this.biome = new KMap<>(); } public void set(int h, BlockData d) { - block[h] = d; + block.put(h, d); highestBlock = h > highestBlock ? h : highestBlock; } public void set(int h, Biome d) { - biome[h] = d; + biome.put(h, d); highestBiome = h > highestBiome ? h : highestBiome; } @@ -48,14 +49,14 @@ public class AtomicSliver { for(int i = 0; i <= highestBlock; i++) { - if(block[i] == null) + if(block.get(i) == null) { d.setBlock(x, i, z, AIR); } else { - d.setBlock(x, i, z, block[i]); + d.setBlock(x, i, z, block.get(i)); } } } @@ -64,7 +65,10 @@ public class AtomicSliver { for(int i = 0; i <= highestBiome; i++) { - d.setBiome(x, i, z, biome[i]); + if(biome.get(i) != null) + { + d.setBiome(x, i, z, biome.get(i)); + } } } @@ -75,11 +79,11 @@ public class AtomicSliver public void read(DataInputStream din) throws IOException { - this.block = new BlockData[256]; + this.block = new KMap(); int h = din.readByte() - Byte.MIN_VALUE; for(int i = 0; i <= h; i++) { - block[i] = BlockDataTools.getBlockData(din.readUTF()); + block.put(i, BlockDataTools.getBlockData(din.readUTF())); } } @@ -89,7 +93,8 @@ public class AtomicSliver for(int i = 0; i <= highestBlock; i++) { - dos.writeUTF(block[i].getAsString(true)); + BlockData dat = block.get(i); + dos.writeUTF((dat == null ? AIR : dat).getAsString(true)); } } @@ -97,15 +102,27 @@ public class AtomicSliver { for(int i = 0; i < 256; i++) { - if(block[i] == null || block[i].equals(AIR)) + if(block.get(i) == null || block.get(i).equals(AIR)) { - BlockData b = atomicSliver.block[i]; + BlockData b = atomicSliver.block.get(i); if(b == null || b.equals(AIR)) { continue; } - block[i] = b; + block.put(i, b); + } + } + } + + public void inject(ChunkData currentData) + { + for(int i = 0; i < getHighestBlock(); i++) + { + if(block.get(i) != null && !block.get(i).equals(AIR)) + { + BlockData b = block.get(i); + currentData.setBlock(x, i, z, b); } } } diff --git a/src/main/java/ninja/bytecode/iris/object/atomics/AtomicSliverMap.java b/src/main/java/ninja/bytecode/iris/object/atomics/AtomicSliverMap.java index eccfee7d2..df6d96fe9 100644 --- a/src/main/java/ninja/bytecode/iris/object/atomics/AtomicSliverMap.java +++ b/src/main/java/ninja/bytecode/iris/object/atomics/AtomicSliverMap.java @@ -73,4 +73,12 @@ public class AtomicSliverMap } } } + + public void inject(ChunkData currentData) + { + for(AtomicSliver i : slivers) + { + i.inject(currentData); + } + } } diff --git a/src/main/java/ninja/bytecode/iris/object/atomics/AtomicWorldData.java b/src/main/java/ninja/bytecode/iris/object/atomics/AtomicWorldData.java index cc3dfceee..615d93c0e 100644 --- a/src/main/java/ninja/bytecode/iris/object/atomics/AtomicWorldData.java +++ b/src/main/java/ninja/bytecode/iris/object/atomics/AtomicWorldData.java @@ -7,29 +7,36 @@ import java.io.IOException; import org.bukkit.World; +import ninja.bytecode.iris.Iris; import ninja.bytecode.iris.util.ChunkPosition; -import ninja.bytecode.shuriken.collections.KList; import ninja.bytecode.shuriken.collections.KMap; +import ninja.bytecode.shuriken.math.M; public class AtomicWorldData { private World world; + private KMap loadedChunks; private KMap loadedSections; + private KMap lastRegion; public AtomicWorldData(World world) { this.world = world; loadedSections = new KMap<>(); + loadedChunks = new KMap<>(); + lastRegion = new KMap<>(); getSubregionFolder().mkdirs(); } - public KList getLoadedRegions() + public KMap getLoadedRegions() { - return loadedSections.k(); + return loadedSections; } public AtomicRegionData getSubregion(int x, int z) throws IOException { + lastRegion.put(new ChunkPosition(x, z), M.ms()); + if(!isSectionLoaded(x, z)) { loadedSections.put(new ChunkPosition(x, z), loadSection(x, z)); @@ -42,6 +49,8 @@ public class AtomicWorldData public void saveAll() throws IOException { + saveChunks(); + for(ChunkPosition i : loadedSections.keySet()) { saveSection(i); @@ -50,10 +59,16 @@ public class AtomicWorldData public void unloadAll(boolean save) throws IOException { + saveChunks(); + for(ChunkPosition i : loadedSections.keySet()) { unloadSection(i, save); } + + loadedSections.clear(); + loadedChunks.clear(); + lastRegion.clear(); } public void deleteSection(int x, int z) throws IOException @@ -105,6 +120,7 @@ public class AtomicWorldData return false; } + saveChunks(s); AtomicRegionData data = loadedSections.get(s); FileOutputStream fos = new FileOutputStream(getSubregionFile(s.getX(), s.getZ())); data.write(fos); @@ -112,29 +128,84 @@ public class AtomicWorldData return true; } + public void saveChunks() throws IOException + { + for(ChunkPosition i : loadedChunks.k()) + { + saveChunk(i); + } + } + + public void saveChunks(ChunkPosition reg) throws IOException + { + for(ChunkPosition i : loadedChunks.k()) + { + int x = i.getX(); + int z = i.getZ(); + + if(x >> 5 == reg.getX() && z >> 5 == reg.getZ()) + { + saveChunk(i); + } + } + } + + public void saveChunk(ChunkPosition i) throws IOException + { + int x = i.getX(); + int z = i.getZ(); + AtomicRegionData dat = loadSection(x >> 5, z >> 5); + dat.set(x & 31, z & 31, loadedChunks.get(i)); + loadedChunks.remove(i); + } + public AtomicSliverMap loadChunk(int x, int z) throws IOException { - return loadSection(x >> 5, z >> 5).get(x & 31, z & 31); + ChunkPosition pos = new ChunkPosition(x, z); + + if(loadedChunks.containsKey(pos)) + { + return loadedChunks.get(pos); + } + + AtomicRegionData dat = loadSection(x >> 5, z >> 5); + AtomicSliverMap m = dat.get(x & 31, z & 31); + loadedChunks.put(pos, m); + + Iris.info("Loaded chunk: sections: " + loadedSections.size()); + + return m; + } + + public boolean hasChunk(int x, int z) throws IOException + { + return loadSection(x >> 5, z >> 5).contains(x & 31, z & 31); } public AtomicRegionData loadSection(int x, int z) throws IOException { + ChunkPosition pos = new ChunkPosition(x, z); + lastRegion.put(pos, M.ms()); + if(isSectionLoaded(x, z)) { - return loadedSections.get(new ChunkPosition(x, z)); + return loadedSections.get(pos); } File file = getSubregionFile(x, z); if(!file.exists()) { - return createSection(x, z); + AtomicRegionData dat = createSection(x, z); + loadedSections.put(pos, dat); + return dat; } FileInputStream fin = new FileInputStream(file); AtomicRegionData data = new AtomicRegionData(world); data.read(fin); fin.close(); + loadedSections.put(pos, data); return data; } @@ -160,4 +231,30 @@ public class AtomicWorldData { return new File(world.getWorldFolder(), "subregion"); } + + public KMap getLoadedChunks() + { + return loadedChunks; + } + + public void clean() + { + for(ChunkPosition i : lastRegion.k()) + { + if(M.ms() - lastRegion.get(i) > 3000) + { + lastRegion.remove(i); + + try + { + unloadSection(i, true); + } + + catch(IOException e) + { + e.printStackTrace(); + } + } + } + } } diff --git a/src/main/java/ninja/bytecode/iris/util/Axis.java b/src/main/java/ninja/bytecode/iris/util/Axis.java new file mode 100644 index 000000000..1e7e7291f --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/Axis.java @@ -0,0 +1,31 @@ +package ninja.bytecode.iris.util; + +import org.bukkit.util.Vector; + +public enum Axis +{ + X(1, 0, 0), + Y(0, 1, 0), + Z(0, 0, 1); + + private int x; + private int y; + private int z; + + private Axis(int x, int y, int z) + { + this.x = x; + this.y = y; + this.z = z; + } + + public Vector positive() + { + return new Vector(x, y, z); + } + + public Vector negative() + { + return VectorMath.reverse(positive()); + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/BiomeMap.java b/src/main/java/ninja/bytecode/iris/util/BiomeMap.java new file mode 100644 index 000000000..bd915a268 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/BiomeMap.java @@ -0,0 +1,23 @@ +package ninja.bytecode.iris.util; + +import ninja.bytecode.iris.object.IrisBiome; + +public class BiomeMap +{ + private final IrisBiome[] height; + + public BiomeMap() + { + height = new IrisBiome[256]; + } + + public void setBiome(int x, int z, IrisBiome h) + { + height[x * 16 + z] = h; + } + + public IrisBiome getBiome(int x, int z) + { + return height[x * 16 + z]; + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/CDou.java b/src/main/java/ninja/bytecode/iris/util/CDou.java new file mode 100644 index 000000000..c4c099d0f --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/CDou.java @@ -0,0 +1,49 @@ +package ninja.bytecode.iris.util; + +public class CDou +{ + private double number; + private double max; + + public CDou(double max) + { + number = 0; + this.max = max; + } + + public CDou set(double n) + { + number = n; + circ(); + return this; + } + + public CDou add(double a) + { + number += a; + circ(); + return this; + } + + public CDou sub(double a) + { + number -= a; + circ(); + return this; + } + + public double get() + { + return number; + } + + public void circ() + { + if(number < 0) + { + number = max - (Math.abs(number) > max ? max : Math.abs(number)); + } + + number = number % (max); + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/Cuboid.java b/src/main/java/ninja/bytecode/iris/util/Cuboid.java new file mode 100644 index 000000000..c0e99ad54 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/Cuboid.java @@ -0,0 +1,884 @@ +package ninja.bytecode.iris.util; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import org.bukkit.Bukkit; +import org.bukkit.Chunk; +import org.bukkit.Location; +import org.bukkit.Material; +import org.bukkit.World; +import org.bukkit.block.Block; +import org.bukkit.configuration.serialization.ConfigurationSerializable; +import org.bukkit.entity.Entity; + +import ninja.bytecode.shuriken.collections.KList; + +/** + * Cuboids + * + * @author cyberpwn + */ +public class Cuboid implements Iterable, Cloneable, ConfigurationSerializable +{ + protected final String worldName; + protected int x1, y1, z1; + protected int x2, y2, z2; + + /** + * Construct a Cuboid given two Location objects which represent any two corners + * of the Cuboid. + * + * @param l1 + * one of the corners + * @param l2 + * the other corner + */ + public Cuboid(Location l1, Location l2) + { + if(!l1.getWorld().equals(l2.getWorld())) + { + throw new IllegalArgumentException("locations must be on the same world"); + } + + worldName = l1.getWorld().getName(); + x1 = Math.min(l1.getBlockX(), l2.getBlockX()); + y1 = Math.min(l1.getBlockY(), l2.getBlockY()); + z1 = Math.min(l1.getBlockZ(), l2.getBlockZ()); + x2 = Math.max(l1.getBlockX(), l2.getBlockX()); + y2 = Math.max(l1.getBlockY(), l2.getBlockY()); + z2 = Math.max(l1.getBlockZ(), l2.getBlockZ()); + } + + public KList getEntities() + { + KList en = new KList(); + + for(Chunk i : getChunks()) + { + for(Entity j : i.getEntities()) + { + if(contains(j.getLocation())) + { + en.add(j); + } + } + } + + return en; + } + + /** + * Set the locations + * + * @param l1 + * a + * @param l2 + * b + */ + public void set(Location l1, Location l2) + { + x1 = Math.min(l1.getBlockX(), l2.getBlockX()); + y1 = Math.min(l1.getBlockY(), l2.getBlockY()); + z1 = Math.min(l1.getBlockZ(), l2.getBlockZ()); + x2 = Math.max(l1.getBlockX(), l2.getBlockX()); + y2 = Math.max(l1.getBlockY(), l2.getBlockY()); + z2 = Math.max(l1.getBlockZ(), l2.getBlockZ()); + } + + /** + * Construct a one-block Cuboid at the given Location of the Cuboid. + * + * @param l1 + * location of the Cuboid + */ + public Cuboid(Location l1) + { + this(l1, l1); + } + + /** + * Copy constructor. + * + * @param other + * the Cuboid to copy + */ + public Cuboid(Cuboid other) + { + this(other.getWorld().getName(), other.x1, other.y1, other.z1, other.x2, other.y2, other.z2); + } + + /** + * Construct a Cuboid in the given World and xyz co-ordinates + * + * @param world + * the Cuboid's world + * @param x1 + * X co-ordinate of corner 1 + * @param y1 + * Y co-ordinate of corner 1 + * @param z1 + * Z co-ordinate of corner 1 + * @param x2 + * X co-ordinate of corner 2 + * @param y2 + * Y co-ordinate of corner 2 + * @param z2 + * Z co-ordinate of corner 2 + */ + public Cuboid(World world, int x1, int y1, int z1, int x2, int y2, int z2) + { + this.worldName = world.getName(); + this.x1 = Math.min(x1, x2); + this.x2 = Math.max(x1, x2); + this.y1 = Math.min(y1, y2); + this.y2 = Math.max(y1, y2); + this.z1 = Math.min(z1, z2); + this.z2 = Math.max(z1, z2); + } + + /** + * Construct a Cuboid in the given world name and xyz co-ordinates. + * + * @param worldName + * the Cuboid's world name + * @param x1 + * X co-ordinate of corner 1 + * @param y1 + * Y co-ordinate of corner 1 + * @param z1 + * Z co-ordinate of corner 1 + * @param x2 + * X co-ordinate of corner 2 + * @param y2 + * Y co-ordinate of corner 2 + * @param z2 + * Z co-ordinate of corner 2 + */ + private Cuboid(String worldName, int x1, int y1, int z1, int x2, int y2, int z2) + { + this.worldName = worldName; + this.x1 = Math.min(x1, x2); + this.x2 = Math.max(x1, x2); + this.y1 = Math.min(y1, y2); + this.y2 = Math.max(y1, y2); + this.z1 = Math.min(z1, z2); + this.z2 = Math.max(z1, z2); + } + + public Cuboid(Map map) + { + worldName = (String) map.get("worldName"); + x1 = (Integer) map.get("x1"); + x2 = (Integer) map.get("x2"); + y1 = (Integer) map.get("y1"); + y2 = (Integer) map.get("y2"); + z1 = (Integer) map.get("z1"); + z2 = (Integer) map.get("z2"); + } + + @Override + public Map serialize() + { + Map map = new HashMap(); + map.put("worldName", worldName); + map.put("x1", x1); + map.put("y1", y1); + map.put("z1", z1); + map.put("x2", x2); + map.put("y2", y2); + map.put("z2", z2); + return map; + } + + public Cuboid flatten(int level) + { + return new Cuboid(getWorld(), x1, level, z1, x2, level, z2); + } + + /** + * Get the Location of the lower northeast corner of the Cuboid (minimum XYZ + * co-ordinates). + * + * @return Location of the lower northeast corner + */ + public Location getLowerNE() + { + return new Location(getWorld(), x1, y1, z1); + } + + /** + * Get the Location of the upper southwest corner of the Cuboid (maximum XYZ + * co-ordinates). + * + * @return Location of the upper southwest corner + */ + public Location getUpperSW() + { + return new Location(getWorld(), x2, y2, z2); + } + + /** + * Get the the centre of the Cuboid + * + * @return Location at the centre of the Cuboid + */ + public Location getCenter() + { + int x1 = getUpperX() + 1; + int y1 = getUpperY() + 1; + int z1 = getUpperZ() + 1; + return new Location(getWorld(), getLowerX() + (x1 - getLowerX()) / 2.0, getLowerY() + (y1 - getLowerY()) / 2.0, getLowerZ() + (z1 - getLowerZ()) / 2.0); + } + + /** + * Get the Cuboid's world. + * + * @return the World object representing this Cuboid's world + * @throws IllegalStateException + * if the world is not loaded + */ + public World getWorld() + { + World world = Bukkit.getWorld(worldName); + if(world == null) + { + throw new IllegalStateException("world '" + worldName + "' is not loaded"); + } + return world; + } + + /** + * Get the size of this Cuboid along the X axis + * + * @return Size of Cuboid along the X axis + */ + public int getSizeX() + { + return (x2 - x1) + 1; + } + + /** + * Get the size of this Cuboid along the Y axis + * + * @return Size of Cuboid along the Y axis + */ + public int getSizeY() + { + return (y2 - y1) + 1; + } + + /** + * Get the size of this Cuboid along the Z axis + * + * @return Size of Cuboid along the Z axis + */ + public int getSizeZ() + { + return (z2 - z1) + 1; + } + + /** + * Get the cuboid dimensions + * + * @return the dimensions + */ + public Dimension getDimension() + { + return new Dimension(getSizeX(), getSizeY(), getSizeZ()); + } + + /** + * Get the minimum X co-ordinate of this Cuboid + * + * @return the minimum X co-ordinate + */ + public int getLowerX() + { + return x1; + } + + /** + * Get the minimum Y co-ordinate of this Cuboid + * + * @return the minimum Y co-ordinate + */ + public int getLowerY() + { + return y1; + } + + /** + * Get the minimum Z co-ordinate of this Cuboid + * + * @return the minimum Z co-ordinate + */ + public int getLowerZ() + { + return z1; + } + + /** + * Get the maximum X co-ordinate of this Cuboid + * + * @return the maximum X co-ordinate + */ + public int getUpperX() + { + return x2; + } + + /** + * Get the maximum Y co-ordinate of this Cuboid + * + * @return the maximum Y co-ordinate + */ + public int getUpperY() + { + return y2; + } + + /** + * Get the maximum Z co-ordinate of this Cuboid + * + * @return the maximum Z co-ordinate + */ + public int getUpperZ() + { + return z2; + } + + /** + * Get the Blocks at the eight corners of the Cuboid. + * + * @return array of Block objects representing the Cuboid corners + */ + public Block[] corners() + { + Block[] res = new Block[8]; + World w = getWorld(); + res[0] = w.getBlockAt(x1, y1, z1); + res[1] = w.getBlockAt(x1, y1, z2); + res[2] = w.getBlockAt(x1, y2, z1); + res[3] = w.getBlockAt(x1, y2, z2); + res[4] = w.getBlockAt(x2, y1, z1); + res[5] = w.getBlockAt(x2, y1, z2); + res[6] = w.getBlockAt(x2, y2, z1); + res[7] = w.getBlockAt(x2, y2, z2); + return res; + } + + /** + * Expand the Cuboid in the given direction by the given amount. Negative + * amounts will shrink the Cuboid in the given direction. Shrinking a cuboid's + * face past the opposite face is not an error and will return a valid Cuboid. + * + * @param dir + * the direction in which to expand + * @param amount + * the number of blocks by which to expand + * @return a new Cuboid expanded by the given direction and amount + */ + public Cuboid expand(CuboidDirection dir, int amount) + { + switch(dir) + { + case North: + return new Cuboid(worldName, x1 - amount, y1, z1, x2, y2, z2); + case South: + return new Cuboid(worldName, x1, y1, z1, x2 + amount, y2, z2); + case East: + return new Cuboid(worldName, x1, y1, z1 - amount, x2, y2, z2); + case West: + return new Cuboid(worldName, x1, y1, z1, x2, y2, z2 + amount); + case Down: + return new Cuboid(worldName, x1, y1 - amount, z1, x2, y2, z2); + case Up: + return new Cuboid(worldName, x1, y1, z1, x2, y2 + amount, z2); + default: + throw new IllegalArgumentException("invalid direction " + dir); + } + } + + public Cuboid expand(Direction dir, int amount) + { + int ax = dir.toVector().getBlockX() == 1 ? amount : 0; + int sx = dir.toVector().getBlockX() == -1 ? -amount : 0; + int ay = dir.toVector().getBlockY() == 1 ? amount : 0; + int sy = dir.toVector().getBlockY() == -1 ? -amount : 0; + int az = dir.toVector().getBlockZ() == 1 ? amount : 0; + int sz = dir.toVector().getBlockZ() == -1 ? -amount : 0; + return new Cuboid(worldName, x1 + sx, y1 + sy, z1 + sz, x2 + ax, y2 + ay, z2 + az); + } + + /** + * Shift the Cuboid in the given direction by the given amount. + * + * @param dir + * the direction in which to shift + * @param amount + * the number of blocks by which to shift + * @return a new Cuboid shifted by the given direction and amount + */ + public Cuboid shift(CuboidDirection dir, int amount) + { + return expand(dir, amount).expand(dir.opposite(), -amount); + } + + /** + * Outset (grow) the Cuboid in the given direction by the given amount. + * + * @param dir + * the direction in which to outset (must be Horizontal, Vertical, or + * Both) + * @param amount + * the number of blocks by which to outset + * @return a new Cuboid outset by the given direction and amount + */ + public Cuboid outset(CuboidDirection dir, int amount) + { + Cuboid c; + switch(dir) + { + case Horizontal: + c = expand(CuboidDirection.North, amount).expand(CuboidDirection.South, amount).expand(CuboidDirection.East, amount).expand(CuboidDirection.West, amount); + break; + case Vertical: + c = expand(CuboidDirection.Down, amount).expand(CuboidDirection.Up, amount); + break; + case Both: + c = outset(CuboidDirection.Horizontal, amount).outset(CuboidDirection.Vertical, amount); + break; + default: + throw new IllegalArgumentException("invalid direction " + dir); + } + return c; + } + + /** + * Inset (shrink) the Cuboid in the given direction by the given amount. + * Equivalent to calling outset() with a negative amount. + * + * @param dir + * the direction in which to inset (must be Horizontal, Vertical, or + * Both) + * @param amount + * the number of blocks by which to inset + * @return a new Cuboid inset by the given direction and amount + */ + public Cuboid inset(CuboidDirection dir, int amount) + { + return outset(dir, -amount); + } + + /** + * Return true if the point at (x,y,z) is contained within this Cuboid. + * + * @param x + * the X co-ordinate + * @param y + * the Y co-ordinate + * @param z + * the Z co-ordinate + * @return true if the given point is within this Cuboid, false otherwise + */ + public boolean contains(int x, int y, int z) + { + return x >= x1 && x <= x2 && y >= y1 && y <= y2 && z >= z1 && z <= z2; + } + + /** + * Check if the given Block is contained within this Cuboid. + * + * @param b + * the Block to check for + * @return true if the Block is within this Cuboid, false otherwise + */ + public boolean contains(Block b) + { + return contains(b.getLocation()); + } + + /** + * Check if the given Location is contained within this Cuboid. + * + * @param l + * the Location to check for + * @return true if the Location is within this Cuboid, false otherwise + */ + public boolean contains(Location l) + { + return worldName.equals(l.getWorld().getName()) && contains(l.getBlockX(), l.getBlockY(), l.getBlockZ()); + } + + /** + * Get the volume of this Cuboid. + * + * @return the Cuboid volume, in blocks + */ + public int volume() + { + return getSizeX() * getSizeY() * getSizeZ(); + } + + /** + * Get the average light level of all empty (air) blocks in the Cuboid. Returns + * 0 if there are no empty blocks. + * + * @return the average light level of this Cuboid + */ + public byte averageLightLevel() + { + long total = 0; + int n = 0; + for(Block b : this) + { + if(b.isEmpty()) + { + total += b.getLightLevel(); + ++n; + } + } + return n > 0 ? (byte) (total / n) : 0; + } + + /** + * Contract the Cuboid, returning a Cuboid with any air around the edges + * removed, just large enough to include all non-air blocks. + * + * @return a new Cuboid with no external air blocks + */ + public Cuboid contract() + { + return this.contract(CuboidDirection.Down).contract(CuboidDirection.South).contract(CuboidDirection.East).contract(CuboidDirection.Up).contract(CuboidDirection.North).contract(CuboidDirection.West); + } + + /** + * Contract the Cuboid in the given direction, returning a new Cuboid which has + * no exterior empty space. E.g. a direction of Down will push the top face + * downwards as much as possible. + * + * @param dir + * the direction in which to contract + * @return a new Cuboid contracted in the given direction + */ + public Cuboid contract(CuboidDirection dir) + { + Cuboid face = getFace(dir.opposite()); + switch(dir) + { + case Down: + while(face.containsOnly(Material.AIR) && face.getLowerY() > this.getLowerY()) + { + face = face.shift(CuboidDirection.Down, 1); + } + return new Cuboid(worldName, x1, y1, z1, x2, face.getUpperY(), z2); + case Up: + while(face.containsOnly(Material.AIR) && face.getUpperY() < this.getUpperY()) + { + face = face.shift(CuboidDirection.Up, 1); + } + return new Cuboid(worldName, x1, face.getLowerY(), z1, x2, y2, z2); + case North: + while(face.containsOnly(Material.AIR) && face.getLowerX() > this.getLowerX()) + { + face = face.shift(CuboidDirection.North, 1); + } + return new Cuboid(worldName, x1, y1, z1, face.getUpperX(), y2, z2); + case South: + while(face.containsOnly(Material.AIR) && face.getUpperX() < this.getUpperX()) + { + face = face.shift(CuboidDirection.South, 1); + } + return new Cuboid(worldName, face.getLowerX(), y1, z1, x2, y2, z2); + case East: + while(face.containsOnly(Material.AIR) && face.getLowerZ() > this.getLowerZ()) + { + face = face.shift(CuboidDirection.East, 1); + } + return new Cuboid(worldName, x1, y1, z1, x2, y2, face.getUpperZ()); + case West: + while(face.containsOnly(Material.AIR) && face.getUpperZ() < this.getUpperZ()) + { + face = face.shift(CuboidDirection.West, 1); + } + return new Cuboid(worldName, x1, y1, face.getLowerZ(), x2, y2, z2); + default: + throw new IllegalArgumentException("Invalid direction " + dir); + } + } + + /** + * Get the Cuboid representing the face of this Cuboid. The resulting Cuboid + * will be one block thick in the axis perpendicular to the requested face. + * + * @param dir + * which face of the Cuboid to get + * @return the Cuboid representing this Cuboid's requested face + */ + public Cuboid getFace(CuboidDirection dir) + { + switch(dir) + { + case Down: + return new Cuboid(worldName, x1, y1, z1, x2, y1, z2); + case Up: + return new Cuboid(worldName, x1, y2, z1, x2, y2, z2); + case North: + return new Cuboid(worldName, x1, y1, z1, x1, y2, z2); + case South: + return new Cuboid(worldName, x2, y1, z1, x2, y2, z2); + case East: + return new Cuboid(worldName, x1, y1, z1, x2, y2, z1); + case West: + return new Cuboid(worldName, x1, y1, z2, x2, y2, z2); + default: + throw new IllegalArgumentException("Invalid direction " + dir); + } + } + + /** + * Check if the Cuboid contains only blocks of the given type + * + * @param material + * the material to check for + * @return true if this Cuboid contains only blocks of the given type + */ + public boolean containsOnly(Material material) + { + for(Block b : this) + { + if(b.getType() != material) + { + return false; + } + } + return true; + } + + /** + * Get the Cuboid big enough to hold both this Cuboid and the given one. + * + * @param other + * the other Cuboid to include + * @return a new Cuboid large enough to hold this Cuboid and the given Cuboid + */ + public Cuboid getBoundingCuboid(Cuboid other) + { + if(other == null) + { + return this; + } + + int xMin = Math.min(getLowerX(), other.getLowerX()); + int yMin = Math.min(getLowerY(), other.getLowerY()); + int zMin = Math.min(getLowerZ(), other.getLowerZ()); + int xMax = Math.max(getUpperX(), other.getUpperX()); + int yMax = Math.max(getUpperY(), other.getUpperY()); + int zMax = Math.max(getUpperZ(), other.getUpperZ()); + + return new Cuboid(worldName, xMin, yMin, zMin, xMax, yMax, zMax); + } + + /** + * Get a block relative to the lower NE point of the Cuboid. + * + * @param x + * the X co-ordinate + * @param y + * the Y co-ordinate + * @param z + * the Z co-ordinate + * @return the block at the given position + */ + public Block getRelativeBlock(int x, int y, int z) + { + return getWorld().getBlockAt(x1 + x, y1 + y, z1 + z); + } + + /** + * Get a block relative to the lower NE point of the Cuboid in the given World. + * This version of getRelativeBlock() should be used if being called many times, + * to avoid excessive calls to getWorld(). + * + * @param w + * the World + * @param x + * the X co-ordinate + * @param y + * the Y co-ordinate + * @param z + * the Z co-ordinate + * @return the block at the given position + */ + public Block getRelativeBlock(World w, int x, int y, int z) + { + return w.getBlockAt(x1 + x, y1 + y, z1 + z); + } + + /** + * Get a list of the chunks which are fully or partially contained in this + * cuboid. + * + * @return a list of Chunk objects + */ + public List getChunks() + { + List res = new ArrayList(); + + World w = getWorld(); + int x1 = getLowerX() & ~0xf; + int x2 = getUpperX() & ~0xf; + int z1 = getLowerZ() & ~0xf; + int z2 = getUpperZ() & ~0xf; + for(int x = x1; x <= x2; x += 16) + { + for(int z = z1; z <= z2; z += 16) + { + res.add(w.getChunkAt(x >> 4, z >> 4)); + } + } + return res; + } + + /** + * Set all the blocks within the Cuboid to the given MaterialData, using a + * MassBlockUpdate object for fast updates. + * + * @param mat + * the MaterialData to set + * @param mbu + * the MassBlockUpdate object + */ + + /** + * Reset the light level of all blocks within this Cuboid. + */ + + /* + * (non-Javadoc) + * + * @see java.lang.Iterable#iterator() + */ + @Override + public Iterator iterator() + { + return new CuboidIterator(getWorld(), x1, y1, z1, x2, y2, z2); + } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#clone() + */ + @Override + public Cuboid clone() throws CloneNotSupportedException + { + return new Cuboid(this); + } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#toString() + */ + @Override + public String toString() + { + return "Cuboid: " + worldName + "," + x1 + "," + y1 + "," + z1 + "=>" + x2 + "," + y2 + "," + z2; + } + + public class CuboidIterator implements Iterator + { + private World w; + private int baseX, baseY, baseZ; + private int x, y, z; + private int sizeX, sizeY, sizeZ; + + public CuboidIterator(World w, int x1, int y1, int z1, int x2, int y2, int z2) + { + this.w = w; + baseX = x1; + baseY = y1; + baseZ = z1; + sizeX = Math.abs(x2 - x1) + 1; + sizeY = Math.abs(y2 - y1) + 1; + sizeZ = Math.abs(z2 - z1) + 1; + x = y = z = 0; + } + + @Override + public boolean hasNext() + { + return x < sizeX && y < sizeY && z < sizeZ; + } + + @Override + public Block next() + { + Block b = w.getBlockAt(baseX + x, baseY + y, baseZ + z); + if(++x >= sizeX) + { + x = 0; + if(++y >= sizeY) + { + y = 0; + ++z; + } + } + return b; + } + + @Override + public void remove() + { + // nop + } + } + + public enum CuboidDirection + { + + North, + East, + South, + West, + Up, + Down, + Horizontal, + Vertical, + Both, + Unknown; + + public CuboidDirection opposite() + { + switch(this) + { + case North: + return South; + case East: + return West; + case South: + return North; + case West: + return East; + case Horizontal: + return Vertical; + case Vertical: + return Horizontal; + case Up: + return Down; + case Down: + return Up; + case Both: + return Both; + default: + return Unknown; + } + } + } + +} \ No newline at end of file diff --git a/src/main/java/ninja/bytecode/iris/util/CuboidException.java b/src/main/java/ninja/bytecode/iris/util/CuboidException.java new file mode 100644 index 000000000..212f9f79c --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/CuboidException.java @@ -0,0 +1,16 @@ +package ninja.bytecode.iris.util; + +/** + * Represents a cuboid exception + * + * @author cyberpwn + */ +public class CuboidException extends Exception +{ + public CuboidException(String string) + { + super(string); + } + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/src/main/java/ninja/bytecode/iris/util/DOP.java b/src/main/java/ninja/bytecode/iris/util/DOP.java new file mode 100644 index 000000000..b36611738 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/DOP.java @@ -0,0 +1,20 @@ +package ninja.bytecode.iris.util; + +import org.bukkit.util.Vector; + +public abstract class DOP +{ + private String type; + + public DOP(String type) + { + this.type = type; + } + + public abstract Vector op(Vector v); + + public String getType() + { + return type; + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/Dimension.java b/src/main/java/ninja/bytecode/iris/util/Dimension.java new file mode 100644 index 000000000..c9b8a0db6 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/Dimension.java @@ -0,0 +1,86 @@ +package ninja.bytecode.iris.util; + +/** + * Dimensions + * + * @author cyberpwn + */ +public class Dimension +{ + private final int width; + private final int height; + private final int depth; + + /** + * Make a dimension + * + * @param width + * width of this (X) + * @param height + * the height (Y) + * @param depth + * the depth (Z) + */ + public Dimension(int width, int height, int depth) + { + this.width = width; + this.height = height; + this.depth = depth; + } + + /** + * Make a dimension + * + * @param width + * width of this (X) + * @param height + * the height (Y) + */ + public Dimension(int width, int height) + { + this.width = width; + this.height = height; + this.depth = 0; + } + + /** + * Get the direction of the flat part of this dimension (null if no thin + * face) + * + * @return the direction of the flat pane or null + */ + public DimensionFace getPane() + { + if(width == 1) + { + return DimensionFace.X; + } + + if(height == 1) + { + return DimensionFace.Y; + } + + if(depth == 1) + { + return DimensionFace.Z; + } + + return null; + } + + public int getWidth() + { + return width; + } + + public int getHeight() + { + return height; + } + + public int getDepth() + { + return depth; + } +} \ No newline at end of file diff --git a/src/main/java/ninja/bytecode/iris/util/DimensionFace.java b/src/main/java/ninja/bytecode/iris/util/DimensionFace.java new file mode 100644 index 000000000..0db5b6b07 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/DimensionFace.java @@ -0,0 +1,24 @@ +package ninja.bytecode.iris.util; + +/** + * Represents a dimension (coordinates not worlds) + * + * @author cyberpwn + */ +public enum DimensionFace +{ + /** + * The X dimension (width) + */ + X, + + /** + * The Y dimension (height) + */ + Y, + + /** + * The Z dimension (depth) + */ + Z +} \ No newline at end of file diff --git a/src/main/java/ninja/bytecode/iris/util/Direction.java b/src/main/java/ninja/bytecode/iris/util/Direction.java new file mode 100644 index 000000000..1a8388575 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/Direction.java @@ -0,0 +1,535 @@ + +package ninja.bytecode.iris.util; + +import org.bukkit.Axis; +import org.bukkit.block.BlockFace; +import org.bukkit.util.Vector; + +import ninja.bytecode.iris.util.Cuboid.CuboidDirection; +import ninja.bytecode.shuriken.collections.KList; +import ninja.bytecode.shuriken.collections.KMap; + +/** + * Directions + * + * @author cyberpwn + */ +public enum Direction +{ + U(0, 1, 0, CuboidDirection.Up), + D(0, -1, 0, CuboidDirection.Down), + N(0, 0, -1, CuboidDirection.North), + S(0, 0, 1, CuboidDirection.South), + E(1, 0, 0, CuboidDirection.East), + W(-1, 0, 0, CuboidDirection.West); + + private static KMap, DOP> permute = null; + + private int x; + private int y; + private int z; + private CuboidDirection f; + + public static Direction getDirection(BlockFace f) + { + switch(f) + { + case DOWN: + return D; + case EAST: + return E; + case EAST_NORTH_EAST: + return E; + case EAST_SOUTH_EAST: + return E; + case NORTH: + return N; + case NORTH_EAST: + return N; + case NORTH_NORTH_EAST: + return N; + case NORTH_NORTH_WEST: + return N; + case NORTH_WEST: + return N; + case SELF: + return U; + case SOUTH: + return S; + case SOUTH_EAST: + return S; + case SOUTH_SOUTH_EAST: + return S; + case SOUTH_SOUTH_WEST: + return S; + case SOUTH_WEST: + return S; + case UP: + return U; + case WEST: + return W; + case WEST_NORTH_WEST: + return W; + case WEST_SOUTH_WEST: + return W; + } + + return D; + } + + @Override + public String toString() + { + switch(this) + { + case D: + return "Down"; + case E: + return "East"; + case N: + return "North"; + case S: + return "South"; + case U: + return "Up"; + case W: + return "West"; + } + + return "?"; + } + + public boolean isVertical() + { + return equals(D) || equals(U); + } + + public static Direction closest(Vector v) + { + double m = Double.MAX_VALUE; + Direction s = null; + + for(Direction i : values()) + { + Vector x = i.toVector(); + double g = x.dot(v); + + if(g < m) + { + m = g; + s = i; + } + } + + return s; + } + + public static Direction closest(Vector v, Direction... d) + { + double m = Double.MAX_VALUE; + Direction s = null; + + for(Direction i : d) + { + Vector x = i.toVector(); + double g = x.distance(v); + + if(g < m) + { + m = g; + s = i; + } + } + + return s; + } + + public static Direction closest(Vector v, KList d) + { + double m = Double.MAX_VALUE; + Direction s = null; + + for(Direction i : d) + { + Vector x = i.toVector(); + double g = x.distance(v); + + if(g < m) + { + m = g; + s = i; + } + } + + return s; + } + + public Vector toVector() + { + return new Vector(x, y, z); + } + + public boolean isCrooked(Direction to) + { + if(equals(to.reverse())) + { + return false; + } + + if(equals(to)) + { + return false; + } + + return true; + } + + private Direction(int x, int y, int z, CuboidDirection f) + { + this.x = x; + this.y = y; + this.z = z; + this.f = f; + } + + public Vector angle(Vector initial, Direction d) + { + calculatePermutations(); + + for(GBiset i : permute.keySet()) + { + if(i.getA().equals(this) && i.getB().equals(d)) + { + return permute.get(i).op(initial); + } + } + + return initial; + } + + public Direction reverse() + { + switch(this) + { + case D: + return U; + case E: + return W; + case N: + return S; + case S: + return N; + case U: + return D; + case W: + return E; + default: + break; + } + + return null; + } + + public int x() + { + return x; + } + + public int y() + { + return y; + } + + public int z() + { + return z; + } + + public CuboidDirection f() + { + return f; + } + + public static KList news() + { + return new KList().add(N, E, W, S); + } + + public static Direction getDirection(Vector v) + { + Vector k = VectorMath.triNormalize(v.clone().normalize()); + + for(Direction i : udnews()) + { + if(i.x == k.getBlockX() && i.y == k.getBlockY() && i.z == k.getBlockZ()) + { + return i; + } + } + + return Direction.N; + } + + public static KList udnews() + { + return new KList().add(U, D, N, E, W, S); + } + + /** + * Get the directional value from the given byte from common directional blocks + * (MUST BE BETWEEN 0 and 5 INCLUSIVE) + * + * @param b + * the byte + * @return the direction or null if the byte is outside of the inclusive range + * 0-5 + */ + public static Direction fromByte(byte b) + { + if(b > 5 || b < 0) + { + return null; + } + + if(b == 0) + { + return D; + } + + else if(b == 1) + { + return U; + } + + else if(b == 2) + { + return N; + } + + else if(b == 3) + { + return S; + } + + else if(b == 4) + { + return W; + } + + else + { + return E; + } + } + + /** + * Get the byte value represented in some directional blocks + * + * @return the byte value + */ + public byte byteValue() + { + switch(this) + { + case D: + return 0; + case E: + return 5; + case N: + return 2; + case S: + return 3; + case U: + return 1; + case W: + return 4; + default: + break; + } + + return -1; + } + + public static void calculatePermutations() + { + if(permute != null) + { + return; + } + + permute = new KMap, DOP>(); + + for(Direction i : udnews()) + { + for(Direction j : udnews()) + { + GBiset b = new GBiset(i, j); + + if(i.equals(j)) + { + permute.put(b, new DOP("DIRECT") + { + @Override + public Vector op(Vector v) + { + return v; + } + }); + } + + else if(i.reverse().equals(j)) + { + if(i.isVertical()) + { + permute.put(b, new DOP("R180CCZ") + { + @Override + public Vector op(Vector v) + { + return VectorMath.rotate90CCZ(VectorMath.rotate90CCZ(v)); + } + }); + } + + else + { + permute.put(b, new DOP("R180CCY") + { + @Override + public Vector op(Vector v) + { + return VectorMath.rotate90CCY(VectorMath.rotate90CCY(v)); + } + }); + } + } + + else if(getDirection(VectorMath.rotate90CX(i.toVector())).equals(j)) + { + permute.put(b, new DOP("R90CX") + { + @Override + public Vector op(Vector v) + { + return VectorMath.rotate90CX(v); + } + }); + } + + else if(getDirection(VectorMath.rotate90CCX(i.toVector())).equals(j)) + { + permute.put(b, new DOP("R90CCX") + { + @Override + public Vector op(Vector v) + { + return VectorMath.rotate90CCX(v); + } + }); + } + + else if(getDirection(VectorMath.rotate90CY(i.toVector())).equals(j)) + { + permute.put(b, new DOP("R90CY") + { + @Override + public Vector op(Vector v) + { + return VectorMath.rotate90CY(v); + } + }); + } + + else if(getDirection(VectorMath.rotate90CCY(i.toVector())).equals(j)) + { + permute.put(b, new DOP("R90CCY") + { + @Override + public Vector op(Vector v) + { + return VectorMath.rotate90CCY(v); + } + }); + } + + else if(getDirection(VectorMath.rotate90CZ(i.toVector())).equals(j)) + { + permute.put(b, new DOP("R90CZ") + { + @Override + public Vector op(Vector v) + { + return VectorMath.rotate90CZ(v); + } + }); + } + + else if(getDirection(VectorMath.rotate90CCZ(i.toVector())).equals(j)) + { + permute.put(b, new DOP("R90CCZ") + { + @Override + public Vector op(Vector v) + { + return VectorMath.rotate90CCZ(v); + } + }); + } + + else + { + permute.put(b, new DOP("FAIL") + { + @Override + public Vector op(Vector v) + { + return v; + } + }); + } + } + } + } + + public BlockFace getFace() + { + switch(this) + { + case D: + return BlockFace.DOWN; + case E: + return BlockFace.EAST; + case N: + return BlockFace.NORTH; + case S: + return BlockFace.SOUTH; + case U: + return BlockFace.UP; + case W: + return BlockFace.WEST; + } + + return null; + } + + public Axis getAxis() + { + switch(this) + { + case D: + return Axis.Y; + case E: + return Axis.X; + case N: + return Axis.Z; + case S: + return Axis.Z; + case U: + return Axis.Y; + case W: + return Axis.X; + } + + return null; + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/FastParticle.java b/src/main/java/ninja/bytecode/iris/util/FastParticle.java new file mode 100644 index 000000000..c7ef5bc46 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/FastParticle.java @@ -0,0 +1,161 @@ +package ninja.bytecode.iris.util; + +import org.bukkit.Location; +import org.bukkit.World; +import org.bukkit.entity.Player; + +/** + * Simple Bukkit Particles API with 1.7 to 1.13.2 support ! + *

+ * You can find the project on GitHub + * + * @author MrMicky + */ +public final class FastParticle { + + private static final ParticleSender PARTICLE_SENDER; + + static { + if (FastReflection.optionalClass("org.bukkit.Particle$DustOptions").isPresent()) { + PARTICLE_SENDER = new ParticleSender.ParticleSender1_13(); + } else if (FastReflection.optionalClass("org.bukkit.Particle").isPresent()) { + PARTICLE_SENDER = new ParticleSender.ParticleSenderImpl(); + } else { + PARTICLE_SENDER = new ParticleSenderLegacy(); + } + } + + private FastParticle() { + throw new UnsupportedOperationException(); + } + + /* + * Worlds methods + */ + public static void spawnParticle(World world, ParticleType particle, Location location, int count) { + spawnParticle(world, particle, location.getX(), location.getY(), location.getZ(), count); + } + + public static void spawnParticle(World world, ParticleType particle, double x, double y, double z, int count) { + spawnParticle(world, particle, x, y, z, count, null); + } + + public static void spawnParticle(World world, ParticleType particle, Location location, int count, T data) { + spawnParticle(world, particle, location.getX(), location.getY(), location.getZ(), count, data); + } + + public static void spawnParticle(World world, ParticleType particle, double x, double y, double z, int count, + T data) { + spawnParticle(world, particle, x, y, z, count, 0.0D, 0.0D, 0.0D, data); + } + + public static void spawnParticle(World world, ParticleType particle, Location location, int count, double offsetX, + double offsetY, double offsetZ) { + spawnParticle(world, particle, location.getX(), location.getY(), location.getZ(), count, offsetX, offsetY, offsetZ); + } + + public static void spawnParticle(World world, ParticleType particle, double x, double y, double z, int count, + double offsetX, double offsetY, double offsetZ) { + spawnParticle(world, particle, x, y, z, count, offsetX, offsetY, offsetZ, null); + } + + public static void spawnParticle(World world, ParticleType particle, Location location, int count, + double offsetX, double offsetY, double offsetZ, T data) { + spawnParticle(world, particle, location.getX(), location.getY(), location.getZ(), count, offsetX, offsetY, + offsetZ, data); + } + + public static void spawnParticle(World world, ParticleType particle, double x, double y, double z, int count, + double offsetX, double offsetY, double offsetZ, T data) { + spawnParticle(world, particle, x, y, z, count, offsetX, offsetY, offsetZ, 1.0D, data); + } + + public static void spawnParticle(World world, ParticleType particle, Location location, int count, double offsetX, + double offsetY, double offsetZ, double extra) { + spawnParticle(world, particle, location.getX(), location.getY(), location.getZ(), count, offsetX, offsetY, offsetZ, extra); + } + + public static void spawnParticle(World world, ParticleType particle, double x, double y, double z, int count, + double offsetX, double offsetY, double offsetZ, double extra) { + spawnParticle(world, particle, x, y, z, count, offsetX, offsetY, offsetZ, extra, null); + } + + public static void spawnParticle(World world, ParticleType particle, Location location, int count, + double offsetX, double offsetY, double offsetZ, double extra, T data) { + spawnParticle(world, particle, location.getX(), location.getY(), location.getZ(), count, offsetX, offsetY, offsetZ, extra, data); + } + + public static void spawnParticle(World world, ParticleType particle, double x, double y, double z, int count, + double offsetX, double offsetY, double offsetZ, double extra, T data) { + sendParticle(world, particle, x, y, z, count, offsetX, offsetY, offsetZ, extra, data); + } + + /* + * Player methods + */ + public static void spawnParticle(Player player, ParticleType particle, Location location, int count) { + spawnParticle(player, particle, location.getX(), location.getY(), location.getZ(), count); + } + + public static void spawnParticle(Player player, ParticleType particle, double x, double y, double z, int count) { + spawnParticle(player, particle, x, y, z, count, null); + } + + public static void spawnParticle(Player player, ParticleType particle, Location location, int count, T data) { + spawnParticle(player, particle, location.getX(), location.getY(), location.getZ(), count, data); + } + + public static void spawnParticle(Player player, ParticleType particle, double x, double y, double z, int count, + T data) { + spawnParticle(player, particle, x, y, z, count, 0.0D, 0.0D, 0.0D, data); + } + + public static void spawnParticle(Player player, ParticleType particle, Location location, int count, double offsetX, + double offsetY, double offsetZ) { + spawnParticle(player, particle, location.getX(), location.getY(), location.getZ(), count, offsetX, offsetY, offsetZ); + } + + public static void spawnParticle(Player player, ParticleType particle, double x, double y, double z, int count, + double offsetX, double offsetY, double offsetZ) { + spawnParticle(player, particle, x, y, z, count, offsetX, offsetY, offsetZ, null); + } + + public static void spawnParticle(Player player, ParticleType particle, Location location, int count, + double offsetX, double offsetY, double offsetZ, T data) { + spawnParticle(player, particle, location.getX(), location.getY(), location.getZ(), count, offsetX, offsetY, offsetZ, data); + } + + public static void spawnParticle(Player player, ParticleType particle, double x, double y, double z, int count, + double offsetX, double offsetY, double offsetZ, T data) { + spawnParticle(player, particle, x, y, z, count, offsetX, offsetY, offsetZ, 1.0D, data); + } + + public static void spawnParticle(Player player, ParticleType particle, Location location, int count, double offsetX, + double offsetY, double offsetZ, double extra) { + spawnParticle(player, particle, location.getX(), location.getY(), location.getZ(), count, offsetX, offsetY, offsetZ, extra); + } + + public static void spawnParticle(Player player, ParticleType particle, double x, double y, double z, int count, + double offsetX, double offsetY, double offsetZ, double extra) { + spawnParticle(player, particle, x, y, z, count, offsetX, offsetY, offsetZ, extra, null); + } + + public static void spawnParticle(Player player, ParticleType particle, Location location, int count, + double offsetX, double offsetY, double offsetZ, double extra, T data) { + spawnParticle(player, particle, location.getX(), location.getY(), location.getZ(), count, offsetX, offsetY, offsetZ, extra, data); + } + + public static void spawnParticle(Player player, ParticleType particle, double x, double y, double z, int count, + double offsetX, double offsetY, double offsetZ, double extra, T data) { + sendParticle(player, particle, x, y, z, count, offsetX, offsetY, offsetZ, extra, data); + } + + private static void sendParticle(Object receiver, ParticleType particle, double x, double y, double z, int count, + double offsetX, double offsetY, double offsetZ, double extra, Object data) { + if (!particle.isSupported()) { + throw new IllegalArgumentException("The particle '" + particle + "' is not compatible with your server version"); + } + + PARTICLE_SENDER.spawnParticle(receiver, particle, x, y, z, count, offsetX, offsetY, offsetZ, extra, data); + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/FastReflection.java b/src/main/java/ninja/bytecode/iris/util/FastReflection.java new file mode 100644 index 000000000..c330722c7 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/FastReflection.java @@ -0,0 +1,59 @@ +package ninja.bytecode.iris.util; + +import org.bukkit.Bukkit; + +import java.util.Optional; + +/** + * Small reflection class to use CraftBukkit and NMS + * + * @author MrMicky + */ +public final class FastReflection { + + public static final String OBC_PACKAGE = "org.bukkit.craftbukkit"; + public static final String NMS_PACKAGE = "net.minecraft.server"; + + public static final String VERSION = Bukkit.getServer().getClass().getPackage().getName().substring(OBC_PACKAGE.length() + 1); + + private FastReflection() { + throw new UnsupportedOperationException(); + } + + public static String nmsClassName(String className) { + return NMS_PACKAGE + '.' + VERSION + '.' + className; + } + + public static Class nmsClass(String className) throws ClassNotFoundException { + return Class.forName(nmsClassName(className)); + } + + public static Optional> nmsOptionalClass(String className) { + return optionalClass(nmsClassName(className)); + } + + public static String obcClassName(String className) { + return OBC_PACKAGE + '.' + VERSION + '.' + className; + } + + public static Class obcClass(String className) throws ClassNotFoundException { + return Class.forName(obcClassName(className)); + } + + public static Optional> obcOptionalClass(String className) { + return optionalClass(obcClassName(className)); + } + + public static Optional> optionalClass(String className) { + try { + return Optional.of(Class.forName(className)); + } catch (ClassNotFoundException e) { + return Optional.empty(); + } + } + + @SuppressWarnings({"unchecked", "rawtypes"}) + public static Object enumValueOf(Class enumClass, String enumName) { + return Enum.valueOf((Class) enumClass, enumName.toUpperCase()); + } +} \ No newline at end of file diff --git a/src/main/java/ninja/bytecode/iris/util/GBiset.java b/src/main/java/ninja/bytecode/iris/util/GBiset.java new file mode 100644 index 000000000..901384c1a --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/GBiset.java @@ -0,0 +1,77 @@ +package ninja.bytecode.iris.util; + + +import java.io.Serializable; + +/** + * A Biset + * + * @author cyberpwn + * + * @param + * the first object type + * @param + * the second object type + */ +@SuppressWarnings("hiding") +public class GBiset implements Serializable +{ + private static final long serialVersionUID = 1L; + private A a; + private B b; + + /** + * Create a new Biset + * + * @param a + * the first object + * @param b + * the second object + */ + public GBiset(A a, B b) + { + this.a = a; + this.b = b; + } + + /** + * Get the object of the type A + * + * @return the first object + */ + public A getA() + { + return a; + } + + /** + * Set the first object + * + * @param a + * the first object A + */ + public void setA(A a) + { + this.a = a; + } + + /** + * Get the second object + * + * @return the second object + */ + public B getB() + { + return b; + } + + /** + * Set the second object + * + * @param b + */ + public void setB(B b) + { + this.b = b; + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/GListAdapter.java b/src/main/java/ninja/bytecode/iris/util/GListAdapter.java new file mode 100644 index 000000000..d6c0d702b --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/GListAdapter.java @@ -0,0 +1,51 @@ +package ninja.bytecode.iris.util; + + +import java.util.List; + +import ninja.bytecode.shuriken.collections.KList; + +/** + * Adapts a list of objects into a list of other objects + * + * @author cyberpwn + * @param + * the from object in lists (the item INSIDE the list) + * @param + * the to object in lists (the item INSIDE the list) + */ +public abstract class GListAdapter +{ + /** + * Adapts a list of FROM to a list of TO + * + * @param from + * the from list + * @return the to list + */ + public List adapt(List from) + { + List adapted = new KList(); + + for(FROM i : from) + { + TO t = onAdapt(i); + + if(t != null) + { + adapted.add(onAdapt(i)); + } + } + + return adapted; + } + + /** + * Adapts a list object FROM to TO for use with the adapt method + * + * @param from + * the from object + * @return the to object + */ + public abstract TO onAdapt(FROM from); +} diff --git a/src/main/java/ninja/bytecode/iris/util/IObjectPlacer.java b/src/main/java/ninja/bytecode/iris/util/IObjectPlacer.java new file mode 100644 index 000000000..2229cfc1b --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/IObjectPlacer.java @@ -0,0 +1,12 @@ +package ninja.bytecode.iris.util; + +import org.bukkit.block.data.BlockData; + +public interface IObjectPlacer +{ + public int getHighest(int x, int z); + + public void set(int x, int y, int z, BlockData d); + + public BlockData get(int x, int y, int z); +} diff --git a/src/main/java/ninja/bytecode/iris/util/ObjectResourceLoader.java b/src/main/java/ninja/bytecode/iris/util/ObjectResourceLoader.java new file mode 100644 index 000000000..dacc1855f --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/ObjectResourceLoader.java @@ -0,0 +1,104 @@ +package ninja.bytecode.iris.util; + +import java.io.File; + +import org.bukkit.util.BlockVector; + +import ninja.bytecode.iris.Iris; +import ninja.bytecode.iris.object.IrisObject; + +public class ObjectResourceLoader extends ResourceLoader +{ + private ChunkPosition parallaxSize; + + public ObjectResourceLoader(File root, String folderName, String resourceTypeName) + { + super(root, folderName, resourceTypeName, IrisObject.class); + } + + public ChunkPosition getParallaxSize() + { + lock.lock(); + if(parallaxSize == null) + { + int x = 0; + int z = 0; + + for(File i : getFolders()) + { + for(File j : i.listFiles()) + { + if(j.isFile() && j.getName().endsWith(".iob")) + { + try + { + BlockVector b = IrisObject.sampleSize(j); + x = b.getBlockX() > x ? b.getBlockX() : x; + z = b.getBlockZ() > z ? b.getBlockZ() : z; + } + + catch(Throwable e) + { + + } + } + } + } + + x = (Math.max(x, 16) + 16) >> 4; + z = (Math.max(z, 16) + 16) >> 4; + x = x % 2 == 0 ? x + 1 : x; + z = z % 2 == 0 ? z + 1 : z; + parallaxSize = new ChunkPosition(x, z); + Iris.info("Parallax View Distance: " + x + "x" + z); + } + + lock.unlock(); + + return parallaxSize; + } + + public IrisObject load(String name) + { + String key = name + "-" + objectClass.getCanonicalName(); + + if(loadCache.containsKey(key)) + { + IrisObject t = loadCache.get(key); + return t; + } + + lock.lock(); + for(File i : getFolders()) + { + for(File j : i.listFiles()) + { + if(j.isFile() && j.getName().endsWith(".iob") && j.getName().split("\\Q.\\E")[0].equals(name)) + { + try + { + IrisObject t = new IrisObject(0, 0, 0); + t.read(j); + loadCache.put(key, t); + Iris.hotloader.track(j); + Iris.info("Loading " + resourceTypeName + ": " + j.getPath()); + t.setLoadKey(name); + lock.unlock(); + return t; + } + + catch(Throwable e) + { + lock.unlock(); + Iris.warn("Couldn't read " + resourceTypeName + " file: " + j.getPath() + ": " + e.getMessage()); + } + } + } + } + + Iris.warn("Couldn't find " + resourceTypeName + ": " + name); + + lock.unlock(); + return null; + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/ParticleSender.java b/src/main/java/ninja/bytecode/iris/util/ParticleSender.java new file mode 100644 index 000000000..1c725aa1a --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/ParticleSender.java @@ -0,0 +1,130 @@ +package ninja.bytecode.iris.util; + +import org.bukkit.Bukkit; +import org.bukkit.Color; +import org.bukkit.Particle; +import org.bukkit.World; +import org.bukkit.block.data.BlockData; +import org.bukkit.entity.Player; +import org.bukkit.material.MaterialData; + +/** + * Particle sender using the Bukkit particles API for 1.9+ servers + * + * @author MrMicky + */ +@SuppressWarnings("deprecation") +interface ParticleSender +{ + + void spawnParticle(Object receiver, ParticleType particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, Object data); + + Object getParticle(ParticleType particle); + + boolean isValidData(Object particle, Object data); + + default double color(double color) + { + return color / 255.0; + } + + class ParticleSenderImpl implements ParticleSender + { + + @Override + public void spawnParticle(Object receiver, ParticleType particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, Object data) + { + Particle bukkitParticle = Particle.valueOf(particle.toString()); + + if(data instanceof Color) + { + if(particle.getDataType() == Color.class) + { + Color color = (Color) data; + count = 0; + offsetX = color(color.getRed()); + offsetY = color(color.getGreen()); + offsetZ = color(color.getBlue()); + extra = 1.0; + } + data = null; + } + + if(receiver instanceof World) + { + ((World) receiver).spawnParticle(bukkitParticle, x, y, z, count, offsetX, offsetY, offsetZ, extra, data); + } + else if(receiver instanceof Player) + { + ((Player) receiver).spawnParticle(bukkitParticle, x, y, z, count, offsetX, offsetY, offsetZ, extra, data); + } + } + + @Override + public Particle getParticle(ParticleType particle) + { + try + { + return Particle.valueOf(particle.toString()); + } + catch(IllegalArgumentException e) + { + return null; + } + } + + @Override + public boolean isValidData(Object particle, Object data) + { + return isValidDataBukkit((Particle) particle, data); + } + + public boolean isValidDataBukkit(Particle particle, Object data) + { + return particle.getDataType() == Void.class || particle.getDataType().isInstance(data); + } + } + + class ParticleSender1_13 extends ParticleSenderImpl + { + @Override + public void spawnParticle(Object receiver, ParticleType particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, Object data) + { + Particle bukkitParticle = Particle.valueOf(particle.toString()); + + if(bukkitParticle.getDataType() == Particle.DustOptions.class) + { + if(data instanceof Color) + { + data = new Particle.DustOptions((Color) data, 1); + } + else if(data == null) + { + data = new Particle.DustOptions(Color.RED, 1); + } + } + else if(bukkitParticle.getDataType() == BlockData.class && data instanceof MaterialData) + { + data = Bukkit.createBlockData(((MaterialData) data).getItemType()); + } + + super.spawnParticle(receiver, particle, x, y, z, count, offsetX, offsetY, offsetZ, extra, data); + } + + @Override + public boolean isValidDataBukkit(Particle particle, Object data) + { + if(particle.getDataType() == Particle.DustOptions.class && data instanceof Color) + { + return true; + } + + if(particle.getDataType() == BlockData.class && data instanceof MaterialData) + { + return true; + } + + return super.isValidDataBukkit(particle, data); + } + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/ParticleSenderLegacy.java b/src/main/java/ninja/bytecode/iris/util/ParticleSenderLegacy.java new file mode 100644 index 000000000..02f3713f4 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/ParticleSenderLegacy.java @@ -0,0 +1,166 @@ +package ninja.bytecode.iris.util; + +import org.bukkit.Color; +import org.bukkit.World; +import org.bukkit.entity.Player; +import org.bukkit.inventory.ItemStack; +import org.bukkit.material.MaterialData; + +import java.lang.reflect.Constructor; +import java.lang.reflect.Field; +import java.lang.reflect.Method; + +/** + * Legacy particle sender with NMS for 1.7/1.8 servers + * + * @author MrMicky + */ +@SuppressWarnings("deprecation") +class ParticleSenderLegacy implements ParticleSender { + + private static final boolean SERVER_IS_1_8; + + private static final Constructor PACKET_PARTICLE; + private static final Class ENUM_PARTICLE; + + private static final Method WORLD_GET_HANDLE; + private static final Method WORLD_SEND_PARTICLE; + + private static final Method PLAYER_GET_HANDLE; + private static final Field PLAYER_CONNECTION; + private static final Method SEND_PACKET; + private static final int[] EMPTY = new int[0]; + + static { + ENUM_PARTICLE = FastReflection.nmsOptionalClass("EnumParticle").orElse(null); + SERVER_IS_1_8 = ENUM_PARTICLE != null; + + try { + Class packetParticleClass = FastReflection.nmsClass("PacketPlayOutWorldParticles"); + Class playerClass = FastReflection.nmsClass("EntityPlayer"); + Class playerConnectionClass = FastReflection.nmsClass("PlayerConnection"); + Class worldClass = FastReflection.nmsClass("WorldServer"); + Class entityPlayerClass = FastReflection.nmsClass("EntityPlayer"); + + Class craftPlayerClass = FastReflection.obcClass("entity.CraftPlayer"); + Class craftWorldClass = FastReflection.obcClass("CraftWorld"); + + if (SERVER_IS_1_8) { + PACKET_PARTICLE = packetParticleClass.getConstructor(ENUM_PARTICLE, boolean.class, float.class, + float.class, float.class, float.class, float.class, float.class, float.class, int.class, + int[].class); + WORLD_SEND_PARTICLE = worldClass.getDeclaredMethod("sendParticles", entityPlayerClass, ENUM_PARTICLE, + boolean.class, double.class, double.class, double.class, int.class, double.class, double.class, + double.class, double.class, int[].class); + } else { + PACKET_PARTICLE = packetParticleClass.getConstructor(String.class, float.class, float.class, float.class, + float.class, float.class, float.class, float.class, int.class); + WORLD_SEND_PARTICLE = worldClass.getDeclaredMethod("a", String.class, double.class, double.class, + double.class, int.class, double.class, double.class, double.class, double.class); + } + + WORLD_GET_HANDLE = craftWorldClass.getDeclaredMethod("getHandle"); + PLAYER_GET_HANDLE = craftPlayerClass.getDeclaredMethod("getHandle"); + PLAYER_CONNECTION = playerClass.getField("playerConnection"); + SEND_PACKET = playerConnectionClass.getMethod("sendPacket", FastReflection.nmsClass("Packet")); + } catch (ReflectiveOperationException e) { + throw new ExceptionInInitializerError(e); + } + } + + @Override + public void spawnParticle(Object receiver, ParticleType particle, double x, double y, double z, int count, double offsetX, double offsetY, + double offsetZ, double extra, Object data) { + try { + int[] datas = toData(particle, data); + + if (data instanceof Color) { + if (particle.getDataType() == Color.class) { + Color color = (Color) data; + count = 0; + offsetX = color(color.getRed()); + offsetY = color(color.getGreen()); + offsetZ = color(color.getBlue()); + extra = 1.0; + } + } + + if (receiver instanceof World) { + Object worldServer = WORLD_GET_HANDLE.invoke(receiver); + + if (SERVER_IS_1_8) { + WORLD_SEND_PARTICLE.invoke(worldServer, null, getEnumParticle(particle), true, x, y, z, count, offsetX, offsetY, offsetZ, extra, datas); + } else { + String particleName = particle.getLegacyName() + (datas.length != 2 ? "" : "_" + datas[0] + "_" + datas[1]); + WORLD_SEND_PARTICLE.invoke(worldServer, particleName, x, y, z, count, offsetX, offsetY, offsetZ, extra); + } + } else if (receiver instanceof Player) { + Object packet; + + if (SERVER_IS_1_8) { + packet = PACKET_PARTICLE.newInstance(getEnumParticle(particle), true, (float) x, (float) y, + (float) z, (float) offsetX, (float) offsetY, (float) offsetZ, (float) extra, count, datas); + } else { + String particleName = particle.getLegacyName() + (datas.length != 2 ? "" : "_" + datas[0] + "_" + datas[1]); + packet = PACKET_PARTICLE.newInstance(particleName, (float) x, (float) y, (float) z, + (float) offsetX, (float) offsetY, (float) offsetZ, (float) extra, count); + } + + Object entityPlayer = PLAYER_GET_HANDLE.invoke(receiver); + Object playerConnection = PLAYER_CONNECTION.get(entityPlayer); + SEND_PACKET.invoke(playerConnection, packet); + } + } catch (ReflectiveOperationException e) { + throw new RuntimeException(e); + } + } + + @Override + public boolean isValidData(Object particle, Object data) { + return true; + } + + @Override + public Object getParticle(ParticleType particle) { + if (!SERVER_IS_1_8) { + return particle.getLegacyName(); + } + + try { + return getEnumParticle(particle); + } catch (IllegalArgumentException e) { + return null; + } + } + + private Object getEnumParticle(ParticleType particleType) { + return FastReflection.enumValueOf(ENUM_PARTICLE, particleType.toString()); + } + + private int[] toData(ParticleType particle, Object data) { + Class dataType = particle.getDataType(); + if (dataType == ItemStack.class) { + if (!(data instanceof ItemStack)) { + return SERVER_IS_1_8 ? new int[2] : new int[]{1, 0}; + } + + ItemStack itemStack = (ItemStack) data; + return new int[]{itemStack.getType().getId(), itemStack.getDurability()}; + } + + if (dataType == MaterialData.class) { + if (!(data instanceof MaterialData)) { + return SERVER_IS_1_8 ? new int[1] : new int[]{1, 0}; + } + + MaterialData materialData = (MaterialData) data; + if (SERVER_IS_1_8) { + return new int[]{materialData.getItemType().getId() + (materialData.getData() << 12)}; + } else { + return new int[]{materialData.getItemType().getId(), materialData.getData()}; + } + } + + return EMPTY; + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/ParticleType.java b/src/main/java/ninja/bytecode/iris/util/ParticleType.java new file mode 100644 index 000000000..f8429c15c --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/ParticleType.java @@ -0,0 +1,177 @@ +package ninja.bytecode.iris.util; + +import org.bukkit.Color; +import org.bukkit.inventory.ItemStack; +import org.bukkit.material.MaterialData; + +/** + * @author MrMicky + */ +@SuppressWarnings("deprecation") +public enum ParticleType { + + // 1.7+ + EXPLOSION_NORMAL("explode", "poof"), + EXPLOSION_LARGE("largeexplode", "explosion"), + EXPLOSION_HUGE("hugeexplosion", "explosion_emitter"), + FIREWORKS_SPARK("fireworksSpark", "firework"), + WATER_BUBBLE("bubble", "bubble"), + WATER_SPLASH("splash", "splash"), + WATER_WAKE("wake", "fishing"), + SUSPENDED("suspended", "underwater"), + SUSPENDED_DEPTH("depthsuspend", "underwater"), + CRIT("crit", "crit"), + CRIT_MAGIC("magicCrit", "enchanted_hit"), + SMOKE_NORMAL("smoke", "smoke"), + SMOKE_LARGE("largesmoke", "large_smoke"), + SPELL("spell", "effect"), + SPELL_INSTANT("instantSpell", "instant_effect"), + SPELL_MOB("mobSpell", "entity_effect"), + SPELL_MOB_AMBIENT("mobSpellAmbient", "ambient_entity_effect"), + SPELL_WITCH("witchMagic", "witch"), + DRIP_WATER("dripWater", "dripping_water"), + DRIP_LAVA("dripLava", "dripping_lava"), + VILLAGER_ANGRY("angryVillager", "angry_villager"), + VILLAGER_HAPPY("happyVillager", "happy_villager"), + TOWN_AURA("townaura", "mycelium"), + NOTE("note", "note"), + PORTAL("portal", "portal"), + ENCHANTMENT_TABLE("enchantmenttable", "enchant"), + FLAME("flame", "flame"), + LAVA("lava", "lava"), + // FOOTSTEP("footstep", null), + CLOUD("cloud", "cloud"), + REDSTONE("reddust", "dust"), + SNOWBALL("snowballpoof", "item_snowball"), + SNOW_SHOVEL("snowshovel", "item_snowball"), + SLIME("slime", "item_slime"), + HEART("heart", "heart"), + ITEM_CRACK("iconcrack", "item"), + BLOCK_CRACK("blockcrack", "block"), + BLOCK_DUST("blockdust", "block"), + + // 1.8+ + BARRIER("barrier", "barrier", 8), + WATER_DROP("droplet", "rain", 8), + MOB_APPEARANCE("mobappearance", "elder_guardian", 8), + // ITEM_TAKE("take", null, 8), + + // 1.9+ + DRAGON_BREATH("dragonbreath", "dragon_breath", 9), + END_ROD("endRod", "end_rod", 9), + DAMAGE_INDICATOR("damageIndicator", "damage_indicator", 9), + SWEEP_ATTACK("sweepAttack", "sweep_attack", 9), + + // 1.10+ + FALLING_DUST("fallingdust", "falling_dust", 10), + + // 1.11+ + TOTEM("totem", "totem_of_undying", 11), + SPIT("spit", "spit", 11), + + // 1.13+ + SQUID_INK(13), + BUBBLE_POP(13), + CURRENT_DOWN(13), + BUBBLE_COLUMN_UP(13), + NAUTILUS(13), + DOLPHIN(13), + + // 1.14+ + SNEEZE(14), + CAMPFIRE_COSY_SMOKE(14), + CAMPFIRE_SIGNAL_SMOKE(14), + COMPOSTER(14), + FLASH(14), + FALLING_LAVA(14), + LANDING_LAVA(14), + FALLING_WATER(14), + + // 1.15+ + DRIPPING_HONEY(15), + FALLING_HONEY(15), + LANDING_HONEY(15), + FALLING_NECTAR(15); + + private static final int SERVER_VERSION_ID; + + static { + String ver = FastReflection.VERSION; + SERVER_VERSION_ID = ver.charAt(4) == '_' ? Character.getNumericValue(ver.charAt(3)) : Integer.parseInt(ver.substring(3, 5)); + } + + private final String legacyName; + private final String name; + private final int minimumVersion; + + // 1.7 particles + ParticleType(String legacyName, String name) { + this(legacyName, name, -1); + } + + // 1.13+ particles + ParticleType(int minimumVersion) { + this.legacyName = null; + this.name = name().toLowerCase(); + this.minimumVersion = minimumVersion; + } + + // 1.8-1.12 particles + ParticleType(String legacyName, String name, int minimumVersion) { + this.legacyName = legacyName; + this.name = name; + this.minimumVersion = minimumVersion; + } + + public boolean hasLegacyName() { + return legacyName != null; + } + + public String getLegacyName() { + if (!hasLegacyName()) { + throw new IllegalStateException("Particle " + name() + " don't have legacy name"); + } + return legacyName; + } + + public String getName() { + return name; + } + + public boolean isSupported() { + return minimumVersion <= 0 || SERVER_VERSION_ID >= minimumVersion; + } + + public Class getDataType() { + switch (this) { + case ITEM_CRACK: + return ItemStack.class; + case BLOCK_CRACK: + case BLOCK_DUST: + case FALLING_DUST: + //noinspection deprecation + return MaterialData.class; + case REDSTONE: + return Color.class; + default: + return Void.class; + } + } + + public static ParticleType getParticle(String particleName) { + try { + return ParticleType.valueOf(particleName.toUpperCase()); + } catch (IllegalArgumentException e) { + for (ParticleType particle : values()) { + if (particle.getName().equalsIgnoreCase(particleName)) { + return particle; + } + + if (particle.hasLegacyName() && particle.getLegacyName().equalsIgnoreCase(particleName)) { + return particle; + } + } + } + return null; + } +} diff --git a/src/main/java/ninja/bytecode/iris/util/ResourceLoader.java b/src/main/java/ninja/bytecode/iris/util/ResourceLoader.java index 29a55cf1e..d422e788d 100644 --- a/src/main/java/ninja/bytecode/iris/util/ResourceLoader.java +++ b/src/main/java/ninja/bytecode/iris/util/ResourceLoader.java @@ -12,13 +12,13 @@ import ninja.bytecode.shuriken.collections.KMap; public class ResourceLoader { - private File root; - private String folderName; - private String resourceTypeName; - private KMap loadCache; - private KList folderCache; - private Class objectClass; - private ReentrantLock lock; + protected File root; + protected String folderName; + protected String resourceTypeName; + protected KMap loadCache; + protected KList folderCache; + protected Class objectClass; + protected ReentrantLock lock; public ResourceLoader(File root, String folderName, String resourceTypeName, Class objectClass) { diff --git a/src/main/java/ninja/bytecode/iris/util/VectorMath.java b/src/main/java/ninja/bytecode/iris/util/VectorMath.java new file mode 100644 index 000000000..99cdf3e87 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/VectorMath.java @@ -0,0 +1,755 @@ +package ninja.bytecode.iris.util; + +import org.bukkit.Axis; +import org.bukkit.Bukkit; +import org.bukkit.Location; +import org.bukkit.block.BlockFace; +import org.bukkit.entity.Entity; +import org.bukkit.util.Vector; + +import ninja.bytecode.shuriken.collections.KList; +import ninja.bytecode.shuriken.format.Form; + +/** + * Vector utilities + * + * @author cyberpwn + */ +public class VectorMath +{ + public static Vector scaleStatic(Axis x, Vector v, double amt) + { + switch(x) + { + case X: + return scaleX(v, amt); + case Y: + return scaleY(v, amt); + case Z: + return scaleZ(v, amt); + } + + return null; + } + + public static Vector scaleX(Vector v, double amt) + { + double x = v.getX(); + double y = v.getY(); + double z = v.getZ(); + double rx = x == 0 ? 1 : amt / x; + + return new Vector(x * rx, y * rx, z * rx); + } + + public static Vector scaleY(Vector v, double amt) + { + double x = v.getX(); + double y = v.getY(); + double z = v.getZ(); + double rx = y == 0 ? 1 : amt / y; + + return new Vector(x * rx, y * rx, z * rx); + } + + public static Vector scaleZ(Vector v, double amt) + { + double x = v.getX(); + double y = v.getY(); + double z = v.getZ(); + double rx = z == 0 ? 1 : amt / z; + + return new Vector(x * rx, y * rx, z * rx); + } + + public static Vector reverseXZ(Vector v) + { + v.setX(-v.getX()); + v.setZ(-v.getZ()); + return v; + } + + public static boolean isLookingNear(Location a, Location b, double maxOff) + { + Vector perfect = VectorMath.direction(a, b); + Vector actual = a.getDirection(); + + return perfect.distance(actual) <= maxOff; + } + + public static Vector rotate(Direction current, Direction to, Vector v) + { + if(current.equals(to)) + { + return v; + } + + else if(current.equals(to.reverse())) + { + if(current.isVertical()) + { + return new Vector(v.getX(), -v.getY(), v.getZ()); + } + + else + { + return new Vector(-v.getX(), v.getY(), -v.getZ()); + } + } + + else + { + Vector c = current.toVector().clone().add(to.toVector()); + + if(c.getX() == 0) + { + if(c.getY() != c.getZ()) + { + return rotate90CX(v); + } + + return rotate90CCX(v); + } + + else if(c.getY() == 0) + { + if(c.getX() != c.getZ()) + { + return rotate90CY(v); + } + + return rotate90CCY(v); + } + + else if(c.getZ() == 0) + { + if(c.getX() != c.getY()) + { + return rotate90CZ(v); + } + + return rotate90CCZ(v); + } + } + + return v; + } + + // Y X 0 0 + // X Z 0 0 + + // 0 X Y 0 + // 0 Z X 0 + + public static Vector rotate(Direction current, Direction to, Vector v, int w, int h, int d) + { + if(current.equals(to)) + { + return v; + } + + else if(current.equals(to.reverse())) + { + if(current.isVertical()) + { + return new Vector(v.getX(), -v.getY() + h, v.getZ()); + } + + else + { + return new Vector(-v.getX() + w, v.getY(), -v.getZ() + d); + } + } + + else + { + Vector c = current.toVector().clone().add(to.toVector()); + + if(c.getX() == 0) + { + if(c.getY() != c.getZ()) + { + return rotate90CX(v, d); + } + + return rotate90CCX(v, h); + } + + else if(c.getY() == 0) + { + if(c.getX() != c.getZ()) + { + return rotate90CY(v, d); + } + + return rotate90CCY(v, w); + } + + else if(c.getZ() == 0) + { + if(c.getX() != c.getY()) + { + return rotate90CZ(v, w); + } + + return rotate90CCZ(v, h); + } + } + + return v; + } + + public static Vector rotate90CX(Vector v) + { + return new Vector(v.getX(), -v.getZ(), v.getY()); + } + + public static Vector rotate90CCX(Vector v) + { + return new Vector(v.getX(), v.getZ(), -v.getY()); + } + + public static Vector rotate90CY(Vector v) + { + return new Vector(-v.getZ(), v.getY(), v.getX()); + } + + public static Vector rotate90CCY(Vector v) + { + return new Vector(v.getZ(), v.getY(), -v.getX()); + } + + public static Vector rotate90CZ(Vector v) + { + return new Vector(v.getY(), -v.getX(), v.getZ()); + } + + public static Vector rotate90CCZ(Vector v) + { + return new Vector(-v.getY(), v.getX(), v.getZ()); + } + + public static Vector rotate90CX(Vector v, int s) + { + return new Vector(v.getX(), -v.getZ() + s, v.getY()); + } + + public static Vector rotate90CCX(Vector v, int s) + { + return new Vector(v.getX(), v.getZ(), -v.getY() + s); + } + + public static Vector rotate90CY(Vector v, int s) + { + return new Vector(-v.getZ() + s, v.getY(), v.getX()); + } + + public static Vector rotate90CCY(Vector v, int s) + { + return new Vector(v.getZ(), v.getY(), -v.getX() + s); + } + + public static Vector rotate90CZ(Vector v, int s) + { + return new Vector(v.getY(), -v.getX() + s, v.getZ()); + } + + public static Vector rotate90CCZ(Vector v, int s) + { + return new Vector(-v.getY() + s, v.getX(), v.getZ()); + } + + public static Vector getAxis(Direction current, Direction to) + { + if(current.equals(Direction.U) || current.equals(Direction.D)) + { + if(to.equals(Direction.U) || to.equals(Direction.D)) + { + return new Vector(1, 0, 0); + } + + else + { + if(current.equals(Direction.N) || current.equals(Direction.S)) + { + return Direction.E.toVector(); + } + + else + { + return Direction.S.toVector(); + } + } + } + + return new Vector(0, 1, 0); + } + + private static double round(double value, int precision) + { + return Double.valueOf(Form.f(value, precision)); + } + + public static Vector clip(Vector v, int decimals) + { + v.setX(round(v.getX(), decimals)); + v.setY(round(v.getY(), decimals)); + v.setZ(round(v.getZ(), decimals)); + return v; + } + + public static Vector rotateVectorCC(Vector vec, Vector axis, double deg) + { + double theta = Math.toRadians(deg); + double x, y, z; + double u, v, w; + x = vec.getX(); + y = vec.getY(); + z = vec.getZ(); + u = axis.getX(); + v = axis.getY(); + w = axis.getZ(); + double xPrime = u * (u * x + v * y + w * z) * (1d - Math.cos(theta)) + x * Math.cos(theta) + (-w * y + v * z) * Math.sin(theta); + double yPrime = v * (u * x + v * y + w * z) * (1d - Math.cos(theta)) + y * Math.cos(theta) + (w * x - u * z) * Math.sin(theta); + double zPrime = w * (u * x + v * y + w * z) * (1d - Math.cos(theta)) + z * Math.cos(theta) + (-v * x + u * y) * Math.sin(theta); + + return clip(new Vector(xPrime, yPrime, zPrime), 4); + } + + /** + * Get all SIMPLE block faces from a more specific block face (SOUTH_EAST) = + * (south, east) + * + * @param f + * the block face + * @return multiple faces, or one if the face is already simple + */ + public static KList split(BlockFace f) + { + KList faces = new KList(); + + switch(f) + { + case DOWN: + faces.add(BlockFace.DOWN); + break; + case EAST: + faces.add(BlockFace.EAST); + break; + case EAST_NORTH_EAST: + faces.add(BlockFace.EAST); + faces.add(BlockFace.EAST); + faces.add(BlockFace.NORTH); + break; + case EAST_SOUTH_EAST: + faces.add(BlockFace.EAST); + faces.add(BlockFace.EAST); + faces.add(BlockFace.SOUTH); + break; + case NORTH: + faces.add(BlockFace.NORTH); + break; + case NORTH_EAST: + faces.add(BlockFace.NORTH); + faces.add(BlockFace.EAST); + break; + case NORTH_NORTH_EAST: + faces.add(BlockFace.NORTH); + faces.add(BlockFace.NORTH); + faces.add(BlockFace.EAST); + break; + case NORTH_NORTH_WEST: + faces.add(BlockFace.NORTH); + faces.add(BlockFace.NORTH); + faces.add(BlockFace.WEST); + break; + case NORTH_WEST: + faces.add(BlockFace.NORTH); + faces.add(BlockFace.WEST); + break; + case SELF: + faces.add(BlockFace.SELF); + break; + case SOUTH: + faces.add(BlockFace.SOUTH); + break; + case SOUTH_EAST: + faces.add(BlockFace.SOUTH); + faces.add(BlockFace.EAST); + break; + case SOUTH_SOUTH_EAST: + faces.add(BlockFace.SOUTH); + faces.add(BlockFace.SOUTH); + faces.add(BlockFace.EAST); + break; + case SOUTH_SOUTH_WEST: + faces.add(BlockFace.SOUTH); + faces.add(BlockFace.SOUTH); + faces.add(BlockFace.WEST); + break; + case SOUTH_WEST: + faces.add(BlockFace.SOUTH); + faces.add(BlockFace.WEST); + break; + case UP: + faces.add(BlockFace.UP); + break; + case WEST: + faces.add(BlockFace.WEST); + break; + case WEST_NORTH_WEST: + faces.add(BlockFace.WEST); + faces.add(BlockFace.WEST); + faces.add(BlockFace.NORTH); + break; + case WEST_SOUTH_WEST: + faces.add(BlockFace.WEST); + faces.add(BlockFace.WEST); + faces.add(BlockFace.SOUTH); + break; + default: + break; + } + + return faces; + } + + /** + * Get a normalized vector going from a location to another + * + * @param from + * from here + * @param to + * to here + * @return the normalized vector direction + */ + public static Vector direction(Location from, Location to) + { + return to.clone().subtract(from.clone()).toVector().normalize(); + } + + public static Vector directionNoNormal(Location from, Location to) + { + return to.clone().subtract(from.clone()).toVector(); + } + + /** + * Get the vector direction from the yaw and pitch + * + * @param yaw + * the yaw + * @param pitch + * the pitch + * @return the vector + */ + public static Vector toVector(float yaw, float pitch) + { + return new Vector(Math.cos(pitch) * Math.cos(yaw), Math.sin(pitch), Math.cos(pitch) * Math.sin(-yaw)); + } + + /** + * Add an impulse (force) to an entity + * + * @param e + * the entity + * @param v + * the vector + */ + public static void impulse(Entity e, Vector v) + { + impulse(e, v, 1.0); + } + + /** + * Add an impulse (force) on an entity + * + * @param e + * the entity + * @param v + * the vector + * @param effectiveness + * the effectiveness + */ + public static void impulse(Entity e, Vector v, double effectiveness) + { + Vector vx = e.getVelocity(); + vx.add(v.clone().multiply(effectiveness)); + e.setVelocity(vx); + } + + /** + * Reverse a direction + * + * @param v + * the direction + * @return the reversed direction + */ + public static Vector reverse(Vector v) + { + if(v.getX() != 0) + { + v.setX(-v.getX()); + } + + if(v.getY() != 0) + { + v.setY(-v.getY()); + } + + if(v.getZ() != 0) + { + v.setZ(-v.getZ()); + } + + return v; + } + + /** + * Get a speed value from a vector (velocity) + * + * @param v + * the vector + * @return the speed + */ + public static double getSpeed(Vector v) + { + Vector vi = new Vector(0, 0, 0); + Vector vt = new Vector(0, 0, 0).add(v); + + return vi.distance(vt); + } + + /** + * Shift all vectors based on the given vector + * + * @param vector + * the vector direction to shift the vectors + * @param vectors + * the vectors to be shifted + * @return the shifted vectors + */ + public static KList shift(Vector vector, KList vectors) + { + return new KList(new GListAdapter() + { + @Override + public Vector onAdapt(Vector from) + { + return from.add(vector); + } + }.adapt(vectors)); + } + + /** + * Attempt to get the blockFace for the vector (will be tri-normalized) + * + * @param v + * the vector + * @return the block face or null + */ + public static BlockFace getBlockFace(Vector v) + { + Vector p = triNormalize(v); + + for(BlockFace i : BlockFace.values()) + { + if(p.getX() == i.getModX() && p.getY() == i.getModY() && p.getZ() == i.getModZ()) + { + return i; + } + } + + for(BlockFace i : BlockFace.values()) + { + if(p.getX() == i.getModX() && p.getZ() == i.getModZ()) + { + return i; + } + } + + for(BlockFace i : BlockFace.values()) + { + if(p.getY() == i.getModY() && p.getZ() == i.getModZ()) + { + return i; + } + } + + for(BlockFace i : BlockFace.values()) + { + if(p.getX() == i.getModX() || p.getY() == i.getModY()) + { + return i; + } + } + + for(BlockFace i : BlockFace.values()) + { + if(p.getX() == i.getModX() || p.getY() == i.getModY() || p.getZ() == i.getModZ()) + { + return i; + } + } + + return null; + } + + /** + * Angle the vector in a self relative direction + * + * @param v + * the initial direction + * @param amt + * the amount to shift in the direction + * @return the shifted direction + */ + public static Vector angleLeft(Vector v, float amt) + { + Location l = new Location(Bukkit.getWorlds().get(0), 0, 0, 0); + l.setDirection(v); + float y = l.getYaw(); + float p = l.getPitch(); + CDou cy = new CDou(360); + CDou cp = new CDou(180); + cy.set(y); + cp.set(p); + cy.sub(amt); + l.setYaw((float) cy.get()); + l.setPitch((float) cp.get()); + + return l.getDirection(); + } + + /** + * Angle the vector in a self relative direction + * + * @param v + * the initial direction + * @param amt + * the amount to shift in the direction + * @return the shifted direction + */ + public static Vector angleRight(Vector v, float amt) + { + Location l = new Location(Bukkit.getWorlds().get(0), 0, 0, 0); + l.setDirection(v); + float y = l.getYaw(); + float p = l.getPitch(); + CDou cy = new CDou(360); + CDou cp = new CDou(180); + cy.set(y); + cp.set(p); + cy.add(amt); + l.setYaw((float) cy.get()); + l.setPitch((float) cp.get()); + + return l.getDirection(); + } + + /** + * Angle the vector in a self relative direction + * + * @param v + * the initial direction + * @param amt + * the amount to shift in the direction + * @return the shifted direction + */ + public static Vector angleUp(Vector v, float amt) + { + Location l = new Location(Bukkit.getWorlds().get(0), 0, 0, 0); + l.setDirection(v); + float y = l.getYaw(); + float p = l.getPitch(); + CDou cy = new CDou(360); + cy.set(y); + l.setYaw((float) cy.get()); + l.setPitch((float) Math.max(-90, p - amt)); + + return l.getDirection(); + } + + /** + * Angle the vector in a self relative direction + * + * @param v + * the initial direction + * @param amt + * the amount to shift in the direction + * @return the shifted direction + */ + public static Vector angleDown(Vector v, float amt) + { + Location l = new Location(Bukkit.getWorlds().get(0), 0, 0, 0); + l.setDirection(v); + float y = l.getYaw(); + float p = l.getPitch(); + CDou cy = new CDou(360); + cy.set(y); + l.setYaw((float) cy.get()); + l.setPitch((float) Math.min(90, p + amt)); + + return l.getDirection(); + } + + /** + * (clone) Force normalize the vector into three points, 1, 0, or -1. If the + * value is > 0.333 (1) if the value is less than -0.333 (-1) else 0 + * + * @param direction + * the direction + * @return the vector + */ + public static Vector triNormalize(Vector direction) + { + Vector v = direction.clone(); + v.normalize(); + + if(v.getX() > 0.333) + { + v.setX(1); + } + + else if(v.getX() < -0.333) + { + v.setX(-1); + } + + else + { + v.setX(0); + } + + if(v.getY() > 0.333) + { + v.setY(1); + } + + else if(v.getY() < -0.333) + { + v.setY(-1); + } + + else + { + v.setY(0); + } + + if(v.getZ() > 0.333) + { + v.setZ(1); + } + + else if(v.getZ() < -0.333) + { + v.setZ(-1); + } + + else + { + v.setZ(0); + } + + return v; + } +} diff --git a/src/main/java/ninja/bytecode/iris/wand/WandController.java b/src/main/java/ninja/bytecode/iris/wand/WandController.java new file mode 100644 index 000000000..e1e38529c --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/wand/WandController.java @@ -0,0 +1,307 @@ +package ninja.bytecode.iris.wand; + +import java.awt.Color; +import java.util.Iterator; + +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +import org.bukkit.Location; +import org.bukkit.Material; +import org.bukkit.Particle; +import org.bukkit.Sound; +import org.bukkit.block.Block; +import org.bukkit.enchantments.Enchantment; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.block.Action; +import org.bukkit.event.player.PlayerInteractEvent; +import org.bukkit.inventory.EquipmentSlot; +import org.bukkit.inventory.ItemFlag; +import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.meta.ItemMeta; +import org.bukkit.util.BlockVector; +import org.bukkit.util.Vector; + +import ninja.bytecode.iris.Iris; +import ninja.bytecode.iris.object.IrisObject; +import ninja.bytecode.iris.util.Cuboid; +import ninja.bytecode.shuriken.collections.KList; +import ninja.bytecode.shuriken.math.M; + +public class WandController implements Listener +{ + public WandController() + { + Bukkit.getScheduler().scheduleSyncRepeatingTask(Iris.instance, () -> + { + for(Player i : Bukkit.getOnlinePlayers()) + { + tick(i); + } + }, 0, 0); + Bukkit.getPluginManager().registerEvents(this, Iris.instance); + } + + public void tick(Player p) + { + try + { + if(isWand(p.getInventory().getItemInMainHand())) + { + Location[] d = getCuboid(p.getInventory().getItemInMainHand()); + draw(d, p); + } + } + + catch(Throwable e) + { + + } + } + + public void draw(Location[] d, Player p) + { + Vector gx = Vector.getRandom().subtract(Vector.getRandom()).normalize().clone().multiply(0.65); + d[0].getWorld().spawnParticle(Particle.CRIT_MAGIC, d[0], 1, 0.5 + gx.getX(), 0.5 + gx.getY(), 0.5 + gx.getZ(), 0, null, false); + Vector gxx = Vector.getRandom().subtract(Vector.getRandom()).normalize().clone().multiply(0.65); + d[1].getWorld().spawnParticle(Particle.CRIT, d[1], 1, 0.5 + gxx.getX(), 0.5 + gxx.getY(), 0.5 + gxx.getZ(), 0, null, false); + + if(!d[0].getWorld().equals(d[1].getWorld())) + { + return; + } + + if(d[0].distanceSquared(d[1]) > 64 * 64) + { + return; + } + + int minx = Math.min(d[0].getBlockX(), d[1].getBlockX()); + int miny = Math.min(d[0].getBlockY(), d[1].getBlockY()); + int minz = Math.min(d[0].getBlockZ(), d[1].getBlockZ()); + int maxx = Math.max(d[0].getBlockX(), d[1].getBlockX()); + int maxy = Math.max(d[0].getBlockY(), d[1].getBlockY()); + int maxz = Math.max(d[0].getBlockZ(), d[1].getBlockZ()); + + for(double j = minx - 1; j < maxx + 1; j += 0.25) + { + for(double k = miny - 1; k < maxy + 1; k += 0.25) + { + for(double l = minz - 1; l < maxz + 1; l += 0.25) + { + if(M.r(0.2)) + { + boolean jj = j == minx || j == maxx; + boolean kk = k == miny || k == maxy; + boolean ll = l == minz || l == maxz; + double aa = j; + double bb = k; + double cc = l; + + if((jj && kk) || (jj && ll) || (ll && kk)) + { + Vector push = new Vector(0, 0, 0); + + if(j == minx) + { + push.add(new Vector(-0.55, 0, 0)); + } + + if(k == miny) + { + push.add(new Vector(0, -0.55, 0)); + } + + if(l == minz) + { + push.add(new Vector(0, 0, -0.55)); + } + + if(j == maxx) + { + push.add(new Vector(0.55, 0, 0)); + } + + if(k == maxy) + { + push.add(new Vector(0, 0.55, 0)); + } + + if(l == maxz) + { + push.add(new Vector(0, 0, 0.55)); + } + + Location lv = new Location(d[0].getWorld(), aa, bb, cc).clone().add(0.5, 0.5, 0.5).clone().add(push); + Color color = Color.getHSBColor((float) (0.5f + (Math.sin((aa + bb + cc + (p.getTicksLived() / 2)) / 20f) / 2)), 1, 1); + int r = color.getRed(); + int g = color.getGreen(); + int b = color.getBlue(); + p.spawnParticle(Particle.REDSTONE, lv.getX(), lv.getY(), lv.getZ(), 1, 0, 0, 0, 0, new Particle.DustOptions(org.bukkit.Color.fromRGB(r, g, b), 0.75f)); + } + } + } + } + } + } + + @EventHandler + public void on(PlayerInteractEvent e) + { + if(e.getHand().equals(EquipmentSlot.HAND) && isWand(e.getPlayer().getInventory().getItemInMainHand())) + { + if(e.getAction().equals(Action.LEFT_CLICK_BLOCK)) + { + e.setCancelled(true); + e.getPlayer().getInventory().setItemInMainHand(update(true, e.getClickedBlock().getLocation(), e.getPlayer().getInventory().getItemInMainHand())); + e.getPlayer().playSound(e.getClickedBlock().getLocation(), Sound.BLOCK_END_PORTAL_FRAME_FILL, 1f, 0.67f); + e.getPlayer().updateInventory(); + } + + else if(e.getAction().equals(Action.RIGHT_CLICK_BLOCK)) + { + e.setCancelled(true); + e.getPlayer().getInventory().setItemInMainHand(update(false, e.getClickedBlock().getLocation(), e.getPlayer().getInventory().getItemInMainHand())); + e.getPlayer().playSound(e.getClickedBlock().getLocation(), Sound.BLOCK_END_PORTAL_FRAME_FILL, 1f, 1.17f); + e.getPlayer().updateInventory(); + } + } + } + + public static void pasteSchematic(IrisObject s, Location at) + { + s.place(at); + } + + public static IrisObject createSchematic(ItemStack wand) + { + if(!isWand(wand)) + { + return null; + } + + try + { + Location[] f = getCuboid(wand); + Cuboid c = new Cuboid(f[0], f[1]); + IrisObject s = new IrisObject(c.getSizeX(), c.getSizeY(), c.getSizeZ()); + Iterator bb = c.iterator(); + while(bb.hasNext()) + { + Block b = bb.next(); + + if(b.getType().equals(Material.AIR)) + { + continue; + } + + BlockVector bv = b.getLocation().subtract(c.getLowerNE().toVector()).toVector().toBlockVector(); + s.setUnsigned(bv.getBlockX(), bv.getBlockY(), bv.getBlockZ(), b.getBlockData()); + } + + return s; + } + + catch(Throwable e) + { + e.printStackTrace(); + } + + return null; + } + + public static Location stringToLocation(String s) + { + try + { + String[] f = s.split("\\Q in \\E"); + String[] g = f[0].split("\\Q,\\E"); + return new Location(Bukkit.getWorld(f[1]), Integer.valueOf(g[0]), Integer.valueOf(g[1]), Integer.valueOf(g[2])); + } + + catch(Throwable e) + { + return null; + } + } + + public static String locationToString(Location s) + { + if(s == null) + { + return "<#>"; + } + + return s.getBlockX() + "," + s.getBlockY() + "," + s.getBlockZ() + " in " + s.getWorld().getName(); + } + + public static ItemStack createWand() + { + return createWand(null, null); + } + + public static ItemStack update(boolean left, Location a, ItemStack item) + { + if(!isWand(item)) + { + return item; + } + + Location[] f = getCuboid(item); + Location other = left ? f[1] : f[0]; + + if(other != null && !other.getWorld().getName().equals(a.getWorld().getName())) + { + other = null; + } + + return createWand(left ? a : other, left ? other : a); + } + + public static ItemStack createWand(Location a, Location b) + { + ItemStack is = new ItemStack(Material.BLAZE_ROD); + is.addUnsafeEnchantment(Enchantment.ARROW_INFINITE, 1); + ItemMeta im = is.getItemMeta(); + im.setDisplayName(ChatColor.BOLD + "" + ChatColor.GOLD + "Wand of Iris"); + im.setUnbreakable(true); + im.addItemFlags(ItemFlag.HIDE_ATTRIBUTES, ItemFlag.HIDE_PLACED_ON, ItemFlag.HIDE_POTION_EFFECTS, ItemFlag.HIDE_DESTROYS, ItemFlag.HIDE_ENCHANTS); + im.setLore(new KList().add(locationToString(a), locationToString(b))); + is.setItemMeta(im); + + return is; + } + + public static boolean isWand(Player p) + { + ItemStack is = p.getInventory().getItemInMainHand(); + return !(is == null || !isWand(is)); + } + + public static Location[] getCuboid(ItemStack is) + { + ItemMeta im = is.getItemMeta(); + return new Location[] {stringToLocation(im.getLore().get(0)), stringToLocation(im.getLore().get(1))}; + } + + public static boolean isWand(ItemStack item) + { + if(!item.getType().equals(createWand().getType())) + { + return false; + } + + if(!item.getItemMeta().getEnchants().equals(createWand().getItemMeta().getEnchants())) + { + return false; + } + + if(!item.getItemMeta().getDisplayName().equals(createWand().getItemMeta().getDisplayName())) + { + return false; + } + + return true; + } +} From 0566b30406e41a5d8254f6c2a7d7e700558d00b6 Mon Sep 17 00:00:00 2001 From: Daniel Mills Date: Thu, 14 May 2020 16:39:08 -0400 Subject: [PATCH 10/20] Rotation --- .../iris/generator/BiomeChunkGenerator.java | 8 +- .../generator/ContextualChunkGenerator.java | 2 +- .../iris/generator/IrisGenerator.java | 2 +- .../generator/ParallaxChunkGenerator.java | 96 ++++++++++------ .../iris/object/IrisAxisRotationClamp.java | 41 +++++++ .../bytecode/iris/object/IrisDimension.java | 1 + .../bytecode/iris/object/IrisObject.java | 21 +++- .../iris/object/IrisObjectPlacement.java | 8 +- .../iris/object/IrisObjectRotation.java | 106 ++++++++++++++++++ .../iris/object/IrisObjectTranslate.java | 35 ++++++ .../iris/object/atomics/AtomicSliver.java | 5 + .../iris/object/atomics/AtomicSliverMap.java | 13 ++- .../iris/object/atomics/AtomicWorldData.java | 7 +- .../iris/object/atomics/MasterLock.java | 48 ++++++++ 14 files changed, 339 insertions(+), 54 deletions(-) create mode 100644 src/main/java/ninja/bytecode/iris/object/IrisAxisRotationClamp.java create mode 100644 src/main/java/ninja/bytecode/iris/object/IrisObjectRotation.java create mode 100644 src/main/java/ninja/bytecode/iris/object/IrisObjectTranslate.java create mode 100644 src/main/java/ninja/bytecode/iris/object/atomics/MasterLock.java diff --git a/src/main/java/ninja/bytecode/iris/generator/BiomeChunkGenerator.java b/src/main/java/ninja/bytecode/iris/generator/BiomeChunkGenerator.java index 7f1c6baae..c32e7bab5 100644 --- a/src/main/java/ninja/bytecode/iris/generator/BiomeChunkGenerator.java +++ b/src/main/java/ninja/bytecode/iris/generator/BiomeChunkGenerator.java @@ -31,15 +31,15 @@ public abstract class BiomeChunkGenerator extends DimensionChunkGenerator public IrisRegion sampleRegion(int x, int z) { - double wx = getZoomed(getModifiedX(x, z)); - double wz = getZoomed(getModifiedZ(x, z)); + double wx = getModifiedX(x, z); + double wz = getModifiedZ(x, z); return glBiome.getRegion(wx, wz); } public BiomeResult sampleBiome(int x, int z) { - double wx = getZoomed(getModifiedX(x, z)); - double wz = getZoomed(getModifiedZ(x, z)); + double wx = getModifiedX(x, z); + double wz = getModifiedZ(x, z); IrisRegion region = glBiome.getRegion(wx, wz); return glBiome.generateRegionData(wx, wz, region); } diff --git a/src/main/java/ninja/bytecode/iris/generator/ContextualChunkGenerator.java b/src/main/java/ninja/bytecode/iris/generator/ContextualChunkGenerator.java index bc3a4bd89..b306231d0 100644 --- a/src/main/java/ninja/bytecode/iris/generator/ContextualChunkGenerator.java +++ b/src/main/java/ninja/bytecode/iris/generator/ContextualChunkGenerator.java @@ -186,7 +186,7 @@ public abstract class ContextualChunkGenerator extends ChunkGenerator implements { return super.canSpawn(world, x, z); } - + protected ChunkData generateChunkDataFailure(World world, Random no, int x, int z, BiomeGrid biomeGrid) { ChunkData c = Bukkit.createChunkData(world); diff --git a/src/main/java/ninja/bytecode/iris/generator/IrisGenerator.java b/src/main/java/ninja/bytecode/iris/generator/IrisGenerator.java index 7532639cd..ce0632f96 100644 --- a/src/main/java/ninja/bytecode/iris/generator/IrisGenerator.java +++ b/src/main/java/ninja/bytecode/iris/generator/IrisGenerator.java @@ -40,7 +40,7 @@ public class IrisGenerator extends ParallaxChunkGenerator implements IrisContext @Override protected void onTick(int ticks) { - super.onTick(ticks); + } @Override diff --git a/src/main/java/ninja/bytecode/iris/generator/ParallaxChunkGenerator.java b/src/main/java/ninja/bytecode/iris/generator/ParallaxChunkGenerator.java index b17e955ed..7138784a7 100644 --- a/src/main/java/ninja/bytecode/iris/generator/ParallaxChunkGenerator.java +++ b/src/main/java/ninja/bytecode/iris/generator/ParallaxChunkGenerator.java @@ -13,6 +13,7 @@ import ninja.bytecode.iris.object.IrisObjectPlacement; import ninja.bytecode.iris.object.atomics.AtomicSliver; import ninja.bytecode.iris.object.atomics.AtomicSliverMap; import ninja.bytecode.iris.object.atomics.AtomicWorldData; +import ninja.bytecode.iris.object.atomics.MasterLock; import ninja.bytecode.iris.util.BiomeMap; import ninja.bytecode.iris.util.ChunkPosition; import ninja.bytecode.iris.util.HeightMap; @@ -26,12 +27,15 @@ public abstract class ParallaxChunkGenerator extends TerrainChunkGenerator imple { private KMap sliverCache; protected AtomicWorldData parallaxMap; - private int sliverBuffer = 0; + private MasterLock masterLock; + private int sliverBuffer; public ParallaxChunkGenerator(String dimensionName, int threads) { super(dimensionName, threads); sliverCache = new KMap<>(); + sliverBuffer = 0; + masterLock = new MasterLock(); } public void onInit(World world, RNG rng) @@ -64,7 +68,9 @@ public abstract class ParallaxChunkGenerator extends TerrainChunkGenerator imple @Override public void set(int x, int y, int z, BlockData d) { + getMasterLock().lock((x >> 4) + "." + (z >> 4)); getParallaxSliver(x, z).set(y, d); + getMasterLock().unlock((x >> 4) + "." + (z >> 4)); } @Override @@ -76,22 +82,24 @@ public abstract class ParallaxChunkGenerator extends TerrainChunkGenerator imple public AtomicSliver getParallaxSliver(int wx, int wz) { - return getParallaxChunk(wx >> 4, wz >> 4).getSliver(wx & 15, wz & 15); + getMasterLock().lock("gpc"); + getMasterLock().lock((wx >> 4) + "." + (wz >> 4)); + AtomicSliverMap map = getParallaxChunk(wx >> 4, wz >> 4); + getMasterLock().unlock("gpc"); + AtomicSliver sliver = map.getSliver(wx & 15, wz & 15); + getMasterLock().unlock((wx >> 4) + "." + (wz >> 4)); + + return sliver; } - public boolean hasParallaxChunk(int x, int z) + public boolean isParallaxGenerated(int x, int z) { - try - { - return getParallaxMap().hasChunk(x, z); - } + return getParallaxChunk(x, z).isParallaxGenerated(); + } - catch(IOException e) - { - fail(e); - } - - return false; + public boolean isWorldGenerated(int x, int z) + { + return getParallaxChunk(x, z).isWorldGenerated(); } public AtomicSliverMap getParallaxChunk(int x, int z) @@ -112,45 +120,65 @@ public abstract class ParallaxChunkGenerator extends TerrainChunkGenerator imple @Override protected void onPostGenerate(RNG random, int x, int z, ChunkData data, BiomeGrid grid, HeightMap height, BiomeMap biomeMap) { - onGenerateParallax(random, x, z); - getParallaxChunk(x, z).inject(data); - sliverBuffer = sliverCache.size(); - sliverCache.clear(); + if(getDimension().isPlaceObjects()) + { + onGenerateParallax(random, x, z); + getParallaxChunk(x, z).inject(data); + setSliverBuffer(getSliverCache().size()); + getParallaxChunk(x, z).setWorldGenerated(true); + getParallaxMap().clean(x + z); + getSliverCache().clear(); + getMasterLock().clear(); + } } protected void onGenerateParallax(RNG random, int x, int z) { - ChunkPosition pos = Iris.data.getObjectLoader().getParallaxSize(); + String key = "par." + x + "." + "z"; + ChunkPosition rad = Iris.data.getObjectLoader().getParallaxSize(); - for(int i = x - pos.getX() / 2; i <= x + pos.getX() / 2; i++) + for(int ii = x - (rad.getX() / 2); ii <= x + (rad.getX() / 2); ii++) { - for(int j = z - pos.getZ() / 2; j <= z + pos.getZ() / 2; j++) - { - IrisBiome b = sampleBiome((i * 16) + 7, (j * 16) + 7).getBiome(); - int g = 1; + int i = ii; - for(IrisObjectPlacement k : b.getObjects()) + for(int jj = z - (rad.getZ() / 2); jj <= z + (rad.getZ() / 2); jj++) + { + int j = jj; + + if(isParallaxGenerated(ii, jj)) { - placeObject(k, i, j, random.nextParallelRNG((i * 30) + (j * 30) + g++)); + continue; } + + if(isWorldGenerated(ii, jj)) + { + continue; + } + + getTx().queue(key, () -> + { + IrisBiome b = sampleBiome((i * 16) + 7, (j * 16) + 7).getBiome(); + int g = 1; + + for(IrisObjectPlacement k : b.getObjects()) + { + placeObject(k, i, j, random.nextParallelRNG((34 * ((i * 30) + (j * 30) + g++) * i * j) + i - j + 3569222)); + } + }); + + getParallaxChunk(ii, jj).setParallaxGenerated(true); } } - } - @Override - protected void onTick(int ticks) - { - if(ticks % 100 == 0) - { - parallaxMap.clean(); - } + getTx().waitFor(key); } protected void placeObject(IrisObjectPlacement o, int x, int z, RNG rng) { for(int i = 0; i < o.getTriesForChunk(rng); i++) { - o.getSchematic(rng).place((x * 16) * rng.nextInt(16), (z * 16) + rng.nextInt(16), this); + rng = rng.nextParallelRNG((i * 3 + 8) - 23040); + o.getSchematic(rng).place((x * 16) + rng.nextInt(16), (z * 16) + rng.nextInt(16), this, o, rng); } } diff --git a/src/main/java/ninja/bytecode/iris/object/IrisAxisRotationClamp.java b/src/main/java/ninja/bytecode/iris/object/IrisAxisRotationClamp.java new file mode 100644 index 000000000..da3acb549 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/object/IrisAxisRotationClamp.java @@ -0,0 +1,41 @@ +package ninja.bytecode.iris.object; + +import lombok.Data; + +@Data +public class IrisAxisRotationClamp +{ + private boolean enabled = false; + private double min = 0; + private double max = 0; + private double interval = 0; + + public IrisAxisRotationClamp() + { + + } + + public IrisAxisRotationClamp(boolean enabled, double min, double max, double interval) + { + this.enabled = enabled; + this.min = min; + this.max = max; + this.interval = interval; + } + + public boolean isUnlimited() + { + return min == max; + } + + public double getRadians(int rng) + { + if(isUnlimited()) + { + return Math.toRadians((rng * interval) % 360D); + } + + double deg = min + (rng * interval) % (Math.abs(max - min) / 360D); + return Math.toRadians(deg); + } +} diff --git a/src/main/java/ninja/bytecode/iris/object/IrisDimension.java b/src/main/java/ninja/bytecode/iris/object/IrisDimension.java index e4b98b353..fd2f53371 100644 --- a/src/main/java/ninja/bytecode/iris/object/IrisDimension.java +++ b/src/main/java/ninja/bytecode/iris/object/IrisDimension.java @@ -32,6 +32,7 @@ public class IrisDimension extends IrisRegisteredObject private double seaZoom = 1; private double continentZoom = 1; private double regionZoom = 1; + private boolean placeObjects = true; private transient CNG coordFracture; private transient Double sinr; diff --git a/src/main/java/ninja/bytecode/iris/object/IrisObject.java b/src/main/java/ninja/bytecode/iris/object/IrisObject.java index 064abed65..41d00758a 100644 --- a/src/main/java/ninja/bytecode/iris/object/IrisObject.java +++ b/src/main/java/ninja/bytecode/iris/object/IrisObject.java @@ -17,6 +17,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import ninja.bytecode.iris.util.BlockDataTools; import ninja.bytecode.iris.util.IObjectPlacer; +import ninja.bytecode.iris.util.RNG; import ninja.bytecode.shuriken.collections.KMap; @Data @@ -37,7 +38,7 @@ public class IrisObject extends IrisRegisteredObject this.d = d; center = new BlockVector(w / 2, h / 2, d / 2); } - + public static BlockVector sampleSize(File file) throws IOException { FileInputStream in = new FileInputStream(file); @@ -113,13 +114,21 @@ public class IrisObject extends IrisRegisteredObject } } - public void place(int x, int z, IObjectPlacer placer) + public void place(int x, int z, IObjectPlacer placer, IrisObjectPlacement config, RNG rng) { - int y = placer.getHighest(x, z) + getCenter().getBlockY(); - - for(BlockVector i : blocks.k()) + boolean yf = rng.nextBoolean(); + boolean xf = rng.nextBoolean(); + int spinx = rng.imax() / 1000; + int spiny = rng.imax() / 1000; + int spinz = rng.imax() / 1000; + int y = placer.getHighest(x, z) + config.getRotation().rotate(new BlockVector(0, getCenter().getBlockY(), 0), yf, xf, spinx, spiny, spinz).getBlockY(); + + for(BlockVector g : blocks.k()) { - placer.set(x + i.getBlockX(), y + i.getBlockY(), z + i.getBlockZ(), blocks.get(i)); + BlockVector i = g.clone(); + i = config.getRotation().rotate(i.clone(), yf, xf, spinx, spiny, spinz).clone(); + i = config.getTranslate().translate(i.clone()).clone(); + placer.set(x + i.getBlockX(), y + i.getBlockY(), z + i.getBlockZ(), blocks.get(g)); } } diff --git a/src/main/java/ninja/bytecode/iris/object/IrisObjectPlacement.java b/src/main/java/ninja/bytecode/iris/object/IrisObjectPlacement.java index c8a71bc24..5e8b7ca7e 100644 --- a/src/main/java/ninja/bytecode/iris/object/IrisObjectPlacement.java +++ b/src/main/java/ninja/bytecode/iris/object/IrisObjectPlacement.java @@ -1,12 +1,16 @@ package ninja.bytecode.iris.object; +import lombok.Data; import ninja.bytecode.iris.Iris; import ninja.bytecode.iris.util.RNG; import ninja.bytecode.shuriken.collections.KList; +@Data public class IrisObjectPlacement { private KList place = new KList<>(); + private IrisObjectTranslate translate = new IrisObjectTranslate(); + private IrisObjectRotation rotation = new IrisObjectRotation(); private double chance = 1; private int density = 1; @@ -14,14 +18,14 @@ public class IrisObjectPlacement { } - + public IrisObject getSchematic(RNG random) { if(place.isEmpty()) { return null; } - + return Iris.data.getObjectLoader().load(place.get(random.nextInt(place.size()))); } diff --git a/src/main/java/ninja/bytecode/iris/object/IrisObjectRotation.java b/src/main/java/ninja/bytecode/iris/object/IrisObjectRotation.java new file mode 100644 index 000000000..5fcc1a4ea --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/object/IrisObjectRotation.java @@ -0,0 +1,106 @@ +package ninja.bytecode.iris.object; + +import org.bukkit.util.BlockVector; + +import lombok.Data; + +@Data +public class IrisObjectRotation +{ + private boolean enabled = true; + private IrisAxisRotationClamp xAxis = new IrisAxisRotationClamp(); + private IrisAxisRotationClamp yAxis = new IrisAxisRotationClamp(true, 0, 0, 90); + private IrisAxisRotationClamp zAxis = new IrisAxisRotationClamp(); + + public IrisObjectRotation() + { + + } + + public double getYRotation(int spin) + { + return getRotation(spin, yAxis); + } + + public double getXRotation(int spin) + { + return getRotation(spin, xAxis); + } + + public double getZRotation(int spin) + { + return getRotation(spin, zAxis); + } + + public double getRotation(int spin, IrisAxisRotationClamp clamp) + { + if(!enabled) + { + return 0; + } + + if(!clamp.isEnabled()) + { + return 0; + } + + return clamp.getRadians(spin); + } + + public BlockVector rotate(BlockVector b, boolean yf, boolean xf, int spinx, int spiny, int spinz) + { + if(!canRotate()) + { + return b; + } + + BlockVector v = b.clone(); + + if(yf && canRotateY()) + { + v.rotateAroundY(getYRotation(spiny)); + } + + if(xf && canRotateX()) + { + v.rotateAroundX(getXRotation(spinx)); + } + + if(canRotateZ()) + { + v.rotateAroundZ(getZRotation(spinz)); + } + + if(!xf && canRotateX()) + { + v.rotateAroundX(getXRotation(spinx)); + } + + if(!yf && canRotateY()) + { + v.rotateAroundY(getYRotation(spiny)); + } + + return v; + } + + public boolean canRotateX() + { + return enabled && xAxis.isEnabled(); + } + + public boolean canRotateY() + { + return enabled && yAxis.isEnabled(); + } + + public boolean canRotateZ() + { + return enabled && zAxis.isEnabled(); + } + + public boolean canRotate() + { + return canRotateX() || canRotateY() || canRotateZ(); + } +} diff --git a/src/main/java/ninja/bytecode/iris/object/IrisObjectTranslate.java b/src/main/java/ninja/bytecode/iris/object/IrisObjectTranslate.java new file mode 100644 index 000000000..47758e038 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/object/IrisObjectTranslate.java @@ -0,0 +1,35 @@ +package ninja.bytecode.iris.object; + +import org.bukkit.util.BlockVector; + +import lombok.Data; + +@Data +public class IrisObjectTranslate +{ + private int x; + private int y; + private int z; + + public IrisObjectTranslate() + { + x = 0; + y = 0; + z = 0; + } + + public boolean canTranslate() + { + return x != 0 || y != 0 || z != 0; + } + + public BlockVector translate(BlockVector i) + { + if(canTranslate()) + { + return (BlockVector) i.clone().add(new BlockVector(x, y, z)); + } + + return i; + } +} diff --git a/src/main/java/ninja/bytecode/iris/object/atomics/AtomicSliver.java b/src/main/java/ninja/bytecode/iris/object/atomics/AtomicSliver.java index 6917f3187..7382e2901 100644 --- a/src/main/java/ninja/bytecode/iris/object/atomics/AtomicSliver.java +++ b/src/main/java/ninja/bytecode/iris/object/atomics/AtomicSliver.java @@ -35,6 +35,11 @@ public class AtomicSliver public void set(int h, BlockData d) { + if(d == null) + { + return; + } + block.put(h, d); highestBlock = h > highestBlock ? h : highestBlock; } diff --git a/src/main/java/ninja/bytecode/iris/object/atomics/AtomicSliverMap.java b/src/main/java/ninja/bytecode/iris/object/atomics/AtomicSliverMap.java index df6d96fe9..3111e4c2b 100644 --- a/src/main/java/ninja/bytecode/iris/object/atomics/AtomicSliverMap.java +++ b/src/main/java/ninja/bytecode/iris/object/atomics/AtomicSliverMap.java @@ -9,14 +9,20 @@ import java.io.OutputStream; import org.bukkit.generator.ChunkGenerator.BiomeGrid; import org.bukkit.generator.ChunkGenerator.ChunkData; +import lombok.Data; import ninja.bytecode.iris.util.HeightMap; +@Data public class AtomicSliverMap { private final AtomicSliver[] slivers; + private boolean parallaxGenerated; + private boolean worldGenerated; public AtomicSliverMap() { + parallaxGenerated = false; + worldGenerated = false; slivers = new AtomicSliver[256]; for(int i = 0; i < 16; i++) @@ -35,10 +41,12 @@ public class AtomicSliverMap slivers[i].insert(map.slivers[i]); } } - + public void write(OutputStream out) throws IOException { DataOutputStream dos = new DataOutputStream(out); + dos.writeBoolean(isParallaxGenerated()); + dos.writeBoolean(isWorldGenerated()); for(int i = 0; i < 256; i++) { slivers[i].write(dos); @@ -50,6 +58,9 @@ public class AtomicSliverMap public void read(InputStream in) throws IOException { DataInputStream din = new DataInputStream(in); + parallaxGenerated = din.readBoolean(); + worldGenerated = din.readBoolean(); + for(int i = 0; i < 256; i++) { slivers[i].read(din); diff --git a/src/main/java/ninja/bytecode/iris/object/atomics/AtomicWorldData.java b/src/main/java/ninja/bytecode/iris/object/atomics/AtomicWorldData.java index 615d93c0e..a64315a30 100644 --- a/src/main/java/ninja/bytecode/iris/object/atomics/AtomicWorldData.java +++ b/src/main/java/ninja/bytecode/iris/object/atomics/AtomicWorldData.java @@ -7,7 +7,6 @@ import java.io.IOException; import org.bukkit.World; -import ninja.bytecode.iris.Iris; import ninja.bytecode.iris.util.ChunkPosition; import ninja.bytecode.shuriken.collections.KMap; import ninja.bytecode.shuriken.math.M; @@ -172,8 +171,6 @@ public class AtomicWorldData AtomicSliverMap m = dat.get(x & 31, z & 31); loadedChunks.put(pos, m); - Iris.info("Loaded chunk: sections: " + loadedSections.size()); - return m; } @@ -237,11 +234,11 @@ public class AtomicWorldData return loadedChunks; } - public void clean() + public void clean(int j) { for(ChunkPosition i : lastRegion.k()) { - if(M.ms() - lastRegion.get(i) > 3000) + if(M.ms() - lastRegion.get(i) > 60000) { lastRegion.remove(i); diff --git a/src/main/java/ninja/bytecode/iris/object/atomics/MasterLock.java b/src/main/java/ninja/bytecode/iris/object/atomics/MasterLock.java new file mode 100644 index 000000000..9c3cedc95 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/object/atomics/MasterLock.java @@ -0,0 +1,48 @@ +package ninja.bytecode.iris.object.atomics; + +import java.util.concurrent.locks.ReentrantLock; + +import ninja.bytecode.shuriken.collections.KMap; + +public class MasterLock +{ + private KMap locks; + private ReentrantLock lock; + + public MasterLock() + { + locks = new KMap<>(); + lock = new ReentrantLock(); + } + + public void clear() + { + locks.clear(); + } + + public void lock(String key) + { + lock.lock(); + if(!locks.containsKey(key)) + { + locks.put(key, new ReentrantLock()); + } + + ReentrantLock l = locks.get(key); + lock.unlock(); + l.lock(); + } + + public void unlock(String key) + { + lock.lock(); + if(!locks.containsKey(key)) + { + locks.put(key, new ReentrantLock()); + } + + ReentrantLock l = locks.get(key); + lock.unlock(); + l.unlock(); + } +} From 89b236ae9e8f18a7371c5d87091cf7743dfa721c Mon Sep 17 00:00:00 2001 From: Daniel Mills Date: Fri, 15 May 2020 00:57:28 -0400 Subject: [PATCH 11/20] fix --- src/main/java/ninja/bytecode/iris/Iris.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/main/java/ninja/bytecode/iris/Iris.java b/src/main/java/ninja/bytecode/iris/Iris.java index d88af5fbf..30b10d6d6 100644 --- a/src/main/java/ninja/bytecode/iris/Iris.java +++ b/src/main/java/ninja/bytecode/iris/Iris.java @@ -145,6 +145,19 @@ public class Iris extends JavaPlugin implements BoardProvider ((Player) sender).getInventory().addItem(WandController.createWand()); } + if(args[0].equalsIgnoreCase("gui")) + { + try + { + + } + + catch(Throwable e) + { + + } + } + if(args[0].equalsIgnoreCase("save") && args.length >= 2) { ItemStack wand = ((Player) sender).getInventory().getItemInMainHand(); From e491401ca00763db9dcadb9a938265532efd0a46 Mon Sep 17 00:00:00 2001 From: Daniel Mills Date: Sat, 16 May 2020 04:41:45 -0400 Subject: [PATCH 12/20] Generators --- src/main/java/ninja/bytecode/iris/Iris.java | 252 +++++++++++++++++- .../iris/generator/BiomeChunkGenerator.java | 11 + .../generator/ParallaxChunkGenerator.java | 2 +- .../iris/generator/TerrainChunkGenerator.java | 75 ++++-- .../bytecode/iris/layer/GenLayerBiome.java | 10 +- .../ninja/bytecode/iris/object/IrisBiome.java | 26 +- .../bytecode/iris/object/IrisDimension.java | 2 + .../bytecode/iris/object/IrisNoiseLayer.java | 41 +++ .../bytecode/iris/object/IrisRegion.java | 22 ++ .../bytecode/iris/util/GroupedExecutor.java | 10 + .../iris/util/ObjectResourceLoader.java | 47 ++-- .../bytecode/iris/util/ResourceLoader.java | 45 ++-- 12 files changed, 467 insertions(+), 76 deletions(-) create mode 100644 src/main/java/ninja/bytecode/iris/object/IrisNoiseLayer.java diff --git a/src/main/java/ninja/bytecode/iris/Iris.java b/src/main/java/ninja/bytecode/iris/Iris.java index 30b10d6d6..178fc0790 100644 --- a/src/main/java/ninja/bytecode/iris/Iris.java +++ b/src/main/java/ninja/bytecode/iris/Iris.java @@ -12,6 +12,7 @@ import org.bukkit.ChatColor; import org.bukkit.GameMode; import org.bukkit.Location; import org.bukkit.Material; +import org.bukkit.Sound; import org.bukkit.World; import org.bukkit.WorldCreator; import org.bukkit.command.Command; @@ -22,6 +23,7 @@ import org.bukkit.generator.ChunkGenerator; import org.bukkit.inventory.ItemStack; import org.bukkit.plugin.Plugin; import org.bukkit.plugin.java.JavaPlugin; +import org.bukkit.util.Vector; import ninja.bytecode.iris.generator.IrisGenerator; import ninja.bytecode.iris.object.IrisBiome; @@ -32,6 +34,9 @@ import ninja.bytecode.iris.util.BoardManager; import ninja.bytecode.iris.util.BoardProvider; import ninja.bytecode.iris.util.BoardSettings; import ninja.bytecode.iris.util.CNG; +import ninja.bytecode.iris.util.Cuboid; +import ninja.bytecode.iris.util.Cuboid.CuboidDirection; +import ninja.bytecode.iris.util.Direction; import ninja.bytecode.iris.util.GroupedExecutor; import ninja.bytecode.iris.util.IO; import ninja.bytecode.iris.util.ScoreDirection; @@ -127,6 +132,7 @@ public class Iris extends JavaPlugin implements BoardProvider HandlerList.unregisterAll((Plugin) this); } + @SuppressWarnings("deprecation") @Override public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { @@ -134,28 +140,241 @@ public class Iris extends JavaPlugin implements BoardProvider { if(args.length == 0) { - imsg(sender, "/iris dev - Create a new dev world"); - imsg(sender, "/iris wand - Get a wand"); + imsg(sender, "/iris dev [dimension] - Create a new dev world"); + imsg(sender, "/iris wand [?] - Get a wand / help"); + imsg(sender, "/iris save - Save object"); + imsg(sender, "/iris load - Load & place object"); } if(args.length >= 1) { if(args[0].equalsIgnoreCase("wand")) { - ((Player) sender).getInventory().addItem(WandController.createWand()); - } - - if(args[0].equalsIgnoreCase("gui")) - { - try + if(args.length == 1) { - + ((Player) sender).getInventory().addItem(WandController.createWand()); } - catch(Throwable e) + else if(args[1].equalsIgnoreCase("x+y")) { + Player p = (Player) sender; + if(!WandController.isWand(p)) + { + sender.sendMessage("Ready your Wand."); + return true; + } + Location[] b = WandController.getCuboid(p.getInventory().getItemInMainHand()); + b[0].add(new Vector(0, 1, 0)); + b[1].add(new Vector(0, 1, 0)); + Location a1 = b[0].clone(); + Location a2 = b[1].clone(); + Cuboid cursor = new Cuboid(a1, a2); + + while(!cursor.containsOnly(Material.AIR)) + { + a1.add(new Vector(0, 1, 0)); + a2.add(new Vector(0, 1, 0)); + cursor = new Cuboid(a1, a2); + } + + a1.add(new Vector(0, -1, 0)); + a2.add(new Vector(0, -1, 0)); + b[0] = a1; + a2 = b[1]; + cursor = new Cuboid(a1, a2); + cursor = cursor.contract(CuboidDirection.North); + cursor = cursor.contract(CuboidDirection.South); + cursor = cursor.contract(CuboidDirection.East); + cursor = cursor.contract(CuboidDirection.West); + b[0] = cursor.getLowerNE(); + b[1] = cursor.getUpperSW(); + p.getInventory().setItemInMainHand(WandController.createWand(b[0], b[1])); + p.updateInventory(); + p.playSound(p.getLocation(), Sound.ENTITY_ITEM_FRAME_ROTATE_ITEM, 1f, 0.55f); } + + else if(args[1].equalsIgnoreCase("x&y")) + { + Player p = (Player) sender; + + if(!WandController.isWand(p)) + { + sender.sendMessage("Ready your Wand."); + return true; + } + + Location[] b = WandController.getCuboid(p.getInventory().getItemInMainHand()); + Location a1 = b[0].clone(); + Location a2 = b[1].clone(); + Location a1x = b[0].clone(); + Location a2x = b[1].clone(); + Cuboid cursor = new Cuboid(a1, a2); + Cuboid cursorx = new Cuboid(a1, a2); + + while(!cursor.containsOnly(Material.AIR)) + { + a1.add(new Vector(0, 1, 0)); + a2.add(new Vector(0, 1, 0)); + cursor = new Cuboid(a1, a2); + } + + a1.add(new Vector(0, -1, 0)); + a2.add(new Vector(0, -1, 0)); + + while(!cursorx.containsOnly(Material.AIR)) + { + a1x.add(new Vector(0, -1, 0)); + a2x.add(new Vector(0, -1, 0)); + cursorx = new Cuboid(a1x, a2x); + } + + a1x.add(new Vector(0, 1, 0)); + a2x.add(new Vector(0, 1, 0)); + b[0] = a1; + b[1] = a2x; + cursor = new Cuboid(b[0], b[1]); + cursor = cursor.contract(CuboidDirection.North); + cursor = cursor.contract(CuboidDirection.South); + cursor = cursor.contract(CuboidDirection.East); + cursor = cursor.contract(CuboidDirection.West); + b[0] = cursor.getLowerNE(); + b[1] = cursor.getUpperSW(); + p.getInventory().setItemInMainHand(WandController.createWand(b[0], b[1])); + p.updateInventory(); + p.playSound(p.getLocation(), Sound.ENTITY_ITEM_FRAME_ROTATE_ITEM, 1f, 0.55f); + } + + else if(args[1].equalsIgnoreCase(">") && args.length > 2) + { + Player p = (Player) sender; + + if(!WandController.isWand(p)) + { + sender.sendMessage("Ready your Wand."); + return true; + } + + int amt = Integer.valueOf(args[2]); + Location[] b = WandController.getCuboid(p.getInventory().getItemInMainHand()); + Location a1 = b[0].clone(); + Location a2 = b[1].clone(); + Direction d = Direction.closest(p.getLocation().getDirection()).reverse(); + a1.add(d.toVector().multiply(amt)); + a2.add(d.toVector().multiply(amt)); + Cuboid cursor = new Cuboid(a1, a2); + b[0] = cursor.getLowerNE(); + b[1] = cursor.getUpperSW(); + p.getInventory().setItemInMainHand(WandController.createWand(b[0], b[1])); + p.updateInventory(); + p.playSound(p.getLocation(), Sound.ENTITY_ITEM_FRAME_ROTATE_ITEM, 1f, 0.55f); + } + + else if(args[1].equalsIgnoreCase("+") && args.length > 2) + { + Player p = (Player) sender; + + if(!WandController.isWand(p)) + { + sender.sendMessage("Ready your Wand."); + return true; + } + + int amt = Integer.valueOf(args[2]); + Location[] b = WandController.getCuboid(p.getInventory().getItemInMainHand()); + Location a1 = b[0].clone(); + Location a2 = b[1].clone(); + Cuboid cursor = new Cuboid(a1, a2); + Direction d = Direction.closest(p.getLocation().getDirection()).reverse(); + cursor = cursor.expand(d, amt); + b[0] = cursor.getLowerNE(); + b[1] = cursor.getUpperSW(); + p.getInventory().setItemInMainHand(WandController.createWand(b[0], b[1])); + p.updateInventory(); + p.playSound(p.getLocation(), Sound.ENTITY_ITEM_FRAME_ROTATE_ITEM, 1f, 0.55f); + } + + else if(args[1].equalsIgnoreCase("-") && args.length > 2) + { + Player p = (Player) sender; + + if(!WandController.isWand(p)) + { + sender.sendMessage("Ready your Wand."); + return true; + } + + int amt = Integer.valueOf(args[2]); + Location[] b = WandController.getCuboid(p.getInventory().getItemInMainHand()); + Location a1 = b[0].clone(); + Location a2 = b[1].clone(); + Cuboid cursor = new Cuboid(a1, a2); + Direction d = Direction.closest(p.getLocation().getDirection()).reverse(); + cursor = cursor.expand(d, -amt); + b[0] = cursor.getLowerNE(); + b[1] = cursor.getUpperSW(); + p.getInventory().setItemInMainHand(WandController.createWand(b[0], b[1])); + p.updateInventory(); + p.playSound(p.getLocation(), Sound.ENTITY_ITEM_FRAME_ROTATE_ITEM, 1f, 0.55f); + } + + else if(args[1].equalsIgnoreCase("p1")) + { + ItemStack wand = ((Player) sender).getInventory().getItemInMainHand(); + if(WandController.isWand(wand)) + { + Location[] g = WandController.getCuboid(wand); + g[0] = ((Player) sender).getLocation().getBlock().getLocation().clone().add(0, -1, 0); + ((Player) sender).setItemInHand(WandController.createWand(g[0], g[1])); + } + } + + else if(args[1].equalsIgnoreCase("p2")) + { + ItemStack wand = ((Player) sender).getInventory().getItemInMainHand(); + if(WandController.isWand(wand)) + { + Location[] g = WandController.getCuboid(wand); + g[1] = ((Player) sender).getLocation().getBlock().getLocation().clone().add(0, -1, 0); + ((Player) sender).setItemInHand(WandController.createWand(g[0], g[1])); + } + } + + else if(args[1].equalsIgnoreCase("l1")) + { + ItemStack wand = ((Player) sender).getInventory().getItemInMainHand(); + if(WandController.isWand(wand)) + { + Location[] g = WandController.getCuboid(wand); + g[0] = ((Player) sender).getTargetBlock((Set) null, 256).getLocation().clone(); + ((Player) sender).setItemInHand(WandController.createWand(g[0], g[1])); + } + } + + else if(args[1].equalsIgnoreCase("l2")) + { + ItemStack wand = ((Player) sender).getInventory().getItemInMainHand(); + if(WandController.isWand(wand)) + { + Location[] g = WandController.getCuboid(wand); + g[1] = ((Player) sender).getTargetBlock((Set) null, 256).getLocation().clone(); + ((Player) sender).setItemInHand(WandController.createWand(g[0], g[1])); + } + } + + else + { + imsg(sender, "/iris wand x+y - Expand up and out"); + imsg(sender, "/iris wand x&y - Expand up and down and out"); + imsg(sender, "/iris wand > - Shift in looking direction"); + imsg(sender, "/iris wand + - Expand in looking direction"); + imsg(sender, "/iris wand - - Contract in looking direction"); + imsg(sender, "/iris wand p1 - Set wand pos 1 where standing"); + imsg(sender, "/iris wand p2 - Set wand pos 2 where standing"); + imsg(sender, "/iris wand l1 - Set wand pos 1 where looking"); + imsg(sender, "/iris wand l2 - Set wand pos 2 where looking"); + } + } if(args[0].equalsIgnoreCase("save") && args.length >= 2) @@ -223,7 +442,7 @@ public class Iris extends JavaPlugin implements BoardProvider if(args[0].equalsIgnoreCase("dev")) { - String dim = "Overworld"; + String dim = "overworld"; if(args.length > 1) { @@ -247,13 +466,20 @@ public class Iris extends JavaPlugin implements BoardProvider } } + IrisDimension d = data.getDimensionLoader().load(dimm); + + if(d == null) + { + imsg(sender, "Can't find dimension: " + dimm); + return; + } + for(Player i : Bukkit.getOnlinePlayers()) { imsg(i, "Creating Iris " + dimm + "..."); } - IrisGenerator gx = new IrisGenerator("overworld", 16); - + IrisGenerator gx = new IrisGenerator(dimm, 16); O done = new O(); done.set(false); diff --git a/src/main/java/ninja/bytecode/iris/generator/BiomeChunkGenerator.java b/src/main/java/ninja/bytecode/iris/generator/BiomeChunkGenerator.java index c32e7bab5..1ecaddb61 100644 --- a/src/main/java/ninja/bytecode/iris/generator/BiomeChunkGenerator.java +++ b/src/main/java/ninja/bytecode/iris/generator/BiomeChunkGenerator.java @@ -44,6 +44,17 @@ public abstract class BiomeChunkGenerator extends DimensionChunkGenerator return glBiome.generateRegionData(wx, wz, region); } + protected double interpolateAuxiliaryHeight(double rx, double rz) + { + return IrisInterpolation.getNoise(getDimension().getInterpolationAuxiliaryFunction(), (int) Math.round(rx), (int) Math.round(rz), getDimension().getInterpolationAuxiliaryScale(), (xx, zz) -> + { + double xv = xx / getDimension().getTerrainZoom(); + double zv = zz / getDimension().getTerrainZoom(); + BiomeResult neighborResult = glBiome.generateData(xv, zv); + return neighborResult.getBiome().getAuxiliaryHeight(xv, zv, getWorld().getSeed() * 3923); + }); + } + protected double interpolateHeight(double rx, double rz, Function property) { return IrisInterpolation.getNoise(getDimension().getInterpolationFunction(), (int) Math.round(rx), (int) Math.round(rz), getDimension().getInterpolationScale(), (xx, zz) -> diff --git a/src/main/java/ninja/bytecode/iris/generator/ParallaxChunkGenerator.java b/src/main/java/ninja/bytecode/iris/generator/ParallaxChunkGenerator.java index 7138784a7..4bf11b25f 100644 --- a/src/main/java/ninja/bytecode/iris/generator/ParallaxChunkGenerator.java +++ b/src/main/java/ninja/bytecode/iris/generator/ParallaxChunkGenerator.java @@ -157,7 +157,7 @@ public abstract class ParallaxChunkGenerator extends TerrainChunkGenerator imple getTx().queue(key, () -> { - IrisBiome b = sampleBiome((i * 16) + 7, (j * 16) + 7).getBiome(); + IrisBiome b = sampleTrueBiome((i * 16) + 7, (j * 16) + 7).getBiome(); int g = 1; for(IrisObjectPlacement k : b.getObjects()) diff --git a/src/main/java/ninja/bytecode/iris/generator/TerrainChunkGenerator.java b/src/main/java/ninja/bytecode/iris/generator/TerrainChunkGenerator.java index 91dab992f..30ea5c474 100644 --- a/src/main/java/ninja/bytecode/iris/generator/TerrainChunkGenerator.java +++ b/src/main/java/ninja/bytecode/iris/generator/TerrainChunkGenerator.java @@ -45,21 +45,9 @@ public abstract class TerrainChunkGenerator extends ParallelChunkGenerator double wx = getZoomed(ox); double wz = getZoomed(oz); int depth = 0; - IrisRegion region = glBiome.getRegion(wx, wz); - BiomeResult biomeResult = glBiome.generateRegionData(wx, wz, region); - IrisBiome biome = biomeResult.getBiome(); - double lo = interpolateHeight(ox, oz, (b) -> b.getLowHeight()); - double hi = interpolateSurface(ox, oz, (b) -> b.getHighHeight()); - double noise = lo + (terrainNoise.fitDoubleD(0, hi - lo, wx, wz)); + double noise = getNoiseHeight(rx, rz); int height = (int) Math.round(noise) + fluidHeight; - - if(height < fluidHeight + 1) - { - if(biome.isLand()) - { - biome = glBiome.generateShoreData(wx, wz, region).getBiome(); - } - } + IrisBiome biome = sampleTrueBiome(rx, rz).getBiome(); KList layers = biome.generateLayers(wx, wz, masterRandom, height); @@ -87,15 +75,64 @@ public abstract class TerrainChunkGenerator extends ParallelChunkGenerator } } + protected double getNoiseHeight(int rx, int rz) + { + double ox = getModifiedX(rx, rz); + double oz = getModifiedZ(rx, rz); + double wx = getZoomed(ox); + double wz = getZoomed(oz); + double lo = interpolateHeight(ox, oz, (b) -> b.getLowHeight()); + double hi = interpolateSurface(ox, oz, (b) -> b.getHighHeight()); + return lo + (terrainNoise.fitDoubleD(0, hi - lo, wx, wz)) + interpolateAuxiliaryHeight(rx, rz); + } + + public BiomeResult sampleTrueBiome(int x, int z) + { + double wx = getModifiedX(x, z); + double wz = getModifiedZ(x, z); + IrisRegion region = sampleRegion(x, z); + int height = sampleHeight(x, z); + double sh = region.getShoreHeight(wx, wz); + IrisBiome current = sampleBiome(x, z).getBiome(); + + // Stop shores from spawning on land + if(current.isShore() && height > sh) + { + return glBiome.generateLandData(wx, wz, region); + } + + // Stop oceans from spawning on mountains + if(current.isShore() && height <= getDimension().getFluidHeight()) + { + return glBiome.generateSeaData(wx, wz, region); + } + + // Stop oceans from spawning on land + if(current.isSea() && height > getDimension().getFluidHeight()) + { + return glBiome.generateLandData(wx, wz, region); + } + + // Stop land from spawning underwater + if(height <= getDimension().getFluidHeight()) + { + return glBiome.generateSeaData(wx, wz, region); + } + + // Stop land from spawning where shores go + if(height <= getDimension().getFluidHeight() + sh) + { + return glBiome.generateShoreData(wx, wz, region); + } + + return glBiome.generateRegionData(wx, wz, region); + } + @Override protected int onSampleColumnHeight(int cx, int cz, int rx, int rz, int x, int z) { int fluidHeight = getDimension().getFluidHeight(); - double ox = getModifiedX(rx, rz); - double oz = getModifiedZ(rx, rz); - double lo = interpolateHeight(ox, oz, (b) -> b.getLowHeight()); - double hi = interpolateSurface(ox, oz, (b) -> b.getHighHeight()); - double noise = lo + (terrainNoise.fitDoubleD(0, hi - lo, getZoomed(ox), getZoomed(oz))); + double noise = getNoiseHeight(rx, rz); return (int) Math.round(noise) + fluidHeight; } diff --git a/src/main/java/ninja/bytecode/iris/layer/GenLayerBiome.java b/src/main/java/ninja/bytecode/iris/layer/GenLayerBiome.java index 024c9b5e6..0328b0365 100644 --- a/src/main/java/ninja/bytecode/iris/layer/GenLayerBiome.java +++ b/src/main/java/ninja/bytecode/iris/layer/GenLayerBiome.java @@ -52,19 +52,11 @@ public class GenLayerBiome extends GenLayer double x = bx / iris.getDimension().getBiomeZoom(); double z = bz / iris.getDimension().getBiomeZoom(); - // Beach - if(bridge.getDistance(x, z) < regionData.getShoreRatio()) - { - return generateShoreData(bx, bz, regionData); - } - - // Sea - else if(bridge.getIndex(x, z, 5) == 1) + if(bridge.getIndex(x, z, 5) == 1) { return generateSeaData(bx, bz, regionData); } - // Land else { return generateLandData(bx, bz, regionData); diff --git a/src/main/java/ninja/bytecode/iris/object/IrisBiome.java b/src/main/java/ninja/bytecode/iris/object/IrisBiome.java index c674a133a..de50bc65e 100644 --- a/src/main/java/ninja/bytecode/iris/object/IrisBiome.java +++ b/src/main/java/ninja/bytecode/iris/object/IrisBiome.java @@ -19,19 +19,43 @@ public class IrisBiome extends IrisRegisteredObject { private String name = "A Biome"; private Biome derivative = Biome.THE_VOID; - private double highHeight = 7; + private double highHeight = 3; private double lowHeight = 1; private double childShrinkFactor = 1.5; private KList children = new KList<>(); private KList layers = new KList().qadd(new IrisBiomePaletteLayer()); private KList decorators = new KList(); private KList objects = new KList(); + private KList auxiliaryGenerators = new KList(); private transient ReentrantLock lock = new ReentrantLock(); private transient CellGenerator childrenCell; private transient InferredType inferredType; private transient KList layerHeightGenerators; private transient KList layerSurfaceGenerators; + public IrisBiome() + { + + } + + public double getAuxiliaryHeight(double rx, double rz, long superSeed) + { + if(auxiliaryGenerators.isEmpty()) + { + return 0; + } + + int hc = hashCode(); + double h = 0; + + for(IrisNoiseLayer i : auxiliaryGenerators) + { + h += i.getNoise(superSeed + hc, rx, rz); + } + + return h; + } + public CellGenerator getChildrenGenerator(RNG random, int sig, double scale) { if(childrenCell == null) diff --git a/src/main/java/ninja/bytecode/iris/object/IrisDimension.java b/src/main/java/ninja/bytecode/iris/object/IrisDimension.java index fd2f53371..a457823d9 100644 --- a/src/main/java/ninja/bytecode/iris/object/IrisDimension.java +++ b/src/main/java/ninja/bytecode/iris/object/IrisDimension.java @@ -17,6 +17,8 @@ public class IrisDimension extends IrisRegisteredObject private double interpolationScale = 63; private InterpolationMethod interpolationSurfaceFunction = InterpolationMethod.BICUBIC; private double interpolationSurfaceScale = 4; + private InterpolationMethod interpolationAuxiliaryFunction = InterpolationMethod.BICUBIC; + private double interpolationAuxiliaryScale = 7; private Environment environment = Environment.NORMAL; private KList regions = new KList<>(); private int fluidHeight = 127; diff --git a/src/main/java/ninja/bytecode/iris/object/IrisNoiseLayer.java b/src/main/java/ninja/bytecode/iris/object/IrisNoiseLayer.java new file mode 100644 index 000000000..edfc078f9 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/object/IrisNoiseLayer.java @@ -0,0 +1,41 @@ +package ninja.bytecode.iris.object; + +import java.util.concurrent.locks.ReentrantLock; + +import ninja.bytecode.iris.util.CNG; +import ninja.bytecode.iris.util.RNG; + +public class IrisNoiseLayer +{ + private double zoom; + private double offsetX; + private double offsetZ; + private long seed; + private double min; + private double max; + private ReentrantLock lock; + + private transient CNG generator; + + public IrisNoiseLayer() + { + lock = new ReentrantLock(); + } + + protected CNG getGenerator(long superSeed) + { + if(generator == null) + { + lock.lock(); + generator = CNG.signature(new RNG(superSeed + 33955677 - seed)); + lock.unlock(); + } + + return generator; + } + + public double getNoise(long superSeed, double x, double z) + { + return getGenerator(superSeed).fitDoubleD(min, max, (x / zoom) + offsetX, (z / zoom) + offsetZ); + } +} diff --git a/src/main/java/ninja/bytecode/iris/object/IrisRegion.java b/src/main/java/ninja/bytecode/iris/object/IrisRegion.java index cfccc31a8..0a3b083a0 100644 --- a/src/main/java/ninja/bytecode/iris/object/IrisRegion.java +++ b/src/main/java/ninja/bytecode/iris/object/IrisRegion.java @@ -1,7 +1,11 @@ package ninja.bytecode.iris.object; +import java.util.concurrent.locks.ReentrantLock; + import lombok.Data; import lombok.EqualsAndHashCode; +import ninja.bytecode.iris.util.CNG; +import ninja.bytecode.iris.util.RNG; import ninja.bytecode.shuriken.collections.KList; @Data @@ -10,8 +14,26 @@ public class IrisRegion extends IrisRegisteredObject { private String name = "A Region"; private double shoreRatio = 0.13; + private double shoreHeightMin = 1.2; + private double shoreHeightMax = 3.2; + private double shoreHeightZoom = 3.14; private double biomeImplosionRatio = 0.4; private KList landBiomes = new KList<>(); private KList seaBiomes = new KList<>(); private KList shoreBiomes = new KList<>(); + + private transient CNG shoreHeightGenerator; + private transient ReentrantLock lock = new ReentrantLock(); + + public double getShoreHeight(double x, double z) + { + if(shoreHeightGenerator == null) + { + lock.lock(); + shoreHeightGenerator = CNG.signature(new RNG(hashCode())); + lock.unlock(); + } + + return shoreHeightGenerator.fitDoubleD(shoreHeightMin, shoreHeightMax, x / shoreHeightZoom, z / shoreHeightZoom); + } } diff --git a/src/main/java/ninja/bytecode/iris/util/GroupedExecutor.java b/src/main/java/ninja/bytecode/iris/util/GroupedExecutor.java index 8d34adc36..36deb3cca 100644 --- a/src/main/java/ninja/bytecode/iris/util/GroupedExecutor.java +++ b/src/main/java/ninja/bytecode/iris/util/GroupedExecutor.java @@ -68,6 +68,16 @@ public class GroupedExecutor public void waitFor(String g) { + if(g == null) + { + return; + } + + if(!mirror.containsKey(g)) + { + return; + } + while(true) { J.sleep(1); diff --git a/src/main/java/ninja/bytecode/iris/util/ObjectResourceLoader.java b/src/main/java/ninja/bytecode/iris/util/ObjectResourceLoader.java index dacc1855f..a032c0d26 100644 --- a/src/main/java/ninja/bytecode/iris/util/ObjectResourceLoader.java +++ b/src/main/java/ninja/bytecode/iris/util/ObjectResourceLoader.java @@ -58,6 +58,28 @@ public class ObjectResourceLoader extends ResourceLoader return parallaxSize; } + public IrisObject loadFile(File j, String key, String name) + { + try + { + IrisObject t = new IrisObject(0, 0, 0); + t.read(j); + loadCache.put(key, t); + Iris.hotloader.track(j); + Iris.info("Loading " + resourceTypeName + ": " + j.getPath()); + t.setLoadKey(name); + lock.unlock(); + return t; + } + + catch(Throwable e) + { + lock.unlock(); + Iris.warn("Couldn't read " + resourceTypeName + " file: " + j.getPath() + ": " + e.getMessage()); + return null; + } + } + public IrisObject load(String name) { String key = name + "-" + objectClass.getCanonicalName(); @@ -75,25 +97,16 @@ public class ObjectResourceLoader extends ResourceLoader { if(j.isFile() && j.getName().endsWith(".iob") && j.getName().split("\\Q.\\E")[0].equals(name)) { - try - { - IrisObject t = new IrisObject(0, 0, 0); - t.read(j); - loadCache.put(key, t); - Iris.hotloader.track(j); - Iris.info("Loading " + resourceTypeName + ": " + j.getPath()); - t.setLoadKey(name); - lock.unlock(); - return t; - } - - catch(Throwable e) - { - lock.unlock(); - Iris.warn("Couldn't read " + resourceTypeName + " file: " + j.getPath() + ": " + e.getMessage()); - } + return loadFile(j, key, name); } } + + File file = new File(i, name + ".iob"); + + if(file.exists()) + { + return loadFile(file, key, name); + } } Iris.warn("Couldn't find " + resourceTypeName + ": " + name); diff --git a/src/main/java/ninja/bytecode/iris/util/ResourceLoader.java b/src/main/java/ninja/bytecode/iris/util/ResourceLoader.java index d422e788d..82a690e7f 100644 --- a/src/main/java/ninja/bytecode/iris/util/ResourceLoader.java +++ b/src/main/java/ninja/bytecode/iris/util/ResourceLoader.java @@ -30,6 +30,27 @@ public class ResourceLoader loadCache = new KMap<>(); } + protected T loadFile(File j, String key, String name) + { + try + { + T t = new Gson().fromJson(IO.readAll(j), objectClass); + loadCache.put(key, t); + Iris.hotloader.track(j); + Iris.info("Loading " + resourceTypeName + ": " + j.getPath()); + t.setLoadKey(name); + lock.unlock(); + return t; + } + + catch(Throwable e) + { + lock.unlock(); + Iris.warn("Couldn't read " + resourceTypeName + " file: " + j.getPath() + ": " + e.getMessage()); + return null; + } + } + public T load(String name) { String key = name + "-" + objectClass.getCanonicalName(); @@ -47,24 +68,16 @@ public class ResourceLoader { if(j.isFile() && j.getName().endsWith(".json") && j.getName().split("\\Q.\\E")[0].equals(name)) { - try - { - T t = new Gson().fromJson(IO.readAll(j), objectClass); - loadCache.put(key, t); - Iris.hotloader.track(j); - Iris.info("Loading " + resourceTypeName + ": " + j.getPath()); - t.setLoadKey(name); - lock.unlock(); - return t; - } - - catch(Throwable e) - { - lock.unlock(); - Iris.warn("Couldn't read " + resourceTypeName + " file: " + j.getPath() + ": " + e.getMessage()); - } + return loadFile(j, key, name); } } + + File file = new File(i, name + ".json"); + + if(file.exists()) + { + return loadFile(file, key, name); + } } Iris.warn("Couldn't find " + resourceTypeName + ": " + name); From b8f79f6559474b714ba6fe7f93bbf951ea48badf Mon Sep 17 00:00:00 2001 From: Daniel Mills Date: Sun, 17 May 2020 22:21:32 -0400 Subject: [PATCH 13/20] Fixes --- pom.xml | 2 +- .../ninja/bytecode/iris/IrisDataManager.java | 31 +++++++++++ .../bytecode/iris/object/Dispersion.java | 3 -- .../ninja/bytecode/iris/object/IrisBiome.java | 30 ++--------- .../iris/object/IrisBiomeDecorator.java | 2 +- .../iris/object/IrisBiomePaletteLayer.java | 53 +++++++++++++++---- .../bytecode/iris/object/IrisNoiseLayer.java | 14 ++--- .../iris/objectproperty/ObjectProperty.java | 42 +++++++++++++++ .../iris/objectproperty/PropertyObject.java | 16 ++++++ 9 files changed, 144 insertions(+), 49 deletions(-) create mode 100644 src/main/java/ninja/bytecode/iris/objectproperty/ObjectProperty.java create mode 100644 src/main/java/ninja/bytecode/iris/objectproperty/PropertyObject.java diff --git a/pom.xml b/pom.xml index 965b716f9..8c99ae3f2 100644 --- a/pom.xml +++ b/pom.xml @@ -44,7 +44,7 @@ shade - false + true diff --git a/src/main/java/ninja/bytecode/iris/IrisDataManager.java b/src/main/java/ninja/bytecode/iris/IrisDataManager.java index 8d5221436..257097546 100644 --- a/src/main/java/ninja/bytecode/iris/IrisDataManager.java +++ b/src/main/java/ninja/bytecode/iris/IrisDataManager.java @@ -5,13 +5,19 @@ import java.io.File; import org.bukkit.World.Environment; import org.bukkit.block.Biome; +import com.google.gson.Gson; + import lombok.Data; import ninja.bytecode.iris.object.IrisBiome; +import ninja.bytecode.iris.object.IrisBiomeDecorator; import ninja.bytecode.iris.object.IrisDimension; +import ninja.bytecode.iris.object.IrisNoiseLayer; +import ninja.bytecode.iris.object.IrisObjectPlacement; import ninja.bytecode.iris.object.IrisRegion; import ninja.bytecode.iris.util.IO; import ninja.bytecode.iris.util.ObjectResourceLoader; import ninja.bytecode.iris.util.ResourceLoader; +import ninja.bytecode.shuriken.json.JSONObject; @Data public class IrisDataManager @@ -59,10 +65,35 @@ public class IrisDataManager try { + new File(examples, "example-pack/regions").mkdirs(); new File(examples, "example-pack/biomes").mkdirs(); new File(examples, "example-pack/dimensions").mkdirs(); IO.writeAll(new File(examples, "biome-list.txt"), biomes); IO.writeAll(new File(examples, "environment-list.txt"), envs); + + IrisDimension dim = new IrisDimension(); + + IrisRegion region = new IrisRegion(); + region.getLandBiomes().add("plains"); + region.getLandBiomes().add("desert"); + region.getLandBiomes().add("forest"); + region.getLandBiomes().add("mountains"); + region.getSeaBiomes().add("ocean"); + region.getShoreBiomes().add("beach"); + + IrisObjectPlacement o = new IrisObjectPlacement(); + o.getPlace().add("schematic1"); + o.getPlace().add("schematic2"); + + IrisBiome biome = new IrisBiome(); + biome.getAuxiliaryGenerators().add(new IrisNoiseLayer()); + biome.getChildren().add("another_biome"); + biome.getDecorators().add(new IrisBiomeDecorator()); + biome.getObjects().add(o); + + IO.writeAll(new File(examples, "example-pack/biomes/example-biome.json"), new JSONObject(new Gson().toJson(biome)).toString(4)); + IO.writeAll(new File(examples, "example-pack/regions/example-region.json"), new JSONObject(new Gson().toJson(region)).toString(4)); + IO.writeAll(new File(examples, "example-pack/dimensions/example-dimension.json"), new JSONObject(new Gson().toJson(dim)).toString(4)); } catch(Throwable e) diff --git a/src/main/java/ninja/bytecode/iris/object/Dispersion.java b/src/main/java/ninja/bytecode/iris/object/Dispersion.java index 35dc195c6..51e6e98d3 100644 --- a/src/main/java/ninja/bytecode/iris/object/Dispersion.java +++ b/src/main/java/ninja/bytecode/iris/object/Dispersion.java @@ -3,8 +3,5 @@ package ninja.bytecode.iris.object; public enum Dispersion { SCATTER, - SIMPLEX, - CELLS, WISPY, - ZEBRA } diff --git a/src/main/java/ninja/bytecode/iris/object/IrisBiome.java b/src/main/java/ninja/bytecode/iris/object/IrisBiome.java index de50bc65e..f2fe54f77 100644 --- a/src/main/java/ninja/bytecode/iris/object/IrisBiome.java +++ b/src/main/java/ninja/bytecode/iris/object/IrisBiome.java @@ -1,6 +1,5 @@ package ninja.bytecode.iris.object; -import java.util.List; import java.util.concurrent.locks.ReentrantLock; import org.bukkit.block.Biome; @@ -12,6 +11,7 @@ import ninja.bytecode.iris.util.CNG; import ninja.bytecode.iris.util.CellGenerator; import ninja.bytecode.iris.util.RNG; import ninja.bytecode.shuriken.collections.KList; +import ninja.bytecode.shuriken.logging.L; @Data @EqualsAndHashCode(callSuper = false) @@ -74,7 +74,6 @@ public class IrisBiome extends IrisRegisteredObject for(int i = 0; i < layers.size(); i++) { CNG hgen = getLayerHeightGenerators(random).get(i); - CNG sgen = getLayerSurfaceGenerators(random).get(i); int d = hgen.fit(layers.get(i).getMinHeight(), layers.get(i).getMaxHeight(), wx / layers.get(i).getTerrainZoom(), wz / layers.get(i).getTerrainZoom()); if(d < 0) @@ -82,8 +81,6 @@ public class IrisBiome extends IrisRegisteredObject continue; } - List palette = getLayers().get(i).getBlockData(); - for(int j = 0; j < d; j++) { if(data.size() >= maxDepth) @@ -93,12 +90,12 @@ public class IrisBiome extends IrisRegisteredObject try { - data.add(palette.get(sgen.fit(0, palette.size() - 1, (wx + j) / layers.get(i).getTerrainZoom(), (wz - j) / layers.get(i).getTerrainZoom()))); + data.add(getLayers().get(i).get(random.nextParallelRNG(i + j), (wx + j) / layers.get(i).getTerrainZoom(), j, (wz - j) / layers.get(i).getTerrainZoom())); } catch(Throwable e) { - + L.ex(e); } } @@ -111,25 +108,6 @@ public class IrisBiome extends IrisRegisteredObject return data; } - public KList getLayerSurfaceGenerators(RNG rng) - { - lock.lock(); - if(layerSurfaceGenerators == null) - { - layerSurfaceGenerators = new KList<>(); - - int m = 91235; - - for(IrisBiomePaletteLayer i : getLayers()) - { - layerSurfaceGenerators.add(i.getGenerator(rng.nextParallelRNG((m += 3) * m * m * m))); - } - } - lock.unlock(); - - return layerSurfaceGenerators; - } - public KList getLayerHeightGenerators(RNG rng) { lock.lock(); @@ -141,7 +119,7 @@ public class IrisBiome extends IrisRegisteredObject for(IrisBiomePaletteLayer i : getLayers()) { - layerHeightGenerators.add(i.getGenerator(rng.nextParallelRNG((m++) * m * m * m))); + layerHeightGenerators.add(i.getHeightGenerator(rng.nextParallelRNG((m++) * m * m * m))); } } lock.unlock(); diff --git a/src/main/java/ninja/bytecode/iris/object/IrisBiomeDecorator.java b/src/main/java/ninja/bytecode/iris/object/IrisBiomeDecorator.java index 31bf3ff31..72c29cbcc 100644 --- a/src/main/java/ninja/bytecode/iris/object/IrisBiomeDecorator.java +++ b/src/main/java/ninja/bytecode/iris/object/IrisBiomeDecorator.java @@ -12,7 +12,7 @@ import ninja.bytecode.shuriken.collections.KMap; @Data public class IrisBiomeDecorator { - private Dispersion dispersion = Dispersion.ZEBRA; + private Dispersion dispersion = Dispersion.SCATTER; private int iterations = 5; private double zoom = 1; private KList palette = new KList().qadd("GRASS"); diff --git a/src/main/java/ninja/bytecode/iris/object/IrisBiomePaletteLayer.java b/src/main/java/ninja/bytecode/iris/object/IrisBiomePaletteLayer.java index ae1bb6b2b..f3d6a9501 100644 --- a/src/main/java/ninja/bytecode/iris/object/IrisBiomePaletteLayer.java +++ b/src/main/java/ninja/bytecode/iris/object/IrisBiomePaletteLayer.java @@ -9,36 +9,67 @@ import ninja.bytecode.iris.util.BlockDataTools; import ninja.bytecode.iris.util.CNG; import ninja.bytecode.iris.util.RNG; import ninja.bytecode.shuriken.collections.KList; -import ninja.bytecode.shuriken.collections.KMap; @Data public class IrisBiomePaletteLayer { - private Dispersion dispersion = Dispersion.WISPY; + private Dispersion dispersion = Dispersion.SCATTER; private int minHeight = 1; private int maxHeight = 1; private double terrainZoom = 5; private KList palette = new KList().qadd("GRASS_BLOCK"); private transient ReentrantLock lock = new ReentrantLock(); - private transient KMap layerGenerators; + private transient CNG layerGenerator; + private transient CNG heightGenerator; private transient KList blockData; - public CNG getGenerator(RNG rng) + public CNG getHeightGenerator(RNG rng) { - long key = rng.nextParallelRNG(1).nextLong(); - - if(layerGenerators == null) + if(heightGenerator == null) { - layerGenerators = new KMap<>(); + heightGenerator = CNG.signature(rng.nextParallelRNG(minHeight * maxHeight + getBlockData().size())); } - if(!layerGenerators.containsKey(key)) + return heightGenerator; + } + + public BlockData get(RNG rng, double x, double y, double z) + { + if(layerGenerator == null) { - layerGenerators.put(key, CNG.signature(rng.nextParallelRNG(minHeight + maxHeight + getBlockData().size()))); + cacheGenerator(rng); } - return layerGenerators.get(key); + if(layerGenerator != null) + { + if(dispersion.equals(Dispersion.SCATTER)) + { + return getBlockData().get(layerGenerator.fit(0, 30000000, x, y, z) % getBlockData().size()); + } + + else + { + return getBlockData().get(layerGenerator.fit(0, getBlockData().size() - 1, x, y, z)); + } + } + + return getBlockData().get(0); + } + + public void cacheGenerator(RNG rng) + { + RNG rngx = rng.nextParallelRNG(minHeight + maxHeight + getBlockData().size()); + + switch(dispersion) + { + case SCATTER: + layerGenerator = CNG.signature(rngx).freq(1000000); + break; + case WISPY: + layerGenerator = CNG.signature(rngx); + break; + } } public KList add(String b) diff --git a/src/main/java/ninja/bytecode/iris/object/IrisNoiseLayer.java b/src/main/java/ninja/bytecode/iris/object/IrisNoiseLayer.java index edfc078f9..441d8a259 100644 --- a/src/main/java/ninja/bytecode/iris/object/IrisNoiseLayer.java +++ b/src/main/java/ninja/bytecode/iris/object/IrisNoiseLayer.java @@ -7,14 +7,14 @@ import ninja.bytecode.iris.util.RNG; public class IrisNoiseLayer { - private double zoom; - private double offsetX; - private double offsetZ; - private long seed; - private double min; - private double max; - private ReentrantLock lock; + private double zoom = 1; + private double offsetX = 0; + private double offsetZ = 0; + private long seed = 0; + private double min = 0; + private double max = 10; + private transient ReentrantLock lock; private transient CNG generator; public IrisNoiseLayer() diff --git a/src/main/java/ninja/bytecode/iris/objectproperty/ObjectProperty.java b/src/main/java/ninja/bytecode/iris/objectproperty/ObjectProperty.java new file mode 100644 index 000000000..9aa7702aa --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/objectproperty/ObjectProperty.java @@ -0,0 +1,42 @@ +package ninja.bytecode.iris.objectproperty; + +import java.lang.reflect.Field; + +import lombok.Data; + +@Data +public class ObjectProperty +{ + private Class type; + private String fieldName; + private String name; + private String description; + private Object instance; + private Field field; + + public ObjectProperty(Class type, String fieldName) throws Throwable + { + this.type = type; + this.fieldName = fieldName; + field = type.getDeclaredField(name); + field.setAccessible(true); + + if(field.isAnnotationPresent(Property.class)) + { + Property p = field.getAnnotation(Property.class); + name = p.name(); + description = p.description(); + } + } + + public void set(T value) throws Throwable + { + field.set(instance, value); + } + + @SuppressWarnings("unchecked") + public T get() throws Throwable + { + return (T) field.get(instance); + } +} diff --git a/src/main/java/ninja/bytecode/iris/objectproperty/PropertyObject.java b/src/main/java/ninja/bytecode/iris/objectproperty/PropertyObject.java new file mode 100644 index 000000000..fd08cc652 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/objectproperty/PropertyObject.java @@ -0,0 +1,16 @@ +package ninja.bytecode.iris.objectproperty; + +import static java.lang.annotation.ElementType.*; +import static java.lang.annotation.RetentionPolicy.*; + +import java.lang.annotation.Retention; +import java.lang.annotation.Target; + +@Retention(RUNTIME) +@Target(TYPE) +public @interface PropertyObject +{ + String name(); + + String description(); +} From 202a7106a75d6ade03622f873c57a95bd417b18e Mon Sep 17 00:00:00 2001 From: Daniel Mills Date: Tue, 19 May 2020 04:28:47 -0400 Subject: [PATCH 14/20] Bump --- plains.json | 69 ++++++++ src/main/java/ninja/bytecode/iris/Iris.java | 16 +- .../java/ninja/bytecode/iris/IrisContext.java | 2 + .../ninja/bytecode/iris/IrisDataManager.java | 27 ++- .../bytecode/iris/IrisHotloadManager.java | 3 +- .../ninja/bytecode/iris/IrisSettings.java | 9 + .../iris/generator/BiomeChunkGenerator.java | 156 ++++++++++++++---- .../generator/ContextualChunkGenerator.java | 9 +- .../generator/DimensionChunkGenerator.java | 10 +- ...Generator.java => IrisChunkGenerator.java} | 4 +- .../generator/ParallaxChunkGenerator.java | 2 + .../iris/generator/TerrainChunkGenerator.java | 14 +- .../ninja/bytecode/iris/object/IrisBiome.java | 25 +-- .../iris/object/IrisBiomeGeneratorLink.java | 47 ++++++ .../bytecode/iris/object/IrisDimension.java | 4 +- .../bytecode/iris/object/IrisGenerator.java | 45 +++++ .../iris/object/IrisNoiseGenerator.java | 89 ++++++++++ .../bytecode/iris/object/IrisNoiseLayer.java | 41 ----- .../bytecode/iris/object/IrisObject.java | 2 +- .../bytecode/iris/object/IrisRegion.java | 2 +- ...isteredObject.java => IrisRegistrant.java} | 2 +- .../iris/objectproperty/ObjectProperty.java | 42 ----- .../iris/objectproperty/PropertyObject.java | 16 -- .../bytecode/iris/util/BiomeDominance.java | 9 + .../ninja/bytecode/iris/util/BiomeResult.java | 5 + .../iris/util/ObjectResourceLoader.java | 2 +- .../bytecode/iris/util/ResourceLoader.java | 54 +++++- 27 files changed, 523 insertions(+), 183 deletions(-) create mode 100644 plains.json create mode 100644 src/main/java/ninja/bytecode/iris/IrisSettings.java rename src/main/java/ninja/bytecode/iris/generator/{IrisGenerator.java => IrisChunkGenerator.java} (88%) create mode 100644 src/main/java/ninja/bytecode/iris/object/IrisBiomeGeneratorLink.java create mode 100644 src/main/java/ninja/bytecode/iris/object/IrisGenerator.java create mode 100644 src/main/java/ninja/bytecode/iris/object/IrisNoiseGenerator.java delete mode 100644 src/main/java/ninja/bytecode/iris/object/IrisNoiseLayer.java rename src/main/java/ninja/bytecode/iris/object/{IrisRegisteredObject.java => IrisRegistrant.java} (73%) delete mode 100644 src/main/java/ninja/bytecode/iris/objectproperty/ObjectProperty.java delete mode 100644 src/main/java/ninja/bytecode/iris/objectproperty/PropertyObject.java create mode 100644 src/main/java/ninja/bytecode/iris/util/BiomeDominance.java diff --git a/plains.json b/plains.json new file mode 100644 index 000000000..960520677 --- /dev/null +++ b/plains.json @@ -0,0 +1,69 @@ +{ + "children": [], + "decorators": [], + "objects": [], + "name": "Plains", + "layers": [ + { + "minHeight": 1, + "terrainZoom": 5, + "maxHeight": 3, + "palette": [ + "GRASS_BLOCK" + ], + "dispersion": "SCATTER" + }, + { + "minHeight": 1, + "terrainZoom": 5, + "maxHeight": 1, + "palette": [ + "DIRT" + ], + "dispersion": "SCATTER" + }, + { + "minHeight": 1, + "terrainZoom": 5, + "maxHeight": 3, + "palette": [ + "DIRT", + "COARSE_DIRT" + ], + "dispersion": "SCATTER" + }, + { + "minHeight": 6, + "terrainZoom": 5, + "maxHeight": 2341, + "palette": [ + "STONE", + "ANDESITE", + "STONE" + ], + "dispersion": "SCATTER" + } + ], + "childShrinkFactor": 1.55, + "derivative": "THE_VOID", + "auxiliaryGenerators": [ + { + "offsetX": 0, + "offsetZ": 0.01, + "min": 1, + "seed": 1336, + "max": 5, + "zoom": 3.065 + }, + { + "offsetX": 0, + "offsetZ": 0, + "min": 1.01, + "seed": 1339, + "max": 2, + "zoom": 1.6 + } + ], + "highHeight": 3.66669, + "lowHeight": 31.5 +} \ No newline at end of file diff --git a/src/main/java/ninja/bytecode/iris/Iris.java b/src/main/java/ninja/bytecode/iris/Iris.java index 178fc0790..b138a297b 100644 --- a/src/main/java/ninja/bytecode/iris/Iris.java +++ b/src/main/java/ninja/bytecode/iris/Iris.java @@ -25,7 +25,7 @@ import org.bukkit.plugin.Plugin; import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.util.Vector; -import ninja.bytecode.iris.generator.IrisGenerator; +import ninja.bytecode.iris.generator.IrisChunkGenerator; import ninja.bytecode.iris.object.IrisBiome; import ninja.bytecode.iris.object.IrisDimension; import ninja.bytecode.iris.object.IrisObject; @@ -84,15 +84,13 @@ public class Iris extends JavaPlugin implements BoardProvider World world = player.getWorld(); List lines = new ArrayList<>(); - if(world.getGenerator() instanceof IrisGenerator) + if(world.getGenerator() instanceof IrisChunkGenerator) { - IrisGenerator g = (IrisGenerator) world.getGenerator(); + IrisChunkGenerator g = (IrisChunkGenerator) world.getGenerator(); int x = player.getLocation().getBlockX(); int z = player.getLocation().getBlockZ(); - IrisDimension dim = g.getDimension(); - BiomeResult er = g.getBiome(x, z); + BiomeResult er = g.sampleTrueBiome(x, z); IrisBiome b = er != null ? er.getBiome() : null; - int fh = dim.getFluidHeight(); lines.add("&7&m-----------------"); lines.add(ChatColor.GREEN + "Speed" + ChatColor.GRAY + ": " + ChatColor.BOLD + "" + ChatColor.GRAY + Form.f(g.getMetrics().getPerSecond().getAverage(), 0) + "/s " + Form.duration(g.getMetrics().getTotal().getAverage(), 1) + ""); lines.add(ChatColor.GREEN + "Loss" + ChatColor.GRAY + ": " + ChatColor.BOLD + "" + ChatColor.GRAY + Form.duration(g.getMetrics().getLoss().getAverage(), 4) + ""); @@ -106,8 +104,8 @@ public class Iris extends JavaPlugin implements BoardProvider { lines.add(ChatColor.GREEN + "Biome" + ChatColor.GRAY + ": " + b.getName()); lines.add(ChatColor.GREEN + "File" + ChatColor.GRAY + ": " + b.getLoadKey() + ".json"); - lines.add(ChatColor.GREEN + "Height" + ChatColor.GRAY + ": " + (int) (b.getLowHeight() + fh) + " - " + (int) (b.getHighHeight() + fh) + " (" + (int) (b.getHighHeight() - b.getLowHeight()) + ")"); } + lines.add("&7&m-----------------"); } @@ -479,7 +477,7 @@ public class Iris extends JavaPlugin implements BoardProvider imsg(i, "Creating Iris " + dimm + "..."); } - IrisGenerator gx = new IrisGenerator(dimm, 16); + IrisChunkGenerator gx = new IrisChunkGenerator(dimm, 16); O done = new O(); done.set(false); @@ -531,7 +529,7 @@ public class Iris extends JavaPlugin implements BoardProvider @Override public ChunkGenerator getDefaultWorldGenerator(String worldName, String id) { - return new IrisGenerator("overworld", 16); + return new IrisChunkGenerator("overworld", 16); } public static void msg(String string) diff --git a/src/main/java/ninja/bytecode/iris/IrisContext.java b/src/main/java/ninja/bytecode/iris/IrisContext.java index b742a5435..b855bd1c9 100644 --- a/src/main/java/ninja/bytecode/iris/IrisContext.java +++ b/src/main/java/ninja/bytecode/iris/IrisContext.java @@ -32,4 +32,6 @@ public interface IrisContext public int getHeight(int x, int z); public World getWorld(); + + public void onHotloaded(); } diff --git a/src/main/java/ninja/bytecode/iris/IrisDataManager.java b/src/main/java/ninja/bytecode/iris/IrisDataManager.java index 257097546..10b1b51cc 100644 --- a/src/main/java/ninja/bytecode/iris/IrisDataManager.java +++ b/src/main/java/ninja/bytecode/iris/IrisDataManager.java @@ -11,7 +11,8 @@ import lombok.Data; import ninja.bytecode.iris.object.IrisBiome; import ninja.bytecode.iris.object.IrisBiomeDecorator; import ninja.bytecode.iris.object.IrisDimension; -import ninja.bytecode.iris.object.IrisNoiseLayer; +import ninja.bytecode.iris.object.IrisGenerator; +import ninja.bytecode.iris.object.IrisNoiseGenerator; import ninja.bytecode.iris.object.IrisObjectPlacement; import ninja.bytecode.iris.object.IrisRegion; import ninja.bytecode.iris.util.IO; @@ -27,6 +28,7 @@ public class IrisDataManager private ResourceLoader biomeLoader; private ResourceLoader regionLoader; private ResourceLoader dimensionLoader; + private ResourceLoader generatorLoader; private ObjectResourceLoader objectLoader; public void hotloaded() @@ -35,6 +37,7 @@ public class IrisDataManager this.regionLoader = new ResourceLoader<>(packs, "regions", "Region", IrisRegion.class); this.biomeLoader = new ResourceLoader<>(packs, "biomes", "Biome", IrisBiome.class); this.dimensionLoader = new ResourceLoader<>(packs, "dimensions", "Dimension", IrisDimension.class); + this.generatorLoader = new ResourceLoader<>(packs, "generators", "Generator", IrisGenerator.class); this.objectLoader = new ObjectResourceLoader(packs, "objects", "Object"); writeExamples(); } @@ -68,9 +71,29 @@ public class IrisDataManager new File(examples, "example-pack/regions").mkdirs(); new File(examples, "example-pack/biomes").mkdirs(); new File(examples, "example-pack/dimensions").mkdirs(); + new File(examples, "example-pack/generators").mkdirs(); IO.writeAll(new File(examples, "biome-list.txt"), biomes); IO.writeAll(new File(examples, "environment-list.txt"), envs); + IrisGenerator gen = new IrisGenerator(); + IrisNoiseGenerator n = new IrisNoiseGenerator(); + n.setSeed(1000); + IrisNoiseGenerator nf = new IrisNoiseGenerator(); + nf.setIrisBased(false); + nf.setOctaves(3); + nf.setOpacity(16); + nf.setZoom(24); + nf.setSeed(44); + n.getFracture().add(nf); + IrisNoiseGenerator nf2 = new IrisNoiseGenerator(); + nf2.setIrisBased(false); + nf2.setOctaves(8); + nf2.setOpacity(24); + nf2.setZoom(64); + nf2.setSeed(55); + n.getFracture().add(nf2); + gen.getComposite().add(n); + IrisDimension dim = new IrisDimension(); IrisRegion region = new IrisRegion(); @@ -86,7 +109,6 @@ public class IrisDataManager o.getPlace().add("schematic2"); IrisBiome biome = new IrisBiome(); - biome.getAuxiliaryGenerators().add(new IrisNoiseLayer()); biome.getChildren().add("another_biome"); biome.getDecorators().add(new IrisBiomeDecorator()); biome.getObjects().add(o); @@ -94,6 +116,7 @@ public class IrisDataManager IO.writeAll(new File(examples, "example-pack/biomes/example-biome.json"), new JSONObject(new Gson().toJson(biome)).toString(4)); IO.writeAll(new File(examples, "example-pack/regions/example-region.json"), new JSONObject(new Gson().toJson(region)).toString(4)); IO.writeAll(new File(examples, "example-pack/dimensions/example-dimension.json"), new JSONObject(new Gson().toJson(dim)).toString(4)); + IO.writeAll(new File(examples, "example-pack/generators/example-generator.json"), new JSONObject(new Gson().toJson(gen)).toString(4)); } catch(Throwable e) diff --git a/src/main/java/ninja/bytecode/iris/IrisHotloadManager.java b/src/main/java/ninja/bytecode/iris/IrisHotloadManager.java index 361afc24c..12fbd538e 100644 --- a/src/main/java/ninja/bytecode/iris/IrisHotloadManager.java +++ b/src/main/java/ninja/bytecode/iris/IrisHotloadManager.java @@ -19,7 +19,7 @@ public class IrisHotloadManager latch = new ChronoLatch(3000); } - public void check() + public void check(IrisContext ch) { if(!latch.flip()) { @@ -46,6 +46,7 @@ public class IrisHotloadManager watchers.clear(); Iris.success("Hotloading Iris (" + c + " File" + (c == 1 ? "" : "s") + " changed)"); Iris.data.hotloaded(); + ch.onHotloaded(); } }); } diff --git a/src/main/java/ninja/bytecode/iris/IrisSettings.java b/src/main/java/ninja/bytecode/iris/IrisSettings.java new file mode 100644 index 000000000..659796717 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/IrisSettings.java @@ -0,0 +1,9 @@ +package ninja.bytecode.iris; + +import lombok.Data; + +@Data +public class IrisSettings +{ + private int threads = 16; +} diff --git a/src/main/java/ninja/bytecode/iris/generator/BiomeChunkGenerator.java b/src/main/java/ninja/bytecode/iris/generator/BiomeChunkGenerator.java index 1ecaddb61..852a2ec9f 100644 --- a/src/main/java/ninja/bytecode/iris/generator/BiomeChunkGenerator.java +++ b/src/main/java/ninja/bytecode/iris/generator/BiomeChunkGenerator.java @@ -1,32 +1,147 @@ package ninja.bytecode.iris.generator; -import java.util.function.Function; +import java.util.concurrent.locks.ReentrantLock; import org.bukkit.World; import lombok.Data; import lombok.EqualsAndHashCode; +import ninja.bytecode.iris.Iris; import ninja.bytecode.iris.layer.GenLayerBiome; import ninja.bytecode.iris.object.IrisBiome; +import ninja.bytecode.iris.object.IrisBiomeGeneratorLink; +import ninja.bytecode.iris.object.IrisGenerator; import ninja.bytecode.iris.object.IrisRegion; import ninja.bytecode.iris.util.BiomeResult; +import ninja.bytecode.iris.util.CNG; +import ninja.bytecode.iris.util.ChunkPosition; import ninja.bytecode.iris.util.IrisInterpolation; import ninja.bytecode.iris.util.RNG; +import ninja.bytecode.shuriken.collections.KList; +import ninja.bytecode.shuriken.collections.KMap; +import ninja.bytecode.shuriken.math.M; @Data @EqualsAndHashCode(callSuper = false) public abstract class BiomeChunkGenerator extends DimensionChunkGenerator { + protected ReentrantLock regLock; + protected KMap generators; protected GenLayerBiome glBiome; + protected CNG masterFracture; + protected KMap biomeHitCache; public BiomeChunkGenerator(String dimensionName) { super(dimensionName); + generators = new KMap<>(); + regLock = new ReentrantLock(); + biomeHitCache = new KMap<>(); } public void onInit(World world, RNG rng) { + loadGenerators(); glBiome = new GenLayerBiome(this, masterRandom.nextParallelRNG(1)); + masterFracture = CNG.signature(rng.nextParallelRNG(13)).scale(0.12); + } + + public void onHotloaded() + { + biomeHitCache = new KMap<>(); + generators.clear(); + loadGenerators(); + } + + public void registerGenerator(IrisGenerator g) + { + regLock.lock(); + if(g.getLoadKey() == null || generators.containsKey(g.getLoadKey())) + { + regLock.unlock(); + return; + } + + regLock.unlock(); + generators.put(g.getLoadKey(), g); + } + + protected double getBiomeHeight(double rx, double rz) + { + double h = 0; + + for(IrisGenerator i : generators.values()) + { + h += interpolateGenerator(rx, rz, i); + } + + return h; + } + + protected double interpolateGenerator(double rx, double rz, IrisGenerator gen) + { + double hi = IrisInterpolation.getNoise(gen.getInterpolationFunction(), (int) Math.round(rx), (int) Math.round(rz), gen.getInterpolationScale(), (xx, zz) -> + { + IrisBiome b = sampleBiome((int) xx, (int) zz).getBiome(); + + for(IrisBiomeGeneratorLink i : b.getGenerators()) + { + if(i.getGenerator().equals(gen.getLoadKey())) + { + return i.getMin(); + } + } + + return getDimension().getFluidHeight(); + }); + + double lo = IrisInterpolation.getNoise(gen.getInterpolationFunction(), (int) Math.round(rx), (int) Math.round(rz), gen.getInterpolationScale(), (xx, zz) -> + { + IrisBiome b = sampleBiome((int) xx, (int) zz).getBiome(); + + for(IrisBiomeGeneratorLink i : b.getGenerators()) + { + if(i.getGenerator().equals(gen.getLoadKey())) + { + return i.getMax(); + } + } + + return getDimension().getFluidHeight(); + }); + + return M.lerp(lo, hi, gen.getHeight(rx, rz, world.getSeed() + 239945)); + } + + protected void loadGenerators() + { + KList touch = new KList<>(); + KList loadQueue = new KList<>(); + + for(String i : getDimension().getRegions()) + { + IrisRegion r = Iris.data.getRegionLoader().load(i); + + if(r != null) + { + loadQueue.addAll(r.getLandBiomes()); + loadQueue.addAll(r.getSeaBiomes()); + loadQueue.addAll(r.getShoreBiomes()); + } + } + + while(!loadQueue.isEmpty()) + { + String next = loadQueue.pop(); + + if(!touch.contains(next)) + { + touch.add(next); + IrisBiome biome = Iris.data.getBiomeLoader().load(next); + biome.getGenerators().forEach((i) -> registerGenerator(i.getCachedGenerator())); + loadQueue.addAll(biome.getChildren()); + } + } } public IrisRegion sampleRegion(int x, int z) @@ -38,38 +153,19 @@ public abstract class BiomeChunkGenerator extends DimensionChunkGenerator public BiomeResult sampleBiome(int x, int z) { + ChunkPosition pos = new ChunkPosition(x, z); + + if(biomeHitCache.containsKey(pos)) + { + return biomeHitCache.get(pos); + } + double wx = getModifiedX(x, z); double wz = getModifiedZ(x, z); IrisRegion region = glBiome.getRegion(wx, wz); - return glBiome.generateRegionData(wx, wz, region); - } + BiomeResult res = glBiome.generateRegionData(wx, wz, region); + biomeHitCache.put(pos, res); - protected double interpolateAuxiliaryHeight(double rx, double rz) - { - return IrisInterpolation.getNoise(getDimension().getInterpolationAuxiliaryFunction(), (int) Math.round(rx), (int) Math.round(rz), getDimension().getInterpolationAuxiliaryScale(), (xx, zz) -> - { - double xv = xx / getDimension().getTerrainZoom(); - double zv = zz / getDimension().getTerrainZoom(); - BiomeResult neighborResult = glBiome.generateData(xv, zv); - return neighborResult.getBiome().getAuxiliaryHeight(xv, zv, getWorld().getSeed() * 3923); - }); - } - - protected double interpolateHeight(double rx, double rz, Function property) - { - return IrisInterpolation.getNoise(getDimension().getInterpolationFunction(), (int) Math.round(rx), (int) Math.round(rz), getDimension().getInterpolationScale(), (xx, zz) -> - { - BiomeResult neighborResult = glBiome.generateData(xx / getDimension().getTerrainZoom(), zz / getDimension().getTerrainZoom()); - return property.apply(neighborResult.getBiome()); - }); - } - - protected double interpolateSurface(double rx, double rz, Function property) - { - return IrisInterpolation.getNoise(getDimension().getInterpolationSurfaceFunction(), (int) Math.round(rx), (int) Math.round(rz), getDimension().getInterpolationSurfaceScale(), (xx, zz) -> - { - BiomeResult neighborResult = glBiome.generateData(xx / getDimension().getTerrainZoom(), zz / getDimension().getTerrainZoom()); - return property.apply(neighborResult.getBiome()); - }); + return res; } } diff --git a/src/main/java/ninja/bytecode/iris/generator/ContextualChunkGenerator.java b/src/main/java/ninja/bytecode/iris/generator/ContextualChunkGenerator.java index b306231d0..7bdc889f9 100644 --- a/src/main/java/ninja/bytecode/iris/generator/ContextualChunkGenerator.java +++ b/src/main/java/ninja/bytecode/iris/generator/ContextualChunkGenerator.java @@ -186,7 +186,7 @@ public abstract class ContextualChunkGenerator extends ChunkGenerator implements { return super.canSpawn(world, x, z); } - + protected ChunkData generateChunkDataFailure(World world, Random no, int x, int z, BiomeGrid biomeGrid) { ChunkData c = Bukkit.createChunkData(world); @@ -231,7 +231,7 @@ public abstract class ContextualChunkGenerator extends ChunkGenerator implements this.world = world; } - Iris.hotloader.check(); + Iris.hotloader.check((IrisContext) this); if(this instanceof IrisContext) { @@ -260,6 +260,11 @@ public abstract class ContextualChunkGenerator extends ChunkGenerator implements return generateChunkDataFailure(world, no, x, z, biomeGrid); } + + public void onHotloaded() + { + + } protected void fail(Throwable e) { diff --git a/src/main/java/ninja/bytecode/iris/generator/DimensionChunkGenerator.java b/src/main/java/ninja/bytecode/iris/generator/DimensionChunkGenerator.java index 33409913c..1b325d3b1 100644 --- a/src/main/java/ninja/bytecode/iris/generator/DimensionChunkGenerator.java +++ b/src/main/java/ninja/bytecode/iris/generator/DimensionChunkGenerator.java @@ -31,12 +31,18 @@ public abstract class DimensionChunkGenerator extends ContextualChunkGenerator public double getModifiedX(int rx, int rz) { - return (getDimension().cosRotate() * rx) + (-getDimension().sinRotate() * rz) + getDimension().getCoordFracture(masterRandom, 39392).fitDoubleD(-getDimension().getCoordFractureDistance() / 2, getDimension().getCoordFractureDistance() / 2, rx, rz); + return (getDimension().cosRotate() * rx) + + (-getDimension().sinRotate() * rz) + + + getDimension().getCoordFracture(masterRandom, 39392).fitDoubleD(-getDimension().getCoordFractureDistance() / 2, getDimension().getCoordFractureDistance() / 2, rx, rz); } public double getModifiedZ(int rx, int rz) { - return (getDimension().sinRotate() * rx) + (getDimension().cosRotate() * rz) + getDimension().getCoordFracture(masterRandom, 39392).fitDoubleD(-getDimension().getCoordFractureDistance() / 2, getDimension().getCoordFractureDistance() / 2, rx, rz); + return (getDimension().sinRotate() * rx) + + (getDimension().cosRotate() * rz) + + + getDimension().getCoordFracture(masterRandom, 39392).fitDoubleD(-getDimension().getCoordFractureDistance() / 2, getDimension().getCoordFractureDistance() / 2, rx, rz); } public double getZoomed(double modified) diff --git a/src/main/java/ninja/bytecode/iris/generator/IrisGenerator.java b/src/main/java/ninja/bytecode/iris/generator/IrisChunkGenerator.java similarity index 88% rename from src/main/java/ninja/bytecode/iris/generator/IrisGenerator.java rename to src/main/java/ninja/bytecode/iris/generator/IrisChunkGenerator.java index ce0632f96..f7c34a3f7 100644 --- a/src/main/java/ninja/bytecode/iris/generator/IrisGenerator.java +++ b/src/main/java/ninja/bytecode/iris/generator/IrisChunkGenerator.java @@ -12,9 +12,9 @@ import ninja.bytecode.iris.util.BiomeResult; @Data @EqualsAndHashCode(callSuper = false) -public class IrisGenerator extends ParallaxChunkGenerator implements IrisContext +public class IrisChunkGenerator extends ParallaxChunkGenerator implements IrisContext { - public IrisGenerator(String dimensionName, int threads) + public IrisChunkGenerator(String dimensionName, int threads) { super(dimensionName, threads); } diff --git a/src/main/java/ninja/bytecode/iris/generator/ParallaxChunkGenerator.java b/src/main/java/ninja/bytecode/iris/generator/ParallaxChunkGenerator.java index 4bf11b25f..c62be1ab4 100644 --- a/src/main/java/ninja/bytecode/iris/generator/ParallaxChunkGenerator.java +++ b/src/main/java/ninja/bytecode/iris/generator/ParallaxChunkGenerator.java @@ -120,6 +120,8 @@ public abstract class ParallaxChunkGenerator extends TerrainChunkGenerator imple @Override protected void onPostGenerate(RNG random, int x, int z, ChunkData data, BiomeGrid grid, HeightMap height, BiomeMap biomeMap) { + biomeHitCache.clear(); + if(getDimension().isPlaceObjects()) { onGenerateParallax(random, x, z); diff --git a/src/main/java/ninja/bytecode/iris/generator/TerrainChunkGenerator.java b/src/main/java/ninja/bytecode/iris/generator/TerrainChunkGenerator.java index 30ea5c474..4ae994c17 100644 --- a/src/main/java/ninja/bytecode/iris/generator/TerrainChunkGenerator.java +++ b/src/main/java/ninja/bytecode/iris/generator/TerrainChunkGenerator.java @@ -11,7 +11,6 @@ import ninja.bytecode.iris.object.IrisRegion; import ninja.bytecode.iris.object.atomics.AtomicSliver; import ninja.bytecode.iris.util.BiomeMap; import ninja.bytecode.iris.util.BiomeResult; -import ninja.bytecode.iris.util.CNG; import ninja.bytecode.iris.util.RNG; import ninja.bytecode.shuriken.collections.KList; @@ -22,7 +21,6 @@ public abstract class TerrainChunkGenerator extends ParallelChunkGenerator protected static final BlockData AIR = Material.AIR.createBlockData(); protected static final BlockData STONE = Material.STONE.createBlockData(); protected static final BlockData WATER = Material.WATER.createBlockData(); - protected CNG terrainNoise; public TerrainChunkGenerator(String dimensionName, int threads) { @@ -32,7 +30,6 @@ public abstract class TerrainChunkGenerator extends ParallelChunkGenerator public void onInit(World world, RNG rng) { super.onInit(world, rng); - terrainNoise = CNG.signature(masterRandom.nextParallelRNG(2)); } @Override @@ -77,13 +74,10 @@ public abstract class TerrainChunkGenerator extends ParallelChunkGenerator protected double getNoiseHeight(int rx, int rz) { - double ox = getModifiedX(rx, rz); - double oz = getModifiedZ(rx, rz); - double wx = getZoomed(ox); - double wz = getZoomed(oz); - double lo = interpolateHeight(ox, oz, (b) -> b.getLowHeight()); - double hi = interpolateSurface(ox, oz, (b) -> b.getHighHeight()); - return lo + (terrainNoise.fitDoubleD(0, hi - lo, wx, wz)) + interpolateAuxiliaryHeight(rx, rz); + double wx = getZoomed(rx); + double wz = getZoomed(rz); + + return getBiomeHeight(wx, wz); } public BiomeResult sampleTrueBiome(int x, int z) diff --git a/src/main/java/ninja/bytecode/iris/object/IrisBiome.java b/src/main/java/ninja/bytecode/iris/object/IrisBiome.java index f2fe54f77..d270cb82c 100644 --- a/src/main/java/ninja/bytecode/iris/object/IrisBiome.java +++ b/src/main/java/ninja/bytecode/iris/object/IrisBiome.java @@ -7,6 +7,7 @@ import org.bukkit.block.data.BlockData; import lombok.Data; import lombok.EqualsAndHashCode; +import ninja.bytecode.iris.generator.BiomeChunkGenerator; import ninja.bytecode.iris.util.CNG; import ninja.bytecode.iris.util.CellGenerator; import ninja.bytecode.iris.util.RNG; @@ -15,18 +16,16 @@ import ninja.bytecode.shuriken.logging.L; @Data @EqualsAndHashCode(callSuper = false) -public class IrisBiome extends IrisRegisteredObject +public class IrisBiome extends IrisRegistrant { private String name = "A Biome"; private Biome derivative = Biome.THE_VOID; - private double highHeight = 3; - private double lowHeight = 1; private double childShrinkFactor = 1.5; private KList children = new KList<>(); private KList layers = new KList().qadd(new IrisBiomePaletteLayer()); private KList decorators = new KList(); private KList objects = new KList(); - private KList auxiliaryGenerators = new KList(); + private KList generators = new KList().qadd(new IrisBiomeGeneratorLink()); private transient ReentrantLock lock = new ReentrantLock(); private transient CellGenerator childrenCell; private transient InferredType inferredType; @@ -38,22 +37,16 @@ public class IrisBiome extends IrisRegisteredObject } - public double getAuxiliaryHeight(double rx, double rz, long superSeed) + public double getHeight(double x, double z, long seed) { - if(auxiliaryGenerators.isEmpty()) + double height = 0; + + for(IrisBiomeGeneratorLink i : generators) { - return 0; + height += i.getHeight(x, z, seed); } - int hc = hashCode(); - double h = 0; - - for(IrisNoiseLayer i : auxiliaryGenerators) - { - h += i.getNoise(superSeed + hc, rx, rz); - } - - return h; + return Math.max(0, Math.min(height, 255)); } public CellGenerator getChildrenGenerator(RNG random, int sig, double scale) diff --git a/src/main/java/ninja/bytecode/iris/object/IrisBiomeGeneratorLink.java b/src/main/java/ninja/bytecode/iris/object/IrisBiomeGeneratorLink.java new file mode 100644 index 000000000..be314e480 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/object/IrisBiomeGeneratorLink.java @@ -0,0 +1,47 @@ +package ninja.bytecode.iris.object; + +import lombok.Data; +import net.md_5.bungee.api.ChatColor; +import ninja.bytecode.iris.Iris; +import ninja.bytecode.iris.generator.BiomeChunkGenerator; +import ninja.bytecode.iris.util.IrisInterpolation; + +@Data +public class IrisBiomeGeneratorLink +{ + private String generator = "default"; + private int min = 0; + private int max = 0; + private transient IrisGenerator gen; + + public IrisBiomeGeneratorLink() + { + + } + + public IrisGenerator getCachedGenerator() + { + if(gen == null) + { + gen = Iris.data.getGeneratorLoader().load(getGenerator()); + + if(gen == null) + { + gen = new IrisGenerator(); + } + + Iris.success("Registered Generator " + ChatColor.WHITE + gen.getLoadKey()); + } + + return gen; + } + + public double getHeight(double x, double z, long seed) + { + double g = getCachedGenerator().getHeight(x, z, seed); + g = g < 0 ? 0 : g; + g = g > 1 ? 1 : g; + + return IrisInterpolation.lerp(min, max, g); + } +} diff --git a/src/main/java/ninja/bytecode/iris/object/IrisDimension.java b/src/main/java/ninja/bytecode/iris/object/IrisDimension.java index a457823d9..2a165f786 100644 --- a/src/main/java/ninja/bytecode/iris/object/IrisDimension.java +++ b/src/main/java/ninja/bytecode/iris/object/IrisDimension.java @@ -10,15 +10,13 @@ import ninja.bytecode.shuriken.collections.KList; @Data @EqualsAndHashCode(callSuper = false) -public class IrisDimension extends IrisRegisteredObject +public class IrisDimension extends IrisRegistrant { private String name = "A Dimension"; private InterpolationMethod interpolationFunction = InterpolationMethod.BICUBIC; private double interpolationScale = 63; private InterpolationMethod interpolationSurfaceFunction = InterpolationMethod.BICUBIC; private double interpolationSurfaceScale = 4; - private InterpolationMethod interpolationAuxiliaryFunction = InterpolationMethod.BICUBIC; - private double interpolationAuxiliaryScale = 7; private Environment environment = Environment.NORMAL; private KList regions = new KList<>(); private int fluidHeight = 127; diff --git a/src/main/java/ninja/bytecode/iris/object/IrisGenerator.java b/src/main/java/ninja/bytecode/iris/object/IrisGenerator.java new file mode 100644 index 000000000..f4d76cf71 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/object/IrisGenerator.java @@ -0,0 +1,45 @@ +package ninja.bytecode.iris.object; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import ninja.bytecode.shuriken.collections.KList; + +@Data +@EqualsAndHashCode(callSuper = false) +public class IrisGenerator extends IrisRegistrant +{ + private double zoom = 1; + private double opacity = 1; + private double offsetX = 0; + private double offsetZ = 0; + private long seed = 1; + private InterpolationMethod interpolationFunction = InterpolationMethod.BICUBIC; + private double interpolationScale = 7; + private KList composite = new KList(); + + public double getMax() + { + return opacity; + } + + public double getHeight(double rx, double rz, long superSeed) + { + if(composite.isEmpty()) + { + return 0; + } + + int hc = hashCode(); + double h = 0; + double tp = 0; + + for(IrisNoiseGenerator i : composite) + { + tp += i.getOpacity(); + h += i.getNoise(seed + superSeed + hc, (rx + offsetX) / zoom, (rz + offsetZ) / zoom); + } + + return (h / tp) * opacity; + } + +} diff --git a/src/main/java/ninja/bytecode/iris/object/IrisNoiseGenerator.java b/src/main/java/ninja/bytecode/iris/object/IrisNoiseGenerator.java new file mode 100644 index 000000000..75c57c3ee --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/object/IrisNoiseGenerator.java @@ -0,0 +1,89 @@ +package ninja.bytecode.iris.object; + +import java.util.concurrent.locks.ReentrantLock; + +import lombok.Data; +import ninja.bytecode.iris.util.CNG; +import ninja.bytecode.iris.util.IrisInterpolation; +import ninja.bytecode.iris.util.RNG; +import ninja.bytecode.shuriken.collections.KList; + +@Data +public class IrisNoiseGenerator +{ + private double zoom = 1; + private double opacity = 1; + private double offsetX = 0; + private double offsetY = 0; + private double offsetZ = 0; + private long seed = 0; + private boolean parametric = false; + private boolean bezier = false; + private boolean sinCentered = false; + private double exponent = 1; + private boolean enabled = true; + private boolean irisBased = true; + private int octaves = 1; + private KList fracture = new KList<>(); + + private transient ReentrantLock lock; + private transient CNG generator; + + public IrisNoiseGenerator() + { + lock = new ReentrantLock(); + } + + public IrisNoiseGenerator(boolean enabled) + { + this(); + this.enabled = enabled; + } + + protected CNG getGenerator(long superSeed) + { + if(generator == null) + { + lock.lock(); + generator = irisBased ? CNG.signature(new RNG(superSeed + 33955677 - seed)) : new CNG(new RNG(superSeed + 33955677 - seed), 1D, octaves); + lock.unlock(); + } + + return generator; + } + + public double getMax() + { + return getOffsetY() + opacity; + } + + public double getNoise(long superSeed, double xv, double zv) + { + if(!enabled) + { + return offsetY; + } + + double x = xv; + double z = zv; + int g = 33; + + for(IrisNoiseGenerator i : fracture) + { + if(i.isEnabled()) + { + x += i.getNoise(superSeed + seed + g, xv, zv); + z -= i.getNoise(superSeed + seed + g, zv, xv); + } + g += 819; + } + + double n = getGenerator(superSeed).fitDoubleD(0, opacity, (x / zoom) + offsetX, (z / zoom) + offsetZ); + n = (exponent != 1 ? Math.pow(n, exponent) : n) + offsetY; + n = parametric ? IrisInterpolation.parametric(n, 1) : n; + n = bezier ? IrisInterpolation.bezier(n) : n; + n = sinCentered ? IrisInterpolation.sinCenter(n) : n; + + return n; + } +} diff --git a/src/main/java/ninja/bytecode/iris/object/IrisNoiseLayer.java b/src/main/java/ninja/bytecode/iris/object/IrisNoiseLayer.java deleted file mode 100644 index 441d8a259..000000000 --- a/src/main/java/ninja/bytecode/iris/object/IrisNoiseLayer.java +++ /dev/null @@ -1,41 +0,0 @@ -package ninja.bytecode.iris.object; - -import java.util.concurrent.locks.ReentrantLock; - -import ninja.bytecode.iris.util.CNG; -import ninja.bytecode.iris.util.RNG; - -public class IrisNoiseLayer -{ - private double zoom = 1; - private double offsetX = 0; - private double offsetZ = 0; - private long seed = 0; - private double min = 0; - private double max = 10; - - private transient ReentrantLock lock; - private transient CNG generator; - - public IrisNoiseLayer() - { - lock = new ReentrantLock(); - } - - protected CNG getGenerator(long superSeed) - { - if(generator == null) - { - lock.lock(); - generator = CNG.signature(new RNG(superSeed + 33955677 - seed)); - lock.unlock(); - } - - return generator; - } - - public double getNoise(long superSeed, double x, double z) - { - return getGenerator(superSeed).fitDoubleD(min, max, (x / zoom) + offsetX, (z / zoom) + offsetZ); - } -} diff --git a/src/main/java/ninja/bytecode/iris/object/IrisObject.java b/src/main/java/ninja/bytecode/iris/object/IrisObject.java index 41d00758a..ffaed4e47 100644 --- a/src/main/java/ninja/bytecode/iris/object/IrisObject.java +++ b/src/main/java/ninja/bytecode/iris/object/IrisObject.java @@ -22,7 +22,7 @@ import ninja.bytecode.shuriken.collections.KMap; @Data @EqualsAndHashCode(callSuper = false) -public class IrisObject extends IrisRegisteredObject +public class IrisObject extends IrisRegistrant { private KMap blocks; private int w; diff --git a/src/main/java/ninja/bytecode/iris/object/IrisRegion.java b/src/main/java/ninja/bytecode/iris/object/IrisRegion.java index 0a3b083a0..1b2cddff5 100644 --- a/src/main/java/ninja/bytecode/iris/object/IrisRegion.java +++ b/src/main/java/ninja/bytecode/iris/object/IrisRegion.java @@ -10,7 +10,7 @@ import ninja.bytecode.shuriken.collections.KList; @Data @EqualsAndHashCode(callSuper = false) -public class IrisRegion extends IrisRegisteredObject +public class IrisRegion extends IrisRegistrant { private String name = "A Region"; private double shoreRatio = 0.13; diff --git a/src/main/java/ninja/bytecode/iris/object/IrisRegisteredObject.java b/src/main/java/ninja/bytecode/iris/object/IrisRegistrant.java similarity index 73% rename from src/main/java/ninja/bytecode/iris/object/IrisRegisteredObject.java rename to src/main/java/ninja/bytecode/iris/object/IrisRegistrant.java index 6bbe10e80..51d608f85 100644 --- a/src/main/java/ninja/bytecode/iris/object/IrisRegisteredObject.java +++ b/src/main/java/ninja/bytecode/iris/object/IrisRegistrant.java @@ -3,7 +3,7 @@ package ninja.bytecode.iris.object; import lombok.Data; @Data -public class IrisRegisteredObject +public class IrisRegistrant { private String loadKey; } diff --git a/src/main/java/ninja/bytecode/iris/objectproperty/ObjectProperty.java b/src/main/java/ninja/bytecode/iris/objectproperty/ObjectProperty.java deleted file mode 100644 index 9aa7702aa..000000000 --- a/src/main/java/ninja/bytecode/iris/objectproperty/ObjectProperty.java +++ /dev/null @@ -1,42 +0,0 @@ -package ninja.bytecode.iris.objectproperty; - -import java.lang.reflect.Field; - -import lombok.Data; - -@Data -public class ObjectProperty -{ - private Class type; - private String fieldName; - private String name; - private String description; - private Object instance; - private Field field; - - public ObjectProperty(Class type, String fieldName) throws Throwable - { - this.type = type; - this.fieldName = fieldName; - field = type.getDeclaredField(name); - field.setAccessible(true); - - if(field.isAnnotationPresent(Property.class)) - { - Property p = field.getAnnotation(Property.class); - name = p.name(); - description = p.description(); - } - } - - public void set(T value) throws Throwable - { - field.set(instance, value); - } - - @SuppressWarnings("unchecked") - public T get() throws Throwable - { - return (T) field.get(instance); - } -} diff --git a/src/main/java/ninja/bytecode/iris/objectproperty/PropertyObject.java b/src/main/java/ninja/bytecode/iris/objectproperty/PropertyObject.java deleted file mode 100644 index fd08cc652..000000000 --- a/src/main/java/ninja/bytecode/iris/objectproperty/PropertyObject.java +++ /dev/null @@ -1,16 +0,0 @@ -package ninja.bytecode.iris.objectproperty; - -import static java.lang.annotation.ElementType.*; -import static java.lang.annotation.RetentionPolicy.*; - -import java.lang.annotation.Retention; -import java.lang.annotation.Target; - -@Retention(RUNTIME) -@Target(TYPE) -public @interface PropertyObject -{ - String name(); - - String description(); -} diff --git a/src/main/java/ninja/bytecode/iris/util/BiomeDominance.java b/src/main/java/ninja/bytecode/iris/util/BiomeDominance.java new file mode 100644 index 000000000..e6e9a2664 --- /dev/null +++ b/src/main/java/ninja/bytecode/iris/util/BiomeDominance.java @@ -0,0 +1,9 @@ +package ninja.bytecode.iris.util; + +import ninja.bytecode.iris.object.IrisBiome; +import ninja.bytecode.shuriken.collections.KMap; + +public class BiomeDominance extends KMap +{ + private static final long serialVersionUID = 9055245062942178392L; +} diff --git a/src/main/java/ninja/bytecode/iris/util/BiomeResult.java b/src/main/java/ninja/bytecode/iris/util/BiomeResult.java index 91c81e61d..5d41802b5 100644 --- a/src/main/java/ninja/bytecode/iris/util/BiomeResult.java +++ b/src/main/java/ninja/bytecode/iris/util/BiomeResult.java @@ -14,4 +14,9 @@ public class BiomeResult this.biome = biome; this.distance = distance; } + + public boolean is(BiomeResult r) + { + return biome.getName().equals(r.biome.getName()); + } } \ No newline at end of file diff --git a/src/main/java/ninja/bytecode/iris/util/ObjectResourceLoader.java b/src/main/java/ninja/bytecode/iris/util/ObjectResourceLoader.java index a032c0d26..e04d5cf49 100644 --- a/src/main/java/ninja/bytecode/iris/util/ObjectResourceLoader.java +++ b/src/main/java/ninja/bytecode/iris/util/ObjectResourceLoader.java @@ -91,7 +91,7 @@ public class ObjectResourceLoader extends ResourceLoader } lock.lock(); - for(File i : getFolders()) + for(File i : getFolders(name)) { for(File j : i.listFiles()) { diff --git a/src/main/java/ninja/bytecode/iris/util/ResourceLoader.java b/src/main/java/ninja/bytecode/iris/util/ResourceLoader.java index 82a690e7f..4c2561316 100644 --- a/src/main/java/ninja/bytecode/iris/util/ResourceLoader.java +++ b/src/main/java/ninja/bytecode/iris/util/ResourceLoader.java @@ -6,15 +6,16 @@ import java.util.concurrent.locks.ReentrantLock; import com.google.gson.Gson; import ninja.bytecode.iris.Iris; -import ninja.bytecode.iris.object.IrisRegisteredObject; +import ninja.bytecode.iris.object.IrisRegistrant; import ninja.bytecode.shuriken.collections.KList; import ninja.bytecode.shuriken.collections.KMap; -public class ResourceLoader +public class ResourceLoader { protected File root; protected String folderName; protected String resourceTypeName; + protected KMap folderMapCache; protected KMap loadCache; protected KList folderCache; protected Class objectClass; @@ -23,6 +24,7 @@ public class ResourceLoader public ResourceLoader(File root, String folderName, String resourceTypeName, Class objectClass) { lock = new ReentrantLock(); + folderMapCache = new KMap<>(); this.objectClass = objectClass; this.resourceTypeName = resourceTypeName; this.root = root; @@ -62,7 +64,7 @@ public class ResourceLoader } lock.lock(); - for(File i : getFolders()) + for(File i : getFolders(name)) { for(File j : i.listFiles()) { @@ -111,9 +113,55 @@ public class ResourceLoader return folderCache; } + public KList getFolders(String rc) + { + KList folders = getFolders().copy(); + + if(rc.contains(":")) + { + for(File i : folders.copy()) + { + if(!rc.startsWith(i.getName() + ":")) + { + folders.remove(i); + } + } + } + + return folders; + } + public void clearCache() { loadCache.clear(); folderCache = null; } + + public File fileFor(T b) + { + for(File i : getFolders()) + { + for(File j : i.listFiles()) + { + if(j.isFile() && j.getName().endsWith(".json") && j.getName().split("\\Q.\\E")[0].equals(b.getLoadKey())) + { + return j; + } + } + + File file = new File(i, b.getLoadKey() + ".json"); + + if(file.exists()) + { + return file; + } + } + + return null; + } + + public boolean isLoaded(String next) + { + return loadCache.containsKey(next); + } } From 58dcb72adc1b08f6baf2d56813b3dde486a9ee30 Mon Sep 17 00:00:00 2001 From: Daniel Mills Date: Fri, 17 Jul 2020 04:15:43 -0400 Subject: [PATCH 15/20] Bam --- gource.bat | 3 + gource/COPYING.txt | 674 ++++++++++++++++++ gource/ChangeLog.txt | 298 ++++++++ gource/README.txt | 469 ++++++++++++ gource/SDL2.dll | Bin 0 -> 1275183 bytes gource/SDL2_image.dll | Bin 0 -> 132194 bytes gource/THANKS.txt | 1 + gource/cmd/gource | 3 + gource/cmd/gource.cmd | 2 + gource/data/beam.png | Bin 0 -> 358 bytes gource/data/bloom.tga | Bin 0 -> 171715 bytes gource/data/bloom_alpha.tga | Bin 0 -> 217424 bytes gource/data/file.png | Bin 0 -> 44196 bytes gource/data/fonts/FreeSans.ttf | Bin 0 -> 714456 bytes gource/data/fonts/README.txt | 108 +++ gource/data/gource.style | 5 + gource/data/shaders/bloom.frag | 16 + gource/data/shaders/bloom.vert | 10 + gource/data/shaders/shadow.frag | 9 + gource/data/shaders/shadow.vert | 6 + gource/data/shaders/text.frag | 15 + gource/data/shaders/text.vert | 6 + gource/data/user.png | Bin 0 -> 62669 bytes gource/glew32.dll | Bin 0 -> 431416 bytes gource/gource.exe | Bin 0 -> 1583104 bytes gource/libboost_filesystem-mt.dll | Bin 0 -> 250368 bytes gource/libbz2-1.dll | Bin 0 -> 74771 bytes gource/libfreetype-6.dll | Bin 0 -> 682123 bytes gource/libgcc_s_seh-1.dll | Bin 0 -> 85136 bytes gource/libglib-2.0-0.dll | Bin 0 -> 1233993 bytes gource/libgraphite2.dll | Bin 0 -> 154260 bytes gource/libharfbuzz-0.dll | Bin 0 -> 1044457 bytes gource/libiconv-2.dll | Bin 0 -> 1055522 bytes gource/libintl-8.dll | Bin 0 -> 135218 bytes gource/libjpeg-8.dll | Bin 0 -> 640953 bytes gource/liblzma-5.dll | Bin 0 -> 154319 bytes gource/libpcre-1.dll | Bin 0 -> 287905 bytes gource/libpng16-16.dll | Bin 0 -> 231911 bytes gource/libstdc++-6.dll | Bin 0 -> 1759933 bytes gource/libtiff-5.dll | Bin 0 -> 484284 bytes gource/libwebp-7.dll | Bin 0 -> 441615 bytes gource/libwinpthread-1.dll | Bin 0 -> 59404 bytes gource/libzstd.dll | Bin 0 -> 750288 bytes gource/zlib1.dll | Bin 0 -> 93720 bytes .../iris/generator/BiomeChunkGenerator.java | 5 +- .../ninja/bytecode/iris/object/IrisBiome.java | 1 - .../iris/object/IrisBiomeGeneratorLink.java | 1 - .../iris/util/ObjectResourceLoader.java | 1 + 48 files changed, 1629 insertions(+), 4 deletions(-) create mode 100644 gource.bat create mode 100644 gource/COPYING.txt create mode 100644 gource/ChangeLog.txt create mode 100644 gource/README.txt create mode 100644 gource/SDL2.dll create mode 100644 gource/SDL2_image.dll create mode 100644 gource/THANKS.txt create mode 100644 gource/cmd/gource create mode 100644 gource/cmd/gource.cmd create mode 100644 gource/data/beam.png create mode 100644 gource/data/bloom.tga create mode 100644 gource/data/bloom_alpha.tga create mode 100644 gource/data/file.png create mode 100644 gource/data/fonts/FreeSans.ttf create mode 100644 gource/data/fonts/README.txt create mode 100644 gource/data/gource.style create mode 100644 gource/data/shaders/bloom.frag create mode 100644 gource/data/shaders/bloom.vert create mode 100644 gource/data/shaders/shadow.frag create mode 100644 gource/data/shaders/shadow.vert create mode 100644 gource/data/shaders/text.frag create mode 100644 gource/data/shaders/text.vert create mode 100644 gource/data/user.png create mode 100644 gource/glew32.dll create mode 100644 gource/gource.exe create mode 100644 gource/libboost_filesystem-mt.dll create mode 100644 gource/libbz2-1.dll create mode 100644 gource/libfreetype-6.dll create mode 100644 gource/libgcc_s_seh-1.dll create mode 100644 gource/libglib-2.0-0.dll create mode 100644 gource/libgraphite2.dll create mode 100644 gource/libharfbuzz-0.dll create mode 100644 gource/libiconv-2.dll create mode 100644 gource/libintl-8.dll create mode 100644 gource/libjpeg-8.dll create mode 100644 gource/liblzma-5.dll create mode 100644 gource/libpcre-1.dll create mode 100644 gource/libpng16-16.dll create mode 100644 gource/libstdc++-6.dll create mode 100644 gource/libtiff-5.dll create mode 100644 gource/libwebp-7.dll create mode 100644 gource/libwinpthread-1.dll create mode 100644 gource/libzstd.dll create mode 100644 gource/zlib1.dll diff --git a/gource.bat b/gource.bat new file mode 100644 index 000000000..6786239d7 --- /dev/null +++ b/gource.bat @@ -0,0 +1,3 @@ +@echo off +cd gource +gource -f -a 1 -s 0.5 --colour-images --max-file-lag 10 --title MyGuide --user-scale 1.67 --max-user-speed 725 --filename-time 2 \ No newline at end of file diff --git a/gource/COPYING.txt b/gource/COPYING.txt new file mode 100644 index 000000000..94a9ed024 --- /dev/null +++ b/gource/COPYING.txt @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/gource/ChangeLog.txt b/gource/ChangeLog.txt new file mode 100644 index 000000000..eed47ea16 --- /dev/null +++ b/gource/ChangeLog.txt @@ -0,0 +1,298 @@ +0.51: + * Fixed --font-file relative path handling. + * Fixed a bug in resolving the repository root directory from a relative path. + +0.50: + * Right mouse button rotation now pivots around the camera. + * Added --font-file option. + * Added --enable-font-file option to configure. + * Added --no-time-travel option (Lars Schmertmann). + * Added --dir-name-position option (Lars Schmertmann). + * Added --file-extension-fallback option (Lars Schmertmann). + * Added --user-show-filter option (Victor Lopez). + * Added --disable-input option (Joey Parrish). + * Added --loop-delay-seconds option (Joey Parrish). + * Added --font-scale option. + * Added filename, dirname and user font size options (Carl Colena). + * Added workaround for FFMpeg error parsing Gource PPM video output. + * Fixed a bug in the Mercurial log parser that caused changes to be missed. + * Fixed file removal being cancelled by an action with an earlier timestamp. + * Fixed a bug in the log file format detection that could result in the wrong + first entry being displayed for a custom log. + * Fixed a bug where automatically cycling through a config with multiple + repositories reset settings to their defaults. + +0.49: + * Fixed compatibility with GLM 0.9.9.0. + +0.48: + * Can now generate logs from git sub module directories. + +0.47: + * Fixed low mouse movement speed with some mice while repositioning camera. + +0.46: + * Added --screen option. + +0.45: + * Added --window-position XxY option. + * Added --frameless option. + * Added --file-show-filter REGEX option (swoogles). + * Added --filename-time and filename-colour options (gh2k). + * Improved handling of very low seconds-per-day values (malengrin). + * Fixed crash when SVN log lacks author information (obarthel). + * Additional git log command validation (cym13). + * Allow lower case hex colours in custom logs (HSorensen). + * Enabled STDOUT support with --output-stream '-' on Windows (circulosmeos). + * Now requires SDL 2 to build (deprecated SDL 1.2 support removed). + +0.44: + * Fixed crash when taking a screenshot with an odd resolution. + * Fixed type deduction compilation error with newer versions of GCC. + * Documentation improvements. + +0.43: + * Updated boost autoconf macros to fix multi-arch detection. + +0.42: + * Fixed bzr log command when no start date was specified (chrisf). + * Fixed hg log commit order when date range specified. + * Fixed hg log command line on Windows. + * Fixed parser bug in date range filtering code. + +0.41: + * Multi-monitor support using SDL 2.0 when available. + * SDL 1.2 support is deprecated. + * Full screen mode now uses desktop resolution by default. + * Added --start-date, --stop-date 'YYYY-MM-DD hh:mm:ss' options. + * Added --dir-name-depth option. + * Changed --file-idle-time default value to 0. + * Changed screenshot format to PNG. + +0.40: + * Added caption support. + * Improved command line interoperability on Windows. + * Fixed directory deletion short circuiting processing the rest of a commit. + * Fixed issue loading non-ascii user image filenames on windows. + * Ignore UTF-8 byte order mark at the start of lines in custom log files. + * Fix to boost macros for Macs and non-GNU systems (mistydemeo). + * Autotools improvements (flameeyes). + +0.39: + * Fixed blurry non power of 2 logos. + * File colour changes now supported in custom logs (rmyorston). + * Fixed building against Boost 1.50 (svenstaro). + * Updated boost autoconf macros (flameeyes). + * Autogen script (matthiaskrgr). + +0.38: + * New high quality sprites. + * Fullscreen toggle with alt + enter. + * Window is now resizable. -WIDTHxHEIGHT! creates a non-resizable window. + * Lowered minimum zoom distance. + * Use AM_CPPFLAGS in Makefile.am to allow passing custom CPPFLAGS. + * Don't add files that match the path of a known directory. + * Fixed divide by zero in text shader causing artifacts on some video cards. + * Recursively search for repository directory when log-format not specified + (thanks to Jörg Bachmann for original concept / prototype). + * New dependency on Boost Filesystem. + * Doubled the maximum zoom out distance. + * Allow negative timestamps before 1970 in custom log (artzub). + * Fix for UTF8-CPP checked.h compilation issue (vszakats). + * Fixed bug causing missing characters in text. + * Fixed --highlight-users option not using highlight-colour. + * highlight-colour default changed to white. + * Added --selection-colour option (applied to selected users and files). + * Added --dir-colour option (applied to directories). + +0.37: + * Made SVN log GMT timestamp conversion fix portable. + +0.36: + * Fixed SVN log GMT timestamp conversion. + * Fixed issue with sub-dirs of deleted dir not being removed in some cases. + +0.35: + * Added long file extension truncation handling to file key (--key). + * Treat changes in Mercurial log files with the same time/user as one commit. + * Fixed handling of spaces in directory names with Mercurial. + * Fixed --font-colour option. + +0.34: + * Now using VBOs and shaders for faster rendering when OpenGL 2.0 is available. + * Eliminated bloom colour banding artifacts (requires OpenGL 2.0). + * New font rendering library derived from FTGL (FTGL no longer required). + * Single pass font/shadow rendering (with lots of help from Chris Forbes). + * Added --no-vsync option. + * Fixed bug where tree is out of alignment with object positions in windowed + mode due to using the wrong display dimensions internally. + * Removed default max-files limit. + +0.33: + * Added --hide root option to not draw branches from the root directory. + * Fixed log parsing of Bazaar merges and tagged commits. + * --output-custom-log now skips unparsed log entries instead of exiting. + +0.32: + * Fixed behaviour of user camera tracking. + +0.31: + * Added --with-tinyxml option to configure (use the system TinyXML library). + +0.30: + * Fixed crash when SVN log entry contains no 'paths' element. + * Handle directory deletion (happens in SVN logs). + +0.29: + * SVN built-in support. + * cvs2cl log support (cvs-exp support is now deprecated). + * Made camera behaviour when zooming and selecting objects more intuitive. + * Improved interactive performance. + * Added file extension key (--key or toggled with 'K'). + * Added mouse-over tool tips. + * Added --highlight-colour option. + * Added --hash-seed option. The S key now randomizes colours. + * Added --output-custom-log option. + * Exposed --time-scale option (previously only available interactively). + * Removed arbitrary 1024 maximum length limit for log lines. + * Fixed two file colouring bugs (quoted files from git, period in file path). + * Fix handling of avatars for UTF-8 usernames on MACOSX (Christian Köstlin). + * Recover from video mode failing to set due to multi-sampling (Siddhesh Poyarekar). + +0.28: + * Bazaar support for merged commits (Nick Moffit). + * C++ efficiency improvements (Oliver Smith). + * Improved cvs-exp log compatibility. + * Re-show name of user when adding a new action if user is idle. + * Added --padding option to control camera view padding. + * More accurate camera tracking (tracks the bounding boxes of objects). + * Improved automatic rotation logic. + +0.27: + * Display time stops at the time of the last commit. + * Users fade out when end reached rather than ending abruptly. + * Position slider is now hidden by default if recording a video. + * Automatic camera rotation for better use of screen space. + * Support international keyboards (Peter Kjellerstedt). + * C++ efficiency improvements (Jacob Metcalfe). + * Fixed crash when reading from STDIN. + * Fixed intermittent crash closing Gource when using --output-ppm-stream. + * Added ini style config file support (see --load/save-config). + * Added screenshot button (F12). Screenshots respect the alpha channel. + * Added --transparent to make the background see-through (for screenshots). + * Added --logo and --background-image options. + * Added --dont-stop option for manual exiting when recording videos. + * Added --stop-at-time option to stop Gource after a number of seconds. + * Added --hide 'mouse' option. + * Added --highlight-dirs option. + * Added --file-extensions to show filename extensions only. + * Added --user-filter REGEX option. + * Allow --file-idle-time 0 (files will never expire). + * Allow --start-position 'random' to set a random start position. + * --log-command VCS replaces multiple --log-command-VCS options. + * Replaced --disable-progress and --disable-bloom with arguments to --hide. + +0.26a: + * Updated to latest version of GL autoconf macros. + +0.26: + * Improved mouse dragging. + * Holding right mouse button and moving the mouse rotates the view. + * The middle mouse button now toggles the camera mode. + * Username positions now scale correctly. + * Simulation time no longer incremented while paused, counting towards file time lag. + * M key now toggles mouse visibility. + * Added --hide option to use instead of multiple --hide-ELEMENT options. + +0.25: + * Bazaar support (John Arbash Meinel). + * Dragging the mouse on the background moves the camera. + * Added --camera-mode option (track,overview). + * Support DOS line endings in logs. + * Improved compatibility of hg log command (Brendan Cully). + * Fixed PPM exporter producing blank images on some video cards. + * Fixed parsing of negative timezones from cvs-exp.pl logs. + * Fixed various gdb and compiler warnings. + +0.24: + * PPM output speed improvements, including using a second thread (HighlandSun). + * Now using standard autotools (Flameeyes). + * Fixed --max-file-lag not working with some custom log files. + * Gource will stop at the end of the log by default when recording a video. + * Fixed STDIN stopping working after the first lot of records with tail -f. + * Added proper exception handling. + * Print errors to stderr. + +0.23: + * Hiding filenames no longer hides directory names. + * Fixed --stop-on-idle option. + * Added --stop-at-end option (more intuitive than --stop-position 1.0). + +0.22: + * Fixed Mercurial log order. + +0.21b: + * Fixed windows build. + +0.21: + * Some documentation fixes. + +0.20: + * Added bloom effect (turn off with --disable-bloom). + * Added support for Mercurial (thanks to Justin Love for gource.style). + * --start-position option now works in combination with --disable-progress. + +0.19: + * Use time_t instead of long for timestamps. + +0.18: + * Fixed camera movement while the simulation is paused. + +0.17: + * Show correct month for CVS logs. + * Added time scaling (Bitshifter). + +0.16: + * Added --hide-dirnames option. + * Added --user-scale option. + * Added --date-format option (Pat Notz). + * Fix bug when encountering long log lines. + * Fixed incorrect parsing of trivial merges. + * Fixed building issues on OSX. + +0.15: + * Added PPM output support for creating videos (Johannes Schindelin). + * Added experimental Apache combined access log support (--log-format apache). + * Added --stop-position and --stop-on-idle options (useful for making videos). + * Added --max-file-lag option to limit how long after a commit file changes can take to appear. + * Added --no-renames to the git log command as they don't display correctly. + * Added --max-user-speed and --user-friction as options. + * Now builds on OSX Leopard (with the required libaries installed). + * Caught raw exception from replace_invalid(). + * Added CXXFLAGS. You may want to override the default (eg CXXFLAGS=-O3 ./configure). + +0.14: + * Updated SVN instructions. + +0.13: + * Removed single quotes from log command (fixes running gource --git-log-command in back ticks) + * Added SVN instructions. + * Fixed manpage hyphens. + +0.12: + * Added --enable-ttf-font-dir=DIR option to configure (to specify the ttf-freefont directory). + * UTF-8 support using UTF8-CPP (http://utfcpp.sourceforge.net/). + * Changed the git log command (see --git-log-command) to require less work to parse. + Log files generated with the previous git-log command used by gource should continue to work. + * Allow --seconds-per-day value less than 1.0. + * Added --git-branch command. + * Added --loop command. + * Added --crop command. + +0.11: + * Made N key skip to next entry. + * Documented --user-image-dir flag. + * temp file name now uses uid instead of time + +0.1: + * First release. diff --git a/gource/README.txt b/gource/README.txt new file mode 100644 index 000000000..9eeb62485 --- /dev/null +++ b/gource/README.txt @@ -0,0 +1,469 @@ + + Gource + + software version control visualization + + Copyright (C) 2009 Andrew Caudwell + + http://gource.io + +Contents +======== + +1. Description +2. Requirements +3. Using Gource +4. Copyright + +1. Description +============== + +OpenGL-based 3D visualisation tool for source control repositories. + +The repository is displayed as a tree where the root of the repository is the +centre, directories are branches and files are leaves. Contributors to the +source code appear and disappear as they contribute to specific files and +directories. + +2. Requirements +=============== + +Gource's display is rendered using OpenGL and requires a 3D accelerated video +card to run. + +3. Using Gource +=============== + +gource [options] [path] + +options: + + -h, --help + Help ('-H' for extended help). + + -WIDTHxHEIGHT, --viewport WIDTHxHEIGHT + Set the viewport size. If -f is also supplied, will attempt to set + the video mode to this also. Add ! to make the window non-resizable. + + --screen SCREEN + Set the number of the screen to display on. + + --window-position XxY + Initial window position on your desktop which may be made up of + multiple monitors. + + This will override the screen setting so don't specify both. + + --frameless + Frameless window. + + -f, --fullscreen + Fullscreen. + + -w, --windowed + Windowed. + + --transparent + Make the background transparent. Only really useful for screenshots. + + --start-date "YYYY-MM-DD hh:mm:ss +tz" + Start with the first entry after the supplied date and optional time. + + If a time zone offset isn't specified the local time zone is used. + + Example accepted formats: + + "2012-06-30" + "2012-06-30 12:00" + "2012-06-30 12:00:00 +12" + + --stop-date "YYYY-MM-DD hh:mm:ss +tz" + Stop after the last entry prior to the supplied date and optional time. + + Uses the same format as --start-date. + + -p, --start-position POSITION + Begin at some position in the log (between 0.0 and 1.0 or 'random'). + + --stop-position POSITION + Stop (exit) at some position in the log (does not work with STDIN). + + -t, --stop-at-time SECONDS + Stop (exit) after a specified number of seconds. + + --stop-at-end + Stop (exit) at the end of the log / stream. + + --loop + Loop back to the start of the log when the end is reached. + + --loop-delay-seconds + Seconds to delay before looping. + + -a, --auto-skip-seconds SECONDS + Skip to next entry if nothing happens for a number of seconds. + + -s, --seconds-per-day SECONDS + Speed of simulation in seconds per day. + + --realtime + Realtime playback speed. + + --no-time-travel + Use the time of the last commit if the time of a commit is in the past. + + -c, --time-scale SCALE + Change simulation time scale. + + -i, --file-idle-time SECONDS + Time in seconds files remain idle before they are removed or 0 + for no limit. + + -e, --elasticity FLOAT + Elasticity of nodes. + + -b, --background-colour FFFFFF + Background colour in hex. + + --background-image IMAGE + Set a background image. + + --logo IMAGE + Logo to display in the foreground. + + --logo-offset XxY + Offset position of the logo. + + --title TITLE + Set a title. + + --font-file FILE + Specify the font. Should work with most font file formats supported by FreeType, such as TTF and OTF, among others. + + --font-scale SCALE + Scale the size of all fonts. + + --font-size SIZE + Font size used by the date and title. + + --file-font-size SIZE + Font size of filenames. + + --dir-font-size SIZE + Font size of directory names + + --user-font-size SIZE + Font size of user names. + + --font-colour FFFFFF + Font colour used by the date and title in hex. + + --key + Show file extension key. + + --date-format FORMAT + Specify display date string (strftime format). + + --log-command VCS + Show the VCS log command used by gource (git,svn,hg,bzr,cvs2cl). + + --log-format VCS + Specify the log format (git,svn,hg,bzr,cvs2cl,custom). + + Required when reading from STDIN. + + --git-branch + Get the git log of a branch other than the current one. + + --follow-user USER + Have the camera automatically follow a particular user. + + --highlight-dirs + Highlight the names of all directories. + + --highlight-user USER + Highlight the names of a particular user. + + --highlight-users + Highlight the names of all users. + + --highlight-colour FFFFFF + Font colour for highlighted users in hex. + + --selection-colour FFFFFF + Font colour for selected users and files. + + --filename-colour FFFFFF + Font colour for filenames. + + --dir-colour FFFFFF + Font colour for directories. + + --dir-name-depth DEPTH + Draw names of directories down to a specific depth in the tree. + + --dir-name-position FLOAT + Position along edge of the directory name + (between 0.1 and 1.0, default is 0.5). + + --filename-time SECONDS + Duration to keep filenames on screen (>= 2.0). + + --file-extensions + Show filename extensions only. + + --file-extension-fallback + Use filename as extension if the extension is missing or empty. + + --file-filter REGEX + Filter out file paths matching the specified regular expression. + + --file-show-filter REGEX + Show only file paths matching the specified regular expression. + + --user-filter REGEX + Filter usernames matching the specified regular expression. + + --user-show-filter REGEX + Show only usernames matching the specified regular expression. + + --user-image-dir DIRECTORY + Directory containing .jpg or .png images of users + (eg "Full Name.png") to use as avatars. + + --default-user-image IMAGE + Path of .jpg or .png to use as the default user image. + + --colour-images + Colourize user images. + + --crop AXIS + Crop view on an axis (vertical,horizontal). + + --padding FLOAT + Camera view padding. + + --multi-sampling + Enable multi-sampling. + + --no-vsync + Disable vsync. + + --bloom-multiplier FLOAT + Adjust the amount of bloom. + + --bloom-intensity FLOAT + Adjust the intensity of the bloom. + + --max-files NUMBER + Set the maximum number of files or 0 for no limit. + + Excess files will be discarded. + + --max-file-lag SECONDS + Max time files of a commit can take to appear. + + Use -1 for no limit. + + --max-user-speed UNITS + Max speed users can travel per second. + + --user-friction SECONDS + Time users take to come to a halt. + + --user-scale SCALE + Change scale of user avatars. + + --camera-mode MODE + Camera mode (overview,track). + + --disable-auto-rotate + Disable automatic camera rotation. + + --disable-input + Disable keyboard and mouse input. + + --hide DISPLAY_ELEMENT + Hide one or more display elements from the list below: + + bloom - bloom effect + date - current date + dirnames - names of directories + files - file icons + filenames - names of files + mouse - mouse cursor + progress - progress bar widget + root - root directory of tree + tree - animated tree structure + users - user avatars + usernames - names of users + + Separate multiple elements with commas (eg "mouse,progress") + + --hash-seed SEED + Change the seed of hash function. + + --caption-file FILE + Caption file (see Caption Log Format). + + --caption-size SIZE + Caption size. + + --caption-colour FFFFFF + Caption colour in hex. + + --caption-duration SECONDS + Caption duration. + + --caption-offset X + Caption horizontal offset (0 to centre captions). + + -o, --output-ppm-stream FILE + Output a PPM image stream to a file ('-' for STDOUT). + + This will automatically hide the progress bar initially and + enable 'stop-at-end' unless other behaviour is specified. + + -r, --output-framerate FPS + Framerate of output (25,30,60). Used with --output-ppm-stream. + + --output-custom-log FILE + Output a custom format log file ('-' for STDOUT). + + --load-config CONFIG_FILE + Load a gource conf file. + + --save-config CONFIG_FILE + Save a gource conf file with the current options. + + --path PATH + + path Either a supported version control directory, a pre-generated log + file (see log commands or the custom log format), a Gource conf + file or '-' to read STDIN. + + If path is omitted, gource will attempt to read a log from the + current directory. + +Git, Bazaar, Mercurial and SVN Examples: + +View the log of the repository in the current path: + + gource + +View the log of a project in the specified directory: + + gource my-project-dir + +For large projects, generating a log of the project history may take a long +time. For centralized VCS like SVN, generating the log may also put load on +the central VCS server. + +In these cases, you may like to save a copy of the log for later use. + +You can generate a log in the VCS specific log format using +the --log-command VCS option: + + cd my-svn-project + `gource --log-command svn` > my-svn-project.log + gource my-svn-project.log + +You can also have Gource write a copy of the log file in its own format: + + gource --output-custom-log my-project-custom.log + +CVS Support: + +Use 'cvs2cl' to generate the log and then pass it to Gource: + + cvs2cl --chrono --stdout --xml -g-q > my-cvs-project.log + gource my-cvs-project.log + +Custom Log Format: + +If you want to use Gource with something other than the supported systems, +there is a pipe ('|') delimited custom log format: + + timestamp - A unix timestamp of when the update occured. + username - The name of the user who made the update. + type - initial for the update type - (A)dded, (M)odified or (D)eleted. + file - Path of the file updated. + colour - A colour for the file in hex (FFFFFF) format. Optional. + +Caption Log Format: + +Gource can display captions along the timeline by specifying a caption file +(using --caption-file) in the pipe ('|') delimited format below: + + timestamp - A unix timestamp of when to display the caption. + caption - The caption + +Recording Videos: + +See the guide on the homepage for examples of recording videos with Gource: + + https://github.com/acaudwell/Gource/wiki/Videos + +More Information: + +Visit the Gource homepage for guides and examples of using Gource with various +version control systems: + + http://gource.io + +Interface: + +The time shown in the top left of the screen is set initially from the first +log entry read and is incremented according to the simulation speed +(--seconds-per-day). + +Pressing SPACE at any time will pause/resume the simulation. While paused you +may use the mouse to inspect the detail of individual files and users. + +TAB cycles through selecting the current visible users. + +The camera mode, either tracking activity or showing the entire code tree, can +be toggled using the Middle mouse button. + +You can drag the left mouse button to manually control the camera. The right +mouse button rotates the view. + +Interactive keyboard commands: + + (V) Toggle camera mode + (C) Displays Gource logo + (K) Toggle file extension key + (M) Toggle mouse visibility + (N) Jump forward in time to next log entry + (S) Randomize colours + (D) Toggle directory name display mode + (F) Toggle file name display mode + (U) Toggle user name display mode + (G) Toggle display of users + (T) Toggle display of directory tree edges + (R) Toggle display of root directory edges + (+-) Adjust simulation speed + (<>) Adjust time scale + (TAB) Cycle through visible users + (F12) Screenshot + (Alt+Enter) Fullscreen toggle + (ESC) Quit + +4. Copyright +============ + +Gource - software version control visualization +Copyright (C) 2009 Andrew Caudwell + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . diff --git a/gource/SDL2.dll b/gource/SDL2.dll new file mode 100644 index 0000000000000000000000000000000000000000..b4b67c0e77849ad8d070ee0ca42c86a6408aa399 GIT binary patch literal 1275183 zcmd44d3==B74Sb3W*}(BXAokkf~4(e6N*Z#wxoj10~35kCy0U?77&bIv{Y+;h)!r+VT7PY;jBglJM!{N-n$NR~H@|2pkl0 zn;u)`@%-w>BAq(9ujdl4$Ft3I^bZd%C^*vda=_#HMPG$XkcTHI#bTGL!t!3A@s_k- z67p{w1sTj&|Ln`SrqWu8%GPz|RW;K2=**#mmME#IeLc~i@=W*j^cTW3^zl6M7b)fb zYwPQ&EY2ss`7GHJ^pt)x+q3nOz8>eGZvnVj$Hp$47300|CB`f$%GiY|UH(n=jGcPy zug;I1Pu|AUhb)ZXA#dX|5UjPuDVKPRr0s3J3L>sLGZg!x2I?h z?LA|F-q*dnYVTrQPVofZcut_))^C(cA3N&I@zQ>c{JEcUA`T@yyZo#4RHl!OU3!&d zDJl4uTkeP7Qf~TH(`zZGWB^%Eya*jwZYXrV@X{+NsAK}!@Ek^^(r=U-DSiIG_|HlO z_PltgCwuGifX5hA=`qhT$Dei1+2gGE*3yW*y4qgW*j_(9S-h1(<>|)u>nFswc&+3> zUs)edRr%%@nP48f_+_A0@|Yve>+8w&TI?Wd9j`_0joU2aiIXgQxz(7i&sxb5@0RxQ zBzwho7Z{1xsJD0!f1JI`0-i$ z>RZWah2(&hV7?!@0nr#<7ly+&d+<&r%c(?;S( z^`y{Fa`ARyG1u6L7HHbpo}`}cnlkO>&ih|=bU@P{RpmRw_O_Ou^w$B$N+wMaewkC6 zojJ5-roy2Pn$)d8-e^WJM%R953b7-74!QnzPzRz2KiF4xns`Di>dg;C@U!wl^ zod}j|lr*;ex+YGchin}PIRRadR(lwYQb zDfvnARq^Q*uUlZ*E0KuXpJR%h-yHBPAkmvvvzt|ym7eAW-T$@tXRHo*gbdBbps>dy z6R{-ezmQCOl}PRfz?=`!GWNQL)df3SN{p&?@>;p8xdg!=wX@~WSiosMrU)h*b03xR zufI{`+1XMV>u)^c9|kT78hS?tm-f!}|Co%O&0YlzxWG5_zjV z;E|*oUMc9TePW5!-bw9;k1mh`UoBQ`>)P8$koN(PhF2=7R7RIY;pD(AP7N`(G>uOihCbSX`$z)wjvN*mW)u1M9RYa2TkDM|=|_wd?D zqT;UvASj3atWe&dp_)W5lRy$#)S9WdkQ9`9K~RucR1Y^b$rPvxZTNlXRs zbp2alyLD2txyYd2lJd_yp4?M3W~KaZEeDRxAQznwDDp>yuw zBF|!}?TkW>ofp=kKd(laIpcfs=kfj?kGZIXg5~Xqe*?9g)6VsKTKu>0D*uF>&0X7H zgwFHS+1}-5!9i$D4+!1)y+cHK>iMzgj^k0K`{xVr`CZ}V>FydBe1};mcx#D|hDF_v zjo7V=rI#owzb2ZBhAeq2b zGD!>4Azl1l3bZ6bX|m;?fC>RQeb4q|Yb?dKG7<-oksRlXru<1qvMpYU<45iRmpiA^nWR)G&UnpZGM+GfjN}|crN}Q^xe(3ieLUS&Kou4ryc(0N7 ziKj@%%T&i=>(RC|17xgJ@hIS8ZQOL8DB{=*vVNws%ok*A&gBYFUyQ|L%~>ks&Ksy0 zJd{2}m&PV?M(H+QBlqiK)vWn~5YHK`0nY*0ngq z0o=#*7mOb33S8v^-*th11gNHH$Lp58S4j8QeOSjrR>{dY%NGSalkXx;!{EoQ#DgFA~0)@vl3=MtECwa7_hXAmvmEB&pxmFV&XaN5GS#e5tWs1m;3}oGB7s&;43NQK=#BXK(~N&nBK zHOHHqfMq;NmA|&cvabq;?b`k=qkM=bO^hnF?14uC&Bh?8^Hej6%k~#ZaiQ|@WHOp< zPaNtopHma#O7woNzfLf=_kh^`)%K~=R?b6Q-=_l!b<6nw+u_G+I$x2q1S}h{d=+}{@ z>dAiW1FOaV7{ydN8Ms%~5Hlv;1pQn5bMr8EFrvHkuA<9&h_zr?cA#IH*O zY1GEk;J-#X?%X7){g9P3QIM;o)03>^Sl-VFT6()?wNw@=TC`NM_KAd#E3~lC4zcW! zlp9ruP?bz-w(K6c?KIOL^QONu^K=v`#C$flsmuI)d9hI0ve!E20M~0*?0Tzl=OS73 z%tZoaF@d|=tkkHE@(q@EoALW*OqX3d`D3>@^HCKMI~M9M%>B6)U*6wBZTHr_#ReXL za)hlTC|bb?@)5M+&0eeG-I*`pN7+9S*q|K5{xP>DPk(cK-c@5kxlvZ~`}7s-!;D6# zf=){HwW0pgNOCf5b_Gq(gJcY1rJ9qoQzTEnH`ndof6}y(xIu=iC^oVK3zD9q-n41_ zK2zQv*|p6|!UCGVkRpW<8=kb7E+b@yB8p~-dfF3Ixslb4E9ytkjQyq{YQ-~NsqVKb zGShPixME(eC_j#6V}wJDBhS9Ix%+5Rm-?`a{bioh#X`cCi`cJ3?AN1qiyFfw!6fO8 zCeJUdD*xC@UJOI9C8`@Y$9&bvAt4J#&{ql3y>Haso+eXM(Wz$cXp6607Xp`hVf=!HU~& zJ(%Y;ORqB&U#jgPp-2l%R}{jPP+D#Ox-immipq%Cy}B`OakWbesCPh{*^e=!Sz6CN zMATT|EO{JQ7dBp$tHHU4~}E5Ew<8!h{#h>hP+ z^XhJh0Z!#GZ{+uI$&95Y7`JL?um8`lq68`ejzKk7OKdB@eR7T5)O4_%VX-1i$RSmnJ52>?+G1 z8i_CMZ+WjO(F#F1-kPJSUmZl|cFR6UvVm%vLvh65iX!-*3XI`_uhyw#^~hz&IM2;E zPBQ*Q!J~D-qul)ON&X$^n){HI-26`E%gX`t%UbS*NvoYN&QV5oQrT)v4A3;5sq#fq z=lY`dN3z>}l)M)@SodXTcWLNkY)CJ?<-Rw!SNs#N6>njoWS88dap(0j*3&Z`Tp z+MQPFx}SF}?}cg?`BjUi_HZ&~t=gt=>Kdn_&QvS{k4m&vnIC!T{eI4_Hu zXX_%3wlpTBL;fiponz&0MkHe8NJ%1HzkRW+E6xz6t(dGg%2|POld(|~++4jQm8g&! z+t#qR_l)fb&c|qItM)c&T!12+2m|&l2epk0uMjxKMe0S-Gl> z@M`TJT*BqROa;}HYXsV2EgQd^&mzb zW>wd2KXD+ZMk=n_s<~*&EKK$m??9vR5#a-&x)^hLQ@jL)L7ytk|i*hw^Uf_v!L}qJEFbdzpT}QQimY_t)jU5AO@) zG)3>&SRhxkJcZ>rYelS|C~U*|>SqWn`nhlXYwyfMIu|*0gvFNQ$iIncyrKS(>>Lrd zMDmxCkFNt0GF|V_4d8ss zO3n&eNvp8h&f@au2&xi|9rc@~+C5d`2+2BOF%mF$*`?{jrwd?>GH4w;EFf_+7>QGb zVW3h>ajIb!I|uPfEoCbw{gWSI1TCZbgTAy^;%@f`h9zGw?`p7}`a$=$Offbr`ocYn zvR`)EPNd`Hz}{3<%i4zegL6O16XkG-BG&PjbT32^>*&z>A|s&pgkPNmsnKm$Eq4$fGMXyOd3y7QchQ z%Jp)EMfC1Em2}G}^teb^4|aSG3ZP|_Hii*7W>u#E4qPqDLG%}$HPTD&7R;1gC=2ZK z?mhmVew2m0AII#=u2$L4Z+HI`O&&F!mPP2sL{MNQkz`Q__rc%vAtwH;rOpMsR;MoY`DOb5wNmmYGY)$@3I#ZR)LC>Y-mw0s z$zc#wI-Tqv?x@{^SaUb_BsJFxt5jx+<$slQM17jqeXq0h6Z z_2mP&gI0;joJLH)=T?jzQqjMDhds@w$U3EYu}F!t@R!1XbZiU$tY)d#UrN|xS+D(1 zk#-BK^#s3>F=ZLWw7V1`StBSb$wl8P3iRSt@kf%z4GVM^FpQ=R8` z6np4h7K#0xWRHRJYyo63d?k_!`@e1&7N}pgoLxg&`wx`7tMe2YqY`<}Q_5Eyc$m_U z5$MB|1MC6z@NTU(H#)#Qg;A#@rH+^o`HIMo^w(LQZ46y@FaPL&D6diMUjEwuP+k~# zVEd>2hw|cUKd}4}|Dn8y%7Nw8`7bPx6QR!Wx+vF3;Zmnn3>Q@de;ooW{(jay}r6n`HX(ft{~Z}N7Nf4j{hr*plc zxRL3SPI|$!t9?gC*Yhtuiv9XHuP5_+PGwHqgooS3$ej!2J5?Z!*q6I+>VfbU$G;vl zyH|X|j{(mb#P%Cs-jO>PG}#tQvMOS~B`a_wK0M^9C#xeCwe0gss#${y zl|wL6(HaYgW!H3)UWJ0rBHl!Q|BI)rJI|W-&&-x88JJ#m-5@GCqq5KSj&AdKX|_rTd% z@+d24a*z<_;2f?MZLpn>BN&@@yK}b+x~TssoV=uemHmkcFJfT<{18p%RwTWvqNo8%98O-SBB8v>?G$Jr zuF;8umOjAf?gbP^enfZQ;>;`AA?s(rlQb7;&C=P^~)`QkHTo9>tM z@1!jo((2lDcKa68Kz{A8U)c}A5yfWBnX|Q{qpZ1c!))ynpK>1lmvam&Rn#+D+w9Jq z>}o85uJiQ({*^|P7gyp(#m~BWv8YeyCzx}QRE%SDw!7n$;jG-~r&5d-UUg}*$&eH8AWjoSCE;#kU!swmh)s0J87WEqdA@xxdiDDUL;;n+#e<_;mE5| z3%c_+wg!?MtCM%R$?@gw&dt25&I3{fy3G>p)Cwud##r#g4DBi9u6 z3fYprkdQPIe@>l?dtx|J;N3s&lJ@4Q194~3hpHD5dCov4%9cJ={J@>+%rkmYsHr|< zwfLGq-IH6W3+-R;y3L0GxwX5=u=7knAOi@VdghH0C95RtUlI#lAo z))6yN4!-3i3eJ}P02CrNf{~2IsUiuffZy%6K>8h``VBlzp5r}Ql%(2n7dfw@C+3dsiDS;Ue00wO z>9deNf6iEqg=ZHU3rG9pJX^ehG+P(nU5I^Q8sXN=?jCc;^fI0q)6;l7V?5quk1k>t zW+aa6rKz;0fXJd`V5q{1={yS~N)-?Q+VMvKoaKKNoj>q6-g8G<@sm7k`Uxjtzv?^+ zVnX#@wC64c^>0^6WN^T_gQ_{ICIjnv6=g9)wccSgUY76XSG+)l8(b>vL#bv7hm*X+ z_dz9gA*+|pyZ zlzvtK7wOX9&zJs(WRBCN8{b40>RLwoO6Fw$gkKj9{|&HA)HO~=hYlPPt)TtU+E>y{ zm}KqkDooO7{3Q*DKsPoZ2ngnq`zfuR+k?u*?9rysV4!AdG%kBIrD^*@<>?*96+KZT zx1|XRGWuWwkufG{B1Ds`?dMdG5Bbqhe`oaPTE)5=_va*)vX#chJEbI(#mjG#P(~v$ zLv(|k#X*fqQOa_tKnNv%P*7kcDJHAYC)0|U7yUgN zB?2MU%E-3qqKeiTy@Ylbv9Q)1Cxj0Z_#~3}Ftw8YzubDLXN(=%MNZ>647q#*p+T~~ z7`HZCnfHUD(!Zc2)vypR4NWx{kA;&Mi;H%tee;q^lFr>?TBZU|@9gNPCdy5yyv13L zr$G8+d873`QqA5ZGW7gzB~lY;!I{G{m3>q@sH?vqW13{#MTWSo`ZBA3yHh&aCN&nPu_MI^j-|yD{6|Z+t*fK5X|fz zWM%dqUDk9-`>{md7&re2mZ(jnH(k**d#|05s`i+|?8Q{oQY4Y^NYV1qy*vj<(b0&` zuap#BE>d)9XqZ@1g;mBglS79ftm8vP$(|z9#=FnD7`ik2KCBoDV$?9UnGnGhgJ+Nyh#U}lT(cPpKZw0b z#*EL&xcW$?C9*FgE5d!7!sRQ3jqeH@ucoM)s(R_ouBKVLP32@SrB2Kiq9+6G zx3DVKg9!`jhrDN3(k>pH64NHU_sy`qM#ks#%?~PjGz&Ued7&Q#2@v{bP{StILjRDm zsRDBTtAt}wVP32*+2vxFJiBPIrvy#X?#y~i&c_nUI8!A19ZfcVj5Hs~j;PxH6=qMW z_=mDPGQv$lFg3ZKVu8&LW)LpX=CCQxUW*wUO`enuFo-4MW3IE$_GQ0-M2p0As6_iC zQc4{vt($!ZRxAnvRlt?1=mK{ZJV(lH{)aRV3+~R)U7?Z4^_l3$nk< zzuuCa&8v=IieEj8#eNl^XMqCVz@BFDLf1zJ#Gq6;C!n7J-*EywDk*hsQQ9 zfv_EmJ$x(a)Ll+Efw%r8!ZDa9DnM60Q`+RDj#Zm=I~FR%Sy3W|=S~g{aT+i7dUE&4 zejWd@8$+8aF4!(%s!k2locCVDI2*hApSs6qS;jM_k-Qjd{pw1p z4mTE>?44ezPF;cj;Jg}l@4f5lLYd_F)`zK+2Ne+DWLQa^At)+5Hl}@(%#4oWdGlm% zc?yFk#!|f7*XCr#?h%D5fj1q+*HA(>xEBDB+&hG@=-{E%$zM-(qHgXWG_%;T&Jhn1 zZTqn?f1;@E$kC**hi=NM#9b@u&)#X>Ou!yOv)N#KNd94ZwR_MD^109@2pQ%tq@ zBl;D1xFY@AyRv^l*H+sf+MhIjJiA|ZGpVxW)*TV=^2VLU&99L(?QO~_!`R9|v@t#V z9k6!JMYrPE7#^+V_+q?@d1}rKP0p>V=gasR7({W>;MHWj! zJxBh2FJDGksRa#+f1E0F%V8oJkb$gQD1>~v|bQFJ1<-7yKf}*7y(l{NjtJTT0mvt0xpg>ri(GFE-w9Na!<1`KhbVjzE zWtPk_WSY;5I68yK=~gGtk71qI&%6%IZkoFv^GgM{8bPc^je(aSUa?eQI#VK2!4x8f zGR~QxC{n@v7YAToBba~jhQgdlJEWtygc6WrNWPkKvZ)4W_D@?`Z)a>!-_N?ucJog{ zZ_%kB46SGW25i^gv>)4va=0rS;8ziQi!H_xyszV3!a+$E>EV~E6EuZxlCkCq?Hsvo zKY_0S(6uzU^#C^-a^83|Pezjf!#@6u=|PX@%vqRT;i!j{my(I%^b#D&L496?te)J_aLO%%UtH2BGO{`F(r*5oxPc@A88BYF3bC%f51GqxUXt+&X; zkgWPJNb1CwHG!zp7NT8WQ`>YZtW#Tb>P(&5tW#5U>K&cJxR5s2>C|;P)vi;& z)2Y=ub%#zZ*QtkeDy>sb>(mmRYLb*}_uF*#Q#$({o%)APZ6(#w*4@X=$-syi8vMBw zP8MHDN}6i?97PT-_9RHBir*9a*e)KYpioMMF{b?s%apn^T8VK+%v@ezM=VG9)OpBi?ph9zCtbqaRBhFzgyGhNt4 z3if*qtJSbt7dBqO5*qf#`>MawU09`p%}}rtS83Qu8g}9k1-nSs8>HL(v0Jadf=$%* z`f6BTx1LYIqPku$4eN+2nvK}T6JLg|_oZwC>=QSWr zYS=KT5+Bj(!WJu7KMflo=-b8rATR4xS%F7CVw&^|>P==DYa5EhuX^=gF2(k+rZbzC zNU^tHW77PCGWmEgHD8wc`qHHT9Fk1%@^JE~ zvAj~CLJACDkUvI~b-X!Q{1YkHUO$L(LwL=-&ffC~ULvWnKD8nG4STcPVsgDYw}{*# zXT0RD(uZidf9^kj&d00StF-_Ab?5I(m7SRQJ2RbVag@z0iH&%aQ8{BkH|hTuugrrd zcvP&LeI~%01$YZU=;Hf87KP1DlTzXvMTx6jMbckGDb(zRwD<;M)pe78~YEnzpRl{SlJHC$1Y2n6-!1TA@?O#%Ers^!>U#B8+BCSY}Z=;w3K?v=ZR5!FFk=i;^QXY;wa#48a0!4f}JT9Pdj z7Db734o!$LLF9qjFS^U`CY&e8sEuV0IvDEPw-9!Zh@sBBAMCqL1BTtQuoN$9SuT0cc|Z^n>E+VP>UEU zM`&0PPv|Db&_wnq>MHv|*Ivl1Rx`7wN9=?h zMldkqL-a-J3@)bGVH!c7{H+P6eZ+e1FeYS3^(;Vn2+$swNL$(#^!bm*bAM~1c7&Wbeu(f-KF=gcrqYp16 zE4Qk@`^an}vvMCse*JTT1ie>ZyyEP$&N>Uk&CHjBKt7VmmZ$+#m8}ok5rX;LarENU zK@DVqRFx>+YP*%vzAENYv?^r^x`BNtf-$KmNP(si1ofIqK~NA4=4n_7g2Bqq1qN1{ zu9f?$k;v6yhzf82SDLE%+8rN1_!xE74>ODwI}()>80W57FL)e0^#hiq&i;Yh7p7R>>mYEwN3KZ5QPRVlhwI1IY!D{bHrpW0j-$963ftST-MQo@rwLBf!wFVXz z2m;}PeLVVv;hTEww&IRYsQVto{janXeH5)dL&@_gsiHH-q8T=_Wx=s(_}0Ei+(EdV{w(LzINg8HhN6O64!7#|$_xr~eP1toQnQaDqKI>*^; zl&%7M(J2=();?2ZoXZ(gD+x7DzCRW>`bX@kvBChO?7C1eY?NVd@fUY0f5&r^2fET;YawM3du?^9C}?Kh zFQ~3vE0d%8;&#!$h+Iik*_)AP^9wC7t+EQkM(Jv5O^_NaELFw?myrmqsIdO9)!~2iLCsr=z0%SEU^SBUi4>~w z$=_N1689JINIhLrQ%|kps_bjAxn}_Ldlld!Qr6NM)>!zrol~K_fo{`JgK^L@bSgCTD+b zb>^H+9iKL=4mNzq1rRHZa2o;|VUf3LwQXUoaVY!(yOruxw6cJulk?7W!HrAnOuO=H z5wWeg`#TF~90}iDpi8rKCZ%wpWwb`@%H5(DKF&^KtJ0->f%sV_lc(!6_)JyDXSCA3 zT1h|2jsUFWvu@6wl7^Wl^61qtv)FEJ*!-y);1~%Z*i*=crMYfSX7_A$L~O0y_&2ZD zn@ zL1a=8w52AU>y7rcvf&gOet`r^oDf%y`acE|HyT*j|@$3Q(eA(GXx~Wj^%LWW*Tr znbwf<|g$-T)SbQWMT# z0Hfx+8^CYYzx}@%YXmB^PnyEKlsmvwynZbcYj@%75}Y-$A>mY|>=_6v#%#974zXG) zPY@J|LSMoMp|Zo<@CMtf8}UK#e#koBui<^azXHaTiWmsnGn;zvFb1Qj2D9{vT{1E4 zL=O>m55e|P-;{U`h*uPXh;*XDuM=J)ozwU`FVp~lms?fTBro@b?k7hH9HM&Uo8nq% zSF&b&y0flIFhEiWGJY&nqNL+#A0$*|`i zj*hr_7)@|72T|U51BOWp(PZGKSIWlB*GMdrH25+9Z)P{uPqL|4sU~>Xczmr)KL2Iw z*}s)Jq;~+c)F~|KD*IKEQ8QK5VLaZ<>j})QBz0Us>FKzwInB2tk4W2KNC+Rh$n|Qv-OwfZOqgf?nk0+z#8Ip@^e#!7TB8-Od zjabp-J)vP_U{H9Q>{c0q#;tVDb+}U4&$6b?j#2aktCrP+)JQA_(nE8nMQiu$7;Oam zy&yOXJ2$ZAO>7rC+B7Em8W@r+g%bzNDO+!;yOu$yMqvf66WQ+6w2qKIW^=dD)lXEV zh8I=WcBm#_%sndog*5nL@MW{wo{L6n_X>Rc^NO!s`poR_vsw4)ee*x}Noey+*FR3D zhvhqcA@}!4yxC`B@yo({+P-iFXJkg>c5!LqAF8yx2}P|qlHrxHWaVIp)3)J8qqtB> z4HvaIR@9;>K{YW-^~8X#!Lpl~ z3is17iOO(tj?4`VCuO5(`(BF7`LWyj93H86!N?sX@+8q&Zi}XG@Vy`ys*UP??*)z7{3nTHoV6p~f zL}LCOBshCgx9K^j7m5>EU&Z#M0HE?%dvd5!ePqU1uj6vnEn#~*FGHn0j?pj0e|HKY zOq`!fblw1Gi8O)~1*?&&0mLXeR=}^~62)SXGI$_3=3A;f5F;c=YcfYoD8P%lG6tP& zf5w^ovwI2n$cS%pHk#z?iq_f3D@T#KVE4dE&B{B~t)1*O8Te~F{xTc1<=H;U?&$Kp z6JDJr6?deL%NPL+mEw~f-BV)n z{2yI{(iCg#Brw#FAsVtwATFnS0pv2dC1gG8B?L+o>%gsRUGrvxys)J7eO0bD=8NWE zTB#T03Uw(K_`)sbe~cHUo5Yy0;-C7^rp=f@q8FR^GbQ6}>aA^^Hk4;`ZB1G2gB-%c-B0waFUQ<-9PNtwYrP$CnyVFm0$ z%{%Mph((L--UQ!$v><;bhwsCk(WmunXX_TSJzicD?!)5=}Zy^0n zKlE$yKft^EgCh@0_IaGUcIC*5|A8afy)PVS570}sG`B!{;oL;t6S~Lpe2*>uBlE9f z8FcZlZY{OqR|h?@A92?cP77wenn-~b^E$!RSa^mnebN|>*dIFX^-jz3JJlD#~sLKE4b zm2xppC~7~jK!%c1^s}E5y?s@G=R)0yk&s~1VbnQfKF3THinsZaA?Aw%y9JMT|EaJ>_yI#i5d^k5mQ z6ZY&nM#TcVkw-ZBpt?)7(skFONOEhwX3x(4oM_iH&rkE(@yZ_elsSKKXyFKQvWgfPGMx#Yym%2{KXiU+*Ip>28!ZXb|Ulle; z;Tx%J%opOBap;uz0iUz*7Bm|DKtRs8i>MS82G0c5*u8u6#wkKV;YrB~|yTn+Cra{}VJd6%;Vq@B8m&lk#hZuwrzmUEgzT}q&ifOIk z%L3!pCRpY-{+Lb>dT}^S%5^;K$YDeAm4qP)2J4Xo!Qc&~h?UXb8xrac%;e}2LWZTV^C13I#82}3UjK;q+vdTnwW$U(%Jj=x4jL1(B63hb%LG{dGN!`7JU)*)uU$h_7pr_fpKX2bZ zA&w(U#OYKQKUqzy>@WFxXEnZ@B9m*>&4zs?#*OQhoSj`#m&y8NEjAX4?FGoH^7W8`) zogjqXMF0F8!22|eteI=-;4AW`wTWnro8Dj_q-FL9;TJbeyQ2D#uKI|sD%f?euCe@p z!GfhtXi#=K?_l{vCaA^?`_Jr*vS(@>Uvpt2G;HokWTW^I3B5RF zhcT)Vdal;O;1MNirsjYnRzJU0&(sI$)SUB?(%y;P3WMTn-Im{15$T4#iR|oKwASz? zb8{^{h>Bdr6BG||N%f2_JojnJ=?M_@Z)wSMJ2k%2YqxQX>TO%IThmV|GEtU^wTw!{ zp=b6-P!kdy4hfv2p3ux0En}WStL5pe*c|wXk?^79=A~OmJSLQvadFwepfRCr5oKsC zEUmrqFWp+Pj3r2G(BKb$&@`AYUo54HKi{Z{y;aAX&)q^%%{?uvXqi5GKxpQy{J;s7 z45U&dWuaT?-%<&|?4VOBGu_n41S2XH$@r4~y}#ETA12>Bi3hl1uTPb}9(^{1Z*U*i ztI74D>o$QdHYU(N5efFxGSLKS4+j?j3)wXO+qiLv9l8+c@bMFu@#&- zh`)2!;vr<2_8Vf>zeQ%U520pw^zW#MRe!Ts`DSunXn@qgVC>IRF1Za? zIL6Jgd`6PDs*fcJ9yv8t#3|S^Lgbxm_W3+j-p5ombTx}*FU1<^dV^{6?mAN zwGSxp{6ApHi?qVL;18%)$=3_q-k?MC-5(P&&&xiA6~lRhzP|!z5Vt+UtKA@yd_u;> ze&iT?o690QlZ+QiX1cy#GA?d4_J?uVABuO_n`vAz`^c7fo*aY;snUQ2zo9rb*Z_Z; zwrXYT$l~R09fP}k*wJy}BRh*AkMeezGREWaVI<75ZI+jF<+R0h7em+q3~}ybYFWuY zNKvi~VejHrcRo%ONCfBi0x?ZXos+4xUAcm{uo3Y zK|WOKejX69*FY?8?&XLgDrUGwp6SsoydQ@TaqRvj|vo}gM=Mhw-`y#g+C!6oUJrCPjqPZCxm7Fskl-zQu ze%L(iPV%obl8nz10Q*iqMC@qW&#(Pl1QTNIz^+`QQK8W&nUt*ok9_=T*ZU`8+}by% z!ELxeK5&_*ezw9{_#mGukPyB(6F--!G*2C4IMr@qsz549XhD^b`{PLo4n(1LjqmU7 z|ENhmt$vn+En=8Sm`37Ewv4YS7vqw-v>LWw2_rjE=lC7;YwM4_{|!JSlK)r8P7YHM z$y|<5f5m?Bla>Y%cK*Z68NA9I=3ta9H|IVUI-We!7|p4253-!PD*I`5f`XE7VI#VW zt=w~=;Zn%HCnQP?%P~_mHxW8n zO7L{b;GOnA>#tOW4+`@efa?%kVqf*o*eMl`n|Zx69vd~gO-zB>R;Sl?J!p|PsoFS< zX$-m&CVU#JA5M!9GMszDZ1II?6-wvF#US(838u<%XiwSSj87KP%SlIS=P6oh za=)}q_k5A=Ircl}QS2|QPK#j0saTW33n324K3E%)oTZaL+@zBYB(p7yL_|TjB>%L_ zyo_9#I?}pxD1&575lTr~{>k_*5z9cn5Ysn&No0sRSjcSQG`CGO)+0vjw{jd?{(=r& zJ4QbTmhsH>Yw<9s*&GRTxZ`+ZgDHJFr9H-RnXBG6j%&LLd6>XQ3TeVxhO}kgE40V% zlalqXcL{082lg3>H$ZEN7^|EIvDvm8vdV1|cleIEYyBxH-&|#5 z2ybMRr_mPA0^;B#UHnVZTnc%Ej{!{|&{CjB+vJN>v>AyCU8z6@yIBU?m%;jjs)-@# z%*H~yAlKf)++!FkIdGQv1EMnIa(;sU*wf32Ia+lZ!8JRZaBO}}QNd!_bDGu}{T%oO z&)fiWQO9f)QP^fwOv5SC{>>f`YKx!-|e>^vdLU>B_^JgW#%#e&Lx&wN&4H`*Rh$@Rj7r8dQGB`k9X zS77^Y5Y*lg)ChATIuw*z>qgr}mAO~V#j1UkXyF&F;(K}-H`6tn?<_$;N3DF8KFZVZ zy^Xi9y$aUvuw=Lyz@hcEwcJiJPUW(W_q+uxp~E6xcL={{q~u}%LOG~P86R6$H~)lgvo3nvp}{=tZ1SX*IY>0S@{W$c+5J)mdE_8lGDe%&nn{C&x@v z@r}Vr&D9bo5)2$mt5Lg+Ici*g3z!Fu(h~=(JhbgmLwQr&J?2K_`LqkFTeZO-V;PARttMKQab0CxOT!U1EjGUS(D`N7NMQas6ltvn&PvNW=URqgw9M$N(Y# z8+{QkhvHWhAp1eAl8uE}C-foG8%26I?^?%tG)GQc|6sb`GgQ(HpIxW`OF>VhsVjOW zfw08#H`TwZeyiA(Z>85FqSvZZ;XYqmYqogP1iGG{n%rj}-+Q3t&a6(Iw%Od7F=Ceq z8TLFa-HhAF#p&q6_!b|hfLO(`v8M5&+6A$nC7!n+nwmJED``qh!jtM(A24(6 zW+o{ziS~-5DnEOK@Wc6Pso2Z1->BZUu)Jg5kJY&LIG=n*mKWCIwSFEaEvg=KY zp9YFI4-nl{mFm|XDI=<%W1y2*1l@4-z{gK<0|>vTw5Hm-g5mpU{8MDXl?Mp!LxF55 zh*Yep-eZ#HUH}- znlK>Gnj!mHQ+y`a2$}ABqAQCQc4LvIM>jUTmHh~PAZ%)2fcp2GJLBc^+5xr74~rIb z5SJ*0qP6KUsmTTVBr>(OIyGvkUKVZwBn)%FKrjjNWa6X`oH!S-Z&tCv=mluRkAh4b z?#fUn!z$I}5rz?G_U+%M7>P=(OVQ18))&;;Mw~8cDw*45Dv47R_8G>_?doj{E9@~f z;KlMh=U*yhXM<*;uNw<{@(m6=Vp=(s`=`~FYYOX(E4T6IitTmA#Z0^_+en+qfRaloDMn=p#A>`dpC8mHwzP)!&h!3XZm)g z>-k%F`9fx}sMaeslJg#k4@g|xq)e{qp9^$b(3nKb?)1%)*cdb>nDCE>)ZCTK5z}U-n%S+p&QF3KD>{wlieG$ z61cM8l)(fD3n{mjCjCcOsV}|tT~1CZSEsSQ@yl`kk8#tq_?VqMo+wl^Sny6C` z;9n;d)~R}qIY}KWDe(ns=L~;4<5ktBC0ffD0cz3u2k7!8$nKH`Bhk)bq;b>V-JD?1 zNXS*A#*ObXCMi=$nP+iI$a}ECXq*ewT$2?uBgRctlTE(Ol|8w3HyF>1^ol2g+o%hA zue$@kUlZnP&1@sGj?1F>?7FD{aOTTi_Hxvm@#2Qw+wSnL8=)F7qL~rm6j1T8@l3&7 z^Xs|icSI}J*Z-}PG0HX9tZ-joBo0%UK9C>HEk@%OMuS|h5C;z&9=x)OZA~oA3_R)$ zM1k|Rf%0Sr%Ih(&@|x?xH?kv>zTb^b`fQmJMr)mMc^c3C?Ac<+nWRnQa^eRkzD|0n z1m<(Jivm2ZdFJ={>qya#nMKsyNmSytI^+6nM(ar1XEOuU_qO+`--c31&(U{wC}J)! z8czaUmzYN4dr0)R5L5^z^c?B^20;&?r}3)7MG`y; zqdW1DTX0=`Iyw*u&00PjhPUC~L<*!ed-)DxHXn(Q-N|4xv%8nz?8V`o?!Asbd}z#Z zhhi?iimuFkSRFN1r6zPJXG$NLy+rD!1|Ionz%vp}eNa5zAU)ADJ>h?oFHT1T=uI!c zXbFSmMg6{L9m^QgVpVLjjOu12dkz?@ zoe3n)WY3fSv_{}OmP9w95%EM=~^=9O;WDPYnv$IKfVy z$~{PHPfeZRh1RhnqV@{sFYD#Bauh$Yb6O!kn8Xo<97m+BC4w&hX6JuJDO%QKRjjmW>=32Ap@- zair#=9!{R-%VQj=*d8%PZaMA1D1L}u_EY!06Pg$gL!`a) zAkrP#C}Kg@FUV3TXWt|LfbVDKY%OGUj;0<|hp^mh$?s*>NRGWsF2I=u0*IpgWadTW zI#b{D5r~4qE#lh&iK9+jGC(ZI=MMz3fu*hlf*md$=Nc$8!~?YB*^sm7G!R48~x~QjcC3@LFO_S zw#tR&5fx-6xv16;7`2LMm?utNZDa5HIuj;EzFXj3`77qqjlLd?Ba8&6LyQ&diX?49ul7 z=c1*e4b=}baJOwDR0-Xn${c~c^_Gu_PjA==Kc@2KQqGGmK^1ZgJ+~JHRWQyT3sfZT z-MNk!Dgj;8iz%2;*p4_eGJ3R;IGCIfL_1V*6&b|W%Yr&(hUFakN_F|is~peEKaPe) z1mtI9hwtEsxxeV#+L)M&3M zpTspWHu=Feem-%JQ^szN4h zwkcQWT6y%yn5QB(4j7bCmQWbWm%Tzaqft(h71lzZ8%?duUU?7+Ieaeb9ham9#y>!+ zh?MYO`~#pU+DkNrjN^RnFt+HZ5|FIleVjpSWc^0q$dP{nT_8~MBs@g^IeXhgIvu{1 z6y?}0QXqq?(H_}7^^XZyj9VP7nn%9@}06!Mm|$6;hC+bSe_;ak|N>P zwCyCNx=D}H4b=47twv%;f4(cwQxQ81M!iP{49*@-vl7N5B~flhqeRq-6yJ0!DuzJ{ zfEpdy)c|Dl^1*O4`CMo$Lv=hda;l5ImS3MQbUt~-=gIz+Rw4KFzd-JLZ=~|PF4!B1 zY2Oz@YTJ78{DwFR`VXXCQ7+cZI4_u}K14IaV306C0H=^&*O5LjFPTrW>*a-64Un#3l#|C>k*QO;jAfaU^O+8iI5%DBuPt3aALKfS}+; zLK2{jLBI`M0d)ig1ynY-B&ZPFAh-~40d%xmMh8*ZRPw#2-rKjUPj@qZ&TmLRbx!T4 zPSvej_gNi0> zRE?)g{N^q80et%hXN(5arOK(Ovj3W8!h2ZAuWuD7J=}O=J>FD-SW;l55?X|aSh&4v z4swm^Bi^+D7LFZ-!wuNTnS|dm)S)e@-HAf`X1st#71N)O&;mRZ)f#`XhQp^l#zNh< z>VA_tj!S3yrr(6VSq-^I9!dHLN5OD#6hWhK(4jmZ*Co-`Dm(iGiM$zxCUbV^sZyH4 zXSf8kT}xW%oexsQ-92l@xv`}z1Q3Yl!Lk>R_#glii#YPi z%NpeC5Yy_V-cDblVh(zDvP^oTF(x6H#Y1t*M2g%r#SNuDhNBfJ9})n z1e2s58nWh)!E_w@o_jiiA~{pOb*ETzfYnyW=+Mg zn}Xdw97g{Tf2@4hNI|U0FMJsBVkb@WJqX8>-hK@V;rI|NcYS4>kB;$Ij$aA4K}E1q zSo8$yU72wY{)C#N5Xiqj^2fP4gf@E$p}&=&Xx|#`j6wr zl+pT06_-lD6AY*qjVC0a0s&%DGUnvU|lEIeU{+iAU zbvRmyc}N%|UKTXrKIj0vGzD8%P`@;FH(t{5s%bn7iV1&9($4Ss%7&u7WFBEV@AJ** zDg7kgVhOA#u)dn@3{S$^$ffH3eKOKYM<6OL_VyU{`K@5&rFZ;EjO!9|z`!yicD*JQyeQ273-VIMM;6|syW|LR$&Cq4#u@`spM z;Zmy%`d7Cw)vpivBpl5n9spe>9wLBKV%S9489Ku`5qcvsD1uOGiI*Jt%09+0l`7Hr ziqMLqk(c}(i@(yU0sM6<4eO9+HRV58C!}0$r@m`KaSgIq>S5n#K+oumfK zUxd#x;W%sQurWYHo8hq3K$4jyObf?_HZIi32zS|ATSB|0dw6iiZ_ zFMoaKQ-E651afh00)t059>bPuP95(o1*CXIh-=yq59dxYH!3c}0Q6UmmmRI%mB+U_ zzw-EpCG#*IC&e-E$>{+c9{9BLVYIJr)wz8~1t+ISsBcw4-;_~7Kla?7HHE+iIt2P)4!dK5mWi;77hAsFA0iknkq1kx%8L(UtYKqjlk}GiRBQ+NW*&vHS#c$9BH=xTZ+RMxO7W!3^A^5+ zhW9&<{15lx1F$rCm=c$6xj5c`+Hvq}!;M)s#|RDnPy`DUxjb(_2`7sCd+Wl@(S3g0 zx)p1c2FCLaf!CShcb+P|60!35Q*d~GLvP>P=N^5&@9pDTNiNG|P`!SJcb?aiG759c z6WOwADT2$ZGJnyM`0IOnV2W>5JG?1i8-AwxUjE$g-Qur&9d{zIiVA#Px?xX2@ayV^ zbljxJO@@MMe-N9VxCwZ zU3UA?@^Y(m=%E#4Z@IzOdmU`8u=HIV_j?EHx@t4^NKJ9DEd?hbuN-~2;GApa8>jbR zQ)rZbe-)1LmxrZ`@#)jic!Uk@E*&Peik3+2iY;3&R(u;gJ;U!oP3D55aqwAOW8435 z6*fR_A7bhi*XY4p3^I@eT(1<^b-hdQtZKv;M%<_j@^s`Q|IsI!Iyyd8Jn2>>VO);< ztxT;nnsk)X^p>OCb`I7kV{P%|lekiWdM4j+-&fW<(>S#HRL z8g?O#vyAA=lr{ZcncUz#OaiDt54QplXW11Yp`vO!%N&4lmbW8CM3WktZ%Bo1a5R=l zNyKjZLPLr!0Yw-dk)rQ$iY`SBoXRHakJmcQJd9U=#ktiycxy!PP2VI^BquFg)Tk`m zv;Yd61(yE;&@^_8Qb{GGmMtX<-}w~CAd$Kh$u4eLc3b?E(n$m6Zbaj3MW9R>MS0tN zQ%}NF52<0qlQK)4=0Gm*?B3m0Qj@HuNRo|sV9D0)Ronj4 z_7J4SOO9R zS?YPqvl$y4RT3E3&ufXaio^(%Byc|sG-V^Z)y}t)mH}|ygWO$A;fdT0wIKWKL(VjLY zWPk}d*3-^&yaz8;M8v@+q?4z!C)d-(gbX(!-+BJ@9P2#;6Q8qMT0PKvn|H3a+Jww9 zIzM@{QZ7rG0~gQ5T441jDaSXusnNPd5;EWDWT(zdO-U=o^JdsxG$Ab;zu5S)CauyX zWSI%sk-o0!o6R;gmyp#aq@hL8QEPognG#ZELYf@?Q|rdZUV@LSI}`KjFOGZegq0oJ zbe51!MrUKr*QZ_4?Sg+u$W{}w=A0G&g225ONyrWpGVb!f4gYA&NSyR9%MKxgk75A! z2%ufj1`nBM%fwZTMxabwW6j?sW(`yneAdk47=K6Ox!S^-wSy7s+`+h4f_+L~!1vas zUMXd%RS3j2?XV}j}a=w)^Z9E8f)zA0fvNcWVN#cE`*o zv&zx8pCF;Kh2y;)Z~4K37C(Kf2DL)_kH*hHu3Xzx?`XseRSEJ;Y*snI>&Ov9!f+}~ zoWst!Pu1T3tTjQ zglC$t<90`LoV)l5?Y0~PT`qb;O%O320#ZTIGo~}?!hiLn|lDV?0@4| zO$zgV_f0=&H!JRKq53k<29Rf<^dNS{!cY*WBhC7{6vek{K%{N)v-PNwLmmv~&oF^) z3plTWEUN5zOpz@9@i{!KXHXOApFm{*&q;0YO~s2Ekocj-zG*m~Bf)Kpus9tanz;tg zq{;FV6SEAgSrRFTM#57eQ0v)pRLNlv&PzHMEx}&tt4)EaW+#QRkU@AUkP>oxwTYY5%jfDG>GVwJ%7874l(__rcx1pdC4m&#Y;rWaM8F#G2 zg0w}ZA1}XLf=l2RXJbA7$XFP}FIa{}4FY#Y%BQ7C<7`4BXWh{{u*T!Xf9Q*V?-{g& ze7YL(FL(g)FO&GMAbtSvHyoW3sO$^dyE}W5uT0jIxLFcDM)pi9Gyc3E+Bu?qY)Asy zl-*~xex~A2s3pR&^)rZ)ASI(kvhP+S>0u-p!zvK;4T8dTc!E&6Qrr-Zbz-Hu#LPU# z7fYb8{B*n*LndG2WAS_?=9^b}g;{Y)_UNJ@FP;L8oXgDI&%}1;N_u$O9E0V7$8m5i zvZXE;H|C-fc^Zd|w9MVm=-v!MWWEn}4G)$xZl?30Js)B2Vl0;vDfWWa$$KGXu9RBH znB1phyFg^31Fx_If6O?@G9~01#)rk3q!3wrlx1UZc>;~@H)}Sz{7)Co z#h2f<`yS|oSHdK!kN8t*8&e;owM^_#YH_7ofLf9*&QJJwy`tp=p&~feXVvT@x-ymFzp2Ulnuw5Kiw%lseU%ZgiWCN0w zjsLPTTzBA}{)BAVi#47@wtTRhq)(9rcrFe+Fov|C#58LTF38LqL{O&RrA&|9j53wu zQ^E*nFV`G%R92&X-dA&6fCCN#spm-@=*b4Wfl6Qv(;6H32S0#H(8Mso8KrI&&u1yZ;t zDvS_QFVwFGvcN=Oa)L5STZWKuJ({v|Kxowdn*F#Vwj33JCqg@YBmU;Q84GuBG{hb8`A*kI`QB3N)` z#(g#VUW2TO_auaZ-_s2>I!I;5B)_&ota8Lt_0a5jP-l&)S8!+i|DQ zT&0S0>M7mf>$4@4{z@uto>hr|Gv7LwNk{G#$#uLa$$$3FH_G1_+W{~E{Az;lL*Z9Z z<%P00JmJQ-s#3xr}qx~_t#;?hbL^X9aFl?hfR{w9ZlrT$b0Z6 zsU}-?6a?$#{b^gi8?_k^@b4_}?)7fUt*)GfovDUCWp%hOTUcW*3gwB0!qS5c6Q7Hi zbrGIVc1$|hHareiw-%A6p!zRONA(NGp!)xUGg*^`eV0+Pi(Jc5^7S-`PZ9BSi2b;* zLeJdZ7Og5Kk3l#WjVvdXeC0Fo%NZ4@ttWi1G=F8rQpq4R8Y%Qa3S#UR^fUHaCP{y6 z1n7y#xNhq!zY|90TlIvw_lBFSzS1*IH@sYruE7Z(v>t9;h*A84yGE(LX~&4T^6yU~ zQ+|^$fLB0H-y{_%->3WXv(UNAu|FXl`4#kKztN2Q%GOsT>r6bjZa%DtcOt-GgJ@c&+zy?0|vvtP=4sdGIAGm7SV@rJ{>DfrO{k2o|!c_)4nZiMQfz2>8oDR3Ur zZukI=lo_Y8@E#K1g&V>b(T?YdXMf{*wAG7WCx|pN5(x{v3-_48hz7n^+Htx>`c~Wv z%vR>b&}++5<*Q?drSCSO2!R{-wZgIanJ3C{P3;=afN~M;0aro~sZ5cq{gTQvqKv_a z#+!I*crAPh&i-QOuyjLuuzG)epR!sUT$Lpq-fD*hd+8xKyN95KRa^^v?x41G=akZ) zFU4NO4j(RqC)AW~Xz3mtMn zzlfur^w;a80RNBzJP3~Gw&!=2JJ&)AFldxz)9&4m6Pm?@? z2*vwSUz9mR`dnU72ZgMAq0k%(_@WmKNmfVVT7n}bku#Xc-zAanuR%b86cpV@ryrF5N?AYSrKv$4)4g@7T5ttrKI~l)&XLgo< z+sN+;XB6N@xOY>qrdw_4uEuhq`%rZ-v)w)ntgB)+lco)iuzdo%BI`ZH8v=#Uz^E$R@ zT25%WKJ8y%DX`xZ8Av1+m*X$gF2SE*T0a4N*HcPSUUzSM@n6N!mdO|NP2Y^{O_H7zlVnSC|D-g( zIbyd&lBrD6Ym(gG4*8qLOf||`j`CLs7v<0K7x{mJKf$z(__reM4PPtIBCpZzY2Ip4 zn!k+NZ5C7eU!vXS3H-Ylog@`2-canQmOHBVQuQvQI*zJ%wf4z!-vt$Lv@dtG2T;4e z(e90ZD>6Ew7;>^<18R+IJS`a)es^^i5Z`BpS{AC%nsGBFZdw!ki^JrNeKSwQNXGuF zZCa(@Wib(SsFTQNZJEf&_=|S<0DppMHTbup%@aqV09c%UhB;6rRPr6JMKIgH4v|y{ z9lpA!DbzGX?TJE7VS0C)^v2`g@B`4TNb4(!VvSNFF-T#=TASnv_& zce6dmnLo6EJJ=I!^PT+7_!j?`!5v+JG3;M0;}*Go4KInJRzViJ4Ra4)7q>F)Wd!Wr z>^rdlT6jJ&^gXh{$yLdfU#W?{uf)jLL%ul_)v%s7H}dBp$IAvH3ikI;jeNS1H%cnM z-pEsv%KI95T2lGRM&3B7yor%FNh<#yn_;-&npD2t$eSjWKX2sClFFwWd5fg->y5m5 z68Y$gw4<84_B(nV+-+7*)4|4$|FzJ_jtOA@EC;WWX&u}YZ1ZI^l56o$HNqr ztsCJ%rXpXTZT%{Xj!O@n@@(X4a>6Otc}<6|91Qv;kh>*NncA)hpY=j6coaG`RRE{bOSY;la^4HM!J{O zaJ0!`2k9Vb@3kh)Ur4W#ek8s3Pb2%Dlzyq9ouu|Sp@MR5CoQ?k(5Ix2&NK8eY1ZY2 zYDv8=G_;PCO?s1b`z1!UinQozL(54wQ1&9}+`&fn9OTPHqsS`CHBt3Mt zkyVl|BTXmGAeE4sk?tZDktULkBHc==$}?$>A=QwsA*E7t80kIAE+=j1W8w`Y^<$|o zAhlq;J|ri<^GM66nMYd4-aLbJEz|5m`mC49;bhWiYIY?3K-qDmH%M(rw@}kZ8bE4F zs=3Id*@#rYp8m6yv8?Y{zx|{|ti#Ww`v#hLyGb{Z{!N<6G`}W|CDoHst~BwskiL~s z6HNP%F^q+GLT}t|C zfT4>>%SeT!x+<(tBmUTSoH_}VAp8t}%_B5%4N!>X*z9D^rgWKr$FG-DQ zt)G+Hk~WimU`xDDYC+k%q|-@nlRTs~q#EY%3Mrc&b17*WWzUn+8E*mUG0Gk%oyK?% zlb)jN0a7t3NLolLC8aXnJ*3+yyMr`?G>-HGTku9w5&P&m(uJHmt|kp94IxdXC0|VX zwZCc4{-l+(&%UI#=Np-y)Sh$>>27MCNt(%2{zlqFSuSZLN5Dy>XDRDI+E-w5IF>Yt zvP{xYQghN9q%_j$q=uHpmNqe!gQOJ7ej)vxrT&rRjKA+m2dKG|bSG2UPP(7;Dd{C@ zeoUH0swK4|ts}ikdXqGbw2IV&w48K^IlM^vgY+EfFzIPhPxjwDQZLejq=#rPm85@l zH|;r{H0dluC8VK$H*^=NMUkP2q>loIZY5=LG2V;B^DCBAZWH zQ_@0GBT{S9pFX4MjKBS)NgRJalkOw!CVk<|f20#A`2=bTw58WbCs6h>sU_$4#iWt6rDsUrlAa{3WV<{{noF8ZI-6-$ke*;$ zmy=#1O(At9O(u;b-A4L5>1NVC=5Re}Fl8f1chZAhLHdJrxRi95bP*|w?NUhUMCwht zge{*>`aiC4&mxUx4&6xYsd*~t1CE@|q^C$Hk_Mb%Y`z_7DpxZ{ld?I-Wsv?sYC>9c zritezwPziEKgw9vP0Zmp(!I30|B~iYGfdh``iAr^%km{@8dLe46ryZ1X)S&7`=q-` z?~)vU{WfU;Wot+yNw1Ke?Plt*lyn($c%C%6tC1}r^&>q_x{35K=|a*2q^{?fctO%$ z+C(Yo6Sl-Xq26+kTt~W!bTz3b;|(E=WDXaT3P}A)``CYd zNn1&N(hsMbvYbP@o3b-W_mcib8qW1gE@==~NGFj#8DLWBK-$OtJC@Xznwg}>xcY5Q zTEZOCNJp_(8ZwM6jb-Z|B+ViHLVA_)ek4sJeNS?(k9LyoW4!Gor~f`B&15TmOxi&U zsU>w{Z>}RfOWB*G@0i~z(p<`xleSUzBFS05JV&~Pt@Jdh*tz~ArBL=D=~vEGxWgr$ zeI;kL>7*HK!4lGA)Vz!IANrn&q^BsmmDJLi|46+^*N~j~Xc*}-$}T5uV44F-?OB!! zNMCSu--q-Q*I?(7mQj{Rs$pB7LAr#aqYG&i>15IYYIY+IDo9t- z>z9*GAWb3dptqS!YDL*?q)#ZjnberF>q#3Z8$sH5nkmZ_q$@c)T}qlsd%1|zlk2)d z(%yk4UT@Mn%psq28Rw3(NUJ$=x{=nBP9lRTs~r17LzNS~0Fl8zxgPg=xsE+Cyk+2f>hNe`30Vy`?v+C*89)QK%v zN^uq@FBiE@>+L;7O#1NF7M;k&Y$JC1sMDu|~~F$CJ`Xr;{3*8C&W~ zI!GE%`h`?R`jPYqE%|#=I$L)q>1@(=k~7{vC0#|?$0TPztCm#59M+K{^B-v%WvfVw zNXtntKPz5zfWaNrO3WmXLm+SG4d+T{B9-9r{)+^3fFwskevO*V zHEA3B=ylQ;q}NDKooqB;CN1k^XfbIdcL<&#UBY-zl2$T@M@a$7W|Ll^tb(+JR8G3L ztI1&sX*g*zsS{JVja0^XH=T}0Y*nxR6{NNV;b z{YqIrX(j0_(qK|IQhU;=q~lr6&ZG-Da!w?*q^uoj4(Vvpvz<*@GDy=%O-MP^^pbvH zEB&5sEb9Z(Z={cy-+xJC881v~McFr`XSrwmCFwGz@;NC$&CR4kl)X>7lCpP6KT-BJ zX$R9>LvpSkULn0o*;3Ld#(SQ0fY&PvNH;Kt$4M2}8JOLE48pY%eu z>FIMwOXwBPB%Q#1{~Ku;HFHS||Ifrbi8O)KfwYfwEGeCoNqUUbob(5CNF%*PYG`6? zX#h13lJ-*e3+WTmkEHKN-;)B2x0Cb(W!p*TQuZn7D#|`4jpdGREol%n*O8q3-X!f~ zkF6r5(_b$q{Xn1fB54VI)^nt%XfIEb2GFwRky7YeA0!p<3apZJK505BaH47X64F}k zwB1EIjb)igI-TXbm9&iO>oKGnUUytW%4V9wNc-s7FDJF-b^k!pP|7YKeZVo@hjby^ z^E}cf%JN7f8Sf0zCG=8VNSCn=CzB3P){%6GBj-5M@ziWXn#pTzA87|iTvO8cj;56w zkyd&UteSDV6jg={st!C#AEM zs!1C;s$M58A-zUAilg{tQcuQPOxjD$XGmr2=_g5znct(N8Kl{yJL$nHNLP}|Ni&(s z6jD!KK~E<2VvTMiIoIzulaA?N+WLCZ+$=*QNX=+HSCIb0ez=r$m~;`Tid0CNL+VX> zh?Gw{hGjX6G?y0AjkK2I_Eb^}j=0XGuP8f_R7GFcjoxQaZi&X40Lc_euAY-X%T7S?z67 zOZt~Jq+X;~NY^snQqm~W^Q0bJV=f^5K#%e`=>yWkq^Eda^Z`;aDM;GIG)qa}lI|fL zL$7!TX)dn{#*v1y?l+QdB3(!NslfEn)uaJTWe8~y$I8W|*0hlRq|fO2`jSEi!GqS$gjuNh@h}-;=g7-cHg`t}(Zh&doBZd`h~PqyJ;lGLDB@QVnSx=@QbL zq*0_*q}8P5q>ZE(NnenjBmG2rnzVy`G>^1`^dRY5`npQe`Ml#Woz#|8LTXRCi*yrx z-9*xbq+3bDNn=QzNY{`qAq^ur^ZVtb9&EvZAiPv~Li0YsDtRGv$1=PSI=Dj)Tj4#- z{x@(kuwnO4<`h`;d>_wO;gI0x-)7?dYrW(k*arN>X-Pa#kx`AGOdwnX8A4va0*9m< zkHzU}zG1Yeq0NbPJ-HKegbeBJoMr zv|&hF4qNVi6wg98v^gKzuHtnO#nA8dC^f#kbz&J*apw0@Q{o)F1iLW!X(%6c;t_W_ zx#qvpKP=GDInW4CfkgD3^J5=`S{c=ytPQlJ4?t@S#m0k+dbMs44@@-y|pDW*mGqiSjRv5WC&$%9=S<>KWj0X{HfB)8v zzfi>=$@I})m+~drJ$$+NyedATfaibFv+}T#JgF=1E5aYv*XfSSke1t=dwrRV;mbjM z6fwvc^6Dc=00rw2d95f4xC^hDu|Tb7%I&lxmhWCf(B<2Ez%HL<|IoGDr$+QFf7M;dAEO-pMCynd;5`MQ3@G6> zuB=C7y)+t{k^VI8@jc!G7-^5*5GHJo8YtQA(aPk9_yODd?(yXu3_S`}U(Uy-X(E#W z`Y(X~`(%Gy|5@>+6Y>9pp-YhhetgWvQfbUU8jUxk16>=B_FTkQKej{+SzoI4QEoE* zt-ny;S%2pg;N7OhSTM``yyZ0#c*gzP;QPVP3WDnkf**!<;zc`nB>FSos`oJseCQA2 zy$n<=2r?pUT&9I#&N_B1(l`F&dBlwPkBbp#`;Wxyn~8{#bbXVKB;4_xIR2SOieI%i z8sC(!iB-PGA+*Y8?XoAzG?QN&)hBUrcpqn7-YSa~%6@hbnRCVk2! z|3NDMp_E(W9}~RTV=fe7k7#J8I+6W>EX0VWm!i@;ge@1RKHvXn)d#`4KI<*{E3xuu zeHKE=ZqKPE{iuAZk`Gn#kxJfO$$KezGbQh&1_NS~jQpq1BH#z83u_Hht%t zW)=990V8Lw?s{${))XKcU8 z{?-_it&CTv`6Kqbb$7&mrT=iTx;cUF72<2MDWw*PnmS{z@N zKa%#U$NP)eUb?>!BRZe0fSR3NKa-y6&qpDO*w?8Dw))e^@37>J638#N5`G|4^dpL-f5GAyS;fNQlUmeu!`kf7FWPK##d4-aBG9<%E^NXhGz{1nP#>$?<6arHg$Rnq>D`DHTVB=l#i5l`$p(tqf1>Ayng^FrDw zZe)F2tn|4s47E#^en9Cv>4(2gl7362@1(y5`U%Uw^~;3i4<<{0zS4KnACfHn(MsPb ze{Qn$yE^*flQ^A({`^WhU9As2(6jw6!dwzD>ZS5Ov@JnXtWO)olr(Y>J`zer#Yvuu60ziN!C)n9J@ zYW+A5inJHCe#}9P$a=$BAKc9RW7h`<>f_7n=;tTWuTuJv@?d?E<0a0ZAupPmA{cyP@e+^WBRA#y9HL11j*d;=$X8kN-Ji#o|4~c6E><2b z-*_n5<(mV=XnQ;B`~Fahn_q@Q)3s;UK0B%Ox-&huKT=FmQTuIX&U#R4Cc~-QC2G_ycEt z8fKJ~|MEaHw!dY(c30)8`^5Bzn_nxH-wQ@=+He2o(ehRx*cyLP`>cbKUEZNgKh}RP zHA=3;hJ^?TLt&biKV}%m0jj=8@vh{onC_`|Jq$5BT5lUprF#^#2`y;*sK4 z)g`Y#7KCztUQNxaSoosrc4#9x4e^-KKzg9w@X&Po{qkZ0cX7Z_=y;~vfq}_v+dW? ze>0K()=f$ED--F@PpprY3=M<6ThYjV!RW;LvVQ53DE+RszPXy$1+`>_v zgUbjs`tKjdj{n5t^mV` zyuGwToP^g)dp@FlIsGZ^{bOB%_O61STOTWZ$G+AePQvTy;`sC{6Qw`EPT%#{BcW>h z+fLBJ{OZbkDfyufjU45(?6ZSWQue$7nr?mE^!9F!&F?X$7d!rY;N9|77_=Dg^X1PH zGolON29^QE4XnmryeIuMcf5*wdIV|9+oA0xzqkXV%oGdcGbs|6NkTXugk3N9EU)7g z4t;=ny8FdP_D@nUNhZ!eNuj(blv^OoAL;l>dSWj(@*d9X%a&Yc;(rV>=Rxy5EJQJ=aVD~ z{(mr(#yE-3lLZhjN&P>HuYaqU^2OHYsRa7lYVG>O>fe$;e_>*MY2WjpuG;q|(YEX% zHvOX#q~BeqpQyb){qP9q??M}rwbxUO_MUxWa|N_x>?Kit*BvRp(Mj_=Jwblmb$*sT zAO0Y|KM$=}<+JoZN}yj8qo2edJdB7*=gUb*A!2X#ddInb8e-xmIKR>Z@zi+k0^PXz zG5yHtAADcRmLUBN@5QD6A#~%?p9?*^{II#mdg{qU`oopJT91xFoP_gfmQx<3pO;KO z^e)S<^qVHrUzS+Eeq)mIOcH(9->!g~?QaJ`YR}hml>8LR*uk_^?%%uK);8r@Ah{MRPFw51}(e47b^L#nppW%C10!LBb9s(<+1i6`xSXm zOgMfABSr#$(lnWVR$~47^-0nXRma#r)a>@Cfz;X$;sutJH<&EF8IoRn{e~pd9}ts& zca{Gs$?|WSEWJHd3G=UiFG>AZC)Qt_Outy^!$74yCR5)vQ}=o{Ao|AMWPfK6)a?DH zPLM|I&Fudu`JuOC<*k&wPRaMa8=L+MN?xbrQz=J(C0hSNIq7`Y6EW@as{Hd9#7*e` zJ%|_ex4ocd+uOFcqVoZJ$mm|EZ92JX(7>#kkIK&g;fpu>E_T^ntT? zgH}G`dBQAJUaP&HL^^T)I`l?t{Ve^P6X`EYtS|mOANuaViR_O|O0J)gNWZ78Z|{$M zU4!-Ys@VOJ=1{iQ*StIH?5Dh(K!3~Y$@Qm*zS@6zT62%|4?WpoDU~MG2wX5 zLX7Bm9;DJcv^utbx+{5|lDAUw7br*jS?7N_OJkKN8@M~(Hcs62#qqljS0Rn~=XD+b z!t18L^nCa2%!#e=|M`4(-72($yZ<2ThXnIc8#@DzqUd>`8A!qQ_m;nv^>Y1NN#>&f z;;HMerO=JDkG4lne{!<)x2}v!zkj0i7eVg`fm+K3*^W2WBoKH0 z`vjA-KL4%SZ=Oje!S&_V*I2)ZK64I@p}sqe-SyCX(RasJFR0o6@J>iMzO4DAgHclZ zp8;sv?d9l;Klt&D1pc6<(oecy_cCI~ta{={%p0#tDJ^@A+*!%0xG8%q9=G}tL(qK? z_bMca3BuYa#|NgzI%n|l*cJBcuR(%#da(aUdpi3E?M$f>w0{<&n)Xciy!@`$WpgR+ z34UbG=jFG(lAyhpB2t|FFM?)*_7;D7Pa^%X$@Tju((jR6ze6H@kJ4A|6<(XfA6KnN zXs>Ia4<8wCuQNp7wbwaNv+Z>xq;d9ovr$s^+7+5^`?=}$Qt72IJy+gI$+s-FLGm*d8}s=rL#oe?v}6WR5jg(TemOmu(l`&HWQu>JS~fI>u%xj&cG zA3lwAVoDM34}X10tkUv_vHdX&Da84c)rjMkANtAWuPj84xrm9Izebsqv^^<*P`@&X zKgdFCJ^w>DuDpAeTIF@e=TxH_T_4s!%U;iqRPx6txBR;^U*o5|O?@A=6?Z+JtXdt*ANvVySQgpPs{-C8*UTH7g|F0(L|4lE(&IitXyEvKt zTu0wppWFl8IC~ilJ=?x5{r-vcyIT6Dy-$W#q`jL%Xt%f6U*tUco2^Bq{WT#MA@${~S$ zM$^1HF3q?R+}f1Vvd>6q6RxL@lDZywJ@xux)n2qtUg10MM_Io@Cu94^aY!NRAKmdj z2a)Xgzn7@Ry?@MEdS3@+x~`~oxc2Hn%p~^F#blz^4;vO)`ldXxUzh?_dq43pXxaW} z*Yeo%j<@6zzXozUem}~i{wD5u(piY%`eQ_m_cn*0r&U<}`B&}l3?%;lVSo2KIdOd^ z_1U{Dwmu`F!Tz!Qfm{#PLeae@M#sC?Cpn0r=7T4p8|^`7J$2w;xTE z;}0)2X~=#wN7E7aqqi=M+8ga3u_NvM3WN#Ud+(Ci`b>pl?D%);Qwzm}^$8$`9{PqQiAvs4`J{TjxjXr}7_`NPoW4ck3Hn?{!8z))(H0RvNwj8*Ifl z<=_88wESm4Xt$?3U)Dj%w)Ye$(mo^&w6^hoMk$hG#Q!~Q)z3|Ds!DGmv?Ak6{L@It z?e)T)lt=w7dN-7Bl+=75h|5pXYo*d_ukzcwI5xk%Pf2-9`+N>jq<^;{IIevp{S_+y z!f5|9&6lwooo=DRE-JxXLOAQpA{yWx+|4g#@ zd!LVuKi^jaRVCN& zl1P7st?!P%6r&nl9}I<-(_Y{IE85=YAUL7D*Fec`?`9@`)E*Zq`L4%e?QN=(uT}Dq zNs4U9PYH0KEJhYXZ_3MgdaRA4P)|u-Yr$5DCRa*JYgLZs=(ej!8 zhd%ACq0NYd`ldg{|8zG=NBi>>s7L&%jNeu!si-_f$@e}RJHEHgb?xDEh$7?fbp%`X zV8-VvOa5T2T*gmiJ;doa6ohtkOT)T;7=Wk=^oJzVZ!7xI`a{jO$Gwl5`bXPS+CRf6 zsrjM`n)dj$$}4?c|4fqWonpj`=Dz}JcK$<|zo|WM1>#-2=qO2Y8gwJiz#9vaZt1}X z5ZX(;=>0smeuGr{KRgocU(^3eUZdo#l>9Lz-@7oj{Nt6pPRaXG9&KMU|3fLxKemOY z-M*H8yC;$Uj)#-#_fMq1D7k)zMEYZs>;JeQLHT_!qS;*5GUb!_`pN4_6&VF zzY>H#?B8uB_xicY(YO4?FzCjupJzcYL3@gQcS)o_*w%OLDaEKp{lO{Fiuen$r(N@7 z?IA_UYm|K3gR$`!D)|Z}pQ_~dDfvhxAF1TMl>BTXH~#2kh$8;#I0S2d)x?tjGABkJ z9nZU-j;((U6eH~;{idp-1+k}p*9@k%~b$@>|(DgX5lMaq9Fg01pf>k;Yid}zkm z$DY|q?IR%LJ?WM~5n32=|A&S_~T?n@A$MmnXM~X_npGtq% z6S3{lNy%%J{LswU@-0;II!iA3PlenbKQAcxNF|@D1!ca?H%jVyyRDU<@)sG2%D3bGX!(@>myb!MRecsE*I$}Qe{6F7dlKpQ zNUq;Mk-o>)cl}o#pPOE?`^P)xisP~l!N%Qv z`lrdszJF}&`*}o+*!R&;Noe0wp=8_luAtP<#J}E(zYf7xd?W8`$sbQ3KiQJsmO$Rb zl3$QO{{5rT@}HDIzTT4mJ|n(-&s*{>3FOl)`HKnU*IV+^1oFO?{E7tflP&of3FJ*I zdGiGF?;nZQ|C{OY^;>VrUr!)^-jY98j<=Cevd7!mP>jsiV$Z!Gx9z8u zksJFs*-HPHX))zz`Vv1y#jk;4WdGygX#Jl_7QY5ccK+j|@t?QiU##L|zK9)fTqVe% zow109@rIX;lWXjWhNEt zdfS=L9sl~}gJyn+_16K!iTAH7jB3_0}9E-&^Y1+Z_-^{N)w|+x3su&w1T# zw0b=e&8}X2?e0Zl@#m9ej5ziCb54T#^)#_;`;hTcXH=v0Yh}u>)(cCa6t`a3F*Vv= zW_(VER;0eKLul34$gj8L55~%)_Rz~@6)n$5DBAv^6Xf>zJln`k`c16#k4u*RuGz8U z;fIoly-6BaVaj^%O{1jNN2{Uf+6Vg2x*jms|A>=t|7#NBS?ww7lVQ+}yWR-c>AT~% zyDD#cU0z8qBT;&x;>6`e1i5~xpJlFJ++w)<6^jrr+8-;RX8Y@@kVg7L*5h-Oe5jI- zSMu&gZu;wTh$8lKG=jCgoMp*(Pl=IR?J510VKPzuwG2`0{<8h4b9D352aIdByDhqZ zKiZ0K%KJRDBjxR_%H#TjsZg@*vlSF0?Iq)Fq>}$|Z>+qRlGiACCnbN(l1qQ2KyLTf zcuOw%@0uA~zJ5k->bD-ENc~Plu+<;Z-VuAJrwYx3cEbIx&^>YXezVC`_0MYP+5Hnq z9~~;=DUa#9ZpXFHNlyBr-?b=Mls%fGRwAV$QW19T5yV^SMcFxMjfOV6u^z&t)YUu` z?C#(9D8f5EhDV|!T4-IRB!EEXEApI%HeGP(C0n^N)8g`x=ewf$)9Xt9WhOfFHzN!A z!x|de7=IWo09&(1Ac&{1kQov%6$uqM@lhu1B<_^JoVATHp*FOcEFMh?AvYkB#ZOHX zKh4C?`z!I^xu5M9lYgp-e-Mu6f97A7D1IXof6ZTsUyvw%3hVz@;-@Bx?`8e%_@?gy z!S@5fOR@vf1p}n12Z!FNVEqGV|8BKxeir|bI4IMB+&{QDQ1YK1D49v*q3prXd$>UG{_N5C8ybfsjWzCE>oH3AQ(3yUp^dB~<#=Lc#?bFupqG2!2}>(^M^cu4 zj*Jhiph_Td&)wXWDXbQ^j7z2Pdii zRvcEmQ*piG&5COkS1Vqlc)8-miWexJr+BvFpyCq6lNFCsJVx;d#X}SiR9vXouQ*R} zH^sS%J1TCcI8$*`#a_h+?@;}(IIMW5;(EoK71t`RR=g&L@%|{B8}OP9X8Cq3jtR_% zg3Qk{Kfs>n#ppM5o~<~jxJ2<}#p4u@Q9MHN5XA!(7uxKu_Z!;eA)MzI@BvrUr5LlP z8Q-=(>eo?mJDaWankGr_;O(kE6^9k?R9vrkv*KFC)r!|BUaokt;suK5DW0u3sJKM& zWX0nYk5N2A@esuW6&EV@E6!8gO>wT`j*8nU&Q#n~u~+fIiK_no^7*b|0M{I8&8&eOd>fhZQ}e(0E%V-zAkb-i3=Bu*M#vgA0yme zFLqSiPI0EvH{*V<|b8 zKGzw=0<%6EVW)>ghA1AWxKOcQah~FCigOirRNPK+rsAfGy^0TxQ~j$rtazv5dc~U+ z*D9{I*=lMu9Tm4zoT<2}%}MO}$Fb4t^Dutf>xZ3+>lJTST&uWR@fyX;6)#r2K=C}qvlRyw zmnfdBc%0%fibp6OqIjUo~<~jxJ2<}#p4u@Q9MHN5XA!(7b^BE&Qsh?ajxQyHpi}y zj)Ev|edJa8aLM~_GF{H~(a(f3+1``=y|Ch)it80`R$QyNTJaji%M~wHyg>0h#j_O$ z6_+TUtazN_F^Weh9-?@l;zGrK#d(UmDb7{gQE@xPnTne#_9{MjqZ;pu!-{t*u2;NS zajoKN#cLEVSG-v90>$$b&sH2%T%vfg;&F<{C?27Bh~j~Y3l;kn=PB-{I9G8;#qAVl zDsHOStN7pzs{a*-74KABuXwZKTE*3h*C<}Dc(LLIisvbwtvIN-MDb+B;}nlkJVNmh z#RC-=D)uYRQ`}8)uHuf0+bPae+*Gkw@xd{w{}qQ7?^Il`c(dYK#np<}C|<63vEl`a z=P918IHwT` zj*8nU&Q#n~u~+fI>s9|N4lCZNxL)yQ#kGp76|YgeT=8PX3lz^&JX>*4af#x|ipMD) zqj-ekA&Lju9NACvt->Dis#<4z_#af^db^vgkM(x0;*N^jDb7^fRIyj_!BMKe6^9k? zR9vrkv*KFC)r!|BUaokt;suK5DW0u3sJKM&WX0nYk5N2A@esuW6&EV@+iXrqnIli# zC3sepPcbb0Z|j3QDsHDZQ*l$pUd0EmQ~j?vtazv5dc~U+*D9`7yhibI#fud$P&`lZ zY{fyvC5k629;bMW;t`66C?2S|P_bWep5ktba}{?~+)i<(;--qdiVt3^`d@Ka@lM6{ zHsicP$$z>!$6BLjT`TX;4j?cPe8~Le0aqM=9e}{X;0Bz$Hb-b1+T3(S6T5QQd$5y96J%lzU`5gs z5##}L%6F}t<26TpQ8MRjZ$q1tE{z}Kh%Hp+6Mf$#?usMqBAZRr!k#cqgQx(?+i|N9oq%B%RSXr-R2+Ugdkb zO76&tIGUFHa-NQpqx-?n@H9)HymrFL#fQ8TeSONSCUhvs^9LpzTM+aInCSp?OlWRL zkLO(Pgy!8O!Qt}SQ9O^gQ*sn>&lwZ4PYaa|Z{jfp30`T=yXJ&e93N8<#*4n+baZe_ zAo!8VrGN09V11}Na`6YNrD_L}nUtMxI7J!v`O2!%Vik`(fq%>ECiX0HCkUK9*Vxl&r1kB)W?bzvc9_CZ0{Pm|dA;n|&L;xl%)Iz$Tnx}%W? zMbGMA{;jX%gl=JGGp8ZZ^=UW_! z%1{I}o1C013f6`mMlDJYc<((?sx-ratkp8?gK2|p-JPK^5SLd?`E>WHNd0%e?3OQ3 zF>rXG!aq7tUN<2<5bQOYPz4Z4aKP|DUdGjMl@m_GkE`UzS%HeQVfbNeGZ4%eD2_CU zBq}pb!Ow8+lZP8jDtQ^F8&TSc_%pE?Mb@s@?i)hkr~cP|;x}6awYjCu9bK z^?`~jMu*<4M{k#JpZH%07i-~sOZZT%Feg-M38!e`sEE)M>+d42?BG2w(-Ufe(giAC z@uZ7E9tVN^7g(RxHu|$o^k=K+Pha$Bi^$IkjPiBqp#xh{iS@k?n56Q)n)p2$=!5fN z4``j1p^b&jC4*H6FbWkJGaOm_&|4;E+HH<(ecFhKR%OO`{PeGGi#XltLT$c878My+ z4U_h(op5|8wI5Qg$moxN&}in6kKZN-n4xiU6>a`0`jr_czXq*d^A0zJC(){-^J&cY zhD-i4So$gWG2;AwWebmZ*mwH`KMXZ~{BQ%hv8=F-bYsTnkV!EzLLHE`^zYWA;8lL~ zm2X0Pc)OWL`8=M=%kV(elooxu?F&?nz@>dR~{KQ2%8WnSD;eqG(#mw822VMX8UK(KdLf60_zy%1!7Z%U0?jKS;`2o4?{2zKZqVZq+R z(S4((gk~Z~?Y#*1m%ir>{ef01t@56e_6yb+_cjiu?Z)52()B%x^6t(a?kjs(8muy7 zGeScr$Svaz~v3Thic0AO-V09O^!nd`noXqg^X-}MQV0I zUTFNNbMQHAw9y^IpgrM|!fQT~uFTGcNqi`E3*>GnsyuhS-D6r z-+j^Jn70apebMFTX0vX8H1l{&u`miuKZ#Sx@aOHjyBI|&pCmrNBBQG*tazx;&Tozf z)%W1}DlzaY+~?E%SFek-ntyec6sNMya=1BhU9Gk^@}Ot3`&3+X0CQ1MWtx1KXl*gH zV5vPI$|}MW+Bq_-0{+0?tWf1wjXcG8tp*yFo#87x{m+Jm{=pER_4?s;*vaaLF%pkO za74+?`&1|IN46pF;wfHFpNhWefy%VUmZRA#+swqDqRI>*f5kE%+yJFyUTkw@8`L z1a7fH;y+SQCbk7CjpQUMGT07Tq)||RN#=JrnJyk!Tj_yIebe87#RaY@DE9=sp@tnX z2Ipq5Vl~_RDfn$kH`?aASJ}y*F3H1#qm-7xyUARHWH5^+l(iGtwb-_v zsbW3vd@glb**DU(XvmTy)~Pp!UwHW+s?c`2-@J-+Z!+n=-M4YHt#%?jVv#*eJ0|R? zU9jiy0G)wrOMQ___?9Ep>vULD=s%yCQSqzEkZ$4x2``h>_x=t)6zouSDU2uBp<4c| z?>!t2ME;ujCR}l_p&?j<8Kn73h;_?!c!sAC6k{OyvOx8f;TR8G_t$am-h+jOuWX`` zHjha2Jy{ak4o*4WD?iIq;Q36lZWT{>nP#7ZI)u+hS@Ro1$2WZfCWd@WW5}%w((B@l z#Ekfc(gSI}>06N@CW>h$&47208r%6PxCZr=O*6&%1&PI0sgX#_mrDCuj;3q{8e!h2 z#tF2D4#G7{#P6j|g0#E}qj4cvMx$wT8HPRKG}7@`ymG4P?TXk@`5T5*_?kngqE}k0 z{AAs+ZliQ_T=3CSisJJemluXBXd}5+rZqL07luK zN)czG0{Xy$4wMLgr9|usNtkA<4hT%p!M_Czelo4ii@q;g-zALw& zzN?F26=>I42tnGR1qckkeIU;Gu~he!EyC`BZ`$v=!1*ag`UIr;vVGtyFNmnPb!jHn zgSz-7{i~6FzSnfiNlC~4bZ21rq?pB1(!7{-JHKFh{}}wiq}&4YZ@SF2@M)JD-&25g zz$RAOHHeD|H-H*pzU}FnC_K^1#I`v^hTr=AZoQu{@70NnwS0MY+*e+T;px`s9@Apj zV!IMAF1Vr27;4L+3XpI5yJ!WOl+dsRFi-#Lp3=(Kq)rWZH#O|Y_nMB+L25DM(M@_I z##lH7qa)udEn9vVVnis66lQw7QQHbDW)N>R-G6!}@c05wfq z)@>L~Qr3SaDC_Yi{{c=}FM+16LbR+_1?;j*T*EC)T8Zi~0Rt(#>o@TUrmX+cW5w-( zbuggtMOcZg8H@UaUaZBHpX_s0`O4q@rJ*4_1^?h`rs5*lqg;~>gSQS;1afete+R+} zD~htyBY)M?Zrul8n~31 zg+J&XS~ohkMgL%Z#K>VJy%E_ow73~DZ0Y-+5o>^Xh(nJow4;vacp0L&esZph-asDC zbnD^qQZi8JA`j0snwig|~_pXWw+WLY(%k z1egi8>;dS8R|(5h@3;)ZobMlk$jtX8HfuWJxBM4w`ZLC1SNt;L;>7nFc{nZ}L8)B3fAl%p{f-YX z#t$QgD+xbK$$KLC)|PzZNS26Xqb=F)Nal!SnJxL!kxUZFBevv_Be_Z>ciWP897%yl zMnVEBMVD@It@Km~j2&PUrHc=D2VrH}erRFTnN^k8bdEIyvqB3n%)>r6$s61xx4!Qr zx%)-t_IFqGrYo97(I2MmWVkGhh{EILGSn1vgDWj_rI)zUhg|6>SNacEI?R;@TxnZZ z+S!$!;z|#h)u=SjkEYe6R4rWT7p_#kjKm@S)5gdUf6JBL?MgSf()q45;7V7xQrWO( zedU`+O!*;KdaWz{@|lSAc2|17D_!hL2fNZ7S9+x@J=>KwbERLq`5x~||AXsE*O2eU zvM0P7)0Z3al7!UTA+JkFH6{#KXToBHY?YObwE(O`VCXf>YGQ0=*2P|eZ&lycaGoDQ zX6z4!7O-Ymvt+Pl*dFeTo6Z^6V)$czvPzW!YYcaQ^Ki@g#{v%16H%&g zzOCzXBxz20t- z6Rl~(`P7ih1>*c`5CNwV0Y(_+O(O(Ic^akE^=(;po4oODo3{Qd;h{u43Y(WJgm^3GdD2W=-$h#bL|7$3S)23cKn zzgWEz1BrKZd^HA96Zsix|KZr|9asy24-|0?NT`V9UsBvI=2 z?rTF~`l7mmsv<0Pprk#XQ zTz0OHIL}MjlgQ%wn~3FWc{A;8_5X=4q6?DBSG5I;V7Rch`NKkLd_VyCHo10LV|$`6 zEGpK`_d3fknN-9=nZ!G-{wv5K|J?G61mwo}mF|$agi;eb8LYGIyJM-5VS$$ETbtZo zk<9qwlWe!#CJVP`k8mSpO!|kee>4%%RG91c`~iZYO^eqL-!wTjV?>1%6EH=9=_pj6 zwqTaa_!6sH{hy6Ab<@jA$_N(w)uUtjqr+|&qn~sMvL$mWO^iGv1Fc^ANEXWCeT1Mr zBU#khfQdQ^bn>p4bN%-NnoLgu`gwwYwi@q()}~+K50Q_X$atGNk@_;t`R~1&y9(uQ zG3-Q=&v`?d)>l0-S}(9F&`od*ebRKDJoZ$6)aeidN}Sk9v_BdOT+7f8BW>eJa^zV&rCW}q4cFnak)QM?!0P9ZjKF-gwg zVkl=n!LvI(1HOIsxlo@gN*@HKH5>|+Y1MZ2oN4R$)rAF_C$jd&Z2w=D{!243vzz`O zrTaf0JC1H$=>&eT%-DC^sX<}8`Mp9__6(vD7%|44TRK>m^$*cM>+DoXEf$Bi}cHZr^k;~Hym?s~BQ)Y{ab)p`YN zYhtt?&a?kz-^+%&QQNm+2)gs8RCtOCkJ3YaDs)=MGu4%1-f{Mbg+~_i8_+eyT2QBN zHN?6D7%K$^01h-wgOH`q01{B1(kWXKt8yvaXXw3_SXs5xc>ycfLMyejU`Jdwdb= z7ft-XCK_5D@5=~Jq=NXqjXM)Z7`iH3(m4=X3Im7Yuf8WY0qoj1Vd$WGFnY6!P3hy& zAZgt*L?Z_XQdsbDFxKfjd;3^T}b$b(QGfR8= z8wJ^v8csssh@VU77eNS0e0*JJG z@!g`+Te|Q??oXVfHy!5%brOx}^5*Hytj;;xxbq+^RH_Alf)Zq1c}SD{YXpLE34#i( z)ScNStY*$Ds2DgG%N>ZKUC48i*{ZB(VSeOUZ$uFx%(`&D?zQNWUF}_2#K@&5(SNf) zQh5;EfSo$}-=J)&^nKx~<|V%CR6nIRjZKS6lsy)kdz0WOJFsN!W3sN0tbdMw*J;M{ z-=2S0P@PEuwUJCF`=)m^WQXhmB)y0tSuZBppEbrW-6nFnyg3G4y*?0*3U!^v-&kM{ ze`f?1@b}(8J(&nRq}3+`{t~#~#QY=hxCuNRXd*DLMs!eCS(O_pidv)B+RjUmPAjXhKiz&MKk&!B?cKzWh> zKZ1MU=XEQ%ncUdw&)o#rR|&uVr8Qti3;D_}r`|HEj9N3-k@qDsyg&wi2gF*w5z=Xm z{!UVx7yjCC-$*79?7Z_E6ve@AbXPX=Y9?fhHzh<}M5 z6#%o^*tec9mQa)JFeL2lR**ii7fEB)&sP+Ra&h(^`LhFvonKh9 zTKU~MFUoM~-0FC!g@j%qZS5Dnck=dJSW>5vyJv86MXaZJHoVXpK9ZQ?8nmGEr6z#j_KlNB85 z)C<^7%__1}SF#q)+H0p)7J;&)?VM)?TV>>>ha_F~A64@tNCI|m(I_rcFL{`*v(DZv zQSItWP*uK9`;XvOha{_ay|^j6!Pr^rb==qg1a)exS#MKO`xg62i~#F- z_EfB*o`cW5LP5BTi4P&fX2ll`O4dERdRsE_Sh zwr?$=UbgdvDt^N7f%9#r54Snnseg?5Ms}DLLIP~(bM+<-=697JccxfsxkNkbzl>QU zBOpX`adU^?xBg4p8aaKpZ@sfR>T7C#&+l7Z8){E%a_*Aca1Y5s2#}U(_1(}_?Rj76 z<1YQq+i$$Kdpy+;J9S%SrMO7%wwE>!Cghb$4`Rez|L-bAa)?j=7Xwi6to&IrD03V* zYADTHX3N%?KuKy6-gvBRAJ`uIb`LZu*lDh3wLofNw46sA};-l@Qt95K>ef%H+ z@=5EBK~e=sS5o3byE%Q5?Xt4y zOY*tpHl$4n7Q}-qrRCw>&sx9Jhbe!#MvfaC6%p)tq z6cOgNxuZ{H1^Q=^P7xk%RA<&oLw1L)J49%S_|~x4e4+aU)RL9S=Y6$HpO?OdM)jhW zCAS&g5&24ZNA3mBiRoQY-SiW#f8D_{SsO)Y7Th*tyOKz6Y-6dPNo80Sdd0#t)%DSZ zb3~-Ab*C4_oF-{=%-0l4HQXpfAydK_OQ4qFAM4(z5j)hDNLMx0!R8)p`f56f?4ho< z^E(Jq1Y2sCHcOxCLYot}f*oV-@tBp&JeZX({weRh5OWTo)_JK`WF9=ew$l}+-dg4o zaQz<+5#+U&Z{sUvBaW88Nep_EOWHN2q;AwdzUEAC+b_XbXawF%du{w5XnRK7$r>J` zFym>9i*bH0Y2(bw^IR`mDOf?Tb+2f5L>SUqYNupkRF@`C37yt*SHgwCg`Z zD&JYPg^@hMc2AhXC)t@;+qcVJx>mP^vS(8^G-NobOEwEvk#TBpUOiCecn|AU{@<3Hi}lej|}g)kwapwp2A`ERj+TwLwsgUlmK09B7A1 z4orMp>pHTIR9|VYTe|n4yr%j#t1JJ`uIcX}mc)1XF})C6pS#}iw@QN7ci%e5mYPlh z&1Tcmc>kDN`mjLUlKEv9mM0NkkSi=^rc5G9hkds#Q985FmCknT&QSjf$r z#3Vm~Bo677*OAm617)T%W!{L{p;xVjzmU})SD47K171?WpIL)phAs^R`8zu>GO~2H zv0TeKA$6j#B~wa>*2dL_OCh1wQ^^Y8vcn1+Nl`*u2wfN$2^Iloe#JcJcFDr|vM;R> zZ>1)%-wv2dMI+YRD*$W=u`{uZ9UBgG7EJX_nDCkKW=!GK%$Nekj45zrOj$oNW!d%95_Rv99b#Vc&(d&w zD(08fh;Qs6)ZLntB>86y_+kToPrZVfFY1;rJ3wn8YlP1#E5Vmg1RVDiQbvhW6N@=EP^|e@HXuP8`J0{_? zT4v8L(c%WhU*i9@$R}%srFx0LOA-K#SFTLT!J~g61vW`&uLx*0V1O`-{JtOs+T_n} z`6HbBETo;89&a~$7yO+_K5JF{Pg?TX9<`2o-TGOr3{vAn{_4)rjuzzc1>%fjyM?0P zTOj89MGWZ_L9$x{%NTk2Vz34@1nTt{(YHt-Y7MwIAnZVP#2xUDPc<5|MEV?9H_y+Y z08EkNE?bqKu7M%qHuNWyMNu~?`==&o50HtPhOE7#qyXXe85pb1s!oQWY}mU*QUB}! zW{M|-mXWXg4@8Pm!S|`~j^nXkN$f4e@=byj+@TI97KP{%A_dT>n*m( zIfUoMtjiHF{W{Eyd?gW0BD*ySTivYQmT`<&qt{qB{YH8``n#(q%NVxvC%D_x_yxd5 zN)3pSF9>h`oe|dG683xp4Vbx?*t0r;`X;5`R5#;SKr=JH6iB+Z4IU&4ye?o?Tftpq zeN|e2!us3k24F=B=nm>#HC}_-ovzg!{5c>1L?>X4{^(2Voc~0vlR?)3@jxKi$|mu= za3JIUB_nU$@+Yv~n?GdnPOI?`bZ;IzOvAkx`Jq~nFi@%Nv|<8HEF~z?2!3a=hGq#` z%tm+2-&kNI>r2*I8&#cVNK|?zFfb9Rzsf|+#d6;tVzBIBNF{dsnCr@93Xg=7Q*Ekf zsar3oVq*}i7GxX)a*h#yChb$AHlf7#nwma~e%8%}gVZ2sAIQNDC}KnNd$3$c4})%V ze<9!m!^N|K$_26@_e4w@TQx=tzDh)i9Eq&w0~|Iu54ww21-b6k=&okvRlh}O1(Nn# zB0p&%6E(HS&S5r=*oNP@ z5YUaVtO>Q@!>(aCjdo}iRZbr}$9chdqoF;11*h2(=b!|eFla!5v%`9-G(y0A`o*labP|APAFG>ouwPb?zR8hEZbL45+ zALcowI|mLZ$jsDCz#Owrh@`TKSZ8DX^#l49#NT(HzD;W45xvqj;@3urt!nbB)3x06 zF!k+P@4SN|3$W3lZSx%ez2wzuN*>cuzl4sA_a%O5J>_p89(E_ePt-wuvy2^i9;B+e zswuqe(!eMOeVlWB;8;0tRp?H@`5xU1=|T0o4|-@bJ=HNCT{wqMPPnb4K=*HHXQ-ec zoH)GxtIAwQOQ|n?DWgut1F{*@A|@~GJdNB|<44Ru{a0nV5?l7A#PMX%0|#UFu(t0d z_bge6Z{GypvVLf-+nhEO-X}Gy-Zf~zlkN3rZ*ebMxKFaJDY|U3Z&@$0_L7X`iZrW| zWSe9`!F%;l5oev0jWmC@503R^U(ecaskh+-2FN%71$oL^)NuhQU+=ANIJ%AX?=v zdBxag{srEVbL`y%z%OKanEs_-%NmXks2_i@FR|Tu3nrqBoh9?0NJH4DJpMRW*D=(U ze)NxpJ?~dT4sC2-)PF*%$fuo;7Rw>lAZY6!N@aC(o9wymcIuX8g0xs%da0iP!(LHE zgN~L)IsO|21y>xy$FU|Nt|QPP7aV6I=Ie+b@lkCeF3=I6Rlyh&F-s!6dLKCgvwXYl z3~H0})UN+mWdjOw<7e)hCpJkeHes<|Oc0^1;TeGxYKxz|GaLc`ekY%9>1?uj7EoNr z@oyi_p(wDh)0iXbpj{13iL+zQu%pSzIln|7+9Agty;3EVf+(sdx)&Uz3&vkn^AE#T zkHZ!1SZllW9YP@pi%AG5c4vpG?aFaCIh2>o`l8T3l@_TomJB_61W!jm zSdGUJnZBGqdHBFGF6MscbO2&l)s%bx>tgFkAEPn;kgN9}za%~|uZQ!Yin+tW7i;+* zdQn3i5Y9@m$w031h{H(Z=K(XKsl<3@TOW%R*5rzgZY0A%>waIK=r=UZ%3Eg68`{w0 z(XAHsE+nVRF4FBtv0MK4eN2LsF|uq|xU<)Q9GOlRkj&h=U@n@48(ZhBgb6Rrllf7xGje7w-BN9zd4kzNB_fimUX$?> zMlDowV`5v>X%ZWb{B+rWy!tA2ee(kXyu6Rp;TE-lNa!S1XRChcXS(WF_)!~9m!qTp zcO*)dp7FQHx1Tar6RNgwCK#LLK;R~<%+dM8XPE5{dN+av75w>F6p`P7Eg0gqbZL}W zNVMi!Q|(NC&^f3xskvL0y!m1Lb~Ur+!imYrJ(Wv_CHM3}8X_VU*`3^7Vcq;HVL*-+ zkXbiyb`h&_l_a2>8YW#V?=9)3^O+-;V$SV+&Ww|Fv-pS7@yKC1<2w#NJx2=qV#e_~ zN%g>d0QA`=`r*9jmx!)2(YNJA<1XPp*hF8O7yVnJEfYOAFM3%j^4sL@0~Qu0)0MQo zu|Hcv2SVXm-PEi3OkY4BNa`o0Ql%yQsC{PWDLjyHdLqf#BUyifgPJt9$IpmbPY#bP z{q{4uyyQdz?@Hhb0?!dxJW0Ly0Mr~EL1HAl_Ol}ck>(G3M;)w0PhJ}E4QpcajU+!j zDbn}(%s%RVleZ{-skR)5kBELEyhYt)QhZk9F991#o&FqVwaVn)1Ebaim3d9gGwFqi zwa5z376qg(;5T=aNPUr|A2xBmc38mUG?Js+j*q0I|!wL!p7f`HV2L`;p z&vQN?8YpD*r?dgxD-SLi(o-26q2fc>A{oQOf6f-u6m>`5m_C-2tTB^ctxwV_UD3v~ z0E*=TgwU8oiIWt*j6S2@0mS?4r*bmB|L+CmjeAIbmVEt`2g)3;FKbN-|BQC;Bm+#K z)I8*w9IOF4)ucd~bbET17v{Wsd4FDcN&WBTA0kI(E|=8*&j-0~At~{uWKQ4v{rdOq zET8fl7~16hx!eNbDh;74?g#o`%slznZ5aX4Dak)m+xV(P0B^~=?nJ`fXty>qC7mV@ zbkyWY-(Eo|Rlb-!Qr#U?$2QxZ!P6$3N56G@t)Le8dB+l&OteMKT3Evbgn;TF`b$Jn zPU0fMoJGE1^Oc9GvG>aOk8JXUx84C)SHx*CS`(2c}r5}nUvp}6gebM3*MBJ7%5dvt^P4ILH@P+rxNmpIoN{g z+Tlh?Wl6aH-xKHfgzockuYB}!{g0cB-`j7=azlRpxR<}4U+g32@FV}I zGt6XfL&S~ZcGcL<#?>a_k<>$YeJh(bEtbX#q3zShJ7A7 zNp|=`YvVI;sX0tyXCTXWmM@@)ct_4$Iwf2X&iY)yi&wStKBkvAZt2``=X1im(P&}R zb(2gu{qnRdH$VbYHV(~(mvq?Fte-|}KK=>4*Ek<>UNhInSPeqj>GuO3AKB2vx2PAy ztWg84T6QCW(Dbs!H*meopv4Qhd7~JLzV!H_%H#G+{3z8Q+!`Q?MLHl zog%odVf_gT%k_S7AAUP%oq5kz*pgKOK+PJMW=peFv5Sw;VzM35GS zU{W3HA|DuOr+H~3NXy(w#Q9#t0TR(bvGn!Oi5~o2o_)=Zq!#so$rYIcb_4&B7x)^3 zuvn1%7}eApRqcES3y6rUtRyz#C}*#5#pEwghxYG7qq!0UmCs62#f@?!LP6v9#n(mL zXrQ7N@4(84^;olgcVp+`bGh)TR}pgUflJ>bw_LJN1vNPK`JvCFC$>jK7=oK@Pf-99ZF@&|l&j3V%qhV`p zrwoBEC?SwjFffX6ul_hi&{BX1UJ3up>ICVLwhkgpz^IsO$fj9}qCnPwE_mHK(%!8z_-nA+(LS#HaAjCxnTR67}o_yDzK~!%X zBqKSjl?<)^G=JrvT>3K5%O!rzGSq)1qp?Ea1-L`#D)X&PrO8+o=J=G44-OTaACiI8fN~Cw3eE|bqA2a@#?v%KHNsK zsI0MbQOUS?p!$a1jX9JV1^?r0fH{%nH;#m2P=-?P6dA zxu};lZysi+js-GUUbiyy@;>tX@ihGh@IYq0m<9=^h;Mr}xWW_;(^2h-trFD|MMSNP zI2+t@Kk;-?)zNeAG}CWa*3*N6ZuVZ`jKtzr&u`TIO8|bez7oZ+^#~!YwM+QERQAT?8nr@jU)U-Ld7Qx}yg27dflO_fgch9p0Ez^%_=x4GTWZ z|7~Bh`5Vszs!a@vx?NY?=NU)yPi`16KwGxKoFrs8;~RXekQVlGXFCu$C;*46v-}GpS@eP|P zd3~c!m#D|cE7Ke2L#B7ZEqZ#d?QJy-BZ>VK{_#8#)xNMLl5;X2*zLgq$yA^-eL|)a zCDV573wSH0)509O{y+55E6QqEN;a0$RPun+R)hG8cCJtVgdexGj97_$LcYpBqKsH7 z46oEDeW^>&lis5HRJt!&x+eL1GwhBuGwhar z-dlVYI%SSA;)mAVQ0$byL!7h0_zb;7SpK=?FAxf?C*9vH=^SmboMF_~>i?^kC%qq^ zPWhvJiZ;go2!Zq*;(FXawG4Pschp@1=1sSJ6~DDYXdqoLBMqfxU^%W+kc5%Z$Sara zfiXlu&g#F0Ke$8S|I@E0Dn8XCJR+z-e1z}_%?S$4Aqt!N2!AP+@H@n3ey5N0Br1;t zArEnuy;4m;v)QmEejJrp4S&-W>eD$(*GQwY+(YDC?i6zU-%>y1@DS3+@{AnJjj+71-aXM$*T~PEYonnd4^bfg*W}Zh#)2|KZYRQO*gw1MqfS~Fzn9jF zcG7BasIp;;)p#9vQ`5l8mot;liwLDy|NM<;-}4yD?pLTqw8GSD11FK$IJ=thXK9Aj zu+Tv0ED{J`@t3l4QP3Cz$t$A0Db*xEM!9cbj9#Q5?la_%I+q5*!u1==$x^Q`v{X=d zh47IEg<}n7C%HZlqfg6b2c}~zlfA`y()`MmjMJ7y1DrhY&j+$W=AkbLGDoc6uF;qJ zMaK<$P}1De`}w(HxZV6=k?niQYPbhTdXj#pLDrPu)8$o=ew_6vqpy8Zpko;Miqxi` zq0=!c=?h@zrUTCPpUmG7ITnYpH%5l9sdYBg`d+JT-da@K{6SHss5aSL7K2?~QARCd zl*Y`cF8?`_EC=w%(5ij_s0+QActg`m|E@wXekNnwYWm2;7Nm#L9M$fZQ(9{{S4Eb> zn&Rm24i0u4v9_j!A-$;B^HthL%<{6D6775Hmevw`WL<%JV0mG|IR6s9 zmbAE~Khm*9%GI%#NbFxVxbg!CTTj-MIHxnwWqdfN7mWu2UZ*jc-}jUcL`x_nKPW?Q zug*S}$dm@tC*eEQBfsz?EHG?=Ag1@QqS~K)n#q`VYj^+HIpQBHj_$@KzmF3ctGTf9D86>*zACGl#L0AyIGF-0Xn=L?cxW|djvd#F zHDQg$)#42n^w^PnS~veu=B`ux<*l0!U`EJz!hWQXqr9IffIIcOe4fzB#WB{+_e+7D z6lk?>7XM7oaKK_B&yX$TQ6r$aEYZdvGXkuP2Z@sbk@NRmi$jLbHP^ct3nOMoIKDAx z>W?L@S{>V#N4XCMl;NB3#8?HkvWJxa1i+|Z^buOf7jERU*QdvIMiX!?0?8@FLFmLUYsPyTOnYTO3*m0ZU zMd%*ZxB3t8z*Ez~*&z2G>P&JP@AMFo#g_P-m6{v-@$)b&*b{MA^3)WFIIaFoWS4)L z$Ee^suYwXZAM0VZoGQVO-lap7mhY_2vkGd`YJFB0RC3YeJ;{qbIIexSq8nS?}K45vKL_)@g z*ls^u+7e|M?iBUep%>)h&UKnpwkNi;qD8gq^r9t=-|3dbGdfbNc!gXHka+@;wx0lV zHfJ_#%rNyQPq>N#1@S(N+A7XE^Ybdqfb0K?=vIG*zcSmnQ|T;E;o^hmU6Zb4OB|V- z+d~ghV`R(_;daoEzerlE|5yCTKZ5sVgY@(On)u$grirD9@U8wu*;Kdmd?_mYwi?~Y zM!-F_UK&hcN(!aQ|9}Glv$LQc#QalO>m;u-DKV3hAVqgQ?UI~le>C!R)E#yZKrtK- z@HF54{(MJ5YZCp8VMl~wM&TuHUg?TJzi!IY1hE%KIMaKOk~3VZ1y}dMw?QfeSNsyI zgFWjGuY~XkiN)xo9}M+JySm#TdKaF!cuk0 z{|6a)&eY|#ASsEa1^N0mqwi(x-j}gEm=j|(ypLHWEh`ZW3Y4J!O6(a0$|B??EtqoJ%m5~%gk6g~ck zgK;V0ynsZw_-N4e96oDOlSNBZ5=(`BF;qhb;^!T6i<)c4RU|Tz(CWo~#qnEDks4dn zr@(p3PA;k_h#yI9uP>ptFtw?JNU`0S6>47zaQ^*Ot-A0El69SAEhj7SnZHVZl-`<{ zhhjI(nG)K+g3;{E{737DNEg2pa%*}Rb;Bi?PjxoZ4L;3%OUbzx$uOXC%c6mynI((& z;mXwt24$0JGBsZ#HQ!V14GEY=dC@oK&U2KW`*j(+!Hb;nbxS7`M(kZYx+WFT<6`49 zR*MVr!TPF}L7eb>J~r;qgfhyQtYV}klA5mls^tXmK1*4^G-|OucWf`%~BnjgQSerG$~RmQNGG z+dZYi8__Zu(O8JmKavEw0B3NsJ?@yq$B|I8wfssJ4ZiQ3RR@+~Y{XGn&03?eLBx(< zQZCBPQ!-BzWA2$141On^am>N(F1E2a(-$LrG0Mz1rtUI(+|h~8qRuHLb-2X1#Z%lt z>>XwH+%rpT_v8xODOoRU+XBI^?m|?Hd#mmb+7nIVbw3X`NSS#--Hk5^%3D1+pU`Nx zy!Rf#oe!*r1$>IqWe=Q4jaw5G4kzN)jTD_yQw`EA#;vt@YmU?gFW4q5RN>{LUQGu>%_#7#sjFEMdRSo4D%HSk%#)U}bR0P%+6=1pLTcGp zcMG|<8W+%zR{sTj(K5z-)D(iYGd9LgTDo5X2+NMfAJS0u|!_19|Y{;inXb(2Iy0~!} zXlsW?UAC(XX68EmG4^6U5}x>&9Xm0FY=TWoo-mzM3Z5c)$BjBx7t}Vn(Ad%XV=O7H z{v!y>zx3gJsv%o)Q{U(}t%?65ogyTC6Li(RrE3rALDSvV{Ub{IyCaH9uq3~~Q5g&l zbIw%HJe}X)0aTe!ULL#NkeB0a2mGCTX4y(10d{KedQ~JzT!TQQ42&$U(M#6EFGYk?C}R2r#ahYqk*25Bh>l(rLj*f-PQzPO&s(|2R_V62NS?6-vsc=Cm`O( z4FN$gj7CO+s&!sd;^^ny9M=$H;i_rxgPF^Oga~GS%Wrm_CHmFM8f*BwfOSt}eRJgD zMgZFG6sU*Zr!@7bg-|qHA_+o01~m&ohI*{Fmd_v(+3O7&GyBwHz3x^3P2ygWxXC5B zj<2`wX^vPmZ3Np8-v~A}G{-A&WNt$!nOtU~(V#ZfVD~?GF@KHx0>`GLnY+1lj%sF z@Z^6qYJR~-EHvs@d|8bj>W^V}=#Nc&urX@#;@TrIba@13=JyE=GyMsF^g@tTA>$X5>82P(y#b*9V+T^CIFL-R*+Gskt@1+&?iKT`b>owBz}2^}hi$O<5G6Vv2nxu`^ zXLAw1HAvz18?5l9CDKh0f{4hA=G}VXpF$*v*}%;q=iY4Rkicee!7>2RwI<+E$c6)bdGB zf0{_xJ~A>UD-UXUGFAG|D-n(AkIYGnUG{MCMyy08k_C4x_qJBs$vvHMtF!#31!&F~ z!)mEU$YEG5iEDBwv0*`XbvY4QfEIOvrUbe^K>5|F*)+VCy8K78(wJNc1=A1{nWH^^ zb*|z|W6sO9)?+*5ey2HgP{Xrr_q1uqN{P5TaSY!FGAO7Aw2aQ?7sdHP6d)pIdSN5>1t9^FF}^>Fha#iV&)uXK&Ok*e&_`m6Sh4R5R3 zSi5V7Z9Uc|2td!J%@k=@4=se2`>tXS?VycFdU}Av+z+RBj7osp&IWOSJVQolI`vg; ztg{~Lpg`@e&$+Mw+`$D30m&=PIO-;_vBW|hF>6vsoztPlQx8QjDEQ`9+q-t=vYTnu z^>*VI&+t5Wm}onOP$Z3(X{2XqnacBXQ+cM{xIKPq%)NXXXQ#PCRYq;;w{qU`>R8XI zQhKWXe1%Mv(bdXy#e6C^W4Sjpyjkn|w%s$rdd71=IaGo6yR-ak4_;ELo-5`T$%+yy zq-<-Fs&$kae>FS1q&Smod${6fT5T#isvvVyZD@O~^C>0h=GHoE(pNF(mcZRWiVgq7 zE<7V#=j>45CB*)cjlOzX%xR;Tl{_27u-&QEb-w?^hJRJ(e3kA+jJciZXCtyG*42f) z_2KykWAOJD<-TqNyie>;jIbhKFDS%JBjUgD?UmtH$Gt8$XT{$(NF1aFloy%xo_>W> zOFqu%<3$`l1z|ou9+J1_atOi|TuTr4A{rSUW2%l(Q_QUmbEplez1Erl2DQ~%Cv#gZ ziNj^F1Y5G1IQCYS*(BK|hOYscb*8>*L4ylp?)2(fyiVe0>FS5ttr5L&q#0KqN(+81 zE!fUZq+3wkV$Y3C%Vx5NujYV}JRlMj*MJ~*3UrpgbD3VqD2a)oEfh(W4i+eX%!86D zy+Wemcl3oZ%lsZR)$QR(zDL@)69cfF<&!QIn|PCkCZhshWk5!x{ETiO&zGp78l=vZ zH(%Pj55_~5W6W7y$76)7bv66d{_v{eoyJjfy@rEw#gvc@RZkl6%FNcaT$-Af<9qZ( zG+^I{Kj^=}ugt=SBS2sDU*Q}5nq2<}8Z9Z2h9w5+R{p&d1uOSc$+)0PTgkdDP%mXM zMl|uM(z7pPT!s(x=8!l~f4p+0WS(v zS6`~fWfd_{QPk0Eb`wsOivN)9ET|T}POAJ}_Es)b=FnWJ)(|+;BzC1({~Q~ccv_`1 za||`Z}#qt#*g}%hu<`9mDZ4Uj7b|KY47T^%-X#D@`u|i zw>!$nNPGL4_73dU-q&@@^vLYxZdiswdLfSy{BV2y-P-%ieBIuA`B77Pv^Qze>LqRT z_uJdezaqJ9X07ZGuQSqC!+Ow>vnp1DcnGtjzf6t&vR-|z(aBTHW)IvjaMCQ|Z+jpZ%%6G3U%A6<`r`@tP@>?H%Zd9PmT z=bfWS=d0WtLY}Cypw(;>jQm4C(IfgGKd}@K6D5AkeZ*Bwjj;NA#f79V2=qK|deOca zF?YepjGz{;g5DN*ftq1GU=P!|H5WFTP=HAF~71 z$Z~Qa>zIf@Aq6z_r$JzG7A81V2crRb^XX8KL%If{_|MSdY825p<$nvaxWreQr8={l z=LuN->r0G}@S!*tWVWd5u4FR2(dOWa?*OhuQS*r0^+uBGl8C7}pfj@T&B)S^X-<9m zdQcf!5C@f*Eax;PJabAGfEp#xvNKf4hhTm9Sy|9}BF!9XMPaVYo}cP$iQ~9;@#vby z&P2px>zgj&^5o+LqrCQY!BJ}{WPo{7&vvWlT|dOgM^&eOWyvtYR|6^Ld_nKu;_>q? ze)!-@#^APmeknbLta&)*TgTb{miUat||G7IFNGRs&zxq{NhcfaYHek;Xo=Gg-N zsDT&5YHwkEWDcrJ9Xr@4WbksM8J*|=8J2Ojucg-c+)gEh$EqE^*$(Zv{#845y8scc zhi3={(kviJ{;>dyXtc&m1FMFJc1}TLZErNw+p*O-dpghb=3ER7SvNj!EaTFgcJ+)* zI?wl&zyD*6;PSS)NKoa65WiaNFP?ny8hKhsR9n6ldxM~&7Hyi%c98x6G|=Y@I)_rK zYk##n&o9m&Pg4}G5G4d=-&;v9%TMRKqQ`e-w{Q3X&%sDH0?~Igi(*D#bm#OkIi@t4 z2KBhVniEEvbu+@5oZdc4N*pC6o{|qK;o0AW-}vA1-^6`Sxmzz2alH>O~ZlpkY{`3zv+$dm-wINSH=hMBc(lzWfnZ6{=@B& z{MNc3DDgk!*W)8Rs#L&OW-I7+z9p~yI=_WYs%Mcr`>g~nVxx=^5NFJx8y{-7*Z0V4LOKd9bp=~tkgnxL?!n6su?dw2TJYx;Gg zPkOy#eaCkI{U?by4cw4tcXx?WSM!IeM^m-4S_QL}=d=J_; zcOYzq@DALG)Z=`y*rR_0++FK&ANDXbZ+^4%>P7X%SaE=8(qKeBfEI35Cs0yfgG-9+ zvU0F+*CzSZ<7x&VfBZ#SmN`Xlt-?$LIhSt%&qO1AD>d-l@VNKg;ibPL-|n#Hx6AZ_ z_ma$!b?$|MMdEfel#4>79Utnf@sA@(+1EYsL0cJC)>B%2cz%}kwiVC2b zkYyjTfFON(>Y6J@beOAekqA!F(v{NLbp@$=Z;Edw)$ zVkOp7y&ET17zI2~L`3M(U%{s=4B@QR3+$(YMB;@ix5#kH`)-Dbrd;iwQHJ}+ESuN3 ztF|y9nbHUs&SB}8774u;kJ!oUD{R=&l8VH~`oT~r)90$c#)QNvs4t2mD{K!c*Qf1! zktiNSe4|<3$(K_9`E2{SnDoK>%X#P0=jL>aEhaYdG>z)aJlmzedKohZFPW=;x&!f_ z;@5HhxO2;Hn2pK>esu6Xm_Kl^eam{P*StumD3BP9zDioySGRCcIKPGO$pvo1$5ECd!w&Z*k&8{RAGF(X6F?M@GhB z9J&F{dC)yty|`8Ud20)21d7$|Abs<0p(sXKN9|=&Q~&SPWDxTWBky|til#dC9by}G zMXBouQ&*+b#Tw|UXmYM1qftneK71baJXqepE|NjaWg>|LaW%eN zBFZqp4VU{8#ROLjE{>t5e$HD$-Q>KL+@X?OJ59Ih`YjSW{W+?3{eODXY#kM~c(e7% zOymde58TAe7Mb|WwARe|OT1Q=n-ZxBBF25*6BcD7(|;z1PQY#F6hLR1y7Ql+d~r+1 z>Pp+=1JpsZjfjAW;307aCcPg``=R+fYPX)xae25C*%=KS5RQ-SIj`ObreA2%1N@pi zwEfD!9&-v(4dgNKY~II6?>WD@{YDOgslOupgHSh6upb3=tjY-PvOBb?<99UV7W~udFY z%J_0~%be)5yiHc>Ru)jqM*2KYOS6$aJ0Q2!N(MbovNU>AP(#f8jeRsYh<&sgJS9nl zu{K(t4)SgEv+zH_b((3PSObSvPnn&kiyyiGJpiZ_)N@oHmnTUm z4abvS^sGkNN91jD6SE&s^pu$Iyz_%y@Z@|H@D4#*k|j}}$X@Kz1^6TYo0RXE|?{`?@>^Vzw+RZTl5R`h1CmE7VhSkJ^l|D}ZJTh&i>1y;lT zL`U5zBZc2=hzS%;VvBd&RPW1j7Yk z+nIQ*vFE9=yK#@5IMPFFJ(nU4>8D`UPCV8(&pB;O>%^(5uprzzF)9G&IaAJw=mEP-=g?*!MJ1T00^`|mln4=&qc&cUNt>R z|BWo-ms8cwd548h;FL0UUtr^j@^a?)^CBEznHE7u70o=RKdSZL<0b0Y%)J^U9eqgN zR7YACfKB^A?xZS>6JBf&d8Z3M{*HG%_%Yn;-=aK3xtW#$+cvNTg)ahh7OF7uIf=}( zb_r5coBIvC7g+k%hr(9F3yhgu&KK0n^n|GbF~$9<=yMYLr|*|kxUbY?pMwZB@>Ux& zD!8>*B_JBMY=<7*osTk*+k(}0iT5%!ca&kpQImUQ1&ux-w^}XnbN92JYT^Qwac2}I z?o6G9G(WZ2p8F~rcrW$SGswUQSQxd4+|N0;NI!Kaas;lvTh-%a(1&re>K#sZH~XqK zs*`yZdxLx%U)wn-wwyP>G%)~;!nZ1Z zv|Q7&+m|>Lk)v{YZ+xcZPjat6zGM~9JJsA@i}5}_SreZ*w5UaLo+>%z4>=QWsC_md zk2+26$<_Y7G$uN{sj8#nMOyurl*73Hq#yTcAAvmd)n2Jw{yB z-U)ZX#i{!8?aXaz<$9>$$=F8wxZ#T#uV&7IE}}^Q6O9I6#?D(WpgsNuJK3;HUV#yj zTMHS`geRm0wUA~GX?aV1?<{@i(pE#*$7t3R&EzN^OD)uX15AZ}=|~m)NaR7-EqBR3FUGYv6r`L9%m4kJdcc>P>1YIul2 zMYSqo`bzMcRiKtq*qa1lZ8*}b_5q67pf5c`Z_q>f;UYitdl|d*AzA;2Aos%-ZLLVl8lc z>E~Y|S;^hKt($)a0#oY;r&C?_YA$%$6)(z+w#P3=@Dgnd7GS>Sa0Dk*me}D=ufR=g zQVF7D9a`5)xs{st3D9|!Rcin1N;#Qvbh6r)_#!$kT$I?BTvXOeij=z323d_eQAR@n zqOLs{M@ze+#(J(oVY`C~& zbng!{&?Nn_8pe{Gtj7IlZ6XsLXBQVkGpcc?KPGPr8q8!I01kGW=XjouT8> znNps+lFnESn`J0;hqlq7dHAtU$X=gB;#XHcZ^b*o{t z^jn&1OLO%cMdb|EW;GN+IP(Y;VA(oN0eIS78a!1uI81|KDC7Z9Jn=*Q65H4n(FA*! z;m%nR`Cd=tZE6HI@J3MW%)l3kmc`#95@A}20t$|W)E-Cj*zs#I;D#Z zf0j%+5E`hwl_E+m+Rga|4Q@3;W`MT=YEjUFOGO$5?BQ*-so0uuas(3Q>S{Z*A@LuG zskuoc>TDFKQn8u_4B01_QEhrE^@U!selDllnR)A$jRev@-CvkI-|q0TV0t)lVoI6s zVF4$f8B4j3t%(t|ov+l}!g^qHo)ASl!`MaLNhR(XV94HH@ze2nhzxI!I&G*XqrSEc zyM1j@IVo`~tqHY8toxd{LDeU7aVKB|y9J${5$V67NCKn4F1a@)Ti2~JVZVsFQ!Cs_ zgCijb>4{wVOmqQ6S3v-r};|h30pKI>n(qS&==CEhf_lor#^Rini4Fk`s zG~-Bne$$km&n`lZ^wMBS{8+UInJ&GUkx-vWsGPP%t>?mnJv7>jRv>*I$z1nuHOlpw zncu1pC2}&6kc@N(CA#>1vtz(0=?hKjxS}jI?e(SaeM?v3r@~o`)0A}NbWKUOL)w0r zj252xe@8~GCnKVG@MRt{^6Hu0EOynLF%CvjHLpu^oHy&7wRO%b4}WVlw$hwhim`nt zn?6PAPb_d+tcG!5qr??4cG^BGIGvjKjW8fL{hDy3{@Ww5cbm|t74o|GGs1myF)#o0 z{T?+P9OLJMx_=Z&O?v&|Zxc7vawE1Jw*Sj?q)+R~{pd6m~e% z08@E9$%+2VjohSVHCzP2aazp1IO*BaZz?QQcTLk3-c_5T_B}ILwW(7IBhNt|g@^~# zM??{*O#guxnjh_>3;H;NKU&Swg%bhOtqZJ1;Z#gVPBck#Bq=SL7+t~L23jCe{~bg5 z4?yZ+lTl3!LoHN^5ELXKNXE*{Kmi+hj=mMB zaUO8DH;0*cYLXWISAPz{&@Q^cVzMs@-0HP`P1To?(nIY!GmoJB>%1*1;2v!K{n z#HqH6%bb~mqRyNO=VDP3cN_W^$WBmNnd^Mq-Ch+kv{m*POQg&2N46(uVnjvq;+%II%xACOv=Vgp#Z0_phYTtxq(V|M>b1>Afde0hvd}4!a2bqk{__c0PHe)#RdYzNjdS7V! z9(6gCA-^$~_h`(yU5&}yBi7u?e)wu6Zg3}6uoGNTwNV(B)xOXf6^m!f5dpm=PGU>! zmH1e=mc&+f(V)~R-z4|=7QPX4d)ssEqR2Qqa6>!$W3erlF%QCsqHQ5yTAXVBDL+kQU=eM2dGr?!k z;HOGok+_W#H<7q*`p9nnHA}aNKVtUAB-nfXI4CzOfY+yvGCiqak}vvA|NI-Pc9>mMRbOD*zwIrgY(X*5VG z424|W9vhBR%w{zpug&k#W+7v`*=k|Tw7D}^i~0{}s{w4)?Y0ec^-eZ=ofoanCZ<-r zkf}`EkTlDpO?>)%J&eCjdV{2K3o5M}#Yuy=h0D~HG^dVZE@kGZ$Xq_*N-u3jy@<1U zMZ^(W07uGQ_8fN;zS?l8Fwuow0%FP@q&7iF;PC$~7uJ>4L5*--+pH#l>(GMm=`3`L zAPu-eGi~ME#Aa`RC7!?#3YS%W#1u0vLo|W38s%UW(_-#&?@V6^$&gulc9NL>_NXWM zl~YXr2-Hh=maY*z$|9`3Ql>7I7!+AiBB`nJpG_9%pR3Wjp;qI6G(q}2m%fm6^~Gc% z^QRZprs~QfTKlEm)lqfDpoJIn5;5LeSgG6$OM^tc5j=3AH7*7bJ^+GsGJ|~j+#ZXN=Aw4ff2SmUX3+i?Q5)sOtra12~ zG-H8~aN<8u*&vs0;mT7!p5mH`PA{h}SVM_CBo}!Nkvh3XuG5;&7s^Dl&K$=%n_v6wkg z#69la?%(c*mtNeTp3aR58bZGRzLei5S01eEQN9~}N^V;uMCnzvme&#CPti134L@fk z$wsp8+cM!eI$>iwZekZXIEHlNQGz!-QzCiylf1A@@nevR8i#8LX|;n=O!wbx2Iir? z-@>M@jZ!4JW>Gg(mLl@jIM21=+!PCadiC{kYw4IeXB%i{^jxVEZU9QAb}jhs?3F5C z)w{b8q4)^ddM0LR7+zMgJa3nD5=-sjo9xsyJlpo3boDWHsULIV`J=0ctjgX+H(hPn|Md$I$q+ac6zY#)*%8mt*mwWVJq(5cmr7yeQVi~OSK0c8Txf)SY-r*zDM!6AE z?mVyDlcak3a9v^gCTjEa3)%Ar?vP8K<`6VyerQ~fw+}AhlcpQeCQsY=G(|i+$h<|8 zZzJ_=NxbXbHKCPYIeU=d@E1Tm_XCFT`CH;R?VM1?R~8(kezSTEvc-`1L4GRl-FbWd33PdjoShxlDlD=v59gTZYbr%eL?g=-`MC`_0723ppmEiA^n zz|J1AS$l)A=P%v1jAqLHr616ApKL;5X>3@z8KDUp50^lch?o6jTDN|EA&S5;Y5`lU z7|8F25=y^BX?2SUSJe8}sCvS6sY{D=zgkdMc>R)NA@u9>T)(cX`Ch*QUca&j=k+Ml zv!_9s%tv|j13kGA#=*jDin5XJga;XoV;O{47*=zF!`uWc`gM81v=VcPof>lbiKVin zd(!}HY{`~l)gKv>&g=##caWw^KOjkc#CXc$>sw!4U^Tv|XSg&YDKC=Zb<0m;Vw{M> zsq)j!wJ9G-mNYcf#L9b5fZQ#yuM$hvrE8=mSQ|L73rSZo*%vgGYEieIC_^S(lCUl$ zcCv;Iufz$L_&5kkW)Ktv>PBgM;c&ASZkf=v7V1q{uZ1|_+*){Qd~PkA z)N?IdG2we_p@ROXt7w|(3%iX*7uIe@u_PYZ`E93~L2~9@?H^gq66hr^f}Z025~YVc z=jBtKzrTv{QJpM!2`6%=JP#@()a`y4G;nL5EGy{mf1JNDw^z)aTpV9)whn4JUN1Yj zA5Nd0;cm@X;6xQ4EaU|&7&nm_>CKhIFe^7v8{{{)Cr4irLxu?6bSW7d@3gOVxQV3MKnrz=OU$G z9~of}UH;5MTqSNyT0~VP2D0AY><%# zHXbh}g((D=uPuv?Dq{D;}6J65YEo*A0{Z7 zezThVk~8y~dm2Kyr4ARm;Z7;$YKgleXyR|Vjp{H(JkM(#&7tMXwQY(}>22a(zIi zm)EsJCQOsyb2jd-ysQazD+wCB*|o-r18t`eCp~ zcR(U3S7^I^(=9}b|4jCK;KAL$=l1w+fp~fOi=}*$rg8a~lm|t9;IQ6FJ%1D2P4u-H z?yw{Omi13MG)MHf${zQmio~btTa*Fb4k}I~YCGRK?pM40^;o}Ido?CNL^15FvI)cj z0VBJsQIJD1N1TjqIzGWYqXH}6I9wLGTg6z|Vij8-uhdGi&qFf@CAPU`=t=`(w+M10 zPyDdt-oiMiETe&d&{BR!ioYMSzwGzMitUDrhze#lyVHue3QUx;e2>hucg@%T(%u`O zRsWCe^(Fp)wzmfV3*N-dp~Z`!c{ly5cm746uTQ8Ueux5NQ|!4z7UK>%Llbn)Y{Inr zM?R))YjMxJ@pSQStP#b8t1WDa&xGh#s;`b^Gt%Tg$IEt7wfBL!~+I$HF6inTby*AP3Vw zA#?ux0ilvjdOoF5AY=Tu=F(G|( zwYD#@YJc$#m2>ai@hslEK7;>Hm7YY{aPk+CsOlxwE&bbHO|uVBuN(t^zM_n#Yk;?s zpvF}TLs)vfm+27or|y}~mIO0+Ws=nlUXGvk@H1?$5U&*BmbCx~vudYiBd)IyOQ%-Z zf!Sk(Kdsho4)E3i@py?Ozv)aAWe#!s3;UXEDN;XKNWVh=PHZ=_aaha7s~G7{bqYxs zb35>h(RsP;CBE71pV`_q-nP?5Z+8AgcbStSy!T+t_xsu*4DyW5Dp0N z+qqCwym3NRa=Ewv6Uuh+m&V#968X|?Gnw?Njrx?b=;I!_*BohKUE=2|!8{`M2ib$r5Ava>l;Cy6@`lsP?6FL|^wz zOlNtYqvVF?9SCI73{S2XpNmg^t!pVk@PEYQ&%8|Y8n=k1FauGIejgtpeS*k`f-`^m zQ7PwFj$>w1<@XV$vRbD}y#`^C?ZD$DwfjryV#zz1yhzVo3Ex{U+}r+Vxf3#X&!pOK zb#M9Jq25`}ptiG%$mYOyu z)7!-*hWAEbrZ2AztxoLV0q>!QR`-ctBQJRuol+EEAThrqMgm0=^JDmV2vj?&iW#9& zwx3Af4Xa+OxJDij*N@ko#L&i1jJSiE?73|)N-XJ=e>ho_*S8fNY~+s?ZBXa+&Gong zHb=xOt#6aI^=T!qY-B6?(sI)?<8LJ6ohqGq9K+ZDV_B-utn5NmD_QJXy;{kb^3D^C zHyZ>aE;~2K9Ql)3zy9>-2l@%v{QaEtp}F)czMro5d-aFU8201|J0D@~$ERo#QToYP zQ7x2zjaprOgg$a*K^T(u_6CuJ7LA4Uo}byLptB6I!S(lkbDx6duMg=gYiwFU*9t5| z8wdeMk_O+8udCz#4UjW`)Y{R^hu^37wDLM~2+sM{B~pZUj08Lm7wD3BpXm+#LB7+- z7xAHAlC1ZU)l-pqd|gDevU>Pxe3Eb3Gw? z#WGUMk71-DA9y2$INqf%7iVGSuGozT8tbcB=Sc2>BjO zmL4wPHoupvL0m?-*HvO$x?+3ImyG9V+CN6xUk21_>cgWSBA09XDFS0j7Yx9ztRm{t zt|+~-vh6=D>P`@^;#l7euv+gFSdH1lm z-C+wQ!Y!S{kLY!*%)mPLp@8_l2&dRP5*i%fnr}@B?~oEkRVacEg^%}2ZO(lB1LK3w zT&+fX-gGpCU9|qlJcg8C+5m+k^uzR?h^p za>El|s9HVZg>3a(FEmr#Nr>81ieDQ1=hx%jTz_`0Qarh>%q%t)#`$*azqfCv zLfi!NxGZ3$R$FUrwRd~B6z`jG2^TL3cmc0~w`YkcqLqtE-tTYb+06!N|9$(ue8@iY z%rloWXU;h@bLPyMZFokeaeqIt$X{c$a~{MSfvlszpZOVv;%_lQSpU4*J2*;hnE1n8 znf)@mzr#+bnbN!K9~{IgfLZf6J-y4ZpOb6C9`c7C%+~_Jj6P`tNyT_;xE<9uja*1N znMO`nr5Yn;tBs3kX4W4ZC+(!!ruwetarN<{jr?EU zBitq%hx8o7?b$xPMGr?^v9q&sroim1yiA<|X40y1O$f)yKZ*AU4iSxWtn_|Z+FEHQ zHcIZZ_=9woy}%l1TllnZ26Z-+A;X*t-GuQfR?-(ZkJk>kq+(w*gx_$u;5zS8x+ya7 zqEcQCzog;^dCtP0Q~A6>ga_RC*-P9X3@|-H9v4a}KzCykx=H$dF9bE?+kPPCz@Z`@?j$@#;S6Q zk^xjx**2lvdv1<7jB%JjiLqo_5wBwQ3``uOFd!+dK+@TY6TN@U$^xlpT^~Fd>oe1z z8^i9Zu=}+7(^=MWTB!1dqJCKS{s`khOWQ$FgnMrWI*&j5U@kS)1Qx1zRwuywZlf4=J09=@vkEQViw#lJ+I%zvFXLy#Jh7AW!YOC?-KKCjfQtBX@o&qv}vwcLy$y5=)^Vh6+JO4LR%NW6ca*+s4TmRHQcOdn zS6oxul!~7B8vY6qo%v7j zYjS{sAw4W4((R8P6TeME3Jt;xakF>A9u<@R+PDoV7<^e{36szKb!+@k(Okb8jhg7f zQ%O~3g520Oi;qzHyPf&x5i;EoA9=pXfxXHS8rhkD8n61-bGK?8`VP{;dPUCWFGCUN zqeS##O6jA5zCMa;utdKiIz^9>W@e(1e39iEAv6Z*!vv$2D(E>*D)1F~$SrRpLPp+& z`>CbuXG7=S-$>vqr(ROR*Ru6j8UAAaG+Y)9P8qj~J68_oXVuz){Ius5Vt&4AZT=;N zYZ}>8#9LS<@S^)eg62hm$-*2@gS~w47mZN z95gRmr%PT#wKUOb{b zbYn$gY+y=IFggEZ_Y;!nw$yYCz2+px9s9g!8l9?lwjJcn7j`#Eq zQ`{7(NXjubNT5Sx>CT@xH+nqtP7Fo7H?ROeaa)mOv z7H6tMIoYSMdogQ$Eq(7y4~uA1^4!nbiLAyp&9?OP3NJD3)qCQa`BFofew8zj_hayv)~cEivNPnKhNQ8 zc8If+{|p`N{ImL)Fho_j&K^Rk>L8>1*NRQnVy%)P!!D6U(vXFr?KSy5tN(5Je%YZB z|FQhkMbDwJnW@bj3%=DTKjoO2PhRRXW{D=%p ze`ogAj&r%@Q#zjVY#q-Rtd1uXvw99xW<_7k)Nv1WSe;KqIv=C@eo&U_-uXwRSGP_} zHKui@x{#Z3x-nDpCj{C|ncU2^U+I4dj9xkAxJrTE+H%;a?S0ak6c$b?q*=b==7D%` z`Y2Vz%)_KG{i9;7h=ic3XKC+TH)ITB=IK17`I)!;NSmotU$Gb>UhsJL`0?e6uQc%m zif{AdBZ{x>OMjIgUsnZb1(_eu8(baZ1W^trI>;9SV3lqnv3qPun#dUxy}?FCi2Q?z zm)JFeoroKNW65FRGJgQw^31qZ+t8dmc8<_L&S$*)Sh2&l!g zDPDD)E1@w}6`jSA>3@Fh7-!kJpL3Q?{rvoWbE9R95NtG~HTII+ufrfQl=idgIy8Rn zY&^A#qcDVV8lb0FN7lP z+s8>U z-LY*>GL=W%u)||pm1*#yZIS(LwcMh!rt#_3>OHdz=x3i`tTH+#5_ zwWY1iS&MGjFSGC>qOmt|T7GS40h@DoA11(&?sqV&{9TNnYRW7&AheM?Wq!+BD(7e*Myq6>8Q6!=a~z;CgtSpY;tZ+fh(n3O@^d$CL`_d zkRjy0A1+LWnxSex$0k3=KSfH3=A4{BQv2jD@fybQ#?JPSj-lk(YXb^bsH|||CX^p4 z9Z0CpX?au`oA;S|TMj`ehnhKH2oNpz@};V5<1Qyqbak+Z;x@JK8OGP%-lqpP9Zw5J zMGIx)7u&P)hNFP?itb&`MIGLaW02nwY>O{(O4r16GxseNq#G{33k!aBm(x%*jpFni z&9kRaS=a7z>R9WRwhN)S^i!pS`KoN5EoflltBQT+^W=HfCQEHC&7q(`Q8$sTA71~M z!fz1qXEv%7xIC1(r8=o;7zG&B2?)dVu01Tx!k5G&7?Sihzu#1fa-47Pf|Y}h>Xb* z$N>`zcg=C6ZkiN2X+h<+UzpU}`)<><-)zRl$H^(gS3)tvxuo^H~V zlb)OG+n~-c=#JJyPWzpyQVmGgOl8R3DnUn zzKK7NVmI-(UcKCCzA0Q+baf`&P;_}FTvzlRKdk)ZNs;$uNn+7E<>%L%?+vRUV7>?P zL-rloZ+M2kj=nBaPc`owhyu-7CCcBDt)-sZhl+|A{Sq*Yh* zYvRRF#m7y>&O*i&9EfaiZgL1XE$>79q229PHhq&ERhY&YiRAT?Ahdgh`PBL`pISK* zE?*)K?Lb=Tg4e^Ua(CdB1-IQz|B^9~?LSh6EPI8T*CIM|n)lf+Gx*|m8aeCagv;>6 zzFwb0c%m=sYCN{5s%)qGbYZ8{;;0C>J(r8EQ=_U9gR3>1N11x84VP`M*csc5>HqZ` zlz{JN_}?41gxro$*{*)6!cO(tYNxs*>^@bvy77pV4$->pz}%Nrw+A{o^HM&PiHBAB zazPAKq1c{b&f<57Vk)uGOWbk{`|216Y~03sXye|(u5jUc=75aM?OW2KF4=Q9J$Z%b z`-(2ep#ug;+U*?<_n4bUH9qKUsxXNImqkmNRpxF`Ghv`b3$ostywr8PGE8`*FcC`R zA2G_v-@Hwk5+4(=WzWU-k8&3Oh=MJYRqn>n#vb>*jc53w>Uyb(s()YmzG2PVMH4A}>~Vd-HjAY8 zZHEbD-D=&}fK^#iEPxAgMUzL%!$sYJR+;2oa~mjUnA)NMpIcNn^DX0X?>l40~u;R{xfm=5Vk zeNXjpbh3EuNc5iGD0nol!_4bVucf}qclv!)(~((yPVwQwHKysNCHP7y>)yC0l|$mp z_+um*lZx#n7_Bw$6J0rrUlwkg(XheAg-NI7_Ye~pYdhAAJEfZ*TE{1-WaNc_BhKF> zF|et+-7A5oER+A1GDL7H#>r{lJ1m@7dT6dlG|@Ku8(cW!b~JBQgYn?9ci1Vg?BsB6 zHtv#;q{#b?w+~rQuvuM^j8S$jzjYng1Xal5orNbCwT+ z#Fi}R+1m@%QRs_>@W$xPlCbc{R!PbwHZg-k{WD~ec-G&Oq$#?=RA<9;v%*muW=sqe zUuDD3lD_z|tni$^@H%Ia3>B36a2qQQ<*$ws>Ty2qw2Fm55uNxv z)2J>J5h%7#Mru+6FHeQ*yFnX+szKYxr6#RG8*QyGT4>%)>D1cr0{K>GT=RHI@uaZ= zqwzG}+o`P~sj5%%t3IyEWUqgXR3k$sT&M9`z^b@yl(14T7LTwA84l}54maTjB}~KG z(dTK<&ZD&6G|n1DeRd+HQQ2K*NagM8~&_W@!;%2I7U zUu2$4h08P8FXuyQ3bdUyFr=@-2z`U=Hg-f@4|ljFRqosV*6hG~%XtzXtE7&!SslDfy$0mhMJ}iGzt8)EMOGsNlFlP+hSDq^wF|_pO_(;yOW(oukgYw#98z+!@Gg}cUU>nTOgprRxE89)rqSy=?5> ztC5AZ9!2J8gsB#p zkfWKD$`{96v4#wcH)J(+KCRcMK?FP;D4HuY@kt`QQ(2g41&U8rEEh2|$drohSMRDa zb1)<2i$@sL+VJqK@UX0KAQP?!;dR9Y_FW65=Xif!uxrTZx`YdzB~A2a2Y)rDhH0N* zPYMdPSf$kOQQ~!`CBQEnXvBGn=WZf32-dx4@If0+`Sp<;5U_Yjswm0!PLl89ulP;sg( zA1Zvlu|R;d7V8X!rwq^P=aYz0JF1TXr89D@Y3UYQMm@t&y=oJt1VOjRQ7Pta$joOJ zS2~LVT6HAm=j2@VI9%S!1z0pFaNHUyqa;eH+rlb&n{zWROquv38553^7)i8gc8Go} zAorb4&c;2eD4d&g+nM*U=pYTd17zB`Z})~{JIoA6lfP;gel~ui%GNZmQ+^=3Vy{cb zH9Wm>pW9{b(h$T>q|5DY-#Sb{(}cirQvs^lsMOTxnqy6W>=7>1DSK)0Hg(Dv3%fcg zf4B)7EPz?52h`UMPw-S){w)3Gm~_HeL(#{>)OLftqCJ^#L(vDBa9z<(KWxis*lNo) z`Hy?ae7h)J2R%}^l5&j*;R$CnZ0bL|bd%v+oG-Bi-2(HPW+m-l?<|@`2La9M)FrHr z)YcW=N1u`Kc3Q7y9-l41qlFUQtru!~Kb~dbj_U)Ut!T^}niBQdkDX$xSfNk{9GZb2uZ}J$ypa?KeXCugEA~%;2+lH8lh7$QwzfJj{^- z#cOzpWV&2L@E9>XPrTbaHIoYD|HOn1%}ezmQle)A#fk^0Pl(&f9}{Nrm(ki3EwK3| zFGND~_C}7?T+lD6!)3C<@HYG$#Rdop?$Aj{O#=fYQ zB8*qt!WG+`){AK@-Wt;*RcC4j5sbB4COeCNM|z#|NsaWexN4{&yFM&7QkhyDH6H>e z>KTIP^CVLPMVH&?k<)pm-T{X%>yc% z&WG+6tv8h1kl$d)B~YZN((awy2%R?M&+y~*q}RHPEe0RV^naH#^a#Rq*U+gl@~&kP zwnDipn2u;u)SC;%eQX zlisKb>gWwNu1YjzG21T@_XSy9m3ntGF%egm8aW;~?0sim@%Jfrx72G>3+PJpPZy}- z!%W*#y-*w5J)Kj{E*NpT?8u-40F&bZ6$~jlr32#LQ^iK27Y#DJ@a~J^i*1HPRsDKxSgKOfWrbX<*W@A6K;)GP!VvcUkq}lnt7&n z=G2bAQQmG8ng=#PY7CLhy7v9USer~>F0@SpMp<`kZ(!d2LjIX#r6aZo+^Ghv3`kq4 zO9E9Rtpv6@#tf=xDYsAXOF{=TzNtvik!oeC-eR{XV2dTYDQ;weDcTgJ)>563U_#L9*+F>K1zL|#tg5Hv1{VYO2dd9CEm>HZ}2(2+cuIhN!wd~gae zF}Q&9J57aEiM&FbAml!cDzH0cm4TteuyaDJ4H`G&;r8JYn=xm8&zBoV;aTCjqpK3b z7>-z*-p?m<=$s{E?o%O`O`Zb^>0u8=OMUc*LvdFy?@{F?i|$&uI$W_P{F#m(O(1%k zv=I3PDaBgo2Q&dv8)KCWOifyN4`Kyhpc zyF|(84b%i72S)yYcL<$u{Y%t3@*4Y2xMAd#nQ-06?`FacBfp&q*NvRzhbd3W3x>|X z$O~*7#H%t5@4X-%J;cN}Y;;Nil<7Y*X}FXr0;G6XQ3epr!iu-scft+DZ)U=E#oIFB zhT>N;;kx1%{P3iczqpZsMM{50(bVLoube1i67Xuu3}7WD1<3XU~K5KtKIL^V^${;qte6m3clAoX->G0=5n|urPR! z4J-}*#Rl#QCJ7+3;|~NQh?0oAG{~VEo|xw^43-lVrz{%G5EWk<#4813M1B?Z$0sg9 zy@@WGp<)c0(6^n1W2G5RRDKef#dhVW$ah}+!|#7TI@12p=gL+jro!8Xmr<9a-fw?v zAodz#+)Y)vo$%h?kh{idJGqe3?}*ImzNCubk+CSihIU6}_Y0B4(r0Ast;JD?E{4$% z%D9)e06~>!jVst(-a_TMu{}pP3(jT$YVDmnTi2?O3CHg;4XH^i4R#@aY7z@qs65p@&w-+6$^<9R*cf z%Cou#3&zUGtj@@+7qR6ptxn|KRFfEUca{6G%O*X8Hr5McYTV~FGs^$sU?Y_$nWv^o zUnYWW{#7~4hl^c^8rgdoJHBOm$XZ@AYd;%&fd@Vo+^rwZt52M-c~|l4B#F3trX?1B zyvDRByfh4@tOn$~NGw$Vl=U$27#0-RcAH|*4o#iB1mOo=mk zb@y+1B85CJE>ht+-@iFw8e z)Ca8_oYtE~vP@$_=7g4}2fU4AazMFDE9F(EwO(zFSME{15SNRvyBmEsl>1(6b*`bD z$gHPo5_cJ*5h3QTsY$dL(uvG!F(j4yTx8aVHMx5@>Lg5a!@8j$C`ot;C!}~7nzyqD zR0j+_fj`VX(loWH@hv47yk0k(U?#zkw)VzlY(v>=eYuzG*y>qq=fIQna)ip|%mBRC zVP@hLa1%fyYyCh=&_tu-=rAg>rTJ5Gvugn;06!#|6?d3=MDwVqTez%0`qBn`T zP#C#5(Xg1|hxksWNHy-BD)%k1q|%MyR_+L*27Sd!x$xfof|p0e8rY>oxyNW+hb%@u zc8L0K>;9m(x}akyg(#)A=t_p#a0zh!wtUf*P3w zd*t0jozy3(WTZIzn#t=yQK0yPL6VAtU%-{OPop@ASWKirI~7?zYwf*0&@-Z<9H__|>)hLS0qxk$k<8?6Z<+}!g3Se=#_{5ak$c5kX-rg;yP z;XSl#Ku+pobOT0eumzo*M1y!U$J5c;}?D15Z#`d&u2_5 zOAyPl|BO9i2H*kL)xnS&ip2xZQ9f9od(5;%%S+V=i&} zE7ih!h$X&Eal`jjV)Uh{{p!>_Ri75Yz65s`e;FE0eTyG6SxV(nzt*+;2KM!CdUdOA z$0SII?`!7-vMw?6cDiUw|G9e;DaRxk3@_#zbLl|w-zk|~N4{}!7-+Gn#Bncr+9P;J$pc)1NjL0Y-jBQZ)z z*ud6kot7qBcwcF@Cj0G2CW+o^R;Ox>+hO-2wSPGF^rkS~I|lKzw((lc5)0e0>S`IF zX$Nayrmu+bCG-|;&3CBX-|oA}=%`7eMML?D=6xqDePi;x35cnH2FM))>;MU(CAQ2v z@U2lPDZUZLmiFD(fm<2@Png_n;sZsw)IyvT8pPLYvi~oh`qTD7@q;E^z4Y}(FWaz* z|6Nx6lUeb1X2n0674K%n|1m56`mFe$*)X_g3jllogOn^I6DGb6O@`T0=c#?$r;H-&Ai;|$vVl&KI;Jkk z(+)e%XiFQRNc8mJW>b-J@i=j-omyrfY4l))ieydMOqg@*}49 zi`rA|N2JCOXk?K!FipWHQDtI^B@r39lF#*wYF3to5dG zOxKifkYv)-(@pscXkpJC*$KQO$kx-^FDi#9rLH4&isR(c2wB*jhjvaTbVYK7Q5ITU zXj`dW)*j3x=dEzNnNw$WN&T#J24=5QQz%!)E{PBX{$$-G%K@rp0yn zd-o59AjX>KwV!R>aJ{3A2f5_Mx{FojhTR*h#=jUkmfNv0k784ggH7z>b$o3F#eZ=g zrVV@8rpRf0R}}QM70sz5c%z=)-i&w z{f~NH`x8DEP#@dhJ&SB7^JWeX?tC0IT$gc}K+VIVM;Vg=(;--*ZQQ~YS|NAEHNOfc zzM9+fb4i;eOZvt$u%*qmdF|Q~MgN9vOL~9PX}t;TgwobxYoeDy<&vbuJ3aw7Wa`pS zw?;t}n(1sY@6_C`N&C@dJBu+$z~J&P6MK7aCu*HCSi2%8r|CQN^eKO~ zrCot7GP;0cndDN(Y9n|J1x=D(yzvjhV_#$}d8)PRobRqRvFvJK6DR#wq|oeQNw(*I zjk42Zc*^PhDq0RD^smS-kdpi|4=B(SWKL$L9yV-fk?G@8xX98?8h$$C;QaLH8yS8& zMf}tNKTYmO^oMZ_QAB_5$FRsM6w!vM{(+D5bZaua=e@cep7}*~cAp&=ki4huARjL0 zgG#TW^b`l!DfHm-;PivT{|WZLpDs2x$?(XE*Lx}rriH_R{!lv3;LMD7Iw7bF#8^sm z*l=US3Gd|Wj9%qhBM7PF5Ql9fht0T2fdePr2Q|7-I(iuEaQPYIOvj4OLE@>-f%^5M z&{xXe=*-aaO3LWF@zbk%V*m<^K>pW1(oHT~-q&7Ni8+;8V!{&$vxYR`2;qicr3p6> zp3Q9os8Dq5jr(c%W&X_XY;*c?CMQe!olk6jdkZs249@2Rfu%v| z1_|61yvGLa3;x9h?hhty;DKP54LlOuLIBXeH-?|@k9!~e-INLX{eHQAzc*38qxp7e z9zRn!$~-h0oWO;4fvdQa1^>)}uNDw@L$F+NbMut^TPR;h#lfY(w}$aEZMaE4jBns& z;`>#sgbMV+1rmBOHC-4`3_5+qT&0)5S4Ze~8Ym207&Q12d=vq!q#R-D#fpP^hnqr` zoED6c{UQbkIbrqoTnAlXna;b^8g{CrJ{B z1_cRAT78^r(Gf5S)r$IE=Hp=Vae{L0Cbn*;sQ}HRDj9E!DdlVZzp9+l{q|k31DvVM z)FTX0-hpMTCVJ@A2G3Ctp+c1KvLH8qrpqd^Whqwe1bkECU>Dv3xbup?G(eI zN78rm_AKePE1l=R?68@fq35s;At8N9!Rc(kkd@7;f7j3TZn~=a22t10b3|RtBW&jS z*|auYgg~i#iO;j4R#RF%E^_^H0IvQWCD;sHPZ6l^A|=XI;@A6W-c~bT0H@EYBCZ21 zeTJ8}1VJ}BhSrbZ^%X*vBG-j`U-eYk~ z`pYEK>hSws`V{%Bgds7_G?7mdY2}Y80b8&nF`OL+99#>smf_XPE)uLzE(*1XNtc0V zBhUXgrX;dtaZ7MMQRz{F`rDn- zeb}2BzpXXQdy8LXya3&d5)2m%0t85A^HI$W!3nBSxQPZeU@#g8o|%ka4a~qN69v8* zCXCw`jw729L!-xKX7qrT0aSo7fMlH~{U71I_!T?8-S~kW-wf!O{boZvBMq?~`eutQ zX`qI_%goRh4c3`9nCOW4Z2;gPdz!RQjiDz@YTFu^gqW;$`2ILn&hJAusFkmh(!Jic zmjLtY%f$__lId%!8(Yc@muqUgTeov_c;Uq9?ewGeBo2@ z@ATW(3Ar%8%C|tH*)|}R!YTP%cWGVWgT~0(*92Mv>0~vbuc`lS6Vm6k{~i2$y>EeZ zAOAOR{uKOsO#1}pmjTmGkr+zBzupbb`|#S2`Yqi9yzQH?&kmKQ;r|u>Gm~ioRv!|H z-`d5p+{_X0EJufCj#mF3ZmEg8rM%a~n`KVad(KSR62-s9{nIaU?_7LQtrEM_a71;x zE^v-?F3>~&BJS`*< zlhGq<+?ni%+^cu`#uN8+p0FL3##b%faX7^nM3EarZyC;I$*WbPL# zjW-Kmj@~n^E{P;=-APIQ`R{}q;l-nCpkxOIxi66%<$YmZ?O%uWDud9T`c|854Y} z#^TW=_FWb~n(-gt<1^koBGZ^5@#X+870qpAj$R?qb&}0ExtLFJojH8X!K0Z4eQ-_U z-Z=zq3*1^Z>bH5v84ignrHxl)fXH}E**asYjzEqZQ(b;v(%e?T-)<@^F5(W1w9R=o~Ew`0_}TfMIXH;Vj}!pG8SgkM&8m3Amd zzrh`sZURq{Tn^45f^D_Kc^ubP`xzd`x78lad2rsbsv?)V-xxp-T13`th`^*jlZJkc*GPvBwcjl zuPAznUv$sC{p5{ZZ#&DHSE!uloMpEr6`%`fD&66B@XE7U$HToV4El9F0{GGzTgpW9@AO;47nCv7*W z+P?nr{ZpbQc>W=jL39fyYpXn2f%)|PIgVad>w&# zJd7C9<;hy~;N{^n=f5pa+~LF5`ftmt{Lkg3KH8&Qvp#>)2i(6NiT_mt+H|+G8U>1O zV1J?}(OgaxZaNyz=sA})zw{nYR`1@eF|LR`=tx-?*ui87cSC2eCE9hZ!-34|vhM1N zy-rMf>BMteB1)KKv{-0}51HQD+xP&*pmkhV!!7S|Gv-Z8jG0^=zk3|jRmT@;1g^%vkNc_>_hPxg2WTDA#m5yzATK z|HiWvmvy+zuMM-Te;96B zR!ht5$nOh`>iF#%zq!!1AT2{8E|;^M!QI2AmD6)OYjSbW|Co{)*K?|iQw6GSo2l+# z3Cl&36?>vr)>NdNmYYNji7{V}RCrEHD=*oQ-KUS-5LoTn35yR|P42r97iTnQ7evZZ z5tkdc<7WdHHwn7u7Z?C-d&dN)5B!tRoLVV5Go4q-JfNTK*jeBmh4f#g zt*J?*SS}{Y;@8;Tyz8p$?YhVAKm*I|x=5_b0%zy|o{{0s&}l5@uB{)(_c9=;tc&(C9cKmxTB{Qmy-{nH3x%5FT91Sa#hT~`GHNKcNFo#HwT%UuF&=w ze=YSG4URt(zee2pGM(a@yU1-Tb+?$HsrS~MCTyy{Q$w6z`!50}EC8BIL^cKnNYZ$% z{~}s&zy*2D8ZpFDxE(E8YT^qTuM$({)AjD5*zr#1 z>!5h$Fx-4%BVntPV|Jn$O{|A?CcLJcwb6ig(WQfA{+mggC>jB1N}0O%CgZOAtv3Pn z$Am)<(nY;JzoqWi6&LG^TY4b;C{=6afN3huiF&H=VO24-@k;{q5N-j$9_w%m=Q)GZ zPDbPB1VZjm`J@HX{P;P;Ts-w@%rNMRs=gyspT*bf2i8Yb>aY1!W%`RN*zlIqc22PB z*p6^p=s0#QLdR~v1yQ)I`uI?6eJ&n?dP7dt3O6(yKlkHQ@7l(EQy&hVtDI$P`7`z7 zDmGE{{u==B!{&5L6!XDA;CvuO341IJ^lp;^PShpp2%eP?0nOnUnyaja-UO|>z<-LQw8T~ zjg?rEUHgUD{=6vnU!KL12yD~81@5liF2wcF2MtHsIZJ8<{p()CHMd_Ir?uDPT*N*U zpy#UAqtdkki{_76@*xfXNcF#|H`hAw5?54@a5LbKRY6ZRrCSf0#bM}kL?4INOW~W98 zLb_7>s@7x;Xqh|rGSjZqUZgloHf-2j1Blm!SsyWb) zmVR7)WjgllNbLG@*8krb7o7)%25NBWT&p`?!`y=_L;Ek0qHLSwI%>o z>O6S@VZCz?=m=NEt61{wGRTmXVI3*(3a5@BR7#+MXNmXK3)Gz{@5>tcX7Mwf!_+OS zC^Q}_NY@uhoKw?RSG>M59KX6Yesv^%eGQ!S1@=l)BXCO`J$8~hlKx9hQb%$!K2)%# z@sLTT8xPIx?LizRoj>nU!y;-`t*Y)dvu~&E4GD22iUr<`30wtFk(W_a>PP$-XZ|u#Z|_|)pGFzez)Sku z|8t82T~@7?5i3ycDTf39$~=SqdtkEZKd1EQ>&YiR0)kLoKrzSoshBYb|pJ7==1M_=oO|@9cgP%gZ=g;{! z_uh*-KtB|M2C%PFz(JkeGk4!Jw^?%oTelaUZj2q@qpv}{7i?FzMfFe!EtCs-z>Z#yzvnyf15$Z+Y9FjlQS1uVMO z(SK_~iTZ(*!lB%&76dpG0>M+vO=nyRmfncWj7U8#m{6GNEgbD`AmSc9E?5R zI20|S-8pc|_H1OdXONM{X{=Kd za}5UG0s~K{F`!ds-Z33oELaTuOWhDZZ!pADfNe4k3^xlI<3eCXBw^@U*zx9$7j4u2 zz15n9wLn>Wu`AnP?h*H#1|^tc{j4e zn~N0-(xZVMKzf{s^w5GJ!)JronG@6Fj+r$zQ_#Oeih%g4GfKPZ!N7(Z;THw^`r=D)&5-NV zZ>xGR_b>kBMZ<7U^YA{r*2c@G?R^{nPsP9D$N!%A)i(a;ieK%=|B(1@8-KIn|77Eh zzZB_^166UhXyl{#Dv`xiKn3i$1Ws*)#>m`cGfz|ItNqLx(D?K{`)RB`o$r4d#V5a4 zrpKdPS)*AG5ki)s9>T(ph)412YQ>jeuVLlsQ3uG=mf(ES=$~ty=ei4n3wcu)J+CLE z@ifo0jH#ujDzp|Z2Tw?%Ih%FDgRtF;No|MHHt+FA(+-0E#HhWhU|nOOK51q&FflAA zaUoJ>M}Ikcx}?nVME^F;w z-fB1y*7VNCf+N#>++|Mc>QtOZ$u%Ho z3r`)G+hm^1O}v-zr2-<_9#;$mUKfU^OmcuU$>V-<2tPG~vdygB8)hjnHJzB6#Qnkf zwIjo=Zf%;B8~0!S6!XY1Wt#9cy2lJg*~+3E!&>2@5503+uPcC9E8Kw!w;5 zhyhUQS%e9KEa4N@YFo*!?XEJ)R}HF{D;pN4)?N0Z6A#5_?IS@|Kn=S2 zsM>wNyg~*ju0y>`4VkFRp3~RF!r&a9c2fbB7MGYsl$n31aYFRDC_a7$DuI@uJQaGk zBpCyjYfo8!Au_c28LCOL#H2PEr9AdCmJ>`v>s14!bm+N0>0Hc5y|?@C=kcyP*q-3Y zGVgPIW8TfWjr+_l$KESz*+fU`NRR^1^9+joiml~uibeHW8atQ_%CyY|uQUi*LQ^oqAV)<~FflMD%acVF{ zXBzwp^%P4b$$j-NlzVR$_b^lfA6_m^fr8)4`L|psOA{v0U)|&Ou#S`p$h_zAC z5oArRAggB41@UG9;@=VzZ!Q;9uC9rlZ}R*42d$}&^~*SdGM;{h>YFIT^j#?%M`1G3 z&$^MfpMPkruS=`@*ejrPiTr22=nwQp_G=852*ScI`Mxt6-CljO5cj@wVbW`RcmM{? zW0Lx)9u$F-Xlfn^uWt!1O{bfAK)M<~o$R_umnm<}gZ;~^_0!3UE4#dV{B&v75s?pm z%}B5zA;h8xTpq%s6 zCmni?IyxCGHOCE!{i|YU5X)kNsdgy#=0~wLc}%fFPIxubb{&WtO98Qu@|?wSQ$zl* z;7Ja}GU<=R^EUOO5H=OHY@==1EbrBb zo3Mo*W+N$UH-U_mpk3GU&gD2=&x=INQ9u0TYVaMObnjV15Ea_pc3Q-WL@hB`aoBJuMIyyZAwqh-f%RTPK*KFW_?P#qt`me_md>rc$rMm)0${k`YG(#hy4 zbU+H12%?+@)f!Z-s!KaX>7JgVFPHMgU6Hz6iP^hJjNAQZDNRzURGr53utYO;S?c!1y>cXMS zm-%JvexCyenYb~q8Ddwxsa#vE$JIfL-wvIsI3LbWttrgW%%eB|AXGiGR~ZLyuROaSZNM)qzkPMj94e&&~t zj}C*gCh6lKX1HW%J&6xq*(o3}QT$mxj8_)VdqiI=oge7{2j=019zLX>&E|6?amuC> z0}|j5YvAF@(ueNn;H6Itm?U1bGg9$Ir*#Jj`eZ`HHM`RBn1&kB`cpL18M{9oS3%B# z-|$Mmlv2=#ckbRx$>!8QPwfBdSDUfqiN9lWf$BCrp77B?Rn`HGl)GKHamnrKmMa4` zk^DS&*gRvIXDT1&Yprv^hVr#<}^Iw!J<^#bE|^o(2Qg9*@(i z=<#V3KnUZ=U)R0-3t_t%%96FzBfR7GOpG=A=|_*qy&BUEdRwQR)BStLx~ z_oqna>kO#$++p^kBx=^jj+HDym zicybl_13+M`1%L$X$Dum)O{wwR<8jm*z*M1K;A8j33(vE&MN$trRky?N-9asAuV1W z=<@?;52ojcd_US#ju9y~6agpY-8~6eQ|YuGPYJ0wKj}G{X|dPDY&TU%A!=VlaPkj4 zsEM__rWZEesm}?CcF8WiSnDBV5_TVbhJyFOu9@|uzaC^?Er00oW(n8mxVMTZwFpWz z$g2QXz^_J#&-|9Zn$eex{d{IU$jbB*rlaeRQz@TmypV;|F;pJ?jC-p(GwhnRsPbx= zG?0ST41Ll++xtIzk62xEKelh0kX}02m8o5p6^#-=Pk%GLym|u|2P^6kqS$K2+_1$I zn_e%UVxY>^+PUbpRjik9BcayI-&J4IDQ0O0f%?l-yE=7QxQ=eN>&}asHRwxZD2F?R zgA1dZh4oKmno^)oGyG5KT<(;?oCNdjQM1<1Lr4emmj?ayGaf%#5->)rCBRkfeCEF) zIg0JSl0Nnrx-DQ5d16R`Xe&4^mtNe5auB6ZR(~01sq!DTT5Yj>y z*ncH`oZsEdPK~K+XQ+g>WYk;UlYbnL)6-7&G+B(;VCb!KC4IT`8|m(SkjX;-{=E3} z23@84?$246q)%yDK?BAD zQ%0Ynjx>zZPoI*`|9ME@R-3=^Cp!6UaTEU62XzFc|S)%BkcB-tUO4|<%vuXOwlBew@ z7IjX%S#`Jrd|Dv?Oyv(`^2_+f(zniMyj>#k0KTpR+8g{rzUys$8rDFbMmse(mQ`$l z;U#C;(qNME+iE#JL|6!Hs~u{>)}r=s6E=9OJ))ncOIBoBiCPXMl=|sYh5;W>0^pSm z=>~4H?d)EXZJ*(50kPo*Sf}L$>ILBSqfD!v)^&Q9AQQ1^6k5bRIyv!M$MH&Z>!ZAB z+Atk)?3`q1w0hPa=N9?6Px3k8Qk_IzuZz;1x$gk`73TO6B4;{T0t(?Tx?cYsD)_)6^+; z?C%F>>VYRrH&2HS`+xYsg~+V6{o{5+2N3Na9?NWrpGPX=Z1+FV!&+d39v&X)(}T{R z7M51mco`ya`4|M{d!6;SXJq*b{; zgJQE9MGRCKHY%GWSRb7XNewJgMM2_mk*W1k&~Lmcw`tP3jgpa*^kckx(#f;zGyC}) z^$q>pjbZK1B7#n2=?=+7KI@a*NWDu0?Pggg>l0-U&OWDs@$GS3pttwr47?anfm zb4xqXPV2+`nnvJaKWTa>x6_*siZM@X)4-NJ$~vu5 zYHN;sdM6BduCFbjjAtLBfh}C&^m}guDB4=ogIT0_Uv+(!h zaZtC9#OObWoanUzRBoraRtC=Pe3-%fmownm=V2+f*^j?~u>1=0@!92kY~`aF;*B4C z8`1(cW8dSSi!p|^ef)O1<+n{o`TTZLn%@ctSbj5Oeum%DV}AXk{rIhK$j{<8iA$$d zqCSh?#@uxPzx^3h!NLE7obPT#&Zqfo2IFCx&z4ii!T9VS{|%qTf7-`qM*!QW`Aic% zYpUdoUFj@nq*PXwPdH<@I19AV#|sD8>z|FxdRCoVhU=PbT5PsM#gH^yNGBf-p}-DZp zvtB+}7wfG6nEtFc-DkZOD`34!UbKQw-DLx7QabrbOnYh)B@X!*#y|`N%aTWY#O>pJRqz8D%l_K6!*M3XA~~ zOS~KCadd%!uZqH^iPjMIR07iQU4b7?Vvd{kAmYFr6`~@G&>2Ey!xQ|$3;=?LkuMSR zTg$ISI0|UOMk&fK3U5-*@XoYg&M|vp*uK_SL-$heogHTQkaksrn??^E0ARh#B9&D1 zJ5dPG)J2d39k=}N^v#^Fq?bXzH}f5>Tq_N-jXs8oZGSL}r;)tcp5T?{@~RE2B<0$M z3$Gf@J471ljeh!o%=rrr@5y{AdL>Amd$>Vr<1E#D7E|YWW8=+c3X^O+4rh|RIJe4+ zByJeMK`?I4c+V5#GD|oDRt!WcK5F#L^Z*N-Z`iYr)N5X7;fqk8|C(w#+f4LU{EbFm zL)egE&#G+utAoO~Y3Tn;_*O&N|0R5&a=>GO233h7$AcH!8Ca=|8qUNxG`k1vG^Y~;yeZA8P z==4G@v!2reu1|1Revqb(1J-}(-O~dX0IcxVHQt6yGPC?$-p4B?0^h@k)XTkH>ysUG zoxZtYbQp$(vOw*(MkRN@h}3T$GsK?rz=5lQD{4Ny8rW`$qj5hJXl zeEermHSId;K(tE^9f)$p^&gum4Z82^LwABv#7FlJf#-iicR6T-jN2jO{{7H9?bGP~ zfu;Gef6kzLGpTy+OxqK&e~Jt?^D?b~{t0Fv@-v3`NY);@q{apRlf1H`%8Utikp?Eb z&sf0~F?+5ui657?R+P5nqaWj3Scd0Yz4>@nH*CQ!R|#ZY4g6iTvsJ3GqVW84TC)3vd z8?>JS+MoUiXcuKbyFCm4M#nhU__VQl{Ti34{8O9;=FUlmXJB477=w|Dyr9!MS`k{3 zPOx8o%9lt5R-{4RYbw5lW$88;Lz5Uuc-f;lt$z}$0IJ#lkHn`U=b8HJ)Mc?5OF28{ zb!^TzMijbf+Z<`h?v;y?4Sug|$E=g~zs}zdI%IaRj^E3I4aRC!H>SV_XJ`VsLHC%& zrcxX+7Y%mCZggU&@aBwt#)*wFfoGlA=k51X8OoUv>B3UH`4IZXo9{bcU*nA3>cq5v zK@n#&ILfV99UHaZ=r%s5zP`fL@v5oy%2SOM3@I_J=XZv-Is>yc<_9hd*7O`=U@FC( z%QYP8XfeiS;>_hzgKGY}(5l7EOjwgOTErY}bHoY1&$G)tqXDB^LQE>^aSFwBf@+vB zPz}=wO)Z#0co&L0xx!lew)ax9_Vn4etqG3P33z)mRf+2DMN7^g#@VX0TCnjmBKvwy z)-Ev~d!WX-z84eoZbspB3^aAY{m|5*XL6A3z~r5*pD;6ckVL2afkbbdk>-hC6ZJ(! zZOBC3X2-#W#$J^9+;pZ5VUT5(x-5ZdR%XJ;QdjSpxnd}Lio%34gu4?v_tPBZ7|T-S z+U(P^B`x1Y@hgoNr>i&tv4waD-<!1{b+w`8 z+%!Wn$T1Mr@w^N7ZE3uHVVuO5T8sUy3q$W<%@V zt=PS#H9jW@DG>5Z&M0s)N?LBg$fXEWpdJS;_^M`~zstY{#o(%aHYe<$@;a#e>MSZh zR8)S=GB(E9(GcZc#RxP%eY}N9chS7xL7?Nqj8j{1{!i)j;P_KGQ z?v&9^@)pL}aU7jP7kO9M72TXH{!II;sbtR!A2n>w)VNQZ720S+1NmPVjPEKw>a5OTm~lfEd6mwxr&MmcEz%ZWt#f^lHy~{W(30NU)IOwDrPYmM=@~Dj z6<+Mfnf-P?L^yN5z;Qw%`O=2Psq0MPS*F&6Z$ zK&xgBpOM82{f(DPDL8vQd4N8@JpM>f#X`Ix_Zf({%0EUdi4QWa80ZtP1hi&RnvjIu zH`;fMh<$<$pVoM~U}Mpn&(k;D4G3_w?BW8t;Vq;_H7=e)ZsXu8w~^B|Hx5Hw1!-HacPY}u zo)(jBd+{@*l@aZ|$SfG6bt`p@Plnv8l4|$sXdMi`DC{crOkRyUXAXeAM4}q^4??Bk zCb6zr=O^M@_!LPjjlHg?yQZgz1t(Wdao@ePa^Z@S#&?Wx$JLPx+S&$#fP;C@3FBdo z47xO{RfkPz*3G|`b@mQ#?&-+i^;IpeN4Mi=t=$_Q+u}f1vbntZ=Qe4hpLDvC-b3ES zzqENLDq=D1ew`FL;`WCnauSy`+d!r*xgd$}>;3O>|GRkFeBWw@3;aQ1y==@%>Db00 zsTrVv?Nge%E_y<^;@HMr++5Uy*+kKJAC~q>=+uT%x}gO1b^JCpk;A|xRazo5d)w^A znbLr6=o~5aE}yI8=UoLuK>b94g}?VbnQ5Lx41YEr3_^ijR$_fm+1 z^z>f=hrHQkYHZ?8D5q7X`|P~01fJ*@Ld_pr-wd2V{Md@NB!|9-7{utKL|eX5{B!Di zry;{o;tUS9aq4*w^n%}q=e^5YMVD2Tg1+@Q%I_Hq28s|1>bS=zf&oXh>OMvgwAFj$ zP+I6#A+X8t0c~eBq@=QEOTEs!?P0egwrvQu4^FFWu!*yGmbH7sOy2{=KBrYGJ<~-p z4h@;>PGeh$<7S@QM20gmp!HhwLai#5KPl1l+49L|+{ zq1cuo>=RJ$pD2LS;kMn>%NHjU^9J(V7hP@A$5>0G4v`0;2eMOE;SDDC8pV7xAo??9 zqoSCXZ?+$9Z|}K9E!cy-@9~gE7Cj$Awb#{TH`PZ1CczpN$c8H&3Zg?p&h70f5iWZt z+eK!-XW$h$dnxw};!|Jahvcc3Xxzc%o2=w2?IhU@#uK4;&0sD@?C5d0+{kHp zOMD=$R31{V@ofpmmW>i8@v31}@#z5sIJPxVi$+WDa^`61vp{X6g3JrT72~)Eo3i7T zk|^fl(9nlfIpFClM!2NBW$)oECq8}n^mtVX1#%_P>yH{z^WNr5%1kHR?(r{re|&>U zLi~Knsphz-^CK;@qJ!fFh6`xVS2k%1e>lk0s=bNSV$%V~ISJvdUJDp7 zld&`z`Szd>6MYAulSW6gUjC4GUFKq&n>rQP>F{|wLs>jv8DN*s0I!kSGC=dbypn5= zY)pk7(=)XX9#-B5{!QL?r{y>O@}BDFJ@v@cW14s;{vY1n1U}BH`v1?gNlhVTQfMJ; z5;16iim8;ZjkG$`PRfK%N}!Yms2EMfuzV#-(pEr7odh~Q3kfy+7wZPcli1et*B;|Ml++GWWUX-2L2h?>+aNbI0tn%niYe z&%+aBL>lr03HNi4^CwT=GuY4lZkJ8@R_*6b|4ASMWXCvyJd!wA$&T?+!SX-3=0kR1 zoG2LwG4GCI0=1k7wkRS~Us=n^d!yn|qE(#!DXauxSaAKrqPcY}s~_H&D*Y!fV++SI z{k2*cN;#9q?zwAnJ`3I+zRkNtaQn-!%xmvO;?mZ5H?StKZh%aUiDc zRee+jV0dabtN)2Nu(e*kFBS&_o72E1_~`AUsY^%2EmWI9SBs1}s1=f8$LFzWR%O*@ zQ$ZSXe`5P{FFdia132$zN$g*t-dklVmW%DoOI0UXtI{Z#2EehtAW zXZhc;8z(j!mVMtJ^4ANN36hBlzPE$gk4;wZ)iyTiO|!ax93I6Y(e@JH&#LYZPa3TI zWR5oYDW>A(EjZFeJO zMsTq_{nOp@za%eziEWhsyT5e#>w8%KA5;GK9Q%>^+mo*Go^56Eo~`3D8*4^yQcP9P zmSQ4H`K%e;6Cd4^*}#n&kGxF%MC22Z)#Y^)%}TO1^%J(0(D?| z=ZMyWNWq=}CkMrODMk@9P-0&HS$dK!*gJE7dYctcvpUben$?HA7mUlsKkUhk6T{l_ zfu)Mp^sMO$%ctl_>v+Q{3vihJ1;SZjWe4)_f%5jr+~4z3>0pt8)9%6X^lI@>c(E7_ zSFZm2S6GAXM0p0GfkDho0V97tNd6!CWR*`koVzaGX&dQ|tEkX|>5F%o>z9sgd@bH- z8|#h_Evy}Nv?EQep}V(WI9fn%oEVz_N@?@Uc89Te=PaDaL_4G)OXe0HNtY}Ba}(Qo zRwc>9oeN+2j`rWOm2ORlbqOImBVrPXI8I=Se;m)8Us3WdLWp(Qng~{lncke8EeG@X z%|IS)Y*kgMA3?9Vv)P@Hm2y?h$-pv<_q>9ID|yBv%8{3=H+|6a+F_C2P5qf1?tvca z**XHBNdA77t23&OcF2dr;`h`~3r<-4o_eVDq{Z*4ciIlC)lM(o^RE$XD$cGU>oO*2 zUT?go;#)c5OE!@ouU=~XI@$8uc5?KdhtF0G%QCMt z?sI(PmAuw4ol*S(fNU)7LDsizgyr3BaAe=kyvnfBZ*ONyqz21#!T0&`A%)E#lfJ9- zO88n{34f#p%2orN!-_h;CSS(Crm@fw9i4t<} zvlkk;A3$}!Jee60y(iA`4nfCoez=>wCnA3~lCH{`f98?8%sO*@7wxEH5=XB%j=xjg z^!$s0Hak0SA(-$EPIyg)93v7KV&6g%pP4_x^Zst{HpWFeOhv;~EZNyK(f09k771u?0I(=g@@^^AgRByZN zNz0n@tXRs+)<+Tut5kEn#aoj>5;>y;FK>r&eBV_Q*;s?~xt^B}i*MSITv`*^R+D+K zuBku1X;-}G<-_VCuhrnsr$(>OZ&jN3rkypBC+eEEf==4HrtVavyEd|(MN}oQiI;1@ z!y+5ZGji-?aj7035R!cy;*tyJ#ON2J9XfCs$*#^P*<|D)N3u5uB>S56 z70++Wsk!ylk706-WM9l9**7j@w@=navJ?x+2E>%eHt@i6Pek;}qX7)^YH^}SF1a+G z-ufZ5SKE}Ui>#~3CMuxowZXVUtd3IOhf+nR(L2`GWFB?UN1+F3qbBk^B$0}2No6Y{ zBGM+fR!}VU&Mt~%cE}>XH~r#=5QV#u#tEObV-t+Z#{7f9@x{k)a%pX3En_kmxoL+6 zeRXaWnJ18ObgomtWA;gVc?BOe*<{3KXolCD?&ya06OsFCGMnPep-oKAP0Tj{n-bZ= zdMZJa{n?bBy9;Wu9J>*Z4dkc?w8I=x{z&}KGyM>rnZsgekUtLRe+lo5!jyM&#WHa~ zS;O+Hhq$@3LI101U)&j&%7tLlg~jI69Y3twAwMa0M;;UTL>`7drq?$0Al0*rBG>^c zVBo}27WFTo2Fa$m#i@}z{B7i+REg@BE_*!bodkKD2}grGrpr|&(;(qpP?GSzlv&SQ zV1yrvY^OGaH|>Z=-b`d3t82P1zUe(8Ae$%RkvCvyHIb*p5El2ljhOCVYqDR4#Kc0S4{c75#c8fEsc{P#M zw1Bq2a_@tO*JPeDP~<6V*y;qUB`r|qN0VwUPUhO?Or390uPwDLY{-<1{rX%^2|yTWtQ>3dQ5IGxBymaVt5DX&Aw8*&~-z zC(q1I+Di_EA`cI#Bh&8(a@3h?fb$Hj&tAlNOsrWr#TZkoerU;Yl5jUBynVe>3blCG zL^jiCIsILlifl}djB{>=*=beB?e7}nu5Aw}(b3)r9FiQEAYlz>(^9%|01TxMv(}=Pw;COoR8Zb(SwQV zcww|-ETqSTiRlnL#*b`8Jl8ut25N!#F-b0Uz3Y@U9?R61@ncf-jtbM`hXL^~={Z%P%X1O-m zES3J=|3Ko&{Re}9w5j_$m$6cz0umfO7=04M!>+slxHp%Xxg|l4ar_)rzr>$-G4-Ae zEK$8VdgX}(lsOrv*skFSXEWT@>Pt<+I;d#>nrDg%dUhPv*X8YnK(w=zl(_=_;8pr# zc<-JpDO@8G>lCev9*Jgv|N4DJY}kfW&r}A4S&#D~vaM9aJc&CS^jR*m^i%!fpCZR2 z2Mi*(laZfUm}(Aqj958Gp3JYgP3HGhWfN9f72UOsVam9X==>1`>n`B!#SOA={Ex+F zZgj>ALYt)w<1-P+4ue6JS);E%FVzG-93xkeo@J& z)(E1N#SQE^dt;3Ze*Sv~w!_Ukf2XoVxhr)$c;Dh(-z;9R;cvRIoDt`~=E6rRe3}dItFX~yw&(-$c6MgjB46RpIh+j&f69e#QurVj z{;tCNxbPVYOTbULpI2D#N)X;x;g?+aEsyZCF8rv%n_c*Jh1a|ARSL_OiEil!?aOrU zQV+ScGi(W@hD-RhWgt|hI0Ng?)n&cYd;ljryp_nDxFa*|{iMf>C`-k{;T6PJ?ytYm1aC7T{CC%A3AD!0O^FGC-zxoT z8c3C+y#Eo@YZ`6h)$>HO6F{`qEGQ$W6*b8AbEHwWeZO8|K_{GO{V`Z}oRtX;2sJ%@ zm#-L4Fn0-kYN)wy6GCv99di<6#{8~7GdG7liOHKnyPl-CQUq>N4t5@^mXU?u-^}JA zP5) zcd4VS)>PW|BATl35ITjO${T!@`+7nI4!uNLV$5&(v1hS5V`BH>T_)71r#WWz7Iqwt ze3_vOG$z)0>Z`Djz8??iIxpzD5NwJHy)&fQSU_{EY2mr62c64JJJsg!AT`j$pMf8} z;_oCH(#!#>FnVx<7_I3}d2>sVj8vtvXN7G|Wu8)7&{7CD!+519s3azbZ{P?Tv-!qr}&QVDaQlza||n(J7c%}Wcd^1H-I%s zSVrvk(s7R1WmIGK%SINtDdkAW4dr_j?Lw-AL;mJKD5ntFakWbZgZv}#C)>Dc8vUE{ zzFJ!A74qiv1IT^)yEZ_T`nJ2O{;n;-r`;!Rwdbh7A)Rmr^psbLAO_ceC=9ZOdS=l=Uq1dLC?b>BBCv%-zRK z(-2vY!G?61_4muUwdvt*cX%SM3P*e&SEXLz_j1}H=an!#kCn>fyL-rEIO4a3c8FJPj*OX92Z9CVjn!ukIvl~s-(^+jlHuDHKjAih&UMp$OYlH zk#o^qJxWg3w($Q34opCvKD!28ZcADdJ!-}{FrFGYw_qCNt=?G5 zp9V@C+ft^uL-aX8pH=*678i&m__IiypjkG6jp#^^jm=ZbYt$(X>Y{lvi;Oi|q|9X- z=#(&az8dyM^bGErsel|yz7ajWXu}n3mwIF8t4_VKR{fyNUbK>EaMik4vr~XB*IT`e zInQCoY=br6S#}K~3o;Ko_x=d4eIK<|{i^=WNuAD?oxT+u(GyJV@V4vU(2|oDIT{)u zo>XQXioQdMr;!>v;`#dz0^%`6^?-Q10|shFPaRUBt~s?rqy37Fwpi}HOcrV^qTu~& zUcpw+&EvImeon0@F#kDb1ZfL@%Rd9(i9%bzn>WG-H--;Mm4{b=Um zXZW4&>*M9j#c$PCcegFGbBJt1?P`=ql^k`xG@zgS|JMGIgYD0T?QcDGpzVKQpFhy{ z32HlyUSA9$@=ogdVp=PjP?bw((AKx~@p7_yJ?cynTK3Fb znXQ>M{)<6qz5izyVtw?#9Ypr}eh^yc@3WQrv)TQbo{8P*U85I%jdSYpX$+)L__hzsIYkRcs#o_j6D3<&}TNNCN+wSB+XiADVT5~1TK$6T7T`GMVMd_cwwyhZo zR+RqLW^Xi6Y%Q-`bn~6`_BO$q%P8qglo%3unr_=BEbUDKtWh6<#b%*YxkSV2aG7d_ z0VvJ~cqJA7Nl%Q{=FoDF~VF&>&iYio*2h31AppRBrSe9Y3+YF^N1Z|S2gnK zAAiQ+wdGCha91s*lI}9U+(7R2pg#giX6sS>?eRB^9c^ldCs|z4PK?IUxVAn({9ns% zsu9SQl;~d?Ke2;VdG2);NVbEDt_^ z@G18xAqAhyC|HTM~Ul zB#6F6(O%IAKJlT_VX|5RSDJj1z_s@L3xOMrPzc;yp-qfBK)YT$&BzJo6J&(iGMwPn z3X$~LAawJ+zN2EbK>nu>9|b+U?qBc{sw2nh?S_T$ag;3GaY84m zo&H(alqK2JYTHFY+L2SRf@-RQNy=KrFWch!U|>vY*iq3zZ0w!&Y?!`Fok*hg2B|e* z`bX>v7b-|Uhcf@`yvmnk8mXBFcI%LQnGWwA759SW$DS)HfZXnjO5?4rm}i*WaS8p& zObzm8ZK+(WLPhO8jPv|dL3 z_$IS=0J`h4HKmDY&31A$@w6)?r5${Ng@%(^JLo#N@SwY@Qc7>ptqraU0=x)7+v5h^ zE~#Qk`{L4+FXSMr#AaXjjjCpA6IZO!d&Xj8qDLwSAEj;lXg+& z+<$#>`n{2D&(@~@tP};UHH4O1=y*a#3#}7nohZd^X#3hN{7U-4Rb2Lz5fFoXw+6rt z0VTDH_jaoOA{S}lEM6A~4OxAL?(kgZBXX19Bw2G-?~A=_+aEJA5zv zyvd~&?=oTKet<$*rAZ>tKcg!}z|i^m1XbxARvi6K*v3PBL@XHZ1a8)%RT8R^u5Z0b zQ5Nsg4R`BG{Z9PcP>h>-SDJbF0+!&p2iWVv&86^k+8kr({w#hW?ZdvqiEKm(N>F2H zGdlK{??YJn_E1!iWIxy&+Rb2}ChTjK<39&;EF>oq)+ylzZK_S?b2vFTNlzIea)SS* zRDpFnxNRX!cDY3*1*m>cSB6))3`4A+4`OY0SceL$8LV(WB>6JuVqS%>Ez|O~kCAIB z_fBPW5_4u|xuQ|wj7;3z-z6&P9m&|bo0jr3hu?RZEji-Phm+oD-2jtzOqiuaG32<% zRah${c?IvEVpnAM6)Ep)jmo9k1S73;*%`E+SPOS7ujLM>%x4dZJaowqcC4ZN-@hFfdT+Q_c{h$O;p+S}i?11zz?jr>mR4tG6k z8=NEJ6U)3)5YTjq?88~73A6C)|8dr_uuIj%_9EVFuBp*QK@uy2fj!+8l*juwb5qb( z>mfVwaNI5#X&?|kZO`-b#{BvD12;bhgr~Y6uv>wN3+z@v4a!aZS2%UP4A@N_-98#( zX&ZM%cvjB8Uy09A|4sHrKxSNo({uYL(-)N&u)&j5*_WdwEfr8?M72iV)8AFh$k3F% zY|}pZOkDR{{wv6z5mH3%E*_RLd0hT`IZh^rqC>(vJn3Cjj&x3Rm+*eSgr9i&{n6gJ zhw!lGI+0oRhlol}#CcL6Vn2^6!+FS1O$ zddq}o#xYQoH6FLw(ay&yu{W*!_0RKK2*I-^c-NdyNab{HCX-cW-o?2_?{GUgcW+v_ zmMYyr2)0b0*L&Br^5Lab=*VkS*^%iKf0Y$7$a-pZ>d0#@vG{iW62~sr0Zh8tr7dHx zWvR?D@ERsmboMhEuyu3+aK zBxOtFzs=5E($h-F`lNuQI<}L&H+LNBCN9mEudrS!^1 z>Dw%CZx?=`i=fPHWD&oY3D}=ImOn{s5jc7 z14_cXl;Nd?koq`K>v=PeOP?ygFsQ$GX@jN&&+cLTeCZ;#6Xz+&y^z0k7p3B&7`Mvw zb3s6ds6mwK)hGsJxhT~?2oI@rjv0uKj$VE@s48*Qegyg-+YSBTeDnnu8!D$DP|-zd zuF=zbV^xFU#Z1pn7rnfiqAjg_HtnI9Nkh?hg|!kF?|&?JJL83H`O*sm*|O}N`Tl13 z{RR7Gg6Tpfro>FN@{`d`M@Xu2nQVxgY)(i_b{h#zOW)kq|JBVOcdkP^6~2|^Y1$yO z;B28pmyk$Miq>feE?3|RsQ$qV5Th8O`#U4- z;cBS1_`eosw?s<8h&h_dPAk{t36q6=2rPOt! z^JBK&G`Pj)0SaWXX~>=U?2!AueEC*AFS@FRD8wp@PAalHCZuJXiHez{;s7~!|0MXRay-jit{Uw z^|vjATcRt+PBm8jY_vm;q^sAYn%<1gT2s9}deZudPbZtUclKY(PGy^pHJtd?MEoVQ z*rGL&rY`aps$|vwY}=Cb>dFHaw=5{?m;CnD6lnOYU+VLOe!As8L@(}iT+Bpp3fb58 z1W%E#F5c9Za2l>tZS?I~Qe9u41TE3e=czO!wCXj{&Y9$Z_OPpAs;Sq{q1l}~k61hK z=MEucWV_FQL$>!m18t>IQ5cj!8gS}20see<;0jXroAX8|KX<#$Skn7;W1!N&Tja(z zbzR3HvYqxy+dwRt9@CXsd5xDWtnqk%3~Cis=SYJ(09&+?DVV2I zR@fl5?MRPPrItQvq?_!!K;?>Fx$4NObCs>J!}R%78vDILwZBwmv!yEcFS0@xEeZ-0 zD|YwwdoFO<&;mtB0|h1{*fF7Q>$JwLz=0^nD=2U@1-cvm7`+|{d|ziyPClPLKkvi$ zgBuD&;jzK{(e%rR04{1waHFLvq`co~-DNV+-#EXrjg~a!ba+l==F=T=rAeQERA=jb zHg&dq9e8smn4(EXsXnITI|WW-`l%>wJ{U*en$5qI>m!e5R-?H|5KU5akRz+<)lIu3 zWO4fPj2fz|nfs*q8;{)Q?X8i@R})?Q-C~``+X^Y8L6z0@ETa+BnVBq#@Slgds&*0? zQK6d5R^h80QwZ6JatewWt0SnAZjf>8VUhbOnyOJR>VpRT|F8~KK^>UVL+eoKH&TZ@ z)eN&;GWzd(nbG?Gxs2AIVfQZT$?!hOPL$B>8I4>^V87{fAHC_?^>!>)bJ8MOc8Ma^ zR5oo*Jf%40{iK};)TCFZnl^YA%@*>Q%p*O0halH#t#EI*qwllcz1<$Yc1^7K*@36q z_lk7)jf&naB~rURPDM7r1nROSBmKJ}xh|%8mEF4sm+UMl`8>)UlT+2d(pI(&=RTJ! zpnn4iIqwEHuZXJbz^i$$37>f!4Nc}aOqtz(I|-3gj$~sL9ecUj2XDQAt96~t*?Cu5+f{jW`_EP4 z?84|B*Q?JH(gAL|-`kHJb?b3?&sVor#{cuv)g_V5eZ|^VGg7ERvnB4#w=-G3{-{hVM1kOSQ(tC>h7W9t))= zNPv>PX+`Rv4d-ta@N}4CY=6VpdfYb5Dx>qNllT^pQZloskQJ1{HUH5WC@(n5GgD&J zBeR-?YHn{JQkkX0zX-qz>hIEo0P*i3;xXFp0QU@TCxuGN&8!xeS~S`%SQ3O}$J|Mp z@H_YF-`!4$gvv5lft55|a!KT!777rO*;!?w5aAB+7oPK zUsREe=^A1lAx7qe2tIK#(wF&w_-d`GN#*4}!kjg^aqBxt*hsB!s!I zgp~03d~`GQOd|dB+}9z3{da^!&_nDHdrx=&z4+y2;A3&p^A;1Ch@qT&>oiFS6qx+`gNKiC{n;tgz$G&WPm%ZKLsZ;7+Sj*!L z=IPdhq~X}M$$bCi{2M?FAZ;%svp?@vq1k&1EP=`9_H_64Y#Xwzlh6p7TW;jjPAbu0 zbcq~qB?s%ZH$H8Kl#AjuK7DikDa@q7aSVPh`%76_ zRXD~~y;n2<;JZs@d#fL-Y2NJl64^01sT9Tsc8-r09|_5=B*2ys?A^C+1(Hm+{0W*wy<>{^qW< zDz!H8N^&l<-fw-zl-?_OZ;q8_LS}k}?xtEB^REV4Pmy4xN?DA50Cd8=(~~MHWHNdT zW8uaBiOFQ9OLKloW_m;4cru_?RJl_5^iFTkk9uT!uzkDMq8k-$56uboX@f1gWJpKY z+oA#6Y1lK{xjc{UL_2gwA11?;Ub?L{U;P@y)4mb9lKGcoL^S{%BRXCo{_oG-0F+V7 z)8`l}U)(_BqDOM-<2M*kb{6*4^rx62VWLTRQLWUq)+V`k@zqrRvFY_+wY__E$;HK* z9aG+e8Fd3nV&W<^t!cXWPF5ScxbSSTE)g%c%Yw&OitXUg6w(%&wxS3SLpDB0ryD^Q z?|4s{BB8g;Gp;NxdY@MLnSdv;u!WN}mA$f}MMY$`_t)dr@jLVLTYy|I0Z?+ij#GJL zHN^qOa(43tMw6XdNJmpOWmrbx=qpM-riFN$@=bqnbo7b`6k<(oD!c;gP~1LHLzT+$ zlntPt`x2Xnu+o~IjcSS(kgz}m@X-$0A9!i?xrwaVYNvO6EPBG~jK$@?0XV<%FsN=S zq<;hpNTz?eO3-S(1=7LdMei%kr*2(#$|R}K%r&>13!4=_snP$1mX@G{qLmN(o1iXr z*mm;aO7doFgWX%UlRE+TEJ-SZJNXN4v=>G-K^yt%uyUeDy0Z}xSK4!*8s}wUZuMjm zJ<{m~f^n-oQmGRXnqN-YAbKPoUO+eVoam8U$tcHmi*c8y{%xm=A7Q}!q`#S~DG`(8 zHT9t&xGuB7Nso-oxaQP&79bBVqMKIy?zirrQzuTo`+|tB=cPj239r)52!;qH)_Dsm zHNu@AXYxp8DwrON*J`#59@M#*bXBSIE=5gxL9zcORcWx$dl7z1=6?HN$ue4`SgwS6 zUPZct;0U8dsMCsf)k?3I*e9q8dNNO%?4Zs&tCVtz9Doi}$Z+$17BKX14H5 zjcBAco9OYQ$MAB`V?;+gH}Y2iEX9tA6-K|`ZL#VpS8eNi-@`q$bzxq`@0Qelptn@b zIC>!OzL?itx{z{p%sr@ePNL#B20G%u$aL5U96^e~JZmyLhju?b8|HTj`3>vX7hV|B zvG36aIyTyIvWgz4=>Jvc?n4%685P%Mzgbe9mJq+SG-JO`V6Td$vVW40-nnEoBi^0< zv3NAow0#&BI0Ufkcr>j|9IvFg+Xau_yto;1_A^!*i|dnk_f0~m z^5~WHI>mt#UNct@i^h4LY6UAjOkK(bW|IQ{} z$9noKfr7~nDy4a;SuWwN{&D#MV^@s+B{KI`yw9&xL&R5XAVrajth8`LWn^KOdEv$) zk8f8hBd2R2{M;?9i1eb?QaYOZ&r;w)Pv*Yhda?tYA%Nuo++7RF3Uc$6hs}LaE}9wh zD(d|Qxi?Gk$~^}v;s$8A?JKIDP_XydZjx#vcY1A*l`o}B42|?iZ&iq!2_814$0g$exS6kB)O-NOAJz-^+Py4YBP^pVYNN471m^SxEUgh8QH=wx0e4Y4OaGOglD5W+x%Z*;5D<74 zazEr;P3L5|z8klZ7AE_b)x%i_aE9Aw2L9Lr#R$`s+(MOVy%LEFLiG)KMIn~xVOoh0 zNO1`GNIgbV1j$oy)JDm&!im=q&Bv+`fFbG-z~m4R8wQAlfaEYhG6XdHJ106#jo0}d zuBp)#zTe{g{uXE^+~UeZ^gCP-iks~8pRifCfV1yAZ7-X|@J9@`NJ)hbYPg7JDf-_j zz6@fQ2iWGKY%tn5Bbiv=3`Sem5N#bW7##~TvE~m(TkFBDA6mhB!_HpF1@WJj5>9&i z2w|8)O&Z1G>UVWM_nr_E7*f}9f+xl3Uov~=7W?_rWb3zomywqi4xU5iAotM*7Nvm9 zyLv|kdYWunu7?H%I5<1}$wpQIKD;VYeWxa|R*DxRlxV`x1U69Bco z4FxJD056)ImZH}1UZ6eOn?B@0^TB)o%aGG*K&jvNus#Bd^klY>lsp?5|}BJxNa zGnUL#xR7i;GBNVU8Ub)e+C$=oJo0KOE(qU+;+guAiQQ+e@!Hi%=^Z0mFI;#W9oG6| z^Z?q<@D_`WA3d$`=xHVRP8#@BUY?3C94SDoq;D0jYuk?UrWJzb;)*?ciu~viM^D3% zN31aXG;|MEde^*?f-`eJd;b0Y5M-E?BH}pOS~pOlRX~{p6;dv_X`H0odn}|0WlbYJD%kJT>|=QKNqgAxoeTpGv=qi;47yqZdvi zW;tTrFQi{nOn>3Rs`M+7^arCCa#dG&3y|_S5xCP<+_>p3uEbpJ6-KY`cKY*Z#swy5 zlGhBpPqg^u6_Ahah*6nmaYNMZlqP=%T}7`r1SWQ0?rPQ(uYxEysPRl7}DQdWl zI^xe~9LPxu+$$6eKO2-|2?&dbl=3g0zJWn9t28NARPqPt`GWG>s$YsCqZSGC*^HuC ztbL+b8u}^GB|oR$%Cy*d)9Uy+*#+*Bu2s;v+j_$V@m=J62upKZHzrvuomAgR9Exb; zOuA3kouQKjU6CZc{rc-Ct0=525z^tWs`U$&*qe>z^Gx*DcUW}{rv{t=7z3Cb0u(dw zrt{89E4M3Lsc=%3NGm(DF_rD8XjfY~E$dg?^Dchbx$AQx{|C7unxpAf){`{K`ZK*{ zL~9cnk`2omX*$4nEpq9}t$iSi{VWGv-7JysWL)fiS~oMYMUOA|3_&wS$Mf>|d0$07 zk{#2@&c(0V%Jy#YT9FwfD0YKA4alZ0JK6$VJl_A;sUYN}t)pS2y#*^Yux>0PI8$Ib zrl$3bB$Y*+_eSsZ3Dm-xhgf8jFQNhC)bQg}tFDdpodKRp92-IhKLY0Hz(%}NM?ZCP z3!OYr9xqs2z*8eSBDE_o`ehlvpz-3-Kv&)3q7Yp;ixXlp2;h>@}!C+lo zzq@e?$TOp751qCE?V8}9h}9(tCeW)FG?=Pxab0nN+v5I=8vk`JS?8MUFeD`iOEi8k z(YY?sBdIXaIV9q;>hNvh9Yg~Wc?CYnCO0VXY?t;&18F}4>QMP%=$~fs%TGW)!BwUS zrDvgDU@sFhlC~4!I?`P-)@%NVw-mtnR(%DE;k!}a3N%|lBx?lsX`3GMsgk|bx}IaA zjc+|VQpGl|I_c5RQoPriC)l}31_|RrCaqbb|=Ijo5~Q+5@Q>o>3BFPWWKxzS>(mUq1 z;`zN{h1fTqG1hX~3075+SW=1EGRp)auxGX_YX8gEVKAaDXhSb~7D}sBQe^!>{J`ae10WZmmK ztHg&=yle1f2m@*^XPBUqCrIS~`Lo)-Y-29GIGD$VXSjC#3d^%){?eR*%>P+iT#%a) z0!|-Hv0i}B0I>JfY(00nwZjdVF=M99{Kcq%zw@va4`q-t5xp<83P$E|vlF3k`z#vZ z`l48aX&xOBjT@a}&wLkS0i`;gtg3T%%pC_XQBuljLwdcCVOPCtY<*zk!wN zyyvj`eOkbI6(#IbOKCLT-{)fGGWSsm9$T+Rb>}^!pllb-qPeA1pUH9h8&j-VxyH)% z-B7`IL#2ZCGJ8!*{g)FW31HJAnt#|MdT3U}fQ#`Q!)&N&l*6(qu53H=)mlD6b ztu7sJv{`AiS!uLcd2>ZO$ip;#*Lbsv2Pp%JV8EddqX`0MZOUz9%`wSGs82F{A{fC0 zCh#nhi2GGc<}qxpovH7-Rq6-G+&||OQTJ)0?pOFCYe^jZJp z+dXqop}E)__zZ}a9?!T~BgkXyqSBp9uWrJN`4!+VYV&E-d z!^If!8(~=*5$mE#{=_Enr-kgtHj7>xWBjR4xYP|7GlR@hKPbClkSG_4l9NWs^9VIJ z@~3e=f9jh_Os_PYsl*M?Yw4L(yx~mBx9u*mNztxRaqJR8%i9?Yes2lLcUeHbT_WGz zNr~ei7q2Mk*tVi?%i#TBATODgEzFYAjrf`b@{*;g>@2OmxFPQ5rRx#?x9bOny*n6Y zv6-i-?GdBcM=*G>H5+pHoQ?M8V6@k2U>U0i`TtS=e?|*`#~B*4rpJ?+(@K%;Ulr#Q zbK=^}6M9&i<#9hV1}`@=@FJUp(Xq=~VCtHljc@g~FCwf;(+|s93HP>N62$bz+5c%TFXvCg zT|p*Fxr2zt6)vmZSa+EE-rm?+g?nQgf~Xj+ADi5$Oz4BL7_qAv+pT!ZW@i0St(`1`?Ycm`mpwW-J!g|jr8l`Sr(V4Hk;Sjke>Pq3-GLB z8`m3V4UDUeCu6E9&D)viYqO+krUv8sR4}gLET%E?f`DrbH(Pziwe>s6%r{FrU%B*b zEWwq>LFA!9&7S&*x$cl%KMDxl6;SvFwZqz-3|p+&-k7y|u)+1#;4NyaT5X-)tX8+( zW-YcOa6sJKhwfiPe-j)Q&uEn1oScxLHiw?zZ=pDMcsqlwX0s9HEaFh58-?M0t2YY` zwwZX3k^0&uZyz%Vd4(|uw9z&sBb$<_P#e;>~Poi^JMzs zGDO(sp2E2zL)eqb&ey|)NaomnvE7~Fwz~)%*?G-#TitC6&)2>a6_;}Dm)LFwM~NlU z`6b#EC)jh&E(>ltQ6mRY+e{LdQ$0*qZ9Dl8L1~lSYn7IA#f(C9E40C7H*Z>flLKA4 zumO4cdcjLIAE~o9hBKd>tMkMwv>3V1UOn_qD9uc7iQaL-Zd!J+gC$yU9p8C{sP{hq z{J*o;`!iv-fP2@mBYa>p5x2UC$5TYCBEp@Hu6MCtB^Cq6&0i{}FPyM;f^`w+UT3A4 z-q4@ZsmSdgXOhV;L00T+V)d&>6m5M>dKrm5q+^GJ%xR5D)GS5S`zAB-B*J#awl|(s zk4k`lIYsA=q(TG!M~C>oUHozb1B88I=3yIZRLCFv8P#|)p6T^Z`MHG<{YYd~VP6EE z4iMJ+C%Y(}5f>0dZGy}=U^(+SJ8O{5d50l8MP~z;G;9dQRJ(Y(fAqq=xjne}ggbL8GJdf{H2`zL|xjr*R? zjht^9CT@22Fa|4guKm(Q=M=`D7#E zt7811EuL)JEbj0B@jys}Za*{GbiH8^nK`61_;PQI5CxT&7N;!_PGXlUlT=1JTI%=k zY-09MHuN9U(EoO7v9>XNnC_rds8dbeamRWUGW-`~Dx}}%`OB(QO;;5Bo~kd`v@><6 zP%0yf))fW607lcGjQda2;l|nB1Gomj4*@Vd4FoOF7zUax5S(B+X5OOjt2sv;cHL+) z8JR?%RSV`%Re|jIMP%*Y3@G$g-)ZqIRTDmmnxHOG|wODp;!*sI6&qg(8 zOm#g6s{Tja$#_YokV3c$NoA*(In}%R$pPqjIFgiP#(YD$t$sw8d+bd$>1bCK8Z{E% z>HLeo2D8aKu-l!FL9=5fpviK1okg_-Yyry?+2rA-!BeRW`X3JpTS#Gc?xZ5+w7Tge zIuz33x=$zgC7S|xBk)S##}0!(I+&irI|$Q;A*>G&ng=du<=@Qmei0DLLLwqKnntws z+=a6gWE`U%F~AExPL@BIMV+!^>eU^eeE5AV*@|KX?YReFAn|N_0d|YO>4&kjJqiUB z(>VTzO3TT%?`Z5Q+MoY$sz`~q0LW3<|ANcIUxQo@GXDq2bTB<|%@ah@*m{4%C!Kaw zlNeR@cUy>`sGHDoJdIpP5oWJcLj_z4Azm$Mx1%LvY zMI)RCUzU6*IncN=D1{qzyM8SOMa;{DQvyg;VlwOisJ_$Ko1s%s4M|?D)>(VCl_Ejj z0-{9I!;wb@b*8hab0vRWosV&KZlt(CsI(E7{w2-Lpw&>lPu^BRL8zbdQCv5_`ls*) zejPp)wSpWmy%4m8zG-&lfc)S`ApgpcuhJ4^Wa;0E%u0;#qNL|yffV@H2eI?RSdEh3 z9>mU~Ul8rgW=BC)mH<*jAm#Fmjs&SkZafod{m%Fb)jOQ*eNow|XUBYP22}lB?(GJo zKY4tzfdmF<9L7K!Ljc>UVe%sJ&yXjtVZ2L0<^O=lbNh2dH7Zud28RC{okCsx@`q68M-aLWevi5Spma+>TebC*G7hu56B)r9<_ zMV)1A?h(G3u-iU{yT&q=;YCdXNk#*EMio%W^e#p;ir#|};i9~_ z1X`2j>If%St@5rl9bu|8*{Vb!rht|WT@wWI)ljZVAM8eS>hO^0Y$H&;KH8aJlyM8| zDvL$adjB}8nma2T{NDJ0i1Cu+pu@YE4(}0%G#hjR?|Y|wRQDfJ9wVfe!-oo z(NHpnRqoh@?P=1xl-Yt7+i}cc?e)Eek{YkR*xS3tixo1*t1$t?j_Z(knzyMYm{p>T z{mm?qKu=BaLv3T6$k@yi+iKaW|b<@5%+9lI|q022t4;b_O1Ton0Vr z3+Ry*-4Rc%F|#vj&y8=DoZ#vWAZ(@x>IEKx-8IE)Xo39W>X5J>Wri)_NQH0n8;!H3 zyc4RZxD>lZkW{s>z2Z(w4p1y2C_e``T?ehVgibPKrJvKF-A zk<|5nSo?13K<#56QF{^Nu-ZR^ZkDrolS!zVytxt1y$btq!M>Z_Vg4z|@X;^9UhY{J z9D(|Jhwv9{iJi^jtre~&0RiUQEFKPDNZ?Qjnv-9DthBt5!SLPBm@|C4K5F<@*AzdJ zH+;XR?fD&`M%QsC>&O2#>w7S3VXfU3g z!;y%6U=O!!@t)TXi)Ys8EsJ>M@pw-kPYLzMBOI%X>+Gox4h@i{tRpiUjcl=6HPYSa z%_)v!FF6u()d3R5Qk0Y3OZ`E_IEh>(Pm&fq{Kx_GH@p2sNdJvayUu z9${#BiX@)lp$g19odsxQv$vlb6Ifu@VGGLC8|y4SZR$lkpA(faokBO%hf<;urEyI+ zBw-~rBAQ&Zf&t@wSXaq6$-yqtAJa>V$?GrYP^?S(PKW zj(9!2?L%_H(_DmFXExSGUdKRJs+ciHDv^!Oc$o16CwTdYmRf98_`RQfRtBGRYhcQI z`wp8eIoV(hFqocv{?gO7Z!mNLlaW6FS9Gp#U`FMf9sk@|?u*2U-VLEjgUTr2I7izoI$$1tI*m}+`vo%_GY^=N7t<91%`ErYt zPU_GVjoq5gP}-Rq2e0yGSJ02;(liKe4fm{umNrxJHTafj@un~0c+i^gPAtaqs~K}i zOzAgz(_1yYKgR|luxsUN-*|H@dTlR3ds0xAt^dTQS-{vzFm091<$Yv=1^7IsY-D39 zTQbVO5`HDiR>Ik_v|KA5>0^)^0ZU1;Gg!9mHfd-N-agMH5>Pv@ty%Vtyltlbo43 z(b2{BRom)fO{wEeuS&0z+Md<6!P12=pf2tU|yEPDYxS79oznkm{e+O?E45i*#M!H)ys`2AA8O}CDxu&;r%ad! z1??1J1WGJ)kijOtgE7J0GP9TVSkkK^jY6#-R~os&(-&`{2V3_T=^SQ9h4f0Oxqi$* z3lZU!7CB_I&j}$w%@`_LfV!fVr_R>#&M^p+Pv(P@#z<+qb=r`~e)>AE`rb7%NKV z$!&CHOR?E&{D3K$^vnh@!MS(w%W?|2UKG{Y3dk**T`BK29j9v3-%X+o(pgV9+M&~< zC~p}=QR8)<%BPtH870zF+MWB$dD=MdwV-4DH3g;#A2+2Yr8o_L2!Rm zR@uvLFcxmyMY`Se1tRjmO$v@rl%q1(mkiK9x!FZ1y=tPVundfWn`mLEMv4gYLJW>_ zNs!OOU$lH~txy*mWGMl1b|yR)bE}KtW{-djbGoP%D7V_#Ls~}5T*S2%^@ia#V_@89 zraMZq5e#8&vELi*M%*7wHz6{gFXbh>{p%j+2^<{$aygj+J|CYjG|;-5=-awoH1Z?9 zuG{FoxZ@;`%|g5`MNa_w=@vjl>JIv-pC*aq{8MRM!O0Bh{x8u$=Y&#SS55-;da31! zTh4JVaAk$2pY_Ed1dItZ62Kdwn1}wwwWt^5{%i{K(_^`BD3HBoGT;>cUt5H2+HvlY zJpXoVRz+@Cvy0Y5;NdG*vyj2$ZXk!acij$Bir%W!D9=V&JDyMQncg)r+VMQ_=oNqE zuX!c;4*BuCc(hZ(0|;fzRu&_XVin(h8JZ2d(Ph)vPMGABGDm~8D_i8 z)jFI7c}8V1O9JghkA%Yf?{cOeph8tw?KN`L#L6Q_N6SW$nzDHm>8Lv-N+U;2f$c#? z*NFsoqe~HMuE|ENux*k??9<2Rjo8^oW4TZZPZDHoJ|rc`kBrR5bbVgt0I&E@tb8A; zVo$m*cPtw+qH;&`Yxffa^62!-%{YT7PX>NTycvz?qIf);o_R2p>1C69czW0PXvg=c zHk+BRlC|GXzAW9%A?sb^B`3fglXM}+*mJ!4dc7RBUMV=1+Ch@*5Ax-D!8>gnFE#id z>^I7(Xig##Dw@%b1C<)e?sWx?Q$Yvpxge1oTah2--W*_4GAxcfi>sYtN3W83P+$ON`K3}itaH#OVg>}b}=CN#Wz9BW`vh0$&(^ukQ z>8gjP!)*J~VpAEst~;BE7450ityZw*&d`&mYVaCbc|&S2ET@n4-8C#`RNqa*{0$DZ z*Ihx?Wv{D=pfDrj{LpAMOEK|EDV@8ATKT2<8&5os(q~_Fr?EE(y{D%rh6kuNF5R#ylgX;8uO(rGbV=1Y~e?AZ@MfE$(6Rv+X zY3njuQI|ERyg^&RtW;A1Ov_IaTJ5sSAjBmfQx_O7-YT}X1w^;!0mUR-idDPxQ7)&Y zS_r+gdc-Vou>#&UsYGwmh6cF;pF*X`1gs5T+^f+eXU+<^*84L1ZdXgK zSK`pBoz&h`iDZOp^3twr3G%x{h4Q<6DZlrRuz#-L{w?(sq%1ND}M0YyME_^ODAs5LxN0&}~sLQ7R%Azk-Tfn`dSV-(d+t*9=?U zj%Tpty=Z*feu~k9CK&NvG%DJ$i5?0YNf+U^e%{A1`QEL^)k?u#*5(OduxaWvnyn@W ztyIf1|D)C&Nb6GG-PSs*07u!uhSln&Te;Fh> zOo(cw`QVL?_g}3Z)>k;v=`}n$3*hADy6U&udUJXg924A{QYL1%*5EnEnqmv#V4Jdq z9E35}VH`CGc|L&byBkD{iPG%18$^maIEm9Rr@STF-vs2r(w9WHAlh*RaoVJAQ6Bx9 za(zfKQ`ui?b5WOV8!(uC14iJl=#RK17M##v)&Q3Q7-a6bUkmQlVA|YPQr)SuFQ(1* z+uNy)rv{HQCKDWzO+%3XH-_hbnB^ZP&7Gh+dS^O-Q>iyUL^b}KPpnE zRyjj8V5m{BxNla#zmN-d_BD|fO>Up#pv z>08g$O;ZwW?dLyR!jg{)e{db!;tB5PH)(Xb~V!vQdMEYLo*R z+?-w`8tCs*HwA@EbcG-!h?qkr-Du;%)Vri2!PQhOzCuizaS3ggPI^BATd*!-n~2>} zIdE#g(x2e&#x_*Ouc7AlAi8CR5ZJ+-D*oOe;|m2uwCb-*_^}5Y+WFDroIm)S{%CAp#HVRr>2=3`=Wf#^l^Z zuvDYv1rwm<+(BF}{wa)lPf?F4>XtC7{4+$YQPg!|)Gvj#Tv2)^(DFJ%Q9o7G1w`ov zzZ5Q+`x+m4^CNg4HkSZq{t<)Qt!6fzna6Es?cO1|lXodYg%rBIVAU=3qrv^9fI<_p ztr|kjmh_8-{z>Caa=^Sv_oK1Key!+ABxcdECN4y1z>Pw5tk*(Ld_d#TvDdV_4?F-w z$Nr>?k6OmEn3U5tNc@wqcS_y~!sWz2g)a%kqXSZO7TyCCZXvu4gKdQu5&je&n`+s2 zwrhN{Mejc8K5e+NMN3yZOwLy91AzaUW52=!@08sAsEbGfykWBo*Au?si*uGlpuS5rR2}UN`K+|^gX_I)(av?s)Ts$^5Oqcs1e{6+ z9aZ!Lvg4(a75wlyrpx_~Uuvb?Xm5@vgL1~=!0z;x_iMRE79SxK=N2N}y-yqjn|gZT zL~|A(Je+{3FNZ5Ck3}#BWGYrWGbKxJD{L)>;RO4inQjikI+t4prVJ5du8ARa zEoa8#anJYw;F`|ozjJha@%wwh_gW7pAO_g_NdgfCKI4=jijHEkv>Z@eAlY{e*ID>< z*Od7OtIx2ggIK@vqK5H*_v-S1`9A&u^{`Jc(9xqM0AN!JnWZvoWM#F2Di&~}F_twM zVt9+1#8)h3+buMBnh;6@ga-Fn5_~p-{}A}XY;hnajD0S0pX2N^AbfV|aJU#zpy=`; zJN^S|q{yU25@>b-$I28o_eP7R)_R59`pEK$+X95mW7Y&I%T?9EM?32q0;hr%p$$Xm zhU_SH@tFO&SPvdnbUqTMEBc-BL!$HelbrL@%Im~ zkveaclbzSIgVitTwUcu>Kd(W5q!#q!+yoa5NJW-p$hLk~$d#99VcuP{x zWOS%Ek&o+EC2zlw@2{DK&v60tce_BA^0ASQw^SSBxb9URUA!yxJ$8Oy;-;nCZddLx z%-Ot!g9^Ayz>(b2XPnSiG@h2T((qNZWd9cYle6%bCAhkqkbr(F6WNwXZPTmCo`12= zd&%E#dxU#r#j})8kc!eL6PXL~afxT$^DB3tgIMPGzdHm6{o=4vo#(;lQ4@j0cAXt~ z2N_z0+=xHCA7DK35g7Hqmptobc1am=FMrG3!2|D=YXQI#NSzq$@4Kv0BT)HJpKHL=-f91zdzbJig-^444K+=^S>;` zX6PLAyexj6ezS(B;xHCD>ZOshO}+k7$~x+PZdA$OsI$iLv27&QfW0S(b+a5`T7v~l zDYDrXvxR9a)_1Z5$e?LWJbJnhMzbt1&U%hNr<!jIW3Rrxsu8CGYO2n3& z+-$o0o}Ubprw!=;|GR;&^BQfWyD4(Fku4|EZ#^^^*_=><-n4;vIvf~&H=Dhn2KjtF zzR44!3`(^0yYxGQrug}0V%H{MFi4^fhKeUgZTJCfX2AGpc${vV%(y(EkB9kiBUZns z5sRMw4-gt`z%a`={UN?Ez;h2pp8hCb^%}3W1Y(E$`;lNChPwZ*OE>57+rVCkPMVe- zm!&V*Z(}d?FpAqY6HanQB{hdwceS3IYJ4p=?N*(E z^B#Q4`IERG$A8YBL_G?^3a$4)6@=FL&je8H16-Vp0~Qh-^d}L$0{+fHzNoyJt-#_b zT?MSLt=~ewUyA+b5VPE3zJdV`mq-ievKs&68-{wd0cK!xAoGAPg1W+DCdti&Ihi& z-uzT@3DGlJ0%$AeuVQolFMnO+{Jy&UuGgmkF25`IowsN!k=4?h<+TUo>Pcz_YuUx4{b1Bm$}=$N{gIKr#-}B}i2OX)(yZTyAMW_75P74DuTXX%*!CpQ+Zt z23;AR>wsSs@Sg$DNJPM+9dM3-s{>${dQ`xdT~!hS{xSgC@CtaF15OlhNdR0Hru?P@ zenPDRYrURfK z0>9yaR|t4^02C2hwv`UJP{7&%xFZDSTn~LszzG3RWN#^d>wvQbj0Qm4V5*1CbHHf= zzHy`L1Wgo6Il%$tM#2Ak04xiEuNYez^9cc01VBw8OL@Bk?knI=0-$D;0WWaC5dvNs z0INb^shd)7%met<05~}WZqm&gYmI=302m8_KXkzR1^jdXOoqVO4tS4%dj-Jy5U8t2 zvb|ZrSAOC;p&BB_Z%k2mHK%hX=r}5IDuP^9TWp0^rgR_<^g? zI05||Tqi6Gf%I4b2CYjz19MEjP#EpJi2zn?pZ#qS_HO*aS6gvBoz*Ph9T1eUR_fr7 zTADx4Eqlj0o&aU4Z1Cm3gCE+%{R?eB12;9m=ALXn-{f;t4O+UjQZy#g+Dz>c$m zlu`~rLW7!iEeBT3S}EXt6DUQlJeHLG8#y|b#~oYer$SB1j_FozM+QYb3BHr)WXC)# zK>bgp7ZL3oi3CR(`>y@$gjQmIZZ0QT!2U>>W98kXNJSIf{u%#^bEKT~s#2{Dae^xd zj<~cA8ItaSdA9VrE&L8VTN(*t^yZM3AR@icZQa;LGKVJ|m<*M}#eL@}{H_icXE^kUNt2b|M8u=Mh|ay_N_ zAqF`Gek5|7ticV5&FJ&(4o7V}_}vq=xjR9UPEk_w{e$w&>iQ%*=1+vR>UIP3zvJTM ztW$9t6!&!(w=Rg=sJN3|-1;Ey3B^q%PKjtXiUT$Qi*x^S4S5kl^$!UUmV;pIcQ1go z+((E;S8k*7P@g^C%eT>lrc(|-cm4hr_H@czl%0E1F(3X&Hksq^pQ|Y_rW;Q=wV7^z z2`{T<*5uM`4E<*u#!`pzvjF34hmjD*Du;2l!?+~CNH~llVJvkRpLZB%1Q>@qjP-~= z{RIwVZ-+5Cz$kDSR|w-&hw%)~0jTNz0mie}T1}I}_?*MI&0)NCs%y)=4r8=1N*%^x zhp{=pxWQrE&xYK8^?K`%ISylafU(G7c*1zlVI1i&t_m$W39uu zG{BhQFb)*P4G!an4r5+`QQk$YFfVVSFLL7~wE}A&k=;#zu!x7GP}oq4mcd zDrJ(x_=UrG=M>l4zc`E*VeIQL+8oBC0mh9EW1=v&GXk{s1c&j50OKNu@rLU0u)`SV zFuDSa28VH{Fm81iJ|KGRn*qjuIgD0eeBWXG$zh}djByU*IAJt9j4K_+Q31vqS6gd$ zz6r(*hq2hzqd36W=rAsT6Z#bn<79{N0v7k0*|$54Dq)Op7>7HIwE@PJ4&!z8#}-C_ z{&>sP;}VBqy}r?5sF~#P!vNz9hp|fIa=XK*cNi@J#$<&1Vkwl0*tqQV6FWC-5NjXFdlFidj%Mq9mZdzTa+F11-in2t&7zJDM|Ut z#P{5~Cqro@mTUvAHRWtUD_7PC8pKFtD?8?oFS77IvT|AgxJ7HoaZnAQW0mtCuW`GU z<#4OqGytJICzPLgUqD-kJ70fqmi44}fYk9z@Hgxq&o_4~tx4}-Y?`>yKM?10m<=6* zCV#go$IZZ~{*9Q(;65Xi)p5B%^lN_sUT`Viwx?rUQL)o!y$m0KGt2xj zeBpFVc%d_oz7;{veZSG}roZpEL+%gVYc=JeLIv-oCA=miCRa;xkX+nTNsswxtn-TO zBMqy@<|g^E`#uhyPE!MG)lYI(mM@9x?KP4`jz>$#P{12#SPZd+uxz_4s$Ve zbTt*ZpivN?uxh$MU}W{=`#yDpCLXzR!p1p?|q=G3>+S!_HrB;3cVk zV1)GWV-wfN4~2xIn`ex%-9^)j?6n{kZjr;RgTXpLBs9C;i5lN#6W@PL0bTAnZOfH! z48%x#IEH7OiM)Zh6`|B*?*u(xR^?tXtHe5(uX0Rrd6RQg|26F{lWrQ3mx(ubiYqU` z<0D}YVh($@Q@4gINQxn(Zh}?r&>{yd@toZq#ScbJ3?A+rsD%VALuvs%s?{G|i%7Ss zppEPQarr!F$w4Esk-879h|09d%G+Y1M2zc-W$5;8Eb>asQc7C8Ap3F{%3KZgq@OP5%*bc!_ng_pQn->RcERmT&h;GHnmut z#$3gZ%Sqi+?mv;i<B%0F{`beNw1L5`4#2jtjfF6zl6NSUU6Jy-R8PImNFgpK7EjTM?2*dA$I_O zrcP|v5WZd;O+1)8j0oEKIog@q&xH#V{+J6-Q20Gq88{!L2){;{p)}SX?byKAp4k5( zoAcTKK70*h|GBG3na7Xv_2td}+4xez`!@If=Q4}W<_-e)*O(iku<^GVo&mt%bvrlr zY0T7dZTz9k)T7s~Cgdz3yNg%L$oWHOqy9BWBK{XKkiJ3;BHyXaUMFg+&6-x3{}0wn zC^3)8^j~jmdycIpr{%MP>x~sSYcQKXKaRiqVP>cq457v`gz5UJ#9UUS z5xkk(f4vw&!u#?hdr!Pp+#xUDG-lJ8_3@rpc@cJfeA9>M9J@l~U!j|(U|>A61pC}n zwh?fWd^6vH32fD8np#EW z@_>r=Xr@Q+c)hOaomAxA!D_usZ+ml$#r*$Lt%Nsca*Z@}Z=|D!^=jbyVAC$wodGm@ z2YwSWTj{&x(qyE!e`qyLIDxdy^&($YdmUI%u!pymr+?eKT~h!XEz?GXNj5Gjt8cO@W3xJh09L-NFI1E6P`)1g%#SIOb&>O zNcQ*S02f@1^R4*GKQo+g!5Y;h;DYB`t;Q_j$GO*VTyS#-TyT!E_L|^=&$r$fz3LU3 zBQAJE8=1icKO}paS7|v+Jyt))1yu@M5Iq&xxZ{HJ^SR&x@-{9Qbety1JKSm<1M>B;;&=bE+4x9* z4lAmZ;-q7=X2^bhDF4P{!hBZ1vrY5=Ci_k15xZDo_1#4wQx;|*rcvp1MC#L_738VJ*lp^C#(xS~5@BUX+(iOVJ7_)-g;H!#ekz!vALPT;QuJuKk|_K@&;b z!GgvXYt(=Nu|lgB3e;>p2TtHbs1HO-DK<)}TIFhjsEEWQ$o6>9Ud3u_TkY%GYKv_x z5_~1R0$Al$1QZp-$2mkqPq*RdDg|LQ76|m>vgCwtaeN#!U{N1{=cuLKHrl*yct8eH55W;7kQ(6X>MCFD+Y0LoJXjUuoXTZFH=Lo!Ug2!jIDkr&q+eOEGsHFsb0S6lZM;lY2oY zw`qu36PGm&DWngwQo0z=AH>u^!fARpcenNr)-~Ki*mk9M!Uu4i^CaY6O_dq`?=;nX zz|iwwj88gj-JHbvjY;F`OX+V++oRY*wyZ$R?rUP^ZM@4Eaulf|;rP)l_evXXKrQ!f zBsh2t39530h}`9T?YQ zo^p!5p2|iwV(in~@{GDy&RTipUV2nxtMpCU7O&u5XND&@Rt(^$H(O) z_rDK!uHK(rH0fBUmiy_loasmKOO&}C<1^0mM(V(;_KNVqtC#0P%=hkdxyMk0cWbX zn-X>AV~p%(Mn}0JbK>5EEq3YINn32+*C@u~ck2=Hl3{OteFx$>Z4|9}TKWzK^Nzke zS-9c&X-JM!TP7Kh>$W*jfyBi=VHmNL6FnTXWnfpt;(t&N!K!E!7>m;^w)t$U#+$Ik zWDfSg!mdShhJ`^?m*6`KPImjbdJMjcH_O6C!NTku-JXAa4BN2u_res*zbK}FjJGZF zD*^k;(J5!BCr=EkKi@o*jlE8T%)v^#&PhJI2#Zv+T$4?@zg&|`o9g}A#B*xTfq2YI zKSn|~lOSd#*KW@iQ+Pnlz|(Ahs)Siq^BfXp7mhl%vd4|YB z4egFHvm|e)2CgO&%Z6^yYdbcC(^+QUyT~747;}wNdox3WtSr3&b52+b(g@u#TQ9@};eMiT_)_X3`T9uYzp3w;uCnOa=Vqpd zTl7`4HcsSUqC8II#pd5K*Nr)CRCc)6veaY9cw{~TSo8e^)($3+2x4jpyh2QBGUY@< z=`k;w-#X?_Z4OOuJHXTMNz|U+A#{Iu-Id8y4&P;4H3o~3_66KDtKHg7{)^nO)&5!I zG9)iru_qR<)Uo_}&TO{qUv;#i1}EOYfoFze;fRHwEUDEN^Y#1sG19IG~` zmOepWQ2pKv)zYeEjhdLj=44ZPmh=V9UApJDRoPcFH4mG^*|0Y%RK3T}4V}dE?&!|1 zV$MFcvXCdt!KrQL8w%@=t)qdn1{^2Wz;leKp63;#dCnV2LL)pT$2YXv9?pelGdyOV zkT+K2b)f_M-epaZC^@KqxOhS={)A=CQ(?_?!~j0z#;?uO8S5?Ng71E3kk(9tD|o<+ zV*}d|PA=)Eos)%T$I_2;$ICKD@oC7J9;1x3fK@?W1T5!{vrWnQ+f-ygPnpdVs|%W! zlISS^Qsz>rGphHPJEgvyy!k!DTnDNQ4Ed@TYD_Yjb85+?{bV$^O3~f2!l+uRuV|X( zIYtw$zM^MpjyMG8>7)z%GJbj3U}($7=3yb4!N(rcYdb#1o{3c`-)pe1P5=5+Up)o; zQ(xV$=>@}-2JaeR`u4o9wCP*MI?I<>jYX0#u{zW9TRRm3QHSo+e1$Cn9h~maw%mCQ zc@D#!-(m%s(W*6iZPzNxooA6hKBQ}yJFH{gwc}uWljG;1dw1%j%Z{JdU*_y=4D@c& zTp$B9?Gi+?O|;XSzhi0b_^++eji_l#;tqC*>?jq8{hr!VUm$`yFiGrBVn0XQc( zrBtVm=_5^I@I*}JS=4gxM80mS@c?NvDTv?>v8 zy#aN^)tnyfbUF!cTV(1JWnDQjP1a)}YpyJqLakUsvTS7K_8kVNRpfDMzX{N;FD@qJ zLu^Eth-P%JgEY`XP&0sJH>om*A-7AZjZTNb4*0`ZI6LJ)RLEQE0@kjh;S7NXMW=Qc zZ)q=z4H;e(msI6h|A|grAJT*xQayO^;fAw=HQ0xYf)=oePPOVFO|^7F$(IQy@^92b zqm^vBo=J9ut@WSDY}R0pDxfvk6AEYzR;|D5hMTYLkszw8vv6YRucnh_d|fMOGS4LQZA&uIB@*{XW{Ex&jLa>(WRA>Z zyxW0zq!nT#?jfRiE4BaiS!p5UMn=Z1=hUn!{8?4l7edC{p7{n*nL@~a{2Tofryz=X zl46>lA}~XN-x9b-fnN}~T!DuIMBYVuXXe8>KJPlc10UsckCBM}d6$RnA5{YkZZ_38 zT>tdq>wf=SORl#4(_TzJqqY4R+J>X41#Z0xt%{`(p$3(LFR~xSn?&|QF?B&SeoHAH zgQD?k;XGW^&{B0w>T|MCjo+p>)>XU=JhE!rz)P~Lwv>6dMpMgC*axE8<7d)TM77j) zNDD#a_ig0z)I@Mz%bzJ>1l5U1QBx>zKimQa;a@Dt?nH30WRrr%XHe~C(h$^YVqL&o zkkF&{keXV;7qw6&2+q&a(=XL2FALInT7Iv$?A8Jn9%VH-OE>dJo19i5MW|>({ zHyBK1an%}df;H@A@pl=T*2KE_3E7DsL zZ6|`%2)|)w`lofqlGQeh_WIk*f1#a!ZF>9kv)bfHVuac{ChWavCOF!hZW|jXjayIT zjBa0!N#jQ|^kTYo?E0)cz`l>L{SOL=sXwiNnEG7`JQQ%R^}LCt zVfThpawzuG08(`55!n{Kt6sOvNo zyQl0y^jylIa59opsAC(&0OTccrqcN72CSH}SIH=RvPqXIvvRajZhjP%lL}*_7EZV! zNGNRFnupnX^cpzJed5YJ#+f-TZ!uV4D{p@4X(om+u9?G$(V>X9Qv4+nS{dD1n0^G_kI z)tUISR_Y?^*51CStvuka&BVwrXJuuZk*J_;~x=;mAL_;4=Ib^tJLTx&jBl6MN_?-qIPf~ z*yQwpX+1UGDOnMXcN+(B2zkXai%6%0ON=k2mX+q@fUS?!%nKgBw?yBr>0`ffN_`g$ zi^SdTQ#Fj;Sd;PRYZBXJ4V6b*ugF>fe4cc^FX3+WZ?cxD+gUZyGUC96a6H)Z${Fx< zG2f|jqj8MGR*8$wnm_Pf*}YYE$2E{)t35M5EC{c@f`_K5aso;EgQ4F5>J$MBcZEQWs&k6_gM z6LxBUPPWjpcw7#*I{KK<>R38;AEnu@O?^8ZY_%IqtS)&97t(X|2-Y)_JzQtj z!l8*Pt~fF^koYi7cb`F8Ha?~6B^Q6(t6Z1^* zMq+%+PC1{!;@57wm2(c-*M&B(HoF8fo}E zc+Ef@W=b`Ri@1t#9j-8wEgP9(a@Z|r^IA?5F#1U{7etHY1!1yo3chS&iNd=0wO|}) z?F%N#mBM5kRdm63m}2pEz;CH>oG_tK;b`~da4@*#{z5)RY7&Clt8f+3grO;MdK=H{ z;vF2BN>WF#ep$=?rGV-+3N53eKwsoH&;(Sjpg=L_K@cRP1JE3IPP zQ~WA=C_aaX-|yV{3lskne$7oYMm_>Zl_=a|Tw=sp_G^32B4OEpgH@Z&48o+^>igJM z3I*1AMg3ZmDa`xJL+|%nNu7{Z%s!~!*g@P`v=-P>^;YUB5-{|!#4ULPrc3C+ zucUc4O_v}7^0LmDqxmoJD=FU!$*kX4zm+FLl5GG@IQnjy-q+8X>HwVllA-uS+V`a? z;~A0)iCUl4fN6t{NYFCQm*m6 zbYaV=iJmDV9G|HU(QZRGBZgUnyw;AX&ngvLnUL!KH`Xvpu}bshk@Yg{FgLUkEz)7~5hhKtO$DU3lQunZku7^Z5 zd-SuEWPW2UZ7AvBjc;*n#k?F6vP8#CW?5*hod66eN~>%M`$$XJNA9;oo$AlX`RnBE zaPj3S2_L}+DYEKLqZ@eiM3zzg0a4FM3iq+$pDJ8r!#610m9R{(jP*?7erZZ#iRls; zlRvte!?=T4U*T>SSF*+~=@rQHX)0|t(omzs^Kjy`Ae8*KpKGbd0ALVMUYPurUYjBX zO3Buw)|pwUACtG$xf&t)!?8Aq2wyMY5hq4Jmd@kbsC=2Ok;^z}fu**#x=V5Crh^5N z)e7cS$5l_G%;LR2YJmP`^^agTTJeMC)sn&_*3QqMM3n1fmnL5U;Yd3O_e8+(=u+l2 zwp`fP*u`UVV4aYC4BD9kJ2REtPtvsNgdCZ z)AmnoJeGL9+9Sqx5G*ziJ$ffeeM;v5+AFa2-<;UD;6 zZuYL7>4%F5-|mM?2v73EeFxWATU*LzMgopUyk%YhEhes2ZgE-Y;9O07* zn_)j*k%=+I;Mw3~&dtkW*H<($_L8_gx2otc>Yvf#E4u==? zhTn$8c&IvIhgI^_(Lh1f}_eWP9B`$ij+_KkLdae>z1#$hN@ zs!3WsXr44im0!URTFrsn8^1_O>jteP?HcX#Y1e37Yf_<_Jsob$<2H{$cPgVZOH)Pb zsmV{`-|W9tKS8g>Zw9e_D^#54={f`72vww}o{vw!qwP+aj-sp0@{;z%5(c55S@i*H z#`PkQ>I3H3QmxET6WQkgl2KQ9cYJsr`JLIznFHBYwamxAMlr?(IbE+|e&fOLSoZ4=rhsKRvB}7xAJvhDv-+2@RHz_e?_ruP^G+re@ z^^JFy@#t?wB63i#Hr7!ji_{f7puS43_!!(lBT($zA%ir=P(FDUOp?tT zKK2jh5WJvL$&uZ^kn3^_l}%=EW(F4xymUl9R4hRfgxJ7E^E7!kE)8G!~C< zAoyXW`lAbFrMft^6=*9C7t?MZhwq#3Bk+AXcbDg*Z=H0S*za}VVLM@W>NH9me@`2G z_NJP9z$hUnYC3Hvh?iljetp_jy{~VpJ|z1SY}Kcc%ePgRe&{f^>ceE1W+so+IV1O@ zSzVXTau|E{R{6G69@1Ar4gINKmbW(P4uyz(d5ygxw7uwcmfCHs_{hlb2rS<9_5l}WSA78z7TaYXp(?L=P&sCjMT9HAST=A>aZc4XJJXd0 zGArlF1}wYv2%Kz&ntvA=(CEw@M&>fTJ}|F@dRb9&=l5Gh$>FL9n3AnSA57aVquAQb z=19275mdfGM1jL79J!VgEYaP^be-XL3<3d$KGGRhdbj%x9STo(sBh)MAnVQp= z>FRlnNcgBF3g(dyJy?mptr=(3NIi_SZ{+@#`#&H7@=JfF{O?B-Q;G-CvxA7sGE%=% zgRbdh*f~wTk!dx#;eNGDUK}gGtyO?c*l5yfhXK}b62^AI^UKe-lK+ErhOLCAJ&6!^ z5R>{TC`{_FWAc?eo204l*@!!h4cJ@BlNEQXjeAmwx)9Mk2O@X?v`JL}X@6fP=T-YP z#J>`bKk_HBV6O9uU*8?ioOs%#`})VLh2Gqj$@~!U7SV(<)awruM^{%*q_4tp?=D`$ z@#+~o;@_*~m#ev1V#X8G2(u+sCkPC;?s{}iO?4_!|HAQSCC|s}p5PaY(aP3Mq_2{& zW!3{EYN}Hj{j=$)K|whFqbE%kG?g`^j1BnX1H4<-*{?wtGtO!lShvK)JwXD4VT!Jm ztx?OYhbgYfz%}OOT#6luU((%ZIDe?*#vjAQ1#bKjyl;=lZn?O`>f{wQBAe(EMHxQ_ zLDX@?#5_|E^Py#wBlR-KWmcA&lK2+%bp%tDsSp%VB%NGI%d831BNCt5H4>jxARnmC z9Yd%nL;WW##=;yStjOl*_mY;4>>hL4MJ0KO7+3P23 zI|-u0hpA+<)Gq#3Ym8_vT-!+BaQRW?QRM@xm~-xBryv@y%OchY^~X_rP`0_CJpP+U z)kP8lIuNPkRa?pj-da%gR%}4B^6O>sSxQhAuX~t>nBUP+?{Tj|ujN?luKP2<-yAb-4B9GF24hTM#Q#z2P$UQyh?vX{}O ziqdKaP;ASr8I)r+DkdmK< zk@|3FXDtCrnS5)1_c=*HNtYw|!ItJ!(1ATryK9=00g&Y@#R@i2bROj4TjYYhq{hHgdRv-Uv-{fABn^MqQ_pznlNK|WX;#+8yS*Wc^T??PH z<6^GSjL#B-(jt1A)nuYdEy(|>nNy#A7!cbuy&Ig86eb!;qk46E&u5G0H%VZqefb~| z>^=%Qg~$XXu^$M}y6${5)tgeIHMS)1xe%lY#}f-l5=Pg_BR)$^F`jsaU#Ip6%44rK zF_*WFK8tLs6GPL#l&ljC2l=f68LX-9N+Kfh5k;D@Yp3&)8qbgAW~713tBE7jrCNP*XYKNZMnG6jUQ)7S)p=d@=lX69OUAj zi;MjC8+f->NJm|*D0K;`$Z>^Ug|@aJld)x1mRJK?x0qt*-Hu+M#duMaty;{S4qHqS z0wVE7DWYYTw8DNwm z<2oJJmbccJYpuBH#~89lce@6s3PPzfna(se>5O zlnsm&ICT|-Qdz1N?nW3(#{mFL{MXo6Ov}7ey(b0GQ4<# zmOE1t^jjkTQcT>EeZwqn?6H8EKPN4+3HI@~b=Gy2B(3J?Xtb$rBVW-!>ti70&@CW< zhB);e%tGw&%XC7(ZZ=2h_6ya>J-V8y!6w{Uc0V}3_-T6;Q&fO-O}5Bz*0^L z3P{kL@H^^4`RPjJUx96vH$Pc-9wMktG5bm1-bz_9-ZT6k{mu7du!nwDEyl^(zh4@S z+dFb&oY@j@*x`(MvRLD=!@2aV@ub?}jP;+F?flTWY$rSKi^FVl=LmPbmr5bRt05p$jur^ zJ6$GVzR-n>HVElr2VK*^??|%f77Ycv>o;0T#Kf=(Miq>i;7A28qP&%=j9$j@tz`x_ zTEC^^h%7DAPhYxZEIXB5MwaNOzh2p}>@vDoKYjR#o~fTf{7k;WWS*elH71B7*)EeS zO%N-}E|aJH<%=TNE#!y_zdtY5kYMU~506$QD_3?b!tP-UDORL@0~YhLfR_!ru>;+U ze`Ci(nf@SrUEt{Uw{_?qmWTBb+3hvOy!5>*r9>uQuJ_0K4JGkMz}(KUiarYl(TrUK zsBmSLM$X>N@mZE0rPX&P4`#AnM*K|G_T-oM6j!u}nikyu7!Dy6z z4V-}CRt}<~<}Qwr^uuUXy>uf1HpaU|A%iZ__xKr|RQw10jQmKiyA?9`b3AUg(2Bqb zzuy0e`#JVtexUVx`};Xg!l3%Ud_PCfe`)`Qr^Rw@94gXCg#)cn%c#jNiwybt%a@0~ zVk5PhSXN2&m~r)2knA(vy80{Td01C}B|*mKm+-QsFX>luDJs58fj-S_n2(Yj^;!0 zOLDYux?3p{CyXZ_n|GfhU(5F`+Ew0&U6=H@PWTP0JwMI4W3t+j=(ZV?FsnU3F3_Iu zF;-&vTl8=uD_O2eiM|XIbGQC-1S4Z|jKIHJ31k70f2OG<%kgA*Ad43NvsIp~2h^_Q zcWbo@X>DX(FNQ+ytGiPF`W$L52RKidHvQ4G$)2wKk!{nzmzch|iw8}+%G7W003I#( zXS9$FL0b5Fx`mIK%-uqyYuCc#ObPipdbGAMiDj%?|Lu$x9;*bVg%_BRTKKK6&_e&S zY9XG{N5r%fe3$XwoxHuqV(QK2d8osiZxJ78`0v0%2TP4LsRy8xAo6+}xi)pBLDyPZ zLHGFfoR$xb(|tLsgZpwWQUZDRxQL~OS>5m)qsZhh&NX}dGhXd%Q;fFv+|2Z&7y8j- z?0q*k`q953T83H2b?wALN%!dJ0-cMpo!WUo%pKY0+h!X%d3kA@J9IAK6-O;x1e28< zLKr!dvUGt?&Olq4<5kEw4LswWm3*XHxMA%Rz9vu!i%1KaZb0^Koi7055}6)17n(~e z7w{Ul-K~}<4`HxbIj3)vA*VX)vZ1zhpXVKtNHU7a@dHd+4jDFZ`H%%10VXBO zEx?{NT4DkFmE%kcC^9*gTflAsK4$@#ep1xS7O+)-4i;eT>$h9Ldjh2Tn~(Q5Ij*#~ zb-XLU3JWMTfH!Q8mj!sr0-^@+js+|e;Kvp)(g3zvK%)S47BJcXKC*zh0$gJO;|yS* z1^iZk3oQVH3EI(tF{Q75A;4EGV4?x!TEGtlILQJg8$f{t+$%ti0n|-nq%4VGHXU!2V?ORR~sVVf_QxJr;I}U=u8? zG=N=XVZ#NBS(p?{rY=5y4iv1fg^dhgWAaIq$UjZ6t`;^rfcY0Eoh;byGfmsa1+cd` zL_@yM2)4n(CIqlYEi7NK1`C@Qz^<{d{g^c-e{Nw$SkO42CQz9>1e;-D(}H{-+4gM} z>>3N35y0kJ*cQP?TG%}S%*W5of}Lq$4+JnDKVKEB(83-LU_O4X7Ht2QOxqs~U_MV> zDA+~|dm@0{OwDy`?lRL%b`&$Lk>*+*1dC)RGbL6zT&XiMRGEWzGKUf+bC~OIn8!!* zDgy{nEGkp1A=`n1c`PFdqCm8MPl9{^iz(30FBxHI{ayjA+5faD#Y3?t?@XOp4n)n& zE?dZ>Z`PDtw^6P0FHO@P9^a4F?>6PunSE&cO;bu`*Jy=oRpTaCQy9qw3 z!$T!v^}oCeskfJwaR_P8%U+i;vC|ZzpA~maB%_Q z&3?F$@Ffh8*-$1tu)7UUAbcHWCW^6 z(${zY3J?B*K5T1q*@yPkOeu*@pYx$+7D;salc|gK*B#}G;ilUAHj+Q8HCY~oNyaj|G{)G+d2kMU1!XAdM?BqWw+eB0aIe$0 z^lG4s!KZE?9)HMcAlDR>zZXcxYTyUhH@fu$b5xQw7s?@>y(S^791L(#@}e)uR47;u zOmCi?{ApivpTu`eCG$V}oGf1(l6^==^}KaxY%zmIo~)k+K-R z$OzZTTv$DCzR120=Es{asc+@Y3f9TrpV3LXkJg}LoNv(Kj>TD>ivI|^QcMd5Q>o^M z`|U)GA02Y;o~je=XYv!QISv-8?cvp_78W8RbBv-rI6^8#eaWByRqVaB>y=z^hG||d z?P4D2<~OhWbo9pE8QbK~EWF6VKc=J9{L=-O34OB0!W|1=-ynE}g=bs%AAR`N zKER&=t~QlIcGT%Rq)aVUo-=Ho*EK4*ck%PoE6)tU9Sh%L;g|dH2L+!X_%;TIrSK{X zcYXLxf=2~kZsE^c_(?weQo&0EpKal@Ej;AI2MC@c_}v!%6ARx2o~cic7d(kpA$gsJ z&$RGHAHL@_;7bG_Vc}CP{1G3%Uhqc+Kf}VmYvI*Cyk77bf;$#I*1|9M;SUNvLGW$# zKJAZMxa-4j5xMtcfc#>%% zd7XuS#=;wY_@3Utmk2(>!uL}!f3vcw{dwKzvyP)I<3;(HwKjOpJ3;w9!XIOZpg;)FVdckK1?pXLa7Jj)8 ze^BrVf^TCaXnz+AcYXLxf=2~kZsC0`{3IWKso*7o&$jRrEIj1H2MC@c_}vzMtc7nn z)^ESy$-Tg@v+#H6IL5cphwq_pQ%eLNVd2Nv{EztX^@2Yt_!$=drp;gN!|Mf~A-H4V zzqjzqefWcdPY`??BSHJ?EZp_sHwhjUe7S}D<9m`1zf|xN!Dm~z-~S;WK0xps!SA;4 zp?>?j`Rx}x$-ZgwItxF}!W(_~o>PG@5qyM&Z?W}z#D}jJ{87Qru<$v4`+a!5;4=hw zEc|xA{XYCb!6yj5jgg@J<$n8p_)UUG1z&FAT`l}1AAYIeC4$ek@Yfi4#xLZ<2MC@c z_}v!%n1yfZ>bGC;BwMV>>nwblg*W=}Jw1Uh5qyM&53}$`eE5379~Jxz3qQfat9^LA z;4=hwEPM+CL;WuI;SUNvLGW#i1nqy$!d)MJli*R{hw~R4vs!i?eMYa|R#Uu!OOz0C z0<|-H0D~n^IknqREjo8(^E=r1gZ_$DAE(A}HWx8&&KbFV~fcOrPq;dqLRsc)W( z{F2Rqi|W0`CGmZYa>9l;+xr@FmtdIXBJ^|zT*extSfy3(HQsZS&N!{QZ$1VmxhtJH zE0weeGjJKbaKgRGwf_8SZpmZwR1P6A_>?pkj+bJ|ij4Lvijyxq7BdS_aX)#CT+IXm z+#LX2~F^PI!A-l#8p(M7I*++bMRxN)&y0h90eo-81M~w|+4l6Nqwy zRivDH=ij8HMwIh(HYKP=-AxEHa;=AfX{@+A%bK~=3!|R8p?qA9-)Sw!)-Rx4W(>4> zflc{YPdYRPZylz^{g#F?&oDNNKlj@_nl?xAvNY0rDfn3BBpNe|e71pDws)4)$&GZ1 z%c9zqY0LI+5QRrkR;8}0laQORGP(%QtT zJ25?{9iyWdjE}@(*Qp(;#^|;v$^P1wDY3gmY!R72#P`dHnBO01IvpnmU72wiP8kmq zZJc%461cO#6q0rV1+rzh>Ix%;5@S4babpodJ``Mv5kIdhF1lJT!U$Y-@x{JcF2v^u z=Wy|9tfy;#N=CM_gmt=%DM_7O60b(r$ms54t|RE%GK&tT$Hc;Y3#Z zBd{87;ns_?pUxbC4JL87|pB?eK%93j_8>#ywu;7UM9la&zisQoxch zF_(YIx=BzX#-X^so*!W}3SmKA!`?EEOUV&fEsW-iY-YMOjUg9A0)bq6>lH4X!l5N@ zXvxamT%|(t2H%g9Wu{%eBW5b?0=%lOlxk?v@ffkVX==})-(oz2MO1xfAxQosdN|>g zsi|ZQbNr&;RxID{+YCO;Lww$69)bGdFYu1nbA$eecl3wh z(0}(R&h&qpcl?qlc*pnkXyqN>XYO(9UuGEE@Q#N~;%+|@69*5AK$+D=l<^+f_6Rr5!7)gx5nqZp`dOPax!|o)?)o<71y@c`w~U3pQJ}?ub)J}y7e2| z_j+%WxZBxq>7duYK~(a395STmi>ljGWmLggj%{&s)ELQG z*6P{z>m-Wc+V(=80l%1hq$SGKct$UXtR#{;kI_R4nUyS{1K7|Y!$FJK{=ajrA(1yK#LHfFd9x>;Lp=hd)yD_HDY%^ zp%}zU*kRof+VVgBA|9yx#_|Xb4^9-V?2?WRfMieU-T}822m5nY{V4jEaBmuqt7lVxPfk2C){e?xXpvMB~0x82Q%9 z8r)iE^_9BrnL&J&q2YMr8jWS*^gnbmO}U*%AbvQtn^|AT>5eg7*kD_A>Wx>^qG6j56^%T}r3 zwat&#V!FN^h-OaMshuvFD6th!l!lBmL^F40I6#!=zo4MstDwXQKd|MkPSvHc+uMtM z#+uaC%ojo8I-B^rLE>NTl-T{8M7Q{bcDvQd2WfMrWTVFwQIuc17m#pah z!@ONV;2L+p{wg`|xF*c(cts4dD8&;w5#x9tLla6!C65#njN?;Y`YQRzmI7mfHM!Mb z65TE*pPkt+Xs_nvaS~U|$+c_hUY*)ATCuCV;;pE+2r@DT#$24BdpT~t5=C?9?Xu9W z0sE@nRz37tbHS*pL6uBh{!%?;*!(j-m%17}Gr~}tN~P9v?Ug%zvfvlyMtI zhrwdmTV5{T7xt#qAFV^O)3w0P%&}(Zb>-B|3zaKlAw7zde!nTDv$2FjxUe?^`j_po z%3irwGJxsRsvK>hw+;h4o;?0+f&Pa%RitaN5 zjzkz{>@Wzs&urMmcqt9zuv@YH3FPoB@s`mSis{QR6(yg8N%O_{D4jW@S|rQn?4%_X zq>r4;g$nhWfEysX+uWTP)CS3wnz*5rT)?Bi$~|sq1(ndcSobGVrzo#W41!T7s-zmJ zLUM=hrBoX{_L&NuPK8tnUGBTm)Cu1T+<#N4!(Zv^9Z3-5LXOg)3exy2SF{=pBK#|gjW5%3#(Wf`0<&AX?o zEu0S^Q9Ir}N!eSc?BBvc-TL2)#XXbB;!Ltcx9^G5tAa>MzanSyxvm*(4omlqnR5FA zD%w8EvLl$K7~q|Up1+(N3vl>mgTp$DzsBINy)W8FB=7RoWTvFb3-c(Ca>Jh0jd$%EB97@ z7rgtX0Zc5Yro;hofE^;d-mo2t#wLEbXn_8(Kzv$Fo?gyxi}xaQvIuriygY?toCj z-cnrrmRGd6p{3S4aCvAyZ7>aB5LjDMQ&FurI-?;4nfHnv4ah2)kbq#N247^5(`ZXU z@dKSjL6@1w30Lq4D5!FBCiUn-KB(tp611b9{>s`)JtLW1-TJAAP>)H5N70V0)N?gC zlhe9nQcrWoG`+Op_6s!F-Q{4p_FT!R{{6Uv?d`aYxyxAJ<6%PQ^<`a=g}*J5^;;!M z$Vwe2j(JIuWWJA>w?Qz5F@80!kNz@WU%4BLSu!Xi2RB4*Vo6~Lf{Az|MO(JDR70gN zF;3ycH$!wiBe06`a%OL1$N(Ef6JUZy!(=$_lCZa)xM;;zAzx^HS?Il*O$RN3!5wAj zw-VtyrTf1!nMUd!(~9Dj6{$bdd$h;Lw^W>#j^|Fx_h8@Wj*D>~D;AFy#7hfRC3&^# zuj6rjwU9N!WU?9(CH=zaf(-vK?c|dQ#+j$^CAhcFm|@#9;CSKWd<@zP%#TZRjNVvo zSB)N-@o;k&azpW3v5Gm9>7b~+s5ojbDjpJlW{wOtl6fnw`_6~K8qR+`Azbr}S+y}& zdYjeL`H3@kvIkxN?=#rdzh7fqHsHDbWOivW7&PAGjzUZQX=I!wF^mY9E1K=CEyq|`;KU6xA6;F6pha^HH#-k zlbgmey`lBt>-cjRFyE=|PCb3)`_~9Mcbo#uDBqphxQV#TMsVp;ZA6KsWq0bnM65d( z&WGCDsOr0Lu81JYdb+Z~t!e0hXq_C@V0x+UGgQr;OCDLiQVRWX55H+wor9RPqW;aE z-0+Y%p>bbltqh*#!JPTv9z*dHcrcx-2~vWmss7gX3j|aR1E?Fs--9ge76}7QVflUZ zXk8@S#kA9pphcwsD%kH%y0&)7vb`W_Yb8i<(B zwuD?a;+s(p8#fl_E(zy0&$tctSI-7EJ zV%U_sogR=kjLZ%&4nQSyC69j2;?WBx6)};-*ILSO9pp?eB0K&-hb6LKpH&L_k192O^-t=*(VMa--RNJ@@*$;7 zI^HU(k2GrPs_q=pCpL8eF73|EA?V-X@*WY$pU3TI2L0+$Y#nYU0(LU#*s5eJD-oZW z55Q+9#v!(0C#lCxa&r^h@ATQvxZ;RnNR!Aj6KM0phJ{yNY?xHlzuQt%Hvo!a*dwoS zchV5_C+8-*K1*JoCmD{Udx~rq#0HSIYC~!)Y3(;seJR57uT&2cL~ovz`m73$n+xot ziTl@48{9wYFl_S2$72q(9~s7-%XUdt>I3P-=8Ey9-ZsHj&gs;yCdRT(r?!c3o2Cy< zgiAZ5o-mojKa~&$T>E1aqY{Ixccrtk9U3s<)Fh>Q7UF9$sJ*X-?3`PrJi9V_z@0xJv0hdmt!?9l#+540ePGsx?iyKDBfR6S#K z8ij3i8n`-1sbb$cf=ao&R#Pu(_$q%(Ra5G?$<_~7PprS#$d1MbpLcYA*0a^qrcHAj z_jfQAdxwfSwOyfODhEl>5+kK@?uK>FQzfzZZH206#M=__-gg@hbaET_9_7}&eWF|Q z4u5Z+IMkWb=L~+%{4zgXk3-wj%-?GMK8!iDxAM1!zmLlrx1L(oxaCwg^kP}#`=>@i z%iPAT9a&NE_jad9XtCS)=233r`yC^>TOzqT=!KC7|E~f;58!L>A2tdcv%7mc6G5~i z2F0MGQzw5M#u!c%GLDxtA`1P$#8~3YbA*Kk*9>YF)Tfn>nVBWhY8pL~Bh&SjfTtG+IKI0F4e&v(shQur|yKQg>%=8_a=yY{oj}Wj=k;k#MTZM zqsli3rdiXe+b9HU)ZWbD3pIU;k#Kez8ay_j z!L%U30dCP?QF;7k!_MWJH|%YWcyGHkZ=E>4vAHvHKqpAA_*CbqR}n1EfflZ2~P;+W+9}|PNGD-TcTq=Y5akO-TxgFdSA={-(S-b$5#{KBQAv4dkmcqKWI25E+TqBVJq@D3eptQu zl0o8%{48ha>u>-uBCdI*^sqB@rxrHh+z;LA{eH|l>P7esf9+Vr^{}eLb?*Ot-OLQ4 z&i`7^`zYM5^M!B+3~LGy?j>=iMTifF)jvq#FpbgWA^ijD2rECN)emLfD%1~d{Hi<` z{kjn!&P9AU#!3$>!ikF|Jycs2L=UOZjSAvQR7O?>Ar~dA@+aFV8V2|(|20L67i!VZ z^o$6a!(1HBeN_raP06|Iqj){wGVB?_V5jP%>Y0TeA6JE(IUgFOLt5LQ8Zqe`F8vfOQ?14t!aJbu z6MxS3)+1(+bwOhao$KtyuE*82O9>rxX1@gUUF1)}Xb_Sp6Sg4%d=PC+@pvN~TFUI3 zLnnlD_aHxoz0&>RxSWF0&c?8}fC@JF#X57|pji01U#cc`{!FP>t}vyBL$6XQ9ZaFQ z>;H~r#tY>R|G%vR+}!1nT=s%X_eX@(j~Fh>(p{tK)K!X&p2UwxzRg^8*@2w% zp+DKCgiVt64){3ro*BX4`y=>uGlE*cAFi{RLl@i5c3FBkv%!+t&5YqsOPo>xLI0s>ZWPbu0{u~QLEr- zmJ_W@a(otaJEW;?5qg=jeU#b8dc%g|$mM4dII9OIQ3zLoKd3fo4a zz(xgaClmDeY|^*WV6*)6Rx*KXeNHGw6~Zi$d%f>hiP|^#+gV_;-*=9-!ds2xvH#TcRd0%tr?AObk+3%G(vp0zAL_&+i@}sPNNs3md zkaVvz4aK_`Gw&eWk$OYp<^nS8FC(QJYK}7VF!2_K;Iqw4Ixe$s?!K@$dcU2@BduQE>I`2V1fSj7S2)Zeqmq#?LGlWU$W6nM^G_RaCN z#AefrvDaRMP~cg+s$$E_N-G8f_8SZcHW{ArF<_j*fKFflVi)6ypz6%oRlQlmjpnF; zwOr^W%G??Wz1X^d``9erjG~w2+*T$((WG79IYU1dCN;j3ll!5e&Htsv`Wp)AjxY-U z?`MwXH5$tu?1VeAA|L++=fqmNotdhwezw0m&qy(Io;24go84ajrc7qXN0p)14ryvj zrycCT{XNqTvUS^ud9I#W50Ss^on)zNF*bRD;ufq-@I2J@Dkf0&MxQ%2m`Zoyrq3?TB5e6fNUNO!9${sf z7^Q8CF!#n}`?D9^1SHauXr;Dc-$Adt7kqq=rPdnVR$KcJRjoPLv2vujOKuHs&YWm* zMCa~ai`LBV;I2**QR1%N$fJk5dMl4!?&`OB^o-;tBi?J{!<|cuETA_4BGGl8dyoYG zl*Jg~=)ce|$y4hMHtlt5FrBaaEiXo_=-*~zJpON-ZTwbV-Oj|dXxZOq*qICd>R|uc z4)(o_Cn4}@bbc_{W3bwgVb#5Vb)dz34jt(S{EAmDl*B+fS$56_!r3EB{;K@8h}r=x_#BBt{_Jo8Y7 zICJ(9Dj;SbG+oF+^6tEIP-gH~w&EdwOmX*`Yl^c&HT$5)VaGv_`!Ioc9(w1Hw^Fm) zjVZ_#aF%fV7-oubScaE&B@jhe+yn>eMR;_N$Vn^8y%z~i?8#UTi{~v5$D@TY@3ols z;Sgs|b|`YvN^s|tk=@z00-m62@Z--*8vI8Ofa= z_AWpyIm($cA!y9VVlPF7)RqZ7BPT5>_x@~~v6h&TJ*eWDA=+K&t&e#xhdWjl=aDFU zN|e^9u_je-(@u_0s8uvX&D^Gn=jyObS1gHxxs=PFoT0ni)$gk@@Az%yjuaY7d8*|` z+8N1R9PT`kc9_+t+GyLsF_M)uG?I&D`!L$^KWkL}Ra*lU<%A$7)QX29o3{O*MPm`| zh+RLHciFIRlm;!SQrW0!68*Bw($a(-khGaKMbRZ~Df(%x{{pg(c&mNNF7hdRTnfsr z})%?KGZg#b1zkudTfUaG*_=@lg#I2Sl z%y0zCHgvwR4853iGvW-SS}h`nWHv!7xl7F4FLSCez1o$s{ck|wD~uGNW_?1dCiYTG zXc>pHNYaCoIT;O7b9)TS`rGZ9z}L90 z265Y|-FtL9CQy~0-c9#s|I6?IP4u6@0wfZHKf#bq-o!nqwMZNL&q| z-kS_}(#qtMT978{f89a&FEqhWGo5|N0&&;h4VfgQf5LD`PJhd%*g#HyR22IFH=r4c zy_>)%QEXaT|8xX9@3r;>dp{~QL$EgxXhX1HYn9Ti;P)?sEWU-`a|QcINrt+=_oR>9%im80^`x@(1M6c5`pG&{ImI>*Ao-PgfDhu}XN5>$`r(Z6~tih$! zpuN3IG#39i_Tsq0jJ*&XrO1gO=Pw#~xYMR~$#&|jjDBe$#*^$Kx{0q#%l~RPepwF3 zDn0D>F4M+cxYz5^3hWhEYv(SODEhvT!%JbP2SjJJavYLh2tG6hkWc8bRX!lOfUhLB8*)zoxaGTiFr7!Kn zmacNShTZHov&I4!dhKQZmZ6t2*<0f#E<6H14F%f7^>M*#mOtYD49RwF5NT7_nX`jK z3dvR634D>+Hp2VWnBqRJQB>nar;iTE7@Ry7-BZnOlu+-mxfq{9V$|UVGso)8kTYjU zZ_w}BVnU-%i^TI3IA7}TsXeGhcRXyeAv9-dFL`Y#t5{PO@45=$wbD!%h1rv#xV}V8 zI#p}RJ+X=daQ5sDWGjqTtW|0yLTjU~WmLeZpatyCLT&*N9ojwR{G!##;qkn^=&u8n zbdFXi%20yki`3A9lO@XX6zy}chlP6A6k9|pE~J(2XQQ{rYNq=}S?OwLh)=z+`b{t8 z*TBtP5vYW^l6t$F+d%pDTTqeN=~)t??V^Dpz0#f2I}*oAo32pjoPSzo=k#dXIg?E1 zczePpHIVy!dd6>hAJZ>owqGzyC4q&N1l>YA6l=O=2;E|Aeel@WH(K$&dV<>wx0F>- zTiZKDL4VK>0?`X`5_e>8#H{gH^RM2jzM)gz)+jJUzTQ6Qoz-t@D7@`{MRM0jugt!H zw^RzXuDP%bzl%-hYzz}ag>2{06Bcv+TIWR5nDYsp1J<G(rx|22 z$7hg_5uoK=(+qM4Q#Yl-AYqH9w(v-?fJr5WCGs;wOtMf+GU}~G*9^ZSc5F{`cQf0F zusDtXsbsqLG{YgwEB09iIjYc^jnQHFq-CqO(D8Urn3LVbjgNvwvR_CqquK*#*rO6K zXa}@`$J!lrp7y&H=^7;_gCkX+G-y)tHSvySjJ-Qix%Th&h^EntW8J#tRJb0RGBX;o z^`TQOPbkD$kDJ?w0Fk>g0)OA{PY0uH<7p(#IG@XiU-sL1Z7s^uI^rS!8I!l3egFfc9ce;zn64bi|E{ zEH_##Zsf285jQ%L=i#^!u8Wb>GlaKK;7O-1ZRJUY<=z^fEfuEOQW(2JBe$JIfOSq+ zQdqg|UD#5ZG8wH&-2EW_gK%)s8ZoS?B1@UKz@B)$R)jC}r0#vS(bt+o%B9IreGHDW09IUQ@)nH~L z)*}NVYh~oE^i6M!Tx400{FPE+k){8C+ZnBT8KzFfa!a>l4pDJ&>fJi-(b^X4bYr6Adg z8~;h8h!am!#7lz;oZ5ZVYfzC>t23*E9E>P=y76<1!ie5|T`$R{AaH~dtx${V8mg{H z=B~mbtfuV+P77F!@8p{w^4C&tHiU8DgY|&^Y`=xt z)LoB5d;~ z&ZPzJw0$6k44%V@8*yKMFyu@ZmJ!c@<`YkdAwAiK7}TgjahCy%B?d=VsOFtc((SEI zxG4%EjnsWrGryx$iBhg5m{eNst(Du=#*OAC-*JrZ*7C$P9XM;#Ncz!uc;GRn%v;AL z1u<_=@=L?BaS&N~2FN$sg)4J00`4}gXJ+EYkecOrxOfBs{F(B}7Vh3!h`YXm@&Vhb z=2%bFZ9VVO*tf96XORM$pog2iVV;j#3we1Dw8D|~?D_m{F(<(gPt|c+?K4-YGwMDx zqtxk-^}>pqx@OVKroB$xRv@WP1_OvUSmqWvb*~U@dTD;6>7~v~GI}Ys#unG}cYbjo znP1$GRh+Dz!HGNm3{IR}zmHv;g{f04;+&$mqy0FCIC?iFluNtvGl6#JDJFm?VjSR! z@WbI;#YXdd#-I<>_P9ZySo~|KWgjxU2Ishm;aD;5fNXQ1+JXo!^yXlUb4_s}9N@-5 z&g>nAM4j1t>Bco|EkT%#^x{eh_~I)#jovLm-^5Eb761x%aphNe5#QYyj}%4*yy4Vp zk2f;lC8w4fSV7<&T%Hx~wJg$W9Tvx4Q{%xC8(U87x1-k%?_jv!;$8;_>~Lz|#4I0$ zYq-}A4#=aTJu%#Gez@2Ch_^1%i__1G$>jF?!0m;zDRj1r(74s?!><27_>$4uUWF_d z#_et5kpkRl;!l__XC=C$Ri5uACh97!5+WduKF6?D9Te`x(L*Jnnp2P3#RUY`yE^IQ zb(H8grsff?+dGOFk(L^J)d8l{Xya|ay$+3DLs!bh<`u;SIxmvbd~!#@F{>`nGQY^h z&vsZnaXO{aJ?besxGC(tIW&=dcG$xRvq3%#mw?X0ijAUqm{l|n>#=&9B73cVSC5{# zd&AxvH+g(^kUm?Y&-QJ;13Edk%Y*K&-O-8_(Zrd@ z7-8A;-59eqPv0Gbk0aA}pU11G#%<42$_9U75hazGj&U7ihbnEF?i^7`p8S?-c=7C-q)}h{mIbZCfv+M5i??yd5;= z+#(y@d-a=`y1HISg~-Fv9}k&M(k)W|MISJ2`32@c1`iUTk7>*0s2YTNcOQ**w!Gr? zNU!ZUcha1i=;}f;Y7kRaF8B3SKIC!;uDoKW#xy5r#rcWY_0j^X9qU{!DZ`MsZ9@>X z1n-5kr6>CT2I$2!#s{$pfHtpTJm+^}1C~|&E_DVNWUzCU&Y>hm3m-2Mo`H*{7E2i; zB1aOJ1(C)8j0Q=G3M-w^RQNbj5yD5FV&G{+y+{!Pa2(>aXK;9I^wklLiu;IL!e=L!wQyS;?;^%^%WtYKXS^s-OV`)n3sfXkW=d;NiuzXorP? z4hHmQ4X8%46t`%H9Z1dA8eVoc7*Vr%@iK9JHL#yNqT!R~wdx%XFR^`woo0Ya((tC2ir#wl)FD`nVd^$N90LFi6y#o#nUThCP(;kNvSPaJ~*sc z^Z0hfw4cZEE^FrTO?onqb6R(gKNlDf^Y|uW$9o+p+O65$QZ+ku1y^9G4m0Ivn#v(z zOQwkQdI>p$TDaWQl~Y!;09ykiT)-cG_@pi%&@u(rEW;Dw8@ND0jKJri9Zl-iAr z@Q>&D^#+WPKD2sIr@Xhd-1Crt2CNHUB{&3>LEP670k?W4WQ{%~G8IuLRh7^L%#q6m z;YeVJ#tNM^v<}RYjwXO6r%$N|E*}wG-iL9_1gRtCF7ba`D1Ps+0qCC{k$pApIR~Xs zz>0b62Fb@P>t29A@Db@#h{%^AB2Pg?o)>8*M?tjf5)6O^f$GkJh}?>Z+&?~3EBgHz z$x=iP=Ow96aXc*CzeplR5(s1_d_K%)0rm#cHxe0(8~~j-L)!xsoqa-n?wF-@t)9sO zJUI8HVDhNQv3W+?&)6qvXU-l8mTySiG0j9LJelWvQ1K9<9ffByLtlll1?gDYpeM7I zAcTB;8ItD|c zHHKNe*_FdMYcI^FgcmTOI@%lPct(C-k9K!UWYG%`hA&8nVd=RgSE33=yLVAZTAsE1 z5;vL8NI#p*^qWjS9@Y|TTsl5;s&1z=u8>Sm1ykVs6To8kf|K`Avr1o>Y%ipE!A{=u z8yR&_gR-&uO6H#;w0y>d%$Tyq6%;l|8}L8-^1EzV{{9FZ^AnA`O=JzRTQX~`b8VSF z5lR$PFzr3mc}<@m`jwNm=3g1Q!kO^H{eE;SALXp1w)T1MaOzZ~uY{Y2C=xv{OUGsK z5t4MmIviK`8xR~M72GukI^kLhCcdb_(dTmbb;x;?-Dr?AX3Sy~5Qi-Agvw6kI>?U0~#v86r$8h3ad6K2qz?r?4ERB^==?SUadU6g!wNT4@6R!cxdFMkzxl2y%bVW&-n35aMNx7Oo{T#qet5gvYhf z?zND-0;rOae*cq@Grh0<5xrKV3=Dq%r5RV|-yN%WTj3~rH!xxD^VRM>GgA3C8}#Ny zurG=F(XQ(U;0yPL8inK`DH;Ax;ry<`#a1C)CH`uWUwgBq_(6kTnQ!vM(g)YT#`Y$} zeviDY_nA+LL?1t|zZYn+av#!<%XN?a-DOqM?*o*#M0>!lo`+2|NwqJJk)oDtS=TBL z`zqTs;a8L!>wxx5Y~MsV&%%9^R&V}}m3I2h7wc&3^;k0p5Uye(63vT9^S}j1OC`Ly znD%3hZ^pcpF^u%_rft~p6Ho_kyjqN?+Y(LB#~N40n@_FBaF40k%>2t^PqK9<&=E@ywVt)ZG_izw4MGVI5{uKz>{0FP-r8E-j z#2tZr&rN&yL$1CN913CS;H%b>3Qq2O6$7K=k>?YUZHdSN&XtNazZLCL{?q_a0JL`k zR=_q~*&(1g4D_Q%b-#Yy;__4LW0B>F$j*Uh`7)yL?bZa9V`mZ0nv2a)%>`cSTF-;25cv~|MLpK%JQ?o9%XYU5qs!esADKR?P}9IHk)uAQSWN~ODHm!9j0B70A`~! z=(rX|5!Be-G^mmG9oL?Ofz6;3f-Mgnpj2H9woxi52Ah08EAp@da6kVM#^|Q!25eJ- zp5eKm?o}6ncN^4sFW_A=734g^l1GtDApZE zVCCwWbY>a5;KTU@M+ma{hH(;UN2Zx9LLjjUTR?`~N!jOzXV=?NM^#(nh%eqS`!Fl{ z8-9~mkH|#Jfp+!ad{?6n{(aa}Z)eQg#nDXklRjEk*B`@)8fVJ?Y|;^7H_6`(XPL8- z9==iNrH;_ZofuhXVd9ZhoS`A8zrbN&yXdzL-64&2Nx!@O>tKM^?{+B50fG3FKM;r| zJSqIPHGLDCv49ueQvmPt0xvzTJyPeGfinlkB5UFi(!Z`U+XmuJ)-Zx2fWlLOmIbE* z4X2AP5hS(DXh^RAs;x!P{;J=PGFeP3je4)lQ^^nJspJM-XiK9_^EZ+#z#J|ycTTc4jA7JYDppsG5`UbraxhM~iT z0ylvh})Yv&}CKDH(c0Ij0>D!3J#zBc5Cyp8EOA& zGn~`$M}}F)Wg}B}iw0muveK@fJw(@`!Tag@q3Zg3MSvC3Qdn)peRr#ELw>at_w>8| zJkv($sSi~I!~sJt>L}cJ5Qy*lSAkeaTLAHlQTqaKp^uT(ES@5)?R8i?tB}MSz-}0h z-8zrQOASISwg9}^f4<8U5g z$QlO^oLxoyH;%AnkCJ2X8(!5HWTGSaE9boWz-m#*RWF9<58|qmD3XZdM8qNyhgBty zh*5|FW^MWzc5kgK{~(n#F5@LcA=x*C%HcvZ^Tru)K-}}9UDt;1oJ0vP$n8tDOFyH8 z4c%=JdHc@z@SW2s$**#(?DiRxyp~71)6^o9t*vzbW^TyGEg5PQt(!bBA%jTT_=HIS z2)rIcr|e?5qYk0 zrQFrZ{C||W%=&R)jb0B}B#g!z=gR>}GH)oa83T@Wt}62}Q|`MG0zG5kDX5YX`E`>M-Axx>h}%8?r5WVdq!++@!@V~iqpR2yf6kFN;m z;Nyr+%Mhco{4RuY8y(cKiY9jWCqYrd%`nGrzTy8ty08ZFJd^7NBJI?=y${e727-O$ zyukyx`a6Yz7@1i-WKVJW_kQdt^T57+*i+{1ZBKa`6pFMwRVxd>%NHbY%-?vSrG=Ftbuf$hEn@W3LTlhs@TUZs^ zRGxD-6^R1sR*@)xQ3X-JSyk>SSXGAQttul6R+XTOrB;})0#g!X|t6=>r5H46h&((EnuD$oPW0yVH|!vHf6$hIb9L3Jv9 z$Q}ReYy`(?^RP(ij&;t(!{e{fuHUj&i)LT;mDcpdqgvC~)Rfp*E-b@c*js^CJuRCX zDU$&D((vemy|KM#jbWmUbLc&k;`5NiAt8F*yM(Bqc??j+GG6N#?z3oqPw;Op+8>8#Y&M3==WF7T zZ4$XRm&>kfP>yA4-=Ez)tO&v{MZF0I;VbILsNU$e*N?;y(^$0=Gfas&;G2FWQn>ZB+w~MO0uNDNOnP{TO|)w!YBOFJg`Z50^^_P+x&GR+sE%;dAH4d}k>OgdJu9 zZsTxSW}^V~Dep-#jE~YxNZ7&n;VnHUGwC#%8pbS`siUfoIfzv)$K{VMsB7$bSU`>c zvCt}WSE*IT1a66?MwJ|a3`}2#Jb0HtFVV*ANnhmH!vg|)JhB4?H}Y&~nCUYWZRD&y zY6=s~F6>BEJM$KqZGvES%do+-@HPK7Wa?sKYetz$R;MHWpUjil8j)Th*6#fqWo!aN zqs)0j8fAuN34@I?xzM(;rr0P$)D}jWE`z0W|8c6C8D$QcKD!#npBpid2jMLbRszsb zt>|;!0;6yNxO>GKK9sgN^CZ8c9>sd_5Bb~Tor zotboWnd~$|kyYN4XOomZn;Vw>>qrW!He)cwKpOKV;@dSp+I=1C(LXvI%31_>G*5|6 zh71Ke6Q|S-GJhQMFPVacX_72VA8F+T4;d;z{Tgp8$51`*)~3(e#9{}wZxHc57%#I! zz=AoiyOp_^-f!h!FaJ0tAh3&SW%`X(Tg?*UOiIgV+~;3|mL|z+_FE9tyq1ilSpxPF zgVG_d+*vTx6nc6bhtJx6?rW<`Y>krF!I@P=!L(RkJ+{Rb# z1;GD<{MlAp5r595-+@2BXK$0ue~mvw?5klD#-in7Ra0WC8Ch(|k=@3QY$r0qj5!c9 z;V2s-#;7M68!2VfpP)>3n8L*NTCuzgKml+DoF)FuLG0OxJo}Ng=UPdqmG~EIsk$;R*>Hy~%k44QmI4e58o!8tlEUC=ZbzZjTX1%!+5{U69+5TP zg7KN^u}-R?peif5a@jPm4QuOLW+>>MDZX|2f60uaxf{xibI79G12axASqD5(j!9sO z3W%KBh6*lY1X5AFXZ0N9y4f; z<(A{zYM5D|>3=}h6WhbWP-07CudS^8nsGMZNf?-MsznmajPs}!%8c_LMoVSJdB~OV zS^t;$ia#p6Ei=xvef!7!e-IygAxlOc;axLr$>A=u^PS>jpGE*Z@c7t=!uZ&q@+Awc zxB`=hIa`0T=5I1Swh2g-#>WyHdrqd}_pCvj<}sWcaE$Dr5ZNF?_N&Mi#SyaI_{$YX z$bM5FDn!X%fRh@!NC%Cn994X2GKVPa~qVQe`jHx#WhT;8+kRaF*XsG~oZ+*jNJv9tn_rMEJczV+$CB zINg1+0CSotzeSO;_lGR|Xdq=Q`y6<;A=y0S64bncQ$0NU>!CZ@pvc&B!^qffv7rB! z=vX(;#lf+K*w|nDS736mNXHI@rXgZuX9cmb6$&39@diO9w_FD&E{cu)ZADRRY+9kQ z5;VeS=)c9#Sb-!TR#F-noAAaX-dJF)O>_z!$KZ1u()bX8v9qwLD|WaDK9|l6;X@p# z15RBcosWyHfI{qNCHy~+i*@+oD5rx3(Vu4s>0836*ym7DhKh=v6-LDtLF4>u1r05& zy`ixmNQh|uKMIO1q6R@stj^O7F^+aa;#Ujdqb7Bmyy ze?v&@m-ZVHizNILks+q(ox)<%k-ycb*wWb?6cmd*Y-Z?Z5RnGO#IBOmG;~ZXXpYnG z(HJ@`CRWj*7Kl2Ml49MA*rQoRF|p6GM`sr0otS~_g-0nFIwp3OLi#ciQxp?BKYZZ^ zN{VA*3#wnVdj#EJhr*Vg{}yk&tC-kRLF0E76ZjiT$<3 z#9k_kysNNxD3-}4Y`se(jz~DMSI)o|wcj?+fe-Gt!kc__uc*u-J}wiUzF8U*+XdH< z1#PtPbN|DL4U!4&`YFUBh)fKEIg26_zaE-xmlPrsL5HtfTjcT!a#66Y3O9b`8YqI> znGOSE;Wht1#l;pFPH9xEiRzDrQLzufbM}J&=mMyQj*4w`=Kla@VOZ>+uP%bwKEh(t z$2^{xBG$dop&=lP|%}_9n=FFR`)FW8!6H`-qR7_2M0XO-?F1`9-aipOvCuHRNRa ziEThc_&5W^oz5JZq@_WO3Oj<;py-j?b>=7?*f+f3)k{;ao%YuZh6gLw0rXx9v^YvGo_3RR3Zxk~-9MxrX$;V??= zSmW+k=Pp8N6)DLTj*u_%Nv;T`eG@LAwlXJjs(LJQLqv{i?DdYLFJ*iXIMgL@I3<>r z(y$66h81B8R5nItH^ z%+AdjMPZF11}#{yqkarlC$_q+6j49ee}uWH|74hg$qCIW(u@wXS zaP-0^e#khKwMjJ;cTVBn=u7Lyc_hs5JAU`ua1oBZ**_rCu=Wt>@7}2Z5ngWWFkdk2X z-c)3PEbq2)@EO80l6b_DUK3DQ_@HI!036B4Hoi|pHQw;6^+ai0+DNa--{Z*?&JXtX z4g8#l8+gJ_aNvfsr&Q+BTPe9ZH$h@6g%ILVMF`=)C1=gm!YPRdX1EEAu2G{d!HCFuYdi4~B!hSJ0(0 z@NuGfX|Ay_;^`DAjQBFjuZ}maquOLu3vqn93TR9Iu2c1Z88zg;LIrw|N+123>D6T+ z!h7GXUr#kqej?tP|?WN1qLWiE}*74=g)`y&_)CPury z0Ckj2dMQWzVUzwdRmxcoi}c$tk|#u=Is?y2@A>jQl>2T@*jAjohw0f4i+cpN(vs5}=F%2UYF_O}6*L z16E#9&J*r+z>4yVjgxblOe;#m<}#DHezdp@kV%_zmxoOC$ABCzi_zG^p(7)dUBdep zASobU4UnhHNA?Q;TPhM}%(ERQ!wl`m3NxlU%;4%qaDkv$M;1E-WFZK1KD`(_I#du~ zhhbNU9W!}wMSvamOq0d;iu%g}0sFNOC-NxsEZ8!&Eak0*F!5rYJ~uEj#bK@cKoRrJ?U^AAx%~K|jVSJKYINCJCo01ySaAYaaS~~%gb*OY z7$FguFqUF)Lt9cU4mZZJyupnXphYsSd{uTb8F(VhaCl?kL@>SinmrlwCbO?=bu~vc zSvxG9;53O|P!l=-(!OlVIsaT^IgK%F`S};Nv0b17?$tW| zNPalM!sGxrJd1Vsk%QwnOOICsJ@UrDd)YzP=*>=Y|`XDDj% zOazplXb(XdBY__@O~9yku*7AwtwAI)0A;l2l9PZWc&h{ULP$c=dXecs#!CWJ06IOV zf|$YCdP>Le>Rw0-oVGc{eZnEGjx0zq9Z4oZ@Da=`52-_A2$z5GU;gXURd{R)!|$iKIJP9jlrbK!2QR z>%!l83GZVDaF@*J2|@h5m<$Z!TVUA%#ADvGL!d6Zcc88eO8|V$=LK+6&V;Np0PuzN zA_!z8x7C2N^I?dX+W;1}>Rg=a#UXA|V&%cXIOHLp(C1Kd3@NhQW{i&Qna~%2NqOw{ zIw=Le`z;ZNxZ{G8aU9CJq()`XasLT2*bq|QYvU6XJe zV*C<(+u-VdesU^wLJu9BqnhXgV$3h02MTa}~alRXq z0G(q&mK@8MEUd_}oM(Z}->t}N*$+Yya%W2TU&T&p`$2y~4>NCIfg3^3U>`u;wuJIf z2jHpC?FDccX974!^(n1QAqK#k5v)xI^Xj$*=W;tp4~|0K zwFBTN%ukW9HzY@4RfZzpKKO}Sw;qSUaD1KvCQCC+Pwm#JTa$H4w4Xmj?~?|}anbIG zmgSk)9t@H(Y;-_U%KIP$mV#wzR%O*T3Kn(#bkhu~P2RJ}Z@!xkQar2?D zg|olB)zCNP$P+>;HLt{^z0SZww{o00AaLitnL1s9UiU!)5#-X((e4!-) zBM|d*S)%c2iM|q4`F)ofQz-YEj?}cr%>%+V^D_Oj9OAYv?rjfcWO9QI{GFEQWk~Up z;Z0LxoqbpbCP`1SVBox-W1wiJ<3LmmXZHEO7c3tiNAN+i`vyng_~6W z8rJ@MN~nzoadG4D7PcfFkbj7FsICrce~XelS%eD({)u{32^D@rJ-10kKYqfEi;|eB z*#ct6;1nNVCW z`OotaLNDIWOEgUJIK793jBnIU$keO(v8owsT<$-KwRh;&gEgdYX%P{~k^e#u;FKEE zxC&dO$z|ax5p0#j^;eL(phjLikZfR9qmnlSE(>>f1baQNB)oYs4q2C;Qru{)^Vu^0 zy~s8D|L)B&D{oC3sNq?D3(bNH5J*LqmwKU`m&LP3GgOZetRT_&W7rpyRCL$5@Vl_B zd>b;_s!;}7WXnFUPi>L(Vyv|l8kJiRfS?mC7lpjg1RR_QYZNa_+AGA7y^eXgIqYOsUwXXAGNC_)6A+?25a{|3;thN~h=6b03 zUSKW(uQs}DA|04nh2Q3#g7tqQU=~l4p!dXuA*@N0Uo7FF!WOGtPQo*_ONTfVsa+_r zQoAI6>@DJ%;!vV?y`zZNGPK$isHY|3omq182S5aB*SLMCU3n?5RPB6+G71`5PCai6xEg*3~3V}D?qcQH8S7-o%We%AXo@_J*}i2-X}ZBR|>CA z)T`^E)p|ALmHT`b)>*uzHcl^p1U`%I745n$2N%1ypz4X1hdQ7?5)NgxrdX|z`c3q| zz_;ze_>u?X{AbwZvj-=YJZSNk;O8Ur{ah#|$^-T*RoC%nbLnQcSiXQ(?~xrVf&>Me z@TcgyuKBDN#qf6h9T)GIZC1*1A>Az6T(s+1n8tq6qga;OFyHJRwl`j7uO`;HhfT7_ z`65?rlC74rfbz{&qtwHwEghyE^hCZ{GCx4kD&vit4lv%GI<(rDLElP{BsV3iP z+o>ufm)%Ne$~z{PHGnfgt|y;$R{)$?K%4cul*W`$+#rEkKDsuUiFXf9E^A#Ob{-HC zReE=Y;7E5mdn=Sq_Eld-c$>r{X)~6YQb;Gu*$-|qnOgRUn3LtqD5+#OAt@-knKp~n zpL{ymO4{1vjt>N2mPWWX_OJ>Ot9sRfS@<=ziKf>F>X;GBAzPVkl8ebR;k^@f_ z>l}S0Z#L~2_@Hd~Md@M5R1#}`JKEI;0XqP|JP`usMF2z6RE`B@J0Ut}6Ffc3zh&@l z4znR6=~hWqt=ShzK*9_>9m_sf6RVngcBbMae&XKcE_nP)0tP)QN=D;!9r9XW5vj+_^Eggrfd+o7N9hlhHLjaj`=syCe( zg)%#5F`WQ|o-zz#XbwjHiSfv00WB7Jg=_}kle&Y^g$#)??{I6L-QpknM~5A{msPtr zWZ2SmkkL^mbjTTxW9h@xn`d2bBHQ_vI#bBX+Q-LSgg+9)8embi%EkY4i*Ys=sUp`8 zM?}&lz4(>?ZFqMPiF34V8z6EN<&Hc>Iay_*ZOR5UWYBC$B3Am2u<$`BMZodHOspjY zPZ{>|xmUOPBc$xYt7e}FAvLYl1XR$UjTEC$bYJq9JZs2n04mmWcIhg%;28*IOV6-T5|@mF^(!4(g3e%|)Gw zg}GDd%?NKnwC648ARVC-@rV#Q7TH#WM!kZ9LmccPoF==mk{*<#-l(wdDD?1`{`s~I z1%Lk((D}d58cb~8FKg&!m*xN{U=eGGY-KHpIV2*hOLCiTD5TR^4-gjQ(`i6o9ACJ8 zZ@%zlio|yJPIwC2MezP#ur4#y97#tlo5f_644v>)sKsLXDOBAOo^FzFtTJGHn-a^j zu~))VR*WS)T?LV`@5~9`k@+dVv@jP4ZJacKfnW!<#PF^4&D;b@GD`EFLgC4Iu~)Lw z6F~y!vTXbgp#Xp6dS{uj%omag8dn7GRr}A;eo!Osj6CcDq1+*SDck7^m+f>5+bZv- zRY8gM)NB4YfXDqX5@`k`Ag;%qHl4qe!1C3u@vnxo}$pxI7& zC&+f{a+D@<^YnZ5870doXMydjDOrCso%v)LK~qfZ*LV#=9PEoJnS{$%oqnIL_fMH% zv zAFQ)ROVfv0XW@T%!{oW~PDez^Iwo2#nMJaToib;ZhL9VxzTw8}9XIZcSM_;^r6T0_ zq|5*2-;HI?x_orL%lWQ`p<(ngNF!@-4c4|+^Ot$4V54);6^;7uptNcYN~?WF>+8?_ z=gfLJL?-mo)T7cgpc=Q+kHXB8XV-t56;jN=lae&>rs}0;VMb8bUvh~{-829z{~Bmi zkiWw5n<3MX!ur?FxVQihdhX|V)1|98f!-JTOj;+#^13%{WNrNPuKN4+sjgSS4%5Kf z47V&l>B&E~hdTE~iT4K|`hwO}qJ~#TyOtn-4WWiB!=*km^w}??Y&ZQabn(~uwo6s| zL1ZgaS*FPOl>}K*+IU(P9{!T>wrf|jnxj^lUQaY`a%!5iH}aA`>$Eg?0!%nY)8A_H zTDg4fEMsZ*g;7;II3yb}R9;7@x;0fhnqIHkJuo^JS&@irOkhTzhtBd^v`gN1B^>*V zK$#P^L~`EfahQOvTObd#Fkk81BEdDUo9oD%S4}t9u)l7)`CDkjCsP*oH#&O&J4AGj zn<3FAbvb^rySJ2sBrw$iDx3<#SR_rq9ryNRU#O{iyK1|n>4Lic3hMd+J^eg!D@zLwkbk zKPKjssM-+oltlBdQdgy@TFDbdC6$!K$!}y{jh`2U=w4C6Pk%}XwWXM{LT$dmmWb9x z{ty^}j?AR50lK<(lbJL`Ljzp{pc`EbI^-WrAqGBWCvCDE3CQVB?JqOwEfB{2LlRSn zX^xP%ZQ0G7>N{tJiT`YQ&%swgu7u*B0@SPglC1&zh-v*>PK@l5f|T9J`Npqn0;%(; zsYxsG(ZG?iR*;WJ7QkI8h*`_hS#ozCDgDjs=D6A_ENn*A$!;QGj#svP=Qi6Vcuf0K;x zdBA=Q((JYeku1e)vY+e zOClwRp!o0rJJ?#dLnbX}gs6q~!9x@+<%|$Rk#dCKydmNhe=OY-J)V8_P=*M#?oxE- z4H4#*dR``u9U>w-M6~C{m`<+pNjL|g$}#<#Z?JQ@aDe%jE0)l+57b=F?`D1%Y3`-? zM|KJWvg=22c!>}-@){a=O;wI8_Nd_wpbN}4v0%n*|2EVM>+Ng==fF1M*hk)c64)m4 z{dLkmYE0N+ddu8np?KnWMn}-h<{F^;tUB!a`V{!N3jAEk?@}$Jc-1OLA2vf7D%C%_ zhE6Pt$-)^w^MIzzmI_cyi)6zG#v6#uuL(*qblv zXtWoiUB5>D-9I&tr)MAyZk3RTZ8A3Nc}<$=dE_<67Ij+F&e*KC1W-WaC#qhvgn5_& zvqrifadr%EsVjkSKN9z@bWHIwBiyA-@lwj1MZ=+1{**fAQ996>@N%;>yehR>)`^o< zQf$$%RjIR-Z0gZXz6{qgi$-twjxuZq7LC0>V-}6OAkOxkJHvNwqNLcOVV|-64HREF zo8~PV^SKF384bV%2*S>TGhE=~#?Ob!19}qZ5>#`BiqU#Ikdy0hV+k^cj*^TZLCXI# zUkVS0aR<576unX%vojTg7yW-h`FwZHe?@u_#Lq<4fF2sJj5qeOfg%WyrL@$rI)k-YsaTPGc9_PP4m* zZ6qXyj}Ac$7ely1V(9E5Au)7DTew|F42#tEfAgP4zb$lr4X9Gu`7o8_kdP^Kp77s) z2s&TU&B)9?;>;t~_XFoVF28AXjt}Qq`0hAQKKE(bA6_!7bN3n+W)ho#q0X`iMIJjnEskZX&x%FX77=?`P{Bye(Q7*J*>R@405gF@ zK3|M5OT|`|@Azk8P}sj{QJNGqFt7Y8Gf?QZOdWGroBMCbhK)tS;G&~mIBq>?#!ab? zd^sNKS=-|J8_*_+VuCW7C@rJ;E$fQ9||hq%Y@wSg+Vy1W8+Q?At<9*yH5 zTo34yFhjZg?;-X!hlycoA-uFdnK@*D5YpVC4ZHWmyhjF}q2PxqcTHEu8d!PZsoD}aJ|}vi%|a# z75uLLPJZr)*MF(yjvMQ*GSK#`L4o#J&__{hR~v9;)`v%_xkz;Od-LmgMpt%3Cw>d2Hjw@neqmWci)RZ!f<$COPKJ+mZ5K zZ}sM-4{9Uu%FCs^Z7J^!25>j8rq8M1N{yt?spRTjyQ)sg2bEiWHTS@uY)ZeVxw7Z3 z+;%16&F59lsBBu^d`@-rn|D|G9EJO%XY!ty+lOfhqEVyn`eNvYbi7v;xwY{%3 z(wl@Tq$0>AZw%}B7=Kaq&Sd7f!U*;A+)>`5n72S@e{nppj{aI791mPwH31hqrMjyJV!vaLCrNB!JScmT74xHs@i8MW_R0&M| zbd|3vX}7^aeWX*7#ejk?)46^__t;}T?w{;xQlzs$h3fRr!zdY z&x2;?pF~$q;%o)Ze#FpyQq>|RA)EtI-f+UF+JqUfC-M`nw62VD z*j^JpvUtKT!6)uP2+3*RK1sp9eW~<$06LpYf2C$xcJs)rKU}jOeQ-GkUKHjWa330v z^b3xWMHY7#PCIT90Z2zWM+x~!2-QM40xZB;XtQMuPXK6~plsqVaj5s9DE%m!cwr#t zk#pW_`bz5&29x22iyXl5;PP~LW$5LT{W?wTe3SGcV93zo5Cd$;ZXCAv`ajX3!xKUR z)_=#9U?B!11T&9st*%<+KGvVEbiNDTqG%7w?LxBz;H!X_?(*=IQgqm**aKyNDiQ|i zH@4mtMFL^f;$Sjqb;n9)1fiEpirXgnzq8V4p)6!E=(rRdk#wmOQ*4Pw)@X8&EL}SN z_ez{xL?ZoBRm;3eVM~8J4YFqCbJnvA3ksnK(VoX?aTznPzuvwgvB3|$c%0Z*O!NP)`YE9ujIXu zR?&FXYDY{pQH(2u(xqzOXtNAWwrAiyp012HJ_RLpa}CHI=b7`fdJOD*(ixkV7^pn9 z0G`bHq*HhtX$0#20qV~OdQ^N2bbiFvP-KyIf;GBCq(5H8h8sIM+bo|+u(WNM!h*Mi zUfxc=$TIDB39eZnOrjgLJ5^zYKF%OSGwqr$Rzdr<^NiIT%n&|=tA)k~t(Ovc4FBLi zNz?IgZgYOXut_$|oNN%f4ma-5=H>mW$L{yc!&+|LGmIeiTjgl0`S?Qxe+IjZ`ki%z zH1y0Qq6+RTF08<uQHs5~M{zl|{O;iw z8)naLemN8E4eYhYI5eUITlu&aakT4ju7r}c3Y}xmZvD&TJl&D$-!5xMuGT8eyKMbgeu*HpKy2dh9W4U^Wu>|8#ztw+@ zL;bHw&(!dOVf+Yn+N}#Ifo>7%*XWl*e8xmDndOyPdK4w%| zZT6A>t@FikjsZPfe?L4$h7>7xe*plp2D%X5+C&uN3!JnL}k^brr85 zqb#CQ0g+P}2sG`y@vwWtPqh=b621W4)C=+BuCCKo55ui3ei^93HQoC+2Jg4E4}dRx zPH9eP_cF@Cszvk$AXG$H14t>5Q+Dv!u`dUBpwM#obzNLLjpPs5%);K7!m{&**ti|o z3Qyato^CXdB9oSal$rU;NK1QAi*aXfY{p@`(P(b;JQ@EANNYqTIQ#8&PXXOQ`gA!rO zXEn&;FM*YS1mWNyW^cdW24|BOKX#kZG?*eYZlim}M#mJa0LFvH1%GE)HpkGq-_sD^ zr0Rem#cV>saxTAgI8MzOC>{)REL~?{0q19U(FsqwDGa0m?+teUo-7#{6R2YV-w3t_ z9}7pR1yY4FTjLKvviBL!rhJ3b(^u4AjU8(yBI&JA0CKi^FUP$3X7@XoRhmj)T*;O7W5_;a!-q$f4Lo1cz-;JmY}O66vUtz9V~B5-)V>>|x7EH;^!C#T zmGAV%mk3_AH!#C%R0NR^{g%ddSjor!j=anz1>eBnKke>8`pR@{j!S_PoIxwYfUwFtaugQf^EJ_BOx1~KlVERnf}y@cXD_;@xUQ_(~&h8Pr&fsv^MS1mD! zWiqmpc}&J5Z)+QI_Jw*o(;`H82{SBqibbhRM}H;PlRUqvH-!Oya>{!x;SrdzB>kRP z^HaB+)x7fN)8py!74hczw|pc{y13-cC-aesGUAUVJ!D{ErD&3~sKyzw_6aDNEQ@YG z7TsrN{2Kl;y%?AWBdyX!0KK5qQ0hC4Si?7Qs?Vr~E<; zMBU1f9-DQ&VG#iNB9k8Newsr6B6gmt-J1X!BQMLn?g@ zhWp2p?dVD5*m^A1oI{5c3N1$fV26pq( zX!nuKXL`aYaOoUNu$f9vsB7L5o&EPn3*MHt_JwlLZC}ZbT<8|vmZ`Yg`8UU#2f}dX zf{#7sX#&vsKjGEs`i(s^wlVT#$-MDJrtZAM^tJEocq8yS)pvhLf0#Wf>Aeh~af{qm z`&%;=_bPPxAdX%mGZz2Hy*gdLP3r^qhs~*}^hI@Wzh2^)0m5u806d&nVQMYjxR{rc znTp%YBb5jZGT$ZJ*Rt<-Z-rX4Ak994G|y!!2q+7{`q z;*o4T0%zRP`3R1{ezfZj5D&NnDQ6HPQSyLg`GmT-S6|b;@Vdva{lyjf_V&QyWcy-h zkw6q{dxe@$<4+p*py@&-da_h?Heu)MR$fo`ef$T!QeZU|Cv7xWL5p;Y6m(1(o zjeYSQ$N#%A>mLVPG#X>o0RntV2!Im8UQXc3vMlyc$^1X`j`P39=0B$S z?+@pHGxLw|k-lhDruut8k$kKylU4l;1psz(b^(e^H>g7OE55!MSjij zLjw`a{~}$xMY_J_NEf-BOG(#~=hVd&U!lCV!$4QMVEN0#DPqWU+318kDk$ z3_GL=Rn{Y=%kb9FAnKnM6r9o9P(V0PI^>ihaH}nP=r@d8jrIC>KqdsM#gzOH!s=u` zd!Vo~%C-yg;d;DUhNsLJV^{&bVoC#k6>D7PTx|ANVJy=s%J*$I<^t;@e|9`mn{R6A zyF`#KlY+zn4M7r^K?(@6A=>rPkOY3z$lr>9{7v&JAb-8rJ)R&{MdbB(WcR?M;Z%f_ z+x5)hZLcp!PFZ>e(KpN{f!+q4lmCW9_q+Kur_*cd$UTy1UPV7Zd%5s-ZB`wRNQ8dN ztiRTK%6o>~_}RCPY1-Ae%X_(LUE|BmyU4Ghg``bzGVm`a0@GVTPW`4e2pPL|v956) zwK8W@OGJ5B<|?rfEIrkYyUB)U0)*oyeAUSef6>y4{Xy%GF5O(YV@>Q2R)k8}`3&$| zJ1{Cnw(rPpm+2$k{7lD(gJDRVYHQytY}k6v9rX>w4?Ur}7|RJE+7$!r2CO?bG^B0}K#wT+f>Q6{H*mI#-@eet)QFJijLB7w5J<3721&%ooE(PuS2 zrPJt*V+)9pJ&h}xmivEXo%2!72F!QVz9iMrx|oYNF)@99CCA8$f-}ZjJ`}hkdc;oz z^dT8pSqKQ!iRJw?G~>g`dk5OkSXMC{PS1djl+?3RuRBguF0HN~(3Rx92ww)BdB!>{ zR!`>=_*LqVSPm5i)|8w_jdzz^yIOFPnQpFI_{_vn)n=N7VS!-A9$Bg2zMH^ zOOo?Uah55PJC`wo#U1owFf7D@ zfyMEH#d&&;9;a{oHGP-fTq&jbIn~PhT*vj4-05f|KpAB_ z#S=;bWun;4N)A&3_avuv*8%m3pnZds?PS4ys%1vET&Jw(j6nSz@*o9J2gq;Cxfr?mhlL zQxGb}%v8rMDb`!;*6V8y{z@txYiVA3%h~bt#aO}mZ)q-%A^6>0ymyq5(R?BKR?T1R=T4pV+LE>ZH&dWnzvm3$QcOUw#XG>?nr zK}}U0c#?WQQN8thcI`3qwm%J&v)b^Nu<9LD{g1oNvr_JnF9HW)*R3;au+~VgiKowR zNne~yUlUJXmqK%k?0_ZRe2GjesmzqV%4GYnSaaVk;~BFld)ZC)|s=YjhTRV!v}cH<+M zho|}as;;WD29&@iM%JRf%Al#l9rg&fX;#+2?`-HI_x=~O8Zw8hAMFfx{`|Lh>Hb#k z2eyPW=YDU!zWSh!NPjXtOX)w7^MQkYS}OJ1Kke>h`rN5*5w;u#=|yW<8pBV|dIEu4 zs`+a5I37$y;`~u^4B)N8{>xzhfbc`z%R5FS)1R7}v^SFJiD)Bwm;X!bv--Y&(I3jo z0{@U?+B0`f&~CVY%=Yp!s+a8d6uf6yKC!xJ&ovmUuRAK*^Tqe2(o?5;TcbS}zyH{s z*lb51n>%*Z8GB}&MU3>@o$KG~_^2~j^*o0CYCcObcgs)tZqEu`*8hhY6}W`VG=xmm z&rsa7TotzedwJQwU+&KP?$))nW1e`Dgn9{?;5Mc*Z443Lj*S($FA(Km9-{*QIptkm zlkEIU5^9FvE}11gTQ})%rT9x^$j$$2TJ+_GiA=nH4;Ra~M^9SR+Swav&91NDdYMTO zt&vsRqc!E*qm%o#N5?GnYPcKExh-0QeLtD`L__Q$E#M>| zxs_jU{3t!I-WEM1M2P!2J830`t+5-Xgyx(%Q0$m_WX18i+4DjoYERhzG> zzGa>J%m<1`qm7t;QJ8CfRbJ-b0IAo_@3#T--&uZx2*>X z814Cla#)W)KIx60$}U*FFmv*cMJ6veF`53v)ZA`v(ih<0!1Yx>;hL|E9ADj0uQA;) zwJds1?+%V}!rfo|{mSUc@)Ag4wXASrWGM7 zTo;?-e~7yhexc|I!DMVQeYQvkP)VjoKs!28>BGuvQiyhSh+B2(^DCH!@`)AP)Wdz! zE!A8#V2WX|V{+fTqnxj77Noz%Am)$PLS*^P9UI8m-XcBw63+%U7Sl664c{?lno3u; z!KUhy@VbLyIInsmIN7X?u2dz{WjMUBp&a)X&}akvH_z5;at}RQj{3JS|15LJ=Z*kO zksZ6x7n%P(0}EJeUFuPp##)z5b5Q3B4e}tt1;{e^Bst>9+qET`uF4&>xx7q|4`JGP z010%p$_E~|Ra@ZKLF9?{HKaBh_`WW{v!9V-V`Emf0RoWgrWZ6A?fNQ}((mbBKJ&_W z`hv={F)W>)thr@s`V$r13uj&&Pk*+W!`P0BpWae?%O_IlmP$NFFc&5d!@YyWvJ5Lg ziX1xLnp9+AvOHPGR@FGgDvWLQ82>V)=mrE~4z(`JZTtme=yXOvq0Vi!wtr(rLI1C> z?b_qk@Y93jfztSpnRGtd_`CY8bUWJUVm0E?Mi(){#horFB-(h7DM6Hcx4wmUxcIRJ zx^VGxJL9VWnE)m!beE-q%@-vvv&kj!csjLXz6<>0lXksI7yL)@dVY9?xmg?S`toot zGA{@ChiT7*fa?C_;Qs4;U%^NJtY7vY0mL`B%>Cp2G(=~dAqr`|F52~B zm|ObOm8XAtRJ3ac19i`0r(aluWk=8Mv_KbEyd#TC6T2oi^MDb!Fqvr2J@xux{Mfz^ z-eVu)N1wiR7gdj>P1N9-+*`80Ees%?)CNe`6v6+~${8|_hkKe9#{N*pg_LG_9q`-0 z-jaSP-UFD=0Z`vHPMiDHuc4sWr^I#vj3#w@wCnvqTd_3L|A>Pr%Pgq;cZ@r%%)IFx z{TClOrGBRJdvq^SPwugSiWHSoU)b{il_-9gpJ~yCm4HGst8b0fz+^0_H$c1*@Z$W077t)@6O-RbGg6 zuICtp8$pW5GJU?O7Yf^AFKJ5<`SY8-v1QVq>tf4x=FWbvtN=J#uxx(D*b+_HuQ-sc zjMl$v!{Xvj8vx@|R~Vay5$(E_zjTBBR17KO^cCv@UDUkrkd7^jVX7CHZHiR1>^F=J-Oc=q3-lqcWwuD^1TSYx>sk;shO6DzPuJu={bo@{6hr2XkGf| zS}tGT9*>SWuVGp|+OUETxbdj$b7ROZlJFL6i$_md#Tt$6SQU?~!?oa~^_b(>d)XE} zX$OV;^ny!zuvD!)7jIm}I~OxQ7jL55IevW=Ea#%1f6M4i!(3H;RDWI~oPNq?{pq9D z9yi%uD!m~T$bPK!kw7Vzkj zMS5kEUU`P{=lM5}Hcxpv`qj^q;ev0UvO0SEdR z6gFECu~d0`Why;=YAfcM8a8Y?YD6%WQX>h$c;8Nu*VVbhG404NVpI(8g~}N%I#b|nNc#okTbB%XjPy1o&%i+24|029&v;<;m(wMx*G=aIz9Wo)< zsC#o)UW~9=kPH0xNX{zsGFV5-uc;_R?bR0&G>rtdv}i$q-68qkS%i zp+ChW+{zO)P##JG=;bbVC5hd+r>3Hub6e17!kVlojWGr7`1hg)Byp-PXQBu|U3Um_ zk{f57=Ge9Dda&8t57ice$$k9#pU}Qv*x-iTr)kh$>R2oYy#P%f$d-`ldQi(hqV%o0 z{9FI7w|=d+z9$B=A^O$t<1QzzGIv_^l)2(f3mKDy-EDBFYj319d+qdXGFf!h|Bhn7 zA(3jNLrtbvQWAR+lAEGkKT!=P6e8IsSg9dch%9|?poVZ-^U+t!})WlYs*qBYs^2+vq~CEFQ3Z!d?%IWNz?KW#LIGXZAvL*h{uaz zZ2uA8I==9U@4y-bnU3AJk{Yhkw(qgC(9B{;l9vD9+P=4{A2(Rn&mtx8n_| z>v8(iLP3I)QgofRtOmwhLeTj?T)!$DEIufDg58FI?i&1F$ zwnaZT{Nv>#%e*I{ehV_P7X5HG`nAV+A=*8kzo>k2ghCtr0D0}vILmQ}BEQ-l z-8_7NP2v=5GYPSmnZ^4sO55-?!)TL`_OAL$%7PuQ&RvlXna_vMf1_j%)Z>qAL6U1h)eWfmCCZY zwUlvt%BtvB|9rNJrd^q@cYi=g)U=s>o9xZ6`0MaA&&TgxdNxFDRv&JE?kG=8H@(-`fZM9px9G#^Qs;9w`e zfi}3_-W`6$f5ccfqq>QrT*Jv_Wq$%%%=nmI=zvQvF3@7&tzmQ0Mi0ozLg% z*!&l&{6jEr+1$q|95`A{_UAqlRA2A^K@eB(j-e>GsIjc~NKpXcrb=-UHe^yQjWC`!mcv$>P)?v$O;uYMyx&LfLz z^yjL=8n=fv`f{%|6u0q$-Ov_VU1e(rzS%_&=>UzM|$6zaDt;ixWqoI-m9r+c;NpbKVeIBtAkq| ztpAf+s%`b#;ciy{7b>x~4^@%P$ajLW_5Qg00_t{e?)0@;;?~qZQRH76yw#s;*R4Wz z#41nNJ)+EldtHkY^lWwr`exmIoEP`<2c7j|4gg5RkOHUuo?d>DIh;(1aqep7mt8{o z{z}{^lNdAjPzEOrxW zaA*|&o(d#+;+Gg1e68qH#ehGH#u1;L^Kf`%Y~x{2WlqXfT=XYm)(W!)++&W}I$* zEMRkkX5uy|bkl%2>zr&&Olre%{9&bpqQ&8)&*Ml510ZR%a!{>?v8vapa?84eWrkno{@HyReRNL4x9+NpcF$(DqNI+ajk4Gu=(FKe(?ZI|sw}`8ZX0yV zZ=HT~&FJDG4qePLu`kHuDm|im;ms#E@ySnC;)}(<*2;A4ZTj(QXSJfLC~^Vcu1`_5 zIeQC-uuecZby#MI{g)jhf*$5kJIN;RV7#sbMltWw+T51zf;liilQ(ilbruSpdEpCj z{07`-{IeK!Se3da@n0ObaiVt$b^7N-dw36&AW5T%icqWfo zPcfm9oIl2h%9wQt23V6o4XQ=v9kUASL@icLA|O{Z;)se_5;u-#yl1_E?DNs+oGa=l zlI@2L>8WvVNxX4w<4TITy@Ep^p08=#Vyoa(mI|E|%IiOJq|fPVe2l)O+PCJG-4;-h zgN1JQSgkghy#3ts^(>?GwY6$w_Kz8XV&W$z+i~3GyTr(o`Uhtc^nRR4rjka)d!+I0 zradHcxFV6hv#aeHJ-?DSh|qjydN&-}GaL5%o4jjDScT!SMf9fg2cM2qv0_OsgJuvd+@d8FYz~}}8JJ*H zw5X`qC`Cn!ngLXV#7QLQ9tZ5pK5kokuWf%?ZS6DoHV+^?d;n1a5qT-jVSMmVp2GaT zYoD3SOhjvcdVjxrKmR|U51DiJ>+HSu+H0@9*4k@ruR-abq!mH!a0aRPi?fQ+C$X{b zKsFItcipyk2DK$|u6lW*^bK0R11Pr1eAF@@COg6;fAk`x^Ao+3nHark6TB}3e!)Cx z@TaWtIZ{tVy)FDQ?X{qac-xq!bqcP8&^Ju+9T7}Hv)n+LkoAuBH{~iZWD!pEH!4w} z(?q5W{~LS)VIL?nNp4RFmZ%^VYd|1yO1x$WvIwTU2bxfBvTwD_v41r^Y+1`1poc9l z^J~v4iB3pVEz_gI&w}9cwnC5ol{eGA1`-XDsY@VS0F|3UA{J?_Jq8izj6PT!99P_k|!c8v|gEz*V(Djw@mil)%;%lY`v9wCU0TB zj5hWEwwL2smK+1^d&TO|kz(n3=(HTn3@y=A;lcbrv*L!FB^+j*^eRvg%iB~bx zhx3p{yG|;cZdG?`@Rmr910lPdxDfLH)+}`DR-xDg~~Zt zqT%#x84gr@{D!SAIHp|*k~CJ^w1h@&`&a96qSh_zOh zxM6WMa2LD!G%+7*1NNd2FPV7(dxF{yaLqHb3M#`Oo_{gW86!OBhP$ zW_E!PUJIrKt&g1-Nfk~56E+6zdOl3?D9Y7LZ1cBWW9kE9W8(7RvB@LT%t49`h`n=X znm-sIHyGeagtiM4VBZB3@JnR;!UPC7vjwtA`!)pluUY7xx`wU6PHkYoJ}d8U{c;lM z&pWC*?>^xP=o>`!Y-@m$9g7?f;qm78`{ECo03WWXSBdwOyd`8JO4Y<6lU^v@vq4u6p)+yD7lbl+Q%NU^L_;*`dUvJ=Y!X=W*T5}Bs)80FR1J( zhg!;8Z}GQ#zL8HW;3mAe7(qti(nSO=mqZXl>w@={lAWk66ZM8&d|FSz2t*6>cRC5O>jk^K5;u|yVEwjEizo+6kpZs3# zC%=c*T)tP^Q|;=1?t3TqR9rIu6XW{dw8;k&wbdDY7n;zAPSe0NX-5^GNpTQ7qgW79BuA>8_yUwZ zr@w?nvR(WQw}Rdr2Y2ExDfxn{|3m#}7ndd5`&MjeGw`wpoh%77qhMPI0d$*{p`OiYEN#WQz6h<2|?5u(nF`!=ca1-8M( z4!8JNDc(tOMR8PWmOe{hLiy5E`IDvm4?nwnABhI!HXm~+eqDC)9(p7F334ZtPgKfH ztms8$A)E@sS)=PJF`lRf~M@x zjQfM^3ql=Ql9lpf4^YY7izc@!OujjpRT7KeLod7XCy}6rEdbBJANT%)8-8FKcQu06 zD}iVb*L|JLmp<#+^y7qF%an77+90Q~LArjV zI^B7W>De{@q-uoM*vBY70H{7+MrEdrEr{T1!`2v2NCGEh92$AcW6vw%gHfBZdF72xJ0(#AU3`Z2?mHqsaISmZJSR~tay#XZ8 zXAukd&y2m>2!*!u&yfVX_;h~MF-*7(DIja6{7UC^fNJNLkV^we8~m>PkN>S$$trN9 zc9=(HgDw4(}PU6J3`W*{@)8-l}KBXY6E;qXj z(~H^nJtn%i3Xyri?b+)mBzwlREx`UBhxQBkVb$Z_)uQRdT5D;bd2ju=K-D=ns{;AA z@N+xvgLaEW$sO20yOtXDIORNN9C^wzk?VZPG$l6gj&aK7tb2h&z@N;S4 zix7nm--4_K0kLZ&Qh&1oQTU=zbWk^0^zkY5yg9L%EEHhoE}H;1)d6fs_k;FZV}pVG zQ`Ig|V>J|%X~NjK`Un7G)g=en)5SP|N zD;%;K=muJYVS3YBk|M(L4f24DN3sI;2tcDZb&+Okay#he8oMmAAKCqMnu_f26TT&+ zT8fI%b;l2&CbC2jvbD+Y=YdwLgC3@2~Ui8+o23*># zrO=V^+Z4(PZ)%vGmlIy!r3tU&T*wCy7|O?*AE82*#vfc|c+}@_;f2o=$U+T?8!Dsd zBWx4c9zE;Atulq9p5P}^RXnT07I&||L}(sQYzsyX<>~h>q`qP21|xA#Fw)_P+~Fyn zHPpV`!=09K)C$)1|5ZralPWF7;=M}i%Vw?$*eR*i@j<-I)L=Db4GUQ3)j$sCyF663 ziwlGb@=1+PVh%D-ef256%I6*oaW7grheN*IjESOGNF0san&@r(ze%F`7IsD>IhCB4 zMkV^_^Up^VHns6kVuL=G4y*E3Doq~8<9h`jwY7E+Y(_;MkphFLgLc-qkqrw zQqyQWlE~BN&jzzNm^Z$ipt<(VeFx=ytmjb2h&GEbTRBURZj3yn-@6sbnAI8CcBJ9Z z$9hvGpOS&dfKX2^Y1MZOSC9)4@obeiKx7+qA zS?3BmuQ1UFa^x%g@5pr|+>)Cmx6CuMrna{g=!@EvQ-J2Sr)BthpfeC*;P>ufOT33JU6i`mBiNBILssX@1{Vo3Jqq#ST{w4B()^c^i z*~)Q;y+_M&zd1&}$?VLd&Q$eL?$IyJb;vzhF_CJj?^5c6+^OxI1yil7k2p~&ok*1A z==XjNz`Ager(_~O$wYZ_6X*X)x|xuH-z!t?j(s0JK1;fn8k^PG9`8G~ab?arzVxxx zIkjR&@8S)@iI7e3xYZ0_8~A9rS#19bOEEcim!hQR8$-o#x(o>#@cid%*w zLR~fJ^Zm39bp>7U9M-gkB6@2j1rp))ioR~^(pY~z#B&(n72?_a0wrCHcpIQ}9g{dB z?YJwV%kUIZM`^Z4exTp`7?nou)SE>k=&m-gre{P~XpwC@8xA#Ks*clGbW=r6gDNBR zNZc3-JrZH}Xd?W)UEtir2q9oOIWy-mpMsdfWKF3>c{NYz71tg=KC*IWiy)-TZgL(! zV}fsDJn4z*V+aw+aW1A&wie9x@5B(hOH;$z>3)+g?f|;!)h4*JvaJ{5oZ!NV!p~CJ zcrKwTFLjrvY0W$Wuw-{~ZsP+AvJ=x^3i3Ge<8WUEwE2IgSh|av@vKaYie3k1f_(|6 zlkz44&LUA^G=D&L^rtzM#B4hxK#Tq~H%F-K151P$KG10tY}A`yqkq5>$}oQ=kIq^0 z$xSo8Nfh3!H!aBetZqCD#^g977|qD%XI{er>RBc#C$jC$hC{Hwof6t7IhUm}Vt1B5 z&Yoqyn9A9oowJsKxcjwoV3t}5O>MgMgZ=dHMf#U)b8~jhDYWS#{U!C8HKTNOC++%d!sW zV}7Ats#uHLR#NF+#O#s-Al>mmA0Swz!^G`5G!am81h<>F9!mmw5 zTrDQe2ZEwigpWKk?iR2vefP=kenlv`vvsHS_YK}6s~eRr<gag+)ZUI%N0s4wM*B*>1kg`SoOlW)pJJlroOdG6a(Hx}p{6{f?AV=~ z>I!l)jPOSZqHsruX%{BM(+IP+Ab`UZ-rQVQQ3 zI~yL(UA^G@boRT<_a6O?ybrIHB1w2tb_Xzz0rScwF5D-}WF=v*#v|}wMCnVN{H_d8F&nvG8zdcF61EjxewkFwt%osx~8{d(o!wKl7K628k7 zjISXt4P$q{HoTEl-Z|9k{nU-w`TgF^dZ+yn>SBeM{Da_P5x#S`e$n1p$MUpPT~lC6 zM__OJLj=X~tnw76^d2c)oL%_0j4J*v^w>G`n(Xn$v-@K$``NHnzEz-yix0zaB|bEA zpiqB69CcOa1QLUyhl-i=WIpesKF)q0#Cs0~aR&DKUhnsQz4Cj%KYDdmf0OsIkp9Jn zkrRkc&cPST`j{6UE$Cj+IWB0eQ_`dMSSv+H4Y^)dM78A{x+=RpfvV1cK6YIw>Nz!5!-s~o;nwu(?9v(j!9=od zVH?&Jn@!`2Us)QvnMd)ARJCuG9*BCr&eWE>3`S?bw-0t9Ov$YxeHU+vy-LV@IA8x< zm(?Meacl~^As9vzbiR<#B73)*BOJsnwbc(8)J72{alkhPp7t~}3PFt$qZ3VS;VmIcklsYV(4*f< z`@2%}iN}ntSi$7ve0IhTUn#>{5~w_u-cRWDeiwtyD9`s^ z&1_HTL$CM0_j<4C^`2GUd9>H}9_sae*A-dccj|h*ue?8to;n+Tko|sBH2eL^UiH78 z{myune3SvNPrO5~LmWJ6mA|bJJpCkjt&Dvge=Uko%c@D^k8>*Nned}NO#9ob`ocZ8 zx%ClKPYUU#daI0mGu;rFNZBWoWhvpDCaq=ull>{h8a{k`aZYT*69*Gw)GIt5^k3<} ztd+6S>2!~E`V|)2NmXUH9Ur|UA-)PZxRi+A8K+X}EXZ%R{w4D~SdLoUS{t&Kiu_wt zWU*&&>XT%p^`>V?Fzrg>D9pSCD?TWm8NJK>Ofm0eb5(aKoqjWXS%%-hi3S)KJ4pp2{HIrfX|m8HNSo?R1x6U9WJM095TToVC#$LgWD zuM~e#il;3F;M6zWO7cuO-9$!h=Q*eTSW=fu>aR(SKM;HJIv3_veix}sYFJ`h|1T*q zS4updX+P7m*TuebgJ>O#e@Hp2Gxi~k@OHOqVR`*I!`8$x1Hz`jS|MnH|F`z4Q_x#- z&>S7G2zp`{UoKzhPlsKh0oPHVEMqoeKNBCk)HxeX+*#5(Rvt470u~xdE5APpaTM*e z%%PCms-sI{llEY3@kd(hBQ36=Cko`~+MMWP4BX1!K7(3o-Ten}m!sdz##zoaH4 zHUAVzr7yCBqXauRU6hlX1*cM`HkAMPd!qc^&R^NCVuPsJmA{r(`N#UT^4IVZ|1ElB zewFStHbXk|hiv-d>hl#&67m6^@F^0a26icEN6Tf%%9xIccxrkjmY0$;8Ba)|SRFDeTpB=YOAUmF zB?>bZ&^54FZhTYa zDST1NXS{x^{M$6n}(=Av|Qau|ic)eR-b8 zc!W~NP%7EKM@e(011;B{A`Snc!vM((pz;MPQ1%HMy)<^q?`8R7LeN%!jip%T&Rnb%7LHno+1y)`*cpgY?td@b}pNjySN_ zn@*sVSW{SB^9W$2agli53jYb8M6oG{!F)rkG&Y3Kah@lM z{Sgjmo2*4o(7MWHX>d3av^K_^$5rp8CKdFig*@O<%OKQV%Wovn9)ms6UF8%HSZWlp z?Nni3d?bMXQ+s?_0@uiG_5V(g?PG8$Yl-(#RSu+c*%s)lj8XdECKz=x!#S_E{~hnb zqqz?H89b*0mONk>Uzr?;bf@`N*T@8r>`l4MH( zl@2=B(t*_GOn~xKjK55NK$sUsn_?NSx{+;b+8^C{S}DMcjB2@oU5MS;M_&D)*b3>L zU3@#K!`8%}VGrW1m^`e^u8^Yqi~ap7Rp=x)Ii5@wP{I`$z%2g|X|bzuH$v?XcqR{T z%4}FF_eIIAc5~ZPx$+(Nxt#Z{> zzm2N?$6kVy!$ucmC(*h6!EzPh7~D$^+kkEe~3+_xn+TKtkc|BO~;ek40u{4_se=**fP^t@zC|ET?_JWmj~+5=sDN!p^t zeC&Yq!}>@TKPF#NP|h#$b-YcNw^`Efp>#8LczX{=)V!DS;^XP9*ctzk!og&l%&(+B z&nUtC0tH+8217-Q7zSfJ- zCRpjOc%7FU1`)q?oL#itZ(l1h$V-poCYRS=@rHlk<-~&B!CNKKd8LNW=zf=y?^DWK zK{_?x<%i_ABzv&GaI3U_`c$)DErE22FI%*ovi1Bo_kmoufm53$7Sz0fA7}7QI;rM6;RH^>;>9(v7+joAb9sa_6Je|>IO2OIRCC=6=CsK9{BRsQMf z?_jsonNq4djxT7VaqEEn*iUUKG1|A~iXvrmAER;GW|YAO3Kf}Gf^L@n%AM8&dh=uk zg;StrI;^Hv@niqJ#`AIZc=BXCFsA>+cryIe3x1|n;5rv2&;QT#3M^#>Uh86{!bHE- zEl_RWk=yQ+@ZkY$O~4os^L?CiE2MoRx$68xI02W`%42=XWPzQs09l`E0iFUPvgQO? zhxkYbSp_j!pKtR6vcBtL1emJUGnlFtY!XvHeXX)oAM9DG=k%IWmxsx;Pe@WDE^?<} zVatew4DE#s{l(y-gTh##QEpZc-W#9xLUPnYW%p*u^chwM1MSfx$I?;b!+qNR3g5NPH*VU!=^|@HC*TZ8K3arA1E51CL5i7rV1L zn$1&K^31cIy2I-?QSy=!<&2w;Gz>dR+VF0ZwzB$@u%Of-Ga~t3N zDUef~;Y)0xBUC(=m&Ishr{Kh1ad!T`oKLX*kd%OZHI9cT)Y{dAv>)qXMvtpuVWn!~Z}QWFk@RN><|HFMdK0l5awL{mYeBjiJGz2E z5oLvgXk0ANN^OG5e=*(Ao5IXovj22^q8DpacNC0z0zEdhRjSh)F9bN>8 z-#Jbu^)CWa+WTFJ0%fz9#6ogs*mr|71kE<>yNja3C4%G#LVyN+dxvdcGCacWOm|_X zbxK&vt7yll+BkQlRQ9bCe(CoJK@2Nq_}UoF+<~A2x-o0N++^3b8dYtkeqmck+f`H7 zR-?7WmSaf}HP6b?;u5WIaTWGa;UA}PAy8Lc7Sxs+m~>)`$7r2m`kBHI{NZ7lr!e(; z4Cw`|P1lzx9MzlO0u1)}Qu`A86^`j|hl{Lbg{u&hPcsYKMkVF}gQj!7nzD3l9&xHf z8xxg1~-lddhm#o(d5;~4QV zcRjYp^Wu3m)+-8Zpjya_8S_MME?(uuFGKTVryv`UMe|LWFv1n#IRL4e)* zlW6y8vn38BVqe+9bb0;&46QV=Mp?RA(0P^3g1pvsps*5>#q7SW=xt3T>av!IG*u-Vu89APQw7T0nzI zj7;aEuio?_7NWxvj=C3}2*2#S#k=h<0z#8;&^_!u>jM`xtfeH)mdUp|qn>JQPvEB@ z5%UD11uS=#13q{icrLxwFU~2hLch2qSL+gY9!)2)RneP(zMxx>h&Uj=gMtWsNXI*c zZ}cu5kUcCZqV*@{=o9d0Dx4hXBe*057g7+5Oweaa(E2D4HLLRkccuk2 z{FUNUL$IkDpkFHH(0+~1i~%!84gX0$aI~O(D;|Gvf)KLL`4>_OJETyK0aw8T_{CpP zs}NRWjAl7hU?t%iO4gG?H9ulLu#0bSf?aJ?tWn8>LiR|!F$kiO<6`0IHTG};+(^Rs z2-cRVIToz)SG4;FN~{8~OHI84b`|L`WYz(mJjV#Ko#1ESWkyA}i<|hVP)G%~S-Z&Z zKcIVu$?TW&)zXs$Zz}!1m4a`kuLDmUn?N@FIIQKPj*C}A4G@cb0*vFp0dxM&BzjY@ zdyB$6vv8S0J9i~?Zw3up#vE>`JJKF2X&I9UoJZsrz4_NJ-c1p_n z`6P4@GFQqj3n47CuPQL3Md$k2sgNv_ITVbTR=6rycR+iSjteRTeMcmg&}<3DIfeg| zlDpX5+%g!Y%;KA7z!!1-%zDSL-VIqB^;V*Icd_9t)?3FW1e1gcZUg1a^R5#z_;W#1 zR)XoS;Q7H<=od9s}BbmjasJdYAlBWl8`yO0y-sGJ^^Rk~A7hsK}sc{l+EJ zE<{G%{iA+tnl*y2xAAy^zNi!mPaEL%^_6;Sc<^XR0*SqZycWWz5D@nut^Ps&ie(_F z;3m2$5>D4!?}iel(6Y@WSdU<(B6St3243pYKrqYNB8b>WFjUdMlUx#a6$hejqK2Ck zP0=_-Gy4y4k+FM+;I6{Qp~Tb`QU?}-jLQt)nr?9svzE5OEY?=Mz`&h|P)O;6sjYzk zGI9O<7luwOT0*GTru}+acm`%vv>x#0uJDhkilFiMfg6A6AhcXFWX4Q2<1JC#j z8n_dS1NdMkk1~Wi48P#KNeWXcp<1hjut4X)9^XMVkx|dHd`9AiNBbY+oD0EJyi`|y zPR^`JisRn}M!@kCzChXu7p0lNIVmO(1r~@uM@ZwX6k=742*2KYwG4%)33oWP6j03X z*mQF)mog{CrKslg=56#rn*3_2$=8nB+3VHkD%-UyE}_f|97UluMB?up(hHFX+#yGH~oyY9-YPJqc>d+*oQ6WOgSEamyS~bQr4OktC9n1d?y8G z+#VUL9q1S)o#RmcNnG}_yyYB>MSm$Vq(q=^{Gn>S^`k%?j;XdPqRg0pnih|}N*Q&PHBFP{aGBA{UsWq= zdlC|UfW0YDCu_yNxk!9)4YhAB5E@)=Mu%4heO+mU?b(a&G` z;oQLkUM<~`@&Vtv_@Cs9*|L=Ce;`Y#pDL&Gb6N2-e6K^pr?5+Ln3(I8Lj-(DN`him zL0OapCGb;VUmcsj8i<=WXPw6%% zzw$>NqugKF%ZeHgsF&vdU{R;HvXN|M_*DcqJtAfZxf{5lwaX^d6*A=9|Ly241*f71aJwGt)k@s_!J3L4_ z*Z7Y5`*wn##_jUgx8H|%#K$}Nzo$J`(EfgbwqJYSEvyO@?nEPczbw2+2gGk(`1dKV zmC0?+tWx{jsh_dWeavEY?m|BgSy9Zz=iDFyR8boQutNqoIR!feLoCZ*30PnYC*A$9 z3plksoTj#i*VX=ie{^^=g(U1x13#{)qHb?U+wL;x8S;tm(EaG0d~Nw?yJ*1$cB#$Q zD=GA;Z0oU@M9Y zl#%SrR=vr(D{vii+$mM|eVe3N>oXr6Z!MNj}^w&9MJwO4yX{O|G$m{VnA>}$zgpq2PAu5nIQXvmqM|whqPz0F>nm= zVz*0XyPTI>z26Wet=>AE2-0Ip&5BrejC!1dazzSqCXxXCaoN->cF3_EpUns>q23(8 zlxWgF@TUHL>jMs8=xIMt2Ww8~!_Vi~Ee)+Ue0vd9a=vnfL^BM?zM;J$(jg>xNQmB* zUTS+${Ym9&QE>JfQ||U}d*RL&|KXPFm3#=l>2OAq^k(reAxCBnYwoCLrtrA6jwy-$ zBIGxzxk;)S1QA5fz{wwxjL4)rIJ1Q8(;^X~A6xIl^F>cEMPJlMP$UqY<I7gn!InT509wg!(oC69UVW8yp@3;54re(^hg9nlaK_692+KK$T1-_~Z@$rfGd3FU!?z4;i7vDI@#v<;sC$O4S_6WU~e;2VPRf9Q)8H zFIRIebB#A5Z&1zHY z>c*&qeip8h`Bgo7r?6|ZHRrboofm5&OR3ctI_~7wx|6Gv5K5%%M95HV`Zh5r`p`KZ zF~pc?k(gK`VBqw`iDshk=EE;yvEZbl#4L>Yt&ikMoumDQAK@WK4%ntICVU7-Y*UM= zJXPa8sloB7g+Luwo*F_EL9j(&!aB@=VWe%#$#Uz-p!WwHEe3x&9S%t^p z3s;LIVT!W|&B|vM_z{O3=wNCY&{a%_9%$&7Bbbf?1!=R3>32bo#y|(@QCp`b^x#bflt_hP|hWj1rOn(t|t-%fTffdpC)N)+LoNSkn-ilPQP} z(R+z}uzitdniM=;h!q9L`vl9uY3SK&(7u-h&%tN#iQF-Rp=Sz_6j8%01YCbd5|Whd zTS9;I){%;`i6KS?VXJsuuwdYo{jqpb^esu+l$cR$El`wDxBpimbl@=fvKD0V9YUca z@lhLR~#90+TP#eGRFd!A3f)E#@ z{XJw(JN=q_ibxeJj9H%Vr`F|vz}qX>sI}SYTnAnM2OMuaOXer`;9pErERLfTTuL?_ zMN@p}O&2cDxdNB3!#xXm`fPzqZzeBG;L=4C|D3=jgXvtB61XU)^Pds8d|IDAufS#Z z#!nTv)YlzV*s=oj|D3`W)w!)H_A!G^cZDsJzzW$gZlMpdVO-4n=ie|mb|g0po_cK< zr2OLz;~fOivW`bb`>Ul9f-9@rfbz_&dL3%s9gyG&&WDiuptZ)dHlk}Z#2ZlaZ;%5x zNBGk#U5rSaZwqxuFXA<*$VP;c<_+<@V0sbD0oGl_9h_ig5yRlty&=fDBfK`4Vb(B# zM7+PpJ1&S8$u%~yC$Fhn9@Gwuu|rLsvG(vrIiKz{D|UU_`4rJ~qsXQGRh{!zqz~S& z6UipN5Su9HbPk;I+n=*($Xesv$5`a|1cuq$o;=gOio2@z<@h+B&4n_&gT6*gVB$2o zc2x&hf&_Z5_1hD~Ol|CO0ef~CV#od*jO)LH8Bn3oupf)0A5#t*bwYA<+A75_yj->J z?r-ReP8K;OF8ddK`$+Se@EdS@?_h+UjAL|~kO^gQJ|fF#NrGsEA2Wb`8Cyh~{`f5( z{c$##b0waNsK$eN)4k=*d&5Ks@#7%>0?etl!E~yCH(d2TP7I~$SkWUr;qM#v1w|p0 za`yvycFQ5W7s#%u?c}dFP`8weaJd2B62sajFw+ zq5RsJ6q`Yv<_@q{v3GE(|Hly8%_7ee*0U71hHGMPJ(oy~i;jHU(B3esw(AR)&<0Gf zzUUeh0$mXQ#aK>&IS+`|YGVimnDnp*I8Cy7iBqvZ^RCjQ^TIP zfUVK9&{{><48vMuG;VhH#ci@74w65(Ws#k-eMgz;V~(*QcwGLkVSj|*Ffl~XIx-3t z%H^lV6?86Pl`a&`L9nVT{D314odmu7_ALsf1esvXd`noOXE)wiCPq|(WO|cG${O!1 zRaR9^GRnp~`^!rTF$rNsA}C1A1F-L6(>f@~w_6m=cd<%*j3p-M=L$j<>a7m^)btTC z*#pRygLM~zhnLdgn%E7`DAfC|fg-(%ctmHh6i|%ot=C}HAQDsJd_;1Pmy`p5$#VQmy7A~5rSfE3dQsV_s|L7Dz1{Ju}ojsKq8o?wgA7@9?~{t zVA@zP?HU);uuBYCl6N#rs|3?>1;4|vG44uujqy0glP2dgFz+=#?{^;+5gSbI3}C|$ zomd0@DSQk>N6r^^ZyY3Lp$GZe){?>wp&gCe<$&bsAvqrrI0Y|qpx#mRk;rOOiYoDH z{wL=|K{rKm#UO_#EaSLP1`5tBf^Ni*7hiZyzmyc*Ek=ifH|~O)m!vpL{AdSW57sT2 z5FM`c3<2vPj39W^3>&;Nr0t8H{S+5O+derF!_yNn*XT6~^TvE)0`vtxVP4#?XHCKr zOhWw4PcG(X|2Y`KApk@E9u0;hrzD!6fT1ucpQJQ0|MQr7Ck*gpuV%;CWK_MbN5zRj z_AuD)+v+z5>pF(9=m4BOaiPa=53z*Yd|+6w!BM;9MzP@;R0PQkYk)y?LyAyhI@zpvmxnmH8jbT5 z*%6$m{~m9O=G0%$lOj0vSEe!Lb}28IQZAU%3TbYgmn0B9m~vrs__unn#Gk^Ff+xU| z#hE>5I-SO(>0=cVmbp#e{q>_X`z8o@^k)COh-R08d~7gD0>HhtwMNzYyMM?e$d(t1 zep}Wv9LV-yT|2?%q9##oxUEx*H^`r$5nYGS&MaJ)lsa_6UU1^ccV8oK4}jhS`6Ws; z(NhS+DycISY^jwqP}S;Lk3|ir*K)vpkH@)7kS4QNpojEIj|%nqM9;SVgPtk&Hr+FM z{bbMFLjR~|v*=moG&Fxz_RF8+F|o&=Q?L8O(`?+YzWgu@(tpzT8hdQ5)gIY$xOt6X z>4sf9t^SsWweXDu|KV1`;}@2(wKQxm*PHI8aBNu7A(-Z|XMot#CcJ zEOy$T8IinnRb$o+I}lOf0Md6|gZ8wtKy=iS7o?5vq7mhA&-;lhgb>auL5iCrX(RYj zwcNcv4hJjKUXlq!$|!$E#BS)99Ea;(>P|l)CS@p`uA^7==b${cOf;g$|6RH=ube$O z?hCTFOEALg(4OMIAX+q^9a&@!BmCO?iB-aucFI0CHZsRsom>Ak*97DyG5!Eym$E9t z&&YPWAvJJEHXOd1>zu*^LL-*nO)S4o*`MRMU|*+}z&h1l0AEPZCAZPrlZ`@&_ST;b zB{GrXnDj2$G1W=wTEK7ZOsobg=Yz&~ zAC@_=UfQc+5w#HsN5H zn2(8ivv7kLXke`{h5ZW@Z2l`LO3n6fJec;K<+4E)JY1qTe=T1UZY_`@BB;IMxE2Io z4LBvAFB;Sa&T;eaf%6Sdv@a{c&?hzkP2PS^Nc!U!ltx3mOv+U1h35*&*~l zWKS)B7UnO zo#Py&!M|#E`*y z6Ow=zh(m02oH)4I5I@c!Y9!VKUp1>R#*w(R(&`LBzG)mM5!xnJ4W#E)E^jZY?iuwM zN9^`nM}pQSYY*QytM=&&#&dzfS|0*YF!tPzNQ+P5ic8vpxz&g{^sd;MuZ$lrUzD@` zZ1u_g+=d8PKk_!vZS_^I5oUcdV7r;&E~4{UZzHG>bHEvXI3M3WII<_fRCw1Iwnl!G z-v~fQRK@0<9RHf}v|x#khzv_}r<%AHuUc~VS0aZz;q8FOhaCHC@e5AQE#%Ch%deVM zhiTT-C%j5Aycp0juDPQVa?O^@P%vTLj3pD)h1o(Vi_t$YjXnD(SB{A3Jc(nYMJEB8 zfcBD~ka}tXnbvgFRn}ob8^=c}?`lhFaBc!uv|<#sO9@W7R>Q<%Lr{mI7eOXW@9bC| zEepVBhaf*b+~=BA9|2hUcUXq;H|Pnyp9?Wj!?^6@_+#oCb!-Llb*B_|h?~N1UZ*?< zv^cy9`ax;0gwh7A+2Gv;wT*#kIpvshADipEObHPkb84RaEL- z=jA~V!5PeMDxHMZ98K{+7;xKibUWI5QWvVJhBm5H8># z954R(^yWSk97X$p|6|g)rj{b7MN5>7A)0^fQt3N8xSGyLdw(Hha~^gF)IdMf_lH4v z*o6@nJ>!+cmOi$>)Eeud2iDjE+uz?BTV(sot+BFKdt1h$nDY;68G9l>r?-s7^w@t! z%h;3oscacr#*eRMELXt&gImUag`YE9#-3_VAcpqX{`S=+z^XtNQ^>xhTsl>aa%I7* zbT?4fouYH>)k^Hv<~Oi>T63n~+Q!`fKqw!V&m$ckvkDpL6%;bTk3i;w%MR^Ui7du|23rH}K3-!RtU)wB!P;}~$ZEXx$-SKb10=Ttj zXu-NJ@qIT17KFNiXlX>%cZq_wPud|@wPX5dNLHUaYU8=&*!Q{}|GlD9GhqFvc&1t< z@!!gdRO?-cit`3|o3cah0Q5@6g0eLx5(NIn<$p@c< z|6+wEu{u{ppq7?k7qAOUX+C>s6wW`hBY@x!`6>hU#9s zP?{iEbsUyi;+k}_0=m(DF#y_0t^kZP0HCxmbG@Il66ZxItZ$#uC=`YR+k`H(h^A~z zT|fh|jDf3cvtpAh1`5nQgYB1pu---^CPgm70+C4{^JfOQt%}WCABxTpKo!(jTfljx z@|=X{GudiKi19xNEBx;WLA0I1U0zQ~!+OKolk5s}FGxFsqa)~U=o9vFt_N{POtmNiZr{joT+H zR>PXit8)j|2ehj2eK!rR1>a>AZ6XDGDd%0bD8ouvarR=^I(WGhXXl*3=~t>+yPf_# zX2!#-6n|z`H(|bev>eBQx9V{7A@Bp;l%djEp6$^E!{iq80+IXLPyj{*)t5n?efTfxC_yW@k7T9BoEQ8BWa*NR@ zVNuo|NA(euU+r6E8KwH73#3)QsOFQ69h1?RpDhlL2KEGLtQ@(sWq475&{m~tE7i^r zahF5D&@zmkr^o@SAL9~Lf>A;!UW|4l$*5<_YhP@Go+ksxhut(tFaP2jMEbv&WP*G8 zl&&Ux9-gr3Z?i8cpycyHtB_1D+|DeE3p9tK@ds4F`e*o%5qT*QYf|;^m>>VWq&z2e zVl&(}Pm{*ZiQH8{Z}z!a`a&`4cgFE~Y4Il%bZ&89_+o6nyc@hT9KC61I^!0}kh>RY zc}Lpc3w|X-_O-P^d$<>*M^vz~VRi|J*59S({1qM`;_HP<$fl3G%drj{RoKKsnDHB?LW{;Cz>LF#e6ziMUpD`tgbRJ|BJ-X2$^ zQg@kEShXC(Jn+>@*dlS27=BFpDIO>FW^o;>`Y3Nr-Mop2wtwWH7Cyc`Ru}o* z?GjPW{*fmR=1%_zjvdq`NO>!ZY|+{8BHZ|zf2<4h*c}A2RN=5+;4tUsv@4~FX1hlhwz5ZDY8}P`m`GCS4fc&%%8v) zE950wJnjx6_HADP^PfMtsz9IsBH);h=%)BBtsx1?z@(O%`ot52kO z2>Dv9tLMEx@42zHJ?}-ldt&eOynj5RAg3VqZS~Ie2znkVj*(X4{GI29+2CSxJx|U# zj8Z&Cx!$7eTg&Z>ydnFd>X6OZc2D$zV?%Zjap4U^V2t}w#_~5`|}K6ra<~P!{q(`-HIrYAq1f*jk}2Z`*;&O77>D z9&faiV(nRr-mNqIYK^u9-{C=Re^7HGgvWcz70z_h_D5#)GLB@2xgQpc-YCtlQO%!@ z0x#KoiE4hewx-SLW3&{}YycNZtHK+lwK%t9)}fh~W;>G2_ST;(|1|bRL+m@sO$7su zd;5p1BQkyjQ6c;CY9);7?89~t9eb?60eAoi-%?!H2ph7d{@Z5s+f4TG;|UFaVf4D= za}^{KK;mnk0f|MWmms7rH3SsW=T}mohy}G>(&s0Wea@8UCH;HZm%B4|O2EDqTDC4a z=2&Y}sP0 zRqN~fv07LxC$U&^nG6X!%5r(JM%xW+YqZTZ+75y3UsABeM;M>k#b<(bABNo3xTaY? z0}l3DE-V&4!rk0yqo4f~TTDygogGW})zCWPh2$Mt30ReAYnvG7!7;0fuo;dKfSD9!BO&r}?8y z`F`YG%oR0AgJ}o7c(=QR(`ED$2!qU%5b}WK0fPs~k8D_&6+I}$4w-$$h z)h+ejuir!#NIi>@GT=_83!p7NALtzuDlfXhRLNUiW1x` z$RD_4?htbts|<RadF<7@OnM<`7-4g9a`+m1XyP>@hs9TXPu~vF9HGqmvT8FKH~7cCO+ae^MjAL zcE-#TL*LHN>Hfl9%H!c+T*eiyp6a*yX^9ZR`x3SdZh^qCR`8jt=|;= zYrrb?S_cJm1uhSO_~`qsH@K(km_i&a8nFEHMeCH|B~jm?9=A9 z%o)H(=?)Uq3OFPN?bQ;D?hAkkC@B~z05yy8lh~C{3TR-p7#9byjY4j&jbvrAW&)Tu zkKmyi;*RWA1oe?#I#aiQjnEmtEzqHt;(uZaZXQ44cQy_iaY(x6qJBAybBpABasg1_ z&*=h3TLQ)3ck_?32#RNt<$Orr3~R4)4viAUDTl9AT|q`=wmEsS!LWAN#{#~dSFgMd zc3+_aL;CUOMFW)ATVH@MfVMCCRyeQHG?b>YZ3nHa@wW^)fj3|3%`0z%-8X|gXQun* zFM`bemVVCHXr`Bb9kKF7#7Hi;Z)Gnt$^!Pq1<+I>uR=~kc9l@pfPH6ykXg(PMX44< zR*h6g$fXcIh|V3CKwqJ0Ma)I*alY3Sp@n{EyN&3r3F_4NP--KCG>G#9mo)5FRAB`dCM)Z)`^Pm8 zbN(qbVvZta5)+ZGLd;rwc7ls}!WuC}E&iMB1TP6`f(^lf+OAJDhe=>kWkZ+~|4k4E1fAj=Ws z8`Oh6^lh9w!b-6#p6F6A)^jF(<294MeJXj&p(Vw*{CVNhjH^fNQjj6`EY2g6 z#9M7B50iq(5%#MGMZO(bJUh*C8`os{6YWJ`119Hgb%O8(>^sW*m}zsyHmyTgi>RZl zBD^>BoMt;Y%|^#1U=6+6IuQdY&CySV;0{$bJ(z;i0!InuhYapEXnl;xao7g51#>SD z`cufJ6y^@y5>C1<=~+{?yZ+?%t+{T*6NFUA>;u}4*v|VApLB8*-W!Z8&NHeug`W>F z(h&^at067)hVrJv-H}uo*`L7YV`On4Yv7!h5OA{*ASW!*!sqi;8?a04YS{FP3mV>9 z*l=e_pP4Y27atede|-Jd=a#FW;PoR%9S?;I9~(h^5Y4{<h2(p$3;kXZXM!}Ue448tJU7K zUAPIW!ygS0zUZ`bX&-%1AHN=4fqbzKtZCkay3&ZDBsH%aiLLm*iL(uha1gyImO3!l z)h#zdQ~n<$$qj?v9g!Ox3$KKS6YpPaw8&HR<`KNh40THPm&%_%%AW`Lqs#*3S0sY+ zD{fQe_hf$4{(!ULiHhI`;0a?;cSkln-^qgKF-*wkfM+0j8Gt-jRK8ryycKQL5xtd- zvJI<_4(&6N0@2&3c)VM&^rER&?UAFj^-q;@VJaPQ+e^bUT6#7xbpiT~On`EC4Zh^H z`0x3R|G<55>XTr+Jo$UR`%5{em`7J0B!_UY6b#LRs6li>7ekRUpULj!$9G@!A~5uv zSFRI?wh4x=G9p{R(1T#8X8{O`BkdrUY!jOys{pQzo6}rSMTS*Vw;8`_-U_p2%3&PC zYt$$0E#z3K z#1nB>tO$B8PvV#cF8h(+Km-*r1cy3|=#`jPAvRSK9c(~$v4FV%3z0k)1VO@wt<=2l z^o7R^t`~%p>p|oj?T7M0bwvvmVLV_Yw)m~}@somx!Zh|7FE>>$#0pM>>u}j@HyaS4>O*(k%+TUw8#;FBtU<9~YgN zpQC_wE-6W%$ru*%hdXG5ABjIC@6n!j<&KUwr&cZH^^Vj`=jQO1rk5%I=>mO(yVbq+ zA-{w*WG}LVAqhSHb>%*0ESsNcb^4=|jwK%3;A{KlaMl9u8{DnvP~P~u{!K!ka4MGA zrmB=uh5JFt?dxQ!$oY(kU76m#`m=rQKq|e#NNh8$4e?Vz*GlwW^#w>mWcM1J+C%<_ zWTcm?h5^dLvjBW*vm=;#^J^@M6gz@_`iA&(^5@s`=N|s3YX|aMO+EP?z^~t0$>7V4 zsu$|>%$9%2pa?7)%%3EZNM?Zyi1k!TrNvP^u8d=TmDOY__w%;$dCRF#kn+Lb$)CT= zA5eH@ygL&la`#QecOu6bo*cJ0M@`F9llm3#6^e0Dns1VQ9#MbvHg=@TLE~V^wAQyf z2(j0%ChQ2T=vPuWSbHp%bV@!D9rW1MeGyP15g8h{$H;BBEaq z5$B;JZ<=Z$Hp6Qn{?ZtH<^O;T7fswQ3z{rE6VQs^X>El%74+q`2NPw)&&r<%yj_NplRs(+Us9kwKAhgZa5AqzJ>=A{KDTcp!S#`By

i` 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%0A0KKO z)uFo0L2JA)xqsP8F6)wU0ESbax4*Fv*XK+&{*P`<9J3wUT!;XYWSi;C<~nY)zQJm0 zJbwlgxku2ZQP z=x#?mU-J9w?&r<=vvr1y$xr3Z>(rQ>eja?nMH4T+(2Q+?osJvJY43c~?qk|h5t}b4 znzrkR@Ak7tTytvMU2SdA31{aZNksdW*CX_o=n0rV?e>0sNcYK&Y2WYXGvkMycLzmZ zvCl8z`<(kZd9ozB(w+j0<*S;_GWM5G7H<}>@$dYJb?Di7h zaa&_=?29eTlY}!={`E_+?u5_0&$I_N+7}kqHAgSEb1O#mj}l6##oNgiQdf-DWr|5+P%&DU0pu{cU&Ts)Z6lAjFB}e7a0oKkuW6IF z7;rz^mC5b8!x+u!=ja%ZV3?~DVg;!w?26C zhO@Vc_76K;o-S|GM+(Ic`;y=fx3je~ z=_mpPv}Iq=zvBG<{<^(V!oHx`tT>;{G7^M^@^@a;*2cK_>l&$JkCsuLKe4T?Vw6xx z#Za$1YAK8P=G9wTL_Ua>>}SOAY5j`Wv># z7niqzXo7maZN$UqjrC8`t+q&f(tqcn^!ajHKOM63MNIQG$POB*SQkBaI*Mja&h2kb zcccW5G8z&^BjS^CeFjemmNkUz5k4Vs;W8RI%i>3bv=1)s&f0Z&N1vUfpGQs zQYwaX#}~`FDQkSOZ-?}gu0_w37nn{juv^W#iqGkP*U#ChpL6|T?sJ-)k=&IvHNTzy zFwwZ!lYwl5NG0P;tC3}383EH;#&%izX%>xX7ewq!i-8hNQ2;9A8Sw?!7qaZgD?!)e z-x17L>kvXN7a9KG>X1LUkk19YBrlpDET}J7Inv6r!*RnGu6V~^8<#P)8b;XtE&tp_ zhV?wm^xctme?+u}M#GjOYo&kgKBTJG{d1ccGQ-*lZP9v3bTI!`*8JG;&sh*+wD??& z<-VzkKR#bH8xn)U{Fx1#2enQM`Zk;`=ZF2H7lwQZWBN|{5#(3U_wMxF`pyf^#f*(< zA1SYBj|`aA7Z#bmReY41){$XfiyDxKb!o9RGQbPh<+(#?OfoK0p~uttUD|lU^>DJ7 zVQaY}w_pHz3kD##C20f~2?U6FQD|_-CAys==+@3**omQqJsH9v&_i+TwJF9k(qpcw zWvpoPvlKJpW818}K>60EW%8@y*WaCIJWU_lT8G3wkm-P|f=zt3h!Dbbgdx)0p#id) z1PdCVr9D*@o5>SI+tXQ3IXU0I%C3S~m-*-JWm=XHnZsykEwYea7BVI4MJwFQl(5{J zV;_`6uaA9DS#vKF(ek*E1vJdV<}5M&b5=(DbL#nAEVH3!#Tn#$m#$5JTly-XGm2gx zD6-zA$xu9cjE_E=)mzI}kBImGtGv8f-E8_^2S`t>>H~3fp-sb4Iv|$jPPFQq~X1x5BDihSLWGt_sIgv4QW3X^k3KbMw^% zc?(JsvZ5?-J8cQsQ7i&c$S(hqujbnvHuZw?8*iCD0*s5oV#MIjG z*2P}dMcwu&p*!X*V&u2-`8?~Of%V|+!$+LE3bL&c%f^4!%?1P0R-() zC0r@CM-`^80PB3A|AF?X4C?{dB#(8uC4V_!#+}o^?i>}w=r1gT!Z{`CIku@BznOxt$;9FAkg`IE=woS7yAMeu(bE z+1EqHjB6zKMCWq)sA}8i2O`zyLzj`<^M$uZtn-V5gd`crm@w^U%7__yMfzvSE^g>m z6Lc4gM~17N*EIEI!g;iQo5_##{EQ3Ox60XFH9KKz1!O#spXeZlOd38{GU%;}ZDv2b zC?L$}C{!lHTJW??f{Ws8cs)P%){roaB5Yq)Y?Lja5jKdod`9feK8)&{;f5`P3_DaJ z0?F^0PL|O?HWrmp&5Q@9=b2VvAokXju(c3A)mG%M9Y!fdqOY-y<^^;#-hwqmoi**e zK+w97JvHI44O2{AAR9qZ&?4N_3blo-R2-`rz-^H1L~I)HD%m^u5Wyr=*A^{PlP@Fy z97?F6KRsQ<-?PxbYGF`e9Kb>gYMTqOu!g}uii6f0?E9ZH2u#6jMgwd-viU5R#nxF1 zv9^-v7h-Ld{<@Q7>R^P_Sj(fEd6qo$75-N1<=M(}HxF{!n8u*5ex5wU-L@J+WR84N zF*VKGLjF-}4PUd+A*I;LRymShPt_@NSol0ap0X<2Q)pZs6!I;j36<+B0t=p!oJIR0 z#ElTUUjrYdVXG>~^v$Bxd|}9Hgt~?c ziwIlK^0h>`1D^qx@Jel?&<>Z#?r7}TDbV_mHA>jSFvH~!J9hD_zbGuVzk(*&G=~$& zSgn@n=%A_j7!&`kQF+`PsV#5tv2ML95*AzND zZnQlqOS*h(I3A4UQFI`)2eV--hFHl3S=3stsCA}Ct()=zH1rQk=;(r#J_-a278};c zJ(07(IS{mna?^olD(PsBL#?6Jq28_$ zJ~#xqVyGkP1|or(+AYaam1_7%*uUJl1 zyskvV*<3N=A)6r+4kImA&yJ?oa z;FNI38?y}g;^65gi(LKWd9~eqSo+EH?lM~>dWox_G^GTMgwjtoCDoAj3d%Nj5iI@Klt-n6;R5JR*K4kcsDRQ=*r(O~fUwvab-;gue#7?53d?1TWzQ8B5oSA8ST=E!y|KN*Qki{zdaSQ}`T+HnKWJ%iKl;kq zA_0m;#nV@8w3LE%au(bW@AY|FU#X&))>n?S@fV5(!9RDoHlHBd8P?LEwZzp|5cUwx z5HD zGhgA6s7NAbwkj3L5tTGVZfK=@B<(Px7KiXZyDE!PQV`nK`5GUW9(tSIN@qS4;3_Rp zxEMay!V-8+hi8R+4Z2&MrZkKc7kh9Zy%z*^816Tuk6tj+5>%MmPf7W z`bx9bR~ijbuC>1MbIP^TS3>A31b_hJ^A$b6suY!GO}p!Gk*D;P zi0CVlo?OqZsM?Cp3oQxT@1DN00@_{JSreK13bZ5&%PLK~-g0r(ds!~1+TGDtB1wHk ztkpT#`8w(=K_c#I%HAdP9rTYvV_)UzEb1EMzp4ZIe+PQ>v=;iS)D~@y>d;@qr_84z z-%{xRE7a?q*0QL3TFWo8X)USq%DwTQh=U;Ae-ah{iE^IcGf4BF5D-`S%^A|^i>X7n z=MfohlvlMC7N-ZBq;jP&bSu)`DZzN2=Sop-l!mI@PqjYWBR9&|;A)+_QHHy61#XmS zbTNZ}DE;KCN&g9kHL+8Cne`O0PX<|nM&#M>4e(iV^F5jf#>Wtuy!D)C_)gBs4~nAw zroSfNvGW<$yXdCYt0E5V21Af9LeWYq7{`HT_#zePg}8k<#BuberItnYH=u%V7h@AdOS}jx z^YeU^R$1S`$n=6TGlwm1TOs9SSqGteTA(tfBfoNvLwvO+mnLg>*|C7J%b zD%ZOb@>FRYCCZHaDAR&<$Mvs-)ZFmf^{gg*?!zrmIFx*Gy)pK~0x_DnFO|=ZIj~#NTtNITP_v&DIU{*|kz*uoh=a z4GO&&EJCiu!mQqIlr@fs=lzYo<>3DIEehw>x_%?f+ zd1{`Ok=m}prV=W(aAAhTtgT!wR!DhV46DkssNid<@+>MglZ{1%4yIdFqKCT{6|Q4Z z$#<@%SQaNs1|Bla-pzW%sWEPh%%TE%*IvY1;B__qv)VnW`rmTN;Qnw{Q!bt zMtm*bC~Lv7kkf|VzD6V-t`%2qUj%qAxDNje$Ei?zZVtx3*H+%#N(}kNkUjM7ptUV% zy~i@!&H!V_V-f*NV?{oN8DfQPWn20ODo;JFCivT?ZD?DOsooyM8V?n`A|_1q9(**0 zmG?t4K7v)gyXF^e&v+&6p~3DV9-4k(-zwKb6ZSkb;s?%LIi33_mHrd7uM&q1W5Rk6 zlPnG!*IOeVg7GXa?sU&_Gl5k@v)Lj(Uh*ov-3Aue63ex)0C3J28b@?j6yMv7W1&|y3$6)NW}-*kcVGK z`FFH;$4Pm2z<_k_-MM~1%DeL?x}53Vk?o`B%F-SvyHjQ9RZaHom8EI&>~{XQVa(T9 zdmPR-_95m>W;1L(7sSe1%5RRuDG!er-aQY`MCIWzmBzG4@s_ZCQrNzQRq!UOU{TOo z6WicpOV~jJgZafSHYB#8kF+Ut(O+oS0CXXap7l&W=HF7~=y@t2UBuTD!`CyAKHU}= ztPSaJOldtUwilPr`IK+iz@s)4xh@}qG!@j#PA6%fSP5%nzZHROlQ z`oeaum}P@~xU!pLF=u~!30lVFOrx^(i3wf#eoDoDUJQvK#tDg(KqAlaT8e9Gbz1XG z5p?@QaP(bBON{75wt8P1(f7$^Wki3LwfwBRV`gn9wpScLdr_#wh|YtRP|D{zo~rg( zK40~eIN>qQJIr)aqEzCcXXwr@RvNw*(p^ZGFomyoRB9q^{V&@>_rymfM#z`wrs#di zhw|!8-h&Y@<=KdrN*MRG1bqqT8afiO^#pq4U{7S<9*wbnJ|8%TPGYBUeM1n71s&lV zdQXdw!!j69=ltiAj{c#DkT94DNK3er_=g6&WIH5_e+X{~CCns#LV1Xam4|4fXk51i zBIw+TyR*F`L5R*SPNGWr8fJ2f!&Z~EFIct|w$8w;#IHQi+J|!!M<&Mnq5Lk9y)KghBgm`U`xX+*yzgXlMFqTi~Ouu?_zgN5jau=za4#`7GX zKxIUkPZ51dI?-P*?vMAeLg6{eLiC-rBbwMP%8GDAJEG^Q0@4vfcqY-mCF~8q(J&Vi zGJzT0#@klP9y;gRqWFY9N)A|*@*A-UZWT#op_yA|S`56iCVl1XchR^mC2!@dbE>KC z>Y*K1PDao7w{nhCD+j6&CPUN9V0+UgAuSM{2c=?Bf_rhzV@Lqy% z=@jpk^qRDHr=%P$|MLEnWv)MERnjv2;rLTlrTbIFZpZHUNd}+g)-n14S@~3P|`cry=|2pJP@z)-yw1eK`zkZ8EgCw>ef6AAX zgp}q_Q6f?Y{MRUoi3UI*&mQByLPmvYJX0)8Y z1)a5!=}+;`X{7L4{#H^!Y`h)eUt&G+tyE4C*Wi*B{U!JnZF*7YucZhat|Nu@&s%kh z{_?GK!C$oC{7A_uJqLf4QLlsNE@dBXr;mP!{*-@1{1-~AqS}BcvEok=(iQv{SS%r3 zLA^WO@Ta^08Op992-vJmWcpJy?F#-&Fx|>O!E-+({MSmQ_PX@n3I1zIZ}DF&02lwY zih*yQ+Otprx+FXY~ zF6e9YT%bL{GZ{%d6Ad`x`s@v$>Ex_(`0S5P{{EfV!4KN`iw`t~_5jZmr-s^3H>I7w z$bx4QyZb@HGjU=CI*JIMNz30tc!FngWnnS9bVvT?6s5A;mqiG2W?g zf9;RCAjdKESqz{}-uZBjV+;?00Mf@Xg4U*x^@cJ1bvcBg2zYDJ^i3cQhyyowt2&Oc zX}W-h+c=aFNk5eFq~RUP7~>wwV5nEbCmpT*(HzR~uutkx#wx)+&ESAJUWhR`AvlyV zM)@GZ))>x^hpZ8D%CIc`2>DPf5E}br?FQBt*RJle7o8Kh;dvS6XT*2N#9Ju8vwMF0 zqsBkwY5WsdM(|Jnz#sM=uaLw);TTrv#6$R}PY(X+aKS$@UmE|kTuqnYp8(B(f0F4s zgnue3Ys3NFef(2;GzU)kCeL#u;ZN6Qz@H?}2%pP)Ytq;gr#;g7dm4WNFZj=gcj|bO{Se;Ci+LE^atQC#72XLP z91?=UJAo}gW_%I(QSeUB>E);8)o$XQ#M&o#Cy{rvw$lOcBpwfr_RU$#Q zcWTrUr;;B%$Hu6}q}=Hmdj&>saB%&=@lIHQ)9_Bq4&j~trSMLij8{ZISSVlcPGXuC zyi*6F?*`r}N%WnyBbr(U-YH4+8K|M8Wdo4kLBu<`D`&rpM)?O*D`#zQ@lIJ*&L<4- z^iiEp*?`0W(D|S0e2R)k1txx+oS3j0!04*O7U;77i;cuu9osa-JEQ@;tT6WG6a@#? zQK!5UE0e@f1Ik+BxLg@T3Iz3eZ(hJZmva^6&89UtKm@PWGh_PzG7=m|2XxtxZxqxk zn_)rY2&@0>FtGNjig*3BdnpmNRD73_cHupQ1Dj27Aad=YzO6ODH#Rt&knqoaTk8Tk z6j%Z=Q$zfsrJ>rb(NkFOOSIoxwi?;sUgZ;%p=@vxTcveSY@b*I_W{OLu?w}Qd_LQm zxJhJlk^>YO!NZ&pOfd%_lp#bPbXk);2@ya&;y}^LLd@GU3?f?lsIM8~ALc~gtC)Yu#B9al23o=O$NfxAphlIV4 z#|Q~=?%ytw^W|Gn4;93llM>*-Ux8%SHEagr%$^r;LlNHvJ~_+^Ro`- zyd0MP5}z++kO}PkdIet<96#hCfC?d#Wt3h(Y4PolCB};}=L~XGAPX;=8PV3}+*o97 zqhACwQ|DJCnAswZ*XUqo0$L5{eqKhwIa3pu0;4J_^N%JniAQ9BI~s#N7vbg~z0{GY zj(-!Zci9U`DwA{c9lE8c3_GMy*;?lTsu}hLoXMG}&g4vV&*T(WSrg?l-0W;8b!_L5}e$ zV)YJt$C|)zr@%=Q^)DW;zF8q$ zR5<5w6)X*^gc#wSDo~XWs3J@*sJK)@(2^iTyenK&0jQplNI7-&96C^^4TPhfKpY^G zhv&BrRunorMWMMY6n(%z9iP!B3y4Ma5JlYRhIeg&lW=HMV06Mh2_86?I6uWn3f0`z zDkSh4x8>|8bV@)i0uyYH4zUXZLanYpggH$+;O$YX1b7qXnnAIH+fi&e%=v_z=;<^_ zD~e|MND@8d>ouWZtu!g5J4KPM1kCl%LGaig?Y;p)XuGzocTsqUSUaipjUpDIcfO#> zJzr2&{W^riQSY#CK~?TIa-7xF&dm#C@ab$}*)mAK*_lE$4a`$YFmHzkry)u9ECCTr zT%wmPh59_k8AiR3IwX6UJ~}|;HFy#%Y?wr0(}AftB%2IOl{`i{zk5EB2ebJ^-1E%N zrGM>;KNriH%0u!ayS&V)2nG_3Ma&^0KQ?KzN&=}fG02r4Gtlea-masSu1SiPPMZAq z0u3WSO00tp?FPL=TI}p=4#|%m!*e6rdh#P1?RXv1HoN@zX**x(6mT?8e)Loh)Qxoc zQTaO4<;Nwin$d0fF-ax}YR|j!_fSZZ3RQv$2r-4rvFnAyH%Dwu#a;QB|un$5!NMV272gbHo1YLvZ*HV?t_ zA#Aq86MTg4mF;sWwUxf3M8~R*qGMRjt|F;abt*b$jT6+lKj}l1A7^KkAFCwTZa3t| z_k}Q#AC=tb36Y{lDH&45HqDeFwU$$xB2naxWKdJ;q3Wb!n*NAlDNM}^t|V#LC%9*_ zIqi%vsdOEpe|oA8`5{#F@D#arDL#5~UsBm=FFJ}|kLcK4b>|i(GY;q`!Aj~2hM*`Z zFe-7;1xM^;RV%5nDmNuH zR&^~kuIQfB_`7UU<80>-KktekC*{RwU3((|RbjVtp&#o-Wp6yQ%AQ<|yj>_ZC2eoC zFIKT}uG1upr7;?~60#kk>_|t3twk6bTR*Q%Nbf>=#18;QQ_v^}PsOlk6tsj2){M6D z?olSj{xpM$aikr&H)o`scMtYOiC?va_~3f0UkmO4dR@cb?^+oRD?$7K*Th%`l^vNA z{Ve>4-Txf~0Jd@QC+y(QwK2Y}?2IYI;gt}XDQb!{kMfg{VRoHIZ zZ{gcqLnAhz2E(^L-Ew~vO=~NVw~Ob>(pkcoutF+cuWiXq~=@7GWl&{Nnx6lZGFFVxi0+}+EWmRK0$AkskrFyONG(pxyb_} z(Ep1aXjAOrE^V%ZHU&y(s2D<*DSPE*%3evPU6+mFUr5Ff3ZN%@_R8HJ8!Jh-SEfZ} zE)nyP)1ui}W`K%L=~n`%c=-&*!6a@P&p#L-aezoD9-^4LU^fZowHAsntSzQ}oJkO& z*c*K$vW=la;kYdAZlM`rXM_zBCPqewMtmMW5_Lo(b`cv=%z`QcD7)nA(Nh&*nxPcP z=(7yne1=f|l*FTb>CPacG!!z-GPDE+-K@_Us8je2n~IHshA>=_AkTPSei$a0(0@yO znk!BFM6%rz)rVjT9jH3t@hK`ILl)Mr6EC_RPh4>3p@)H72rBa_r+6bAN+>;zN2}&ZlAfQwZ?D;+{ zz>(aE#VWN)1be=i@|&X-_9T!WjJx;X^|Gd{wHaAVi2voKF%ipTu``!K9jvD9`8m|@ z=~q}>`GtPuJ(Hf3cY7)qZ~lyj*ElB$3eO`N7DrVf!3yoWG%%HBrjc zdItJYO1XMY*!hIO;E45TU>dU$D;icjI0LOo450AwJ=o|+Xg&_>CYn$a z`6CwU5G$|cOBkUwR)`2IBzf`IeqCBV*3+3A%k*$49V4>_eak$JY@PG85Q-8nj52jf z6t?p+kCVTJ>5t^GZv0shE%0gzq6X%Z7({!%l}-%}MQlB9%yZbjfxv$kBV>$%)im*e z`TiVs9M^i!UF%|HyKn0efBsPPuR`VjoD0no&<_)S*sdwoqA7u}U_P$Z{>>@S9zLGM zBBBrwi#s~41QLw0^^2q{CwD{-<7P)Y{+)SB2NQ`TFVOl0EsWfgB4VVGLNn$@#PW!k zSXgHb4ft#SN;yv!d6U&aRtYg|W9ZQCCXcE!LStni>esd3NmMcRM@7`7Y$OsTNFis^ ziCRI$To%Z}q?nRB(kMHnk15LTtRW@UOwm$}Sn<;-n+HpDmshFl1`2X1`%P%dm1#bWm%}eT1J^1{1?GSf@-P2S{ePN@7`+6wk%GeA#K~Q z(YAdkD{0%W>B_c0#}jY5PC7ADFQ3lOJE(k&WS(FP_A*aoM$9}fGxdbpTh~EfRb(_w z<(`Of#mhaRvfn+;EVhN?lV<0&mXUixqF-{*N%BtQH#qszH??uVK_{M&opCHX;~Ggf zq4VQC>+Vb;m2N^JWHZ32bQ7zxrJH!bu+PJ(J(B!MRkwr=8OE|aaMn|K*<$teS2r+Artlt5+_tPIHx zMC%}R48g<2)S_&O4XsLv6(CKfjk`T&MjNtK+--Qd;AJF;9onfF?PMF%n3-~=cwEjX zA$Kw<4N!gOkePES=USWvF(bjjb;>>M@JL6@NPfs}AZC1PWb33M0nBV*^~hN{)Ycxw zk`+%}H|5vf<7G>IPI;F+I>F0?DB?pk**>ur&ac z5l}+2OESa;Y88z`8$R%Y)Ti-s!OUp9jJRdj!H)$mvz)(|GROqX%ykMgb8!ZlbPk#M zGUbv90DAy@ae|46}{JO?pMJOg*FKB1tui$$g{Hk81 z2gCrN@K<60;Lp?Vl>A#Lnw@(V9^d(Lj`B)tOdcb==iX5 zx)K^w!JF7)JC6{hb-TW&bCeXQX2jW3WW}pB+HO}r?REzPyF9Btt~Tu;&(ER)000D8`-ny zB;urMcpE=U^TA1>_{$!oP?UpGUd#`jLNSYd>>%lHB?v~H=x>rmq*MKkRPUhI4W;3V z=!Axg&?M@cl85q?FAvfB1vYw}=N&ap#COs6m8*19k;>JhQYVtMub{!O!YXrOQhR%_ zSK3=Oqt_$t%}<3+wYPT>MmkuqB+`33eH#6(SNO+v=V!W&e^iMQJ5k}1_($&u%}`H3 z?i&9nXbcbkm@X76V-|u56WkdDl1b+T%}1=gmB_?tzS}hhQsVpK9m@nk2EA-?N%d`2 zItFq%6W=W`7!7NDj{-s7OSRsEAU~t2t%HfGUNUC?o+%Q$?Y@hBf!3x(oa15j%`1n|JQt$bW<(>E$Vn^NM~%f!_-j@|4XakcFh5X$ZIle^ia zDO=>rNi0Zny#L>Lbb3y!6I$=W(-tAIyR|ezUUxig5z@LFzAf6*cBXp8>3gJk|EzO_ zxTfRD^5H$-B&JR`iWr_#=VWerB1PB!woJUJ_`3It7yXuA@&}3+J(^~ei!B{5D#F+n z@tJTmop)jj!WzE@$xJ&=NZ6O?h!_Pe%DP;_)_`Qa1GkBwM)9z{tvqbvLJ`EM&bfOz zBZECcG&bsV4j4U`a=v$;W~h_7bXR8x)Qd9kqOUkT#*6yi72h9i>g`0}q7q`h=Wx-i z+4|baD+hoNy;$!LJ;8@A))eyL;X|u=fM?$mM7W47DST*FB3ju65eY(c|3sv)6gO)u zMI?iaItPf#(en%_MFv2$Ybb>Rh<>&kbeM(@UG4M=A1bt{yuX?j1s)oO7JCB^{lH`J zUBg44*9<-r9@_c&4}{UA|7ySZ(3hczuJNG~LNXgZ6a_~?M9~A4mx|;`p__< zclHz`D#zG5XeinIO9vYt`fb)+ckrR=ytB$K*$F=Mwxla?FZ|v01{&5bJm`AE8hOjA(}ZlNoPsScX55)zUq@s9-62ju%}n?7b&=Q8{Us z%s$!F1zz+DX<6e%4GXKAcGEO~7&Y)13$>`klR`6i8QVcd+0TLLij?m{Mv?L*&9aKi zApA`u?79INrKM)=RFnhqS=&g5j2;UqAy70@ZLKJ%)X5GR-N~$md@Ge_C3W(oF^h8r zIX(pzZ4ip-DOi-}h~$HdQFuD-0TvZ$zgJ+c+I_s}4^u?kC0_Iq%6YPhC>$Ah(G03Se1Aj@WK0=^%yLgZCRWq&sTvUdI}bO z#1nS928-I+wAps~BhS0JTj%>S@sWRm*1Cz0yi{0gH}R4Ck0-VV!p^`)5=KmXnHn4^ z3Y;ix-9<-ACM`*Mq@szzJ&7PF=tzx_lyg}c9Vw^%G&)iOLad@f_JCpr@>w6dxDR=Uz0|+ z@sazFCpJ=eAg_y|;;#F7yR7&~H;kAyA7sDM_?NJ)Ydt?ZI#MEvErs`~XkxG;;)A7; zNfI4-Nd}onw#E*TyF?OjDk#@GbmZq0fwe0i!Ie~`hCod1kx{BBRL8S-cM@ofDd*0gvK-NUo}S?IMB zXGn*5VigotVBW6rY-1>v4bO)83EQ5ICnj(qeQ*%o2BEeCvq7DlQxW;IKRisNPL(pw zJ6^Aluijy$&cST7(g>M%)`U;E+36VqTeIf;};y8WdG*=hH6$f5UOwil=kab_UdLIi$nPx--I zoJtyy5BF|%ZlGQUmaWrNpDEIpHk|*UV(+kQ_1%*s@9#{Kbgp~2EB@Tc`I>)6`B7jv zB0n}jbRA$-!Z;lzKc=0b5t2ziUXuz{n=U_g2d%}&cJ1#B-C3D5g;ZO3mo5{Fo#YDr84%9iaT!0j=c`nHC^5k#W){O@3U_J+zjh zvX5JSY|WGxohN5?#h-eMr}+fO6VvB{>qV&4+D+GBnvYC+)X``q@CZy$g`(BGutT&j z#S0~#SO-u6Mie96h)K$bm2Lp<9>o)*VR;BhaM+^6zw14e=Cjo9AUCGzGasG&_|G0s zY^jzcJB=p>q3U?FLE`rERe@=`RCc-o)6m-f)SXm3vF;G;!HXx>Q?l=NJh2S2|Cr*5 zeT?THz-YYzvZL8h$J7C_ydg>XR6@R`plHnWRD2D|RD2hLq9JZ_=7Dum@u_g{RYY&8 zZVvmJt8$NSjfd=!1i(0tga4%B13<&U|1dxr-(Dh2bvUvvuDt9=)&*~v1ktqPA4z#S z6F(y-?e>eGxrRd865DyaH954jpLlEiXr=>xM#WouS&KvOFj@*d({;Qx9cztsD3-Dv z{Jn~44GXM}wIfN3mZwpCy?xXgT6yqFto66M6JSju zlynC`^O6id02(j0n(;K<2aN`}j# zv-oPXp+Zn;r$yE_6j+9^TV8xM*np&OTg(4KnEbs08D@r8+rxxr0R?2s2a%4Iku&(c z#mXR)2t!g(ng61lUO{D!(1e)Dnmge0J{13j#>f0GGIzJ>@m-!6LI&!F*GR$JUVMgNijES z46t}H(kPiK*|9OgzcQqlo?v5Mp>i*lfeP;0(?Du2HYR-;oFR|z6*T5CPm<{x8Z$e) zLnFtzw7x5QVN(Cf#KU|@`Sn^MQ#T+~kMir0#D{YXF1W$qM6r11x=yhNON0cw87}M! zC{U|nU55*kjW+`j<3)1n7%oi0w)Zq#m>fLn4It)UCBI%W-$c9oC>(Je(=k8F0}xXZ z57QyPo*_}gUJ>hvnBgE9k)d(v9!R*bi5Xps%T zyCWR0^o1+7)qGOVpP$6$-^uxNqFZL3#7mDK_O;H=pPwcoK%Q*=`Rv7#%t@jqE<>b5 zx%4343DIu$cl`Wk$pd>m2_AMel;5M{=S5WL^!WLEaMCP_YRB`y=%@dx@xxYnaH|Ft zKP+)5epp9rj0-zC6hEx?re`9C*NeXWzp_|BJ=LN(p(&Sfc}; zbq(PYE%YOdW?Ukgq_!6xiibsdI&sq;gnaV<%<-@wT3n?K8S$`Gq`pJ(utfPF7w&$- z!2Q$4!@6kV#TSOHr7GLZh{BLPhG1BW*@<;9EDX^B{MPmeF&5r$?AWDZUoB=x!uI&$ z@-_*EwIn*lh=)1y#ebplC6V}~|ISkxXIck@Y@Z1(z=ssSIB1R76RB7iJ=aYs^V)O{ zx%+Z>BIl1d$e9ohxMD)Dj(h}To`GZ!ge zqYj+e0kC&4v!TxD0bnl#zt7?a`DpQamtz#^4qi`%8|wtGr(<0amlDXHGMc0hbQ)lf zz#MFws1K-%0-+L2RQ7zRnSed*an7C(H3is{SXaFP?43)!UI6waf8c%rdlJ;B!-1Vn z^8@!1ulI?LZPz%1-rHvS{vPqY8T+8E=5;n9(>vy6Ty9(;u>lr%&)a5J zG`|FnS%Sr?bHpmZ&>MT!wn8egZeDt{?YnR~< zH*x&uT#|5~+pzQSV0;SOV`DhB$QN#S^YHWIgTJg2A=mRFrnQZ}`b)23X zcUSsLM{M(#ey!e&)mQq@7`xJc#wGRsGt3SCGb*=5DmK@w91}16k_5P}n?w`5qJF!u zZ>zlEZ=B=V#_5v3wjW78L3FrJj&?S6t^FiANg-_d~|tCyuY9EJ1S^R2n>&qpnXV$C`6@+^#k^{1wri( zkJxgJ1AC>dPeMUbZiu9vE=@e{78w$xNU0N3BlHe~8473Mw_DY5gD|#{h%&s1hyEbF6>v=zdmhU>ZfN`Q)JA zv68Emrx?=xVI*_J6r_wj){-5&u&$8EkkS%tjFgTPaV2qmi zD3k~JNai&Auo7v8izQT$M-++yNp4P&e=d=Ku9SbS3C@fLj&}9{MIWB)uWdM-F`F?s zk6%82?Ft$n-p5~;!>7sY5Xe{@{<(z( zCdbiAg)Dp=v@w0}nbxF0@s5SOMNYIRc*=x8Ww2sGV3@!5bh>WXSCnwSf8Bb2?WSCQ zPut7O{7JpcZ}o3p=kqdF)AsU0Lyut2{g0g%vM2Uu^e!lcFs|TrHp$t>DMriY^X$S` zVW8c$0XgJny!Z$!oJp(7jdQ@(<~QvO!+_of#;j)Qx0Rsf_xxM2$) z%^}}%hNr)@E&*xvge|9e|BU~W37xi=2^+vP$%NH}Wo!dROF}+Njg}4ad8+_iPBrZ5DeO<_ntm|ToUAW9p<1Ccpyh8_KyDI&4PcSl!^86=d@MZXzOxa4CnNUG~ z$e)`LNK=UHSHFT!>f!yidV#X!@RqVZWO)5`N}J>bdNRZXD`h;LKhXTN+X6@D`Rmrw zzGf44k@La_$?LPc>*+&uNzhJ?kh50zkv1NnY|zfOFdx;-uVu4y1>>RLXc_O~pRrm9 zQV~o!lcL|~>(Y+@v13B^6?%n32eQIj4{s#@622;Chz{|gRUNU5F-BgH#XstoLSX>8hFn*Fg%yWR0s zRNv{QY498yKlQKCr|U=0?0>jZEu$^v^%Ur0%w~EmI<9}8?lwyAk8&F2 zNxn6jFY6duplur9wP$OG9ABID*#`gURZiV*imSr1R!f>@uq>nJ7KKX6~qB(^}*eGp#Ab)?$&V#sowgSP0wo?gj1261qO&Y@MZL%XSrw zb5dY z$j@P)=h`i&!4Fte>*an{S%I~6FU2XdR*4KEEl4|=fD;lP>9%)_0n%q;KNk+%q&oXHfyUYzHJVtV*QmOstUQiRj&(a{*0g6Rt$ zrriu}&=un|^w;TIMAi*k%dHkuq=c`r&nAxl*{-%o{EvZI>eiyfSDxMhEkmh@%9|tB zM&ohFBqxzeF*CNaPxSnG@|!$Fi6NAPlq1%=6iYNdNIRAzH(vZMGS2#F-zrXP=gYk} z)x8A$ln!L{(|BASWyS|I9+}S*ox~G;_lmAsw~*aN>W-2A@wrL0u`#jE{rrNy&ic9} zaT?#PMX{ZQ{@R;)r`XOx{u#fbe&Vvf?P#OzKhw5pH6+fbZEyzC{P(zBUXK(%g~#WV z^CE5hxJG{P3X^Ge48O0G-+V^gPo-V>ALC~E)+bKV_r}V-Si(O!w$tYyjcoaN&TX<$ zj!LjbB2R2kyXL6ftgb7A7O^031(z=gTDK`aF@*;W<5omeGf{ztB<4+(Ia+AS5`CV* zG3`nutEu^B9fH+Oyq>6S5#t$|25Mdtw3ZkxZ%Knu)Ze2GH2*t}MJx}J=z*JD4pyA& z|G`a2Cb#DXt#f1h7^a#0LeuxpdXQGo_uI<1N8-clXr1Rx%s12|>#1k(P2am{w0#o$ z9)Jjvx4EH9=-a-;tDW9XEa>zW4d*5vQnyFvFA5IHh0GS^g)x!TeFxCV60U9tmo-HyZVO!L z|8c#1UgE#AiNUI6lAhu7aRwZ6jRvNcq0lq%)QZwr#EjPlBw3gBU?9PVY0X#t`ZQFb z`c=ReZ=81voj-8@uC}mMAFd7+hbth|%b2OjvD*S;^8NQTntZt?$A52qZDX_$lmRXJ z?-WuFLJ3nud##(xFBut#WP)@%-v0=?UbiIT5A9YjaLbXp|1*f(-e&7=iN#>7vgQQY z?1=y(VsI5&W~juhUSh__=9<1$X2nu}EWmx!S~+c4j=!#0zB6cMMZ+y`FY3ehM!v7Q z~F=QGAc>tMu2Nz+z$O#-eikk1&XRU-Zv7L4EnM zf5u^a@zy$QfR1`AUb?sYC%f8$W!qwjqcGvkxSIvZva#OQbtcFn-0^DbWt7xa6JOCC z_CHpy-slYP=gvfl`%1-p@&v_eJVv9Kh}Q}4@q8+VllbxDij8ePT(hwm`Fq=}g)-S< zyh0?81jazkla1J}yy)cbUZxmSEO8hdsgM88*>q9fJ;z@g5~`D7s41px^-Sk#ra=!) z-40q~wyxwcGF$b3WwuUWqY^H|%S4?UnQ(cEucn-9V}(OWs>9gM+?pn}0)o~GuVG`J zED7~~PL4by(MNH}8IrIyXf5SIC%F%rC=YrBL1&R(E1+_!ibPMGbt(e8YPfv+{X6y& zal3W6f37a%p9>dk*=fwo`*Oujf9%(^>fN#&SctD>!%SV$sHiFO&ss;{t!;pa_F-0g zBAvmR);gK!lYgvuOU=*e+3LgCjL>GMy6YqH=%aMePZwpO)HVC-{>oT6?{dMgFDl}~ ztnbl&Y%{6vc824TV|}fCSs6aFVzIyWO70*8RqX!G7Mi}hebZl+rXLldK@273+jZA; zr+5v`91^j6ceNQ6+iNyDC()cRr7P9O?A*xMTJL%+WMf%lVi-l8iQdRDCFxU9Bk#ac zW16NgWI1%wYFxGZ;lus4d9(yawBCj%`Wl5JHkPf1rA=`*Ya&RibOb@ocIQ4^?5};6 zdzz2xIvy8w{>qJT^^2x`LB83rsZV0uo;`|p*ZvNYVIMNB(fQ7ebVuz&{V6T`5Ua?H z5AAFtiuiV`ji~0HtQ(QO?MqzT>FvZ>>elG|5sQMuaxvmIB_!TkkM_A^O*XmGzNDmX zea%s(9Ui;gxE4v^C7OxEuMdoUBCq62$B3kPWw~tGn~^SXvLt@Za!86@^rpO-{sifd z60{N{;ZfFnsdgNUTl)1?wof)l5pex;ufZ5O=i5bz02@R0WyK+Q4XVY|B9RF(L9Rg-islCG zd=XY`UQk5D7@tpE&vSW%NR>mLEZ|2_l(rx}8z!EBp^1^SF1!9vRjN7hMfIE8>UU$} z6n;M;y_b&8y_>?85>NiX*C%*_y1q}YBQ4>8;8E)mZ}VHf+Uv=0>r@%>MM#;YiKWRq z^?YM9Xj4u7Mg3s;$n$GG-TiMv#Jwt|gjY<^yPbBX10uj193`=sGt@I%YCl7B{=4Dqp_Dx06UMG8S; zGw(#&(3{ge5RJ7?NHuo?p-ZVe-YYbVLLx01_GSIcdBrNyF0C=E*PFg&7_D=o$6A{k zcAwO+`NUv6I3UM}ZO9FlHO9Y(q_)-{lax6C+9GkJg4UzL6_=IxV`BT02Flv z95;Pxf0_N7BJ&C1n=;>K#n|F#NH5de;>u%Xz0Lca(1Ev1KY+5mWjYS}1O&X^`36lY zMiTwqwB7msx<_D942AW+a~^k;GMl(#&JIOEr_+b_gWiWh@56O9=o02z5Bf<=aOR-D z9Cr(SKxd_Mldh&a74Q3N&r__|Nv!{7PL6X9Kb|O6Mf4JEzxoz3j_IrKuj+Sd^*zMz z6SpF+wCNF%#&ijE*zohn>s=*&`zU;D)eWR}57Pck36iHZjlw zxiTghmzizcj8Ele;;Mh_Q4?B#ToJbFOLJIQ$)3&5Bx-?5#s3XNwaIxHTe*OU>OuX+iTu%I&2Kj!S`w-_2 z?oFPp+W%&%{m;?9pt6dy8FV{u3pN>>3hZm%i53*Suz0YZHgzaM5q_XE%;)#of&~w`?YMcFkR1#AnKJL4xos$!dvtR2izRkM{M?9S0o0!MDBf)tdKen``PF z1()QB6ZI46L5<}-wtPwQp{*A6YwESQdo<5U$IDMp<56kEr{%0eR!eN>QMVLf z_E|4;Q=NAQMr~#_9u1UWYt{o4Kdeq}vhP2^8-%TQ!qyrnjS2XUOu)j2ncUcd%1bXd zCe4q;`%eAfh@94!_;L<+TU+?@v|L%rmlNem17C9G%j0}mFSq9KWutug9bb--FF)hU z$@1kMzI;)>*nGKIzTCl=IA5Ia@^*Z`Nxpwee;+O1FW29Xmha>Fo|3;(NkQ3QL}lIRJEpVCaKjHr~UGOEb& ziK*#Dq<~iA09lN2CU;R$e$PhK23W4*)1_~&VFVX++vWWB$i<ehqpuPs;C z2fV~}F;K49xknj4FOsQ&q?qqSc!LnA%njaKxlXy7>lhWekf-MGM`|jqK2?Hvxrs|M zhvO*Y?Ua|P_6F>7AG6x4ezvNvyBQyFJdcZ5*B~P4D@;P-4^q^2A24E=cPlm(##MWg z^j@YaK0qitaeGE#P$IgW*i=D^o3B zN#SLw!pF)0@Ay`F%h#j|V>+vylPdg8X?baS;X58@29xCcBks{ACq%7`h+ z@>8c!c!Ov%dQ9$UE&Zr{4sPancEshk1_}h#s_hnR(UsQQ2Rpm2M<)(}(zs#s2 zzo_y+s>UsNeiRk>8EoSRW)O-2>@MU`<>iP+Pm z0pX>WJ~3ekV$TwzZKW$ojflh}fx(eDY)dx$_yF0l689o2iSs5<1xztM;7eSa2T=%D zE0u;l?v_~oN0^#kwkU_C*4R??lEJ2J3x~0c!Li-Gnu6HQ!~C^-*byT3ALM$tDO4n_ z2mm{O0ZeM8lb#19+FbCp<|7>aQN{#AEwS}Pd+B6LqYQ*R+MA*7c# zw~ZYe!>v-cPzhxA7Cwx}wPv^}aRIy?SL!WDma!+7b1N_U6>oisah`<;%YC2sfB%=r zq8Ct3w2)zwnSXis16)Xq`3<*bt0wAc!snl*bfS3Q#6RGM@l!YQfhjeOWcsMeQl<45 z!f1EO&3NBG%7Y%n%*buw*YU$1l@<_Z<)QPx;c?^WY0SWl6c$Dv(S3=2D$)3B`XQpW zH2IKj@&;+Lg1)nDrR_6`?;e#aCWzWP{ffVlE`FT{sE#ebl9hzUM^Vr!hE@KqFk7&FN}~5^_2_X)EB19g*`v#!o~VRyO)jjH3q$pV zFYVyM61i}SzVHpX@VH#~w7zhUT=>0Q@aYTl<-(8U!Zt{nao8*u>g2+!`a-{*T!_kr zXZ3|!c5$IvF5sPHx_23E7Yz$rA*?#yzAN$(218M6<9$CT<-aK9i0*H{Ple=WZFQ+>t}3{CZGEmO_oWY^tw)# zrGu4H+P&_KlS*!9;{*KibdeRlU!Ar}MpSx_kNsC=j=%0jbYfoS19{M7c~Ct@#o4A7 z4Xv?5=KD_yvbfXp$xh#5!d+bH5f(L6mUP&94$kMV4Z}I?>C;%U+^Gz}2Kh8k;S(cQ z(4Jna?~MJdzCtTAxx&2(_Vgd{O&Gv1K9zf6-VwC?1Of`Khr90KD&B|afTrL*l_gTW z5j)xsD&wXvR^KO5y%d+&h^F8VDo^De7mH*2_v`-ZW~PzyvC3year#`)488q2@AlXs;?6PSlLEo=?XAON zXSGF7M;UzeIrfB|huw0bTTUKRg&9F9v(kKSG%)OpFJhm|#~c^!8?;C6Az7ZhRn3#Z zitV>m5-hnb`jxuvHFu(2PhTLEm;qeiy(i5R%j)9*kaM1pL52V?Ihht52_l^KV8hyO zT4Re_A91g>%~pGRe89DTXXV8E{sdk|(DTIS-(gGnkzvn}jfm~~`)4qXY=5^OC)3Ez zpEK{5H1E!(^Lf~-++Z+sTHh#d4#)43$z`8CQ<&qbzsnX|Q{=W+rKi62kF@E2m&%n= z`QgXe8QL5PQl(a5N(mA4~*KwyGD{7TdG zJXr_!pJnju|5?Dlt{x|T2XO!gZEGc0@$d?BUCou)zCQk0$MVI9wE+tJF5l3g>TclE zjxDCFkhBOak@#Qa8JOPUhpmzw5yQbvZz~a|b~5Fd`I7r&YD5Um!Dki_pm^yAT=E)< zo?x(&eBtWlP;ws@8B4BY4+X5?Jtg*!HptWPE8fb}s;Xayzx=jDs8RK-_J6qQj+|Q7 zdNsROMB-x!?nLn~Rs=qFipU?DKP#`xuc_WtSwh!X1c)P>WwSUL^5Okvs`tY*FnxiH zW(JK1b?3nq)La&__876(KR`C7vGnn1cvp|dRa^CVTr3ZB$3sTK8wjv3k{M>mUNug_ zYXzJ#)LBnI(%ZYqZLgo(-r;HOrN%eCRbxjJn+vXw*)-Mq)5MDp$=o+NpOH7*uIxs( zEd%Uz%YXhh=^2drJmV>@XS~lm_xV5EqTgo|_rulC8}LJ)!PK!Ul>7zPk)AX2K5Ig4 zi4*2g(k0Cn)i$oys-7rkJh$zbbV1MOWV*|s&Xf*G73U-hB-h08Th*Glla2^mC}tp> zuTcP2@jS}~#9$)uV|Gx z_Ac;IRp4SZ50wG(d=#q zY1LMH@zB<`wx_M_sfVIPn-EL@ZwYt-sS0@M9!3zbLO>+%_qX;;E@;pBzsHYc_Fj8k zp7pF}t@W(uwiamg6NQ&jx9a)FL)3GK<%+Z|>AKe_Z98emOMPi$dY5KCIj_MglbZW2l9z)|XI@E0Rw-fUYEAz5YJHtXqiOkUrZpPM z$1G79l=(+w_QsJ-lF^L*@$mJ@tnbT!ONIa4nzPWyZ%ZF|CD$eYk}~}r&~~BLHDnt_mqqyQJ}%qtc1$?eOiYKYB%Y#m}hD;h%JirQ!;*QjetT?!)?;l)<{~cgx#K z;Q^I1+5_Ie=cZjg32b_R;g;ah8dJ?8W5kFWWO&f^(Ifr-FI!5B?TDfW@n`W5W?1FX z(rT~~LN@Glhvh7?nfV%aYw{Zw6b-fRS!q^_+0|5r_)4EpHK7aK#)4Jn9Q3X$^;cQV zvatKz5@Y4Il+__Jdm1V&f+VXh8RW~=Ero0Y3+^L(Y44 z_ov;T*3W)5Jo`9Jc4k{m7I4mSz7$DZmR&b{b)EAT zaZj{?NYwRsAUb4@?L_TESlmVeZ^!rd##$>|tui4jzIw)>h1Q)0eim+ZYa)=-{r_TK zr(U@*H`e9d$H_z#HrIfSO|f7H?8&1-iEDcqpg%-rccId&OH9fkOdAqF(EJqugnh7@ zz6%@}=U7db@PLC?9p=A1f#}iB+2O=ZxlWA1xIWi8C!Cm;>zrMO8q{h!g|f2a^0TC1 z{|c+%QoO%>A1b*7Dj{L05`LkCGfA+WkGUC-xOqGMry{%HWABx7e7KKeCR}T8|1Kx7IncJ~5G>viigzI{|=Y*(aURV{Wy`H_NFd;tw3eB>Dy@ z4k7o)-_iT_n+JPSYX`$>bNz& z#VT)e2>R3=@4?4PPCm{X@_dc23Sf*hBpg^}ovuN`F|``U)N13Ds*&nN*xcY=0pb`GB zZ5dUUm>Xcvw%eG1%|8LRdSQ}9%i~)P%DC3^r&*5~2Mqs)hg!-agzv9yDN_`G-puH{ zuEA+OnF^9a0lIBJ^SKfd1|#7_XtCB8V=cNW_Hpt!(!2LtO{JPm=KF-~IVMB4hU8z# zBl%!veDW5uIz3Jj;xuDyJ1>_%4+Z1l>UAM|b2j1>>w7C#gRctco9i^g4*J{7$gi_b zN7JK`pU240W8~-IF3rf-&2BX|du>~wkG3QtQ}izT!?RZ)!9~W8FKC z1b<4utodv;H<6G$kw28EcV1&IQ%-pEvGpkfS?`dyCns9O-#~O!JyFM;iu%NYT-*6l zed1Dn%v)W2Cj($oVs9mvBS$N5>+T8RplUUV9zvXw5?5Y|Z%)q~M;!r2t788mMA@W7 z=+bPPt~#q2J`DPv*YFYHC7A~r%DdYRs8F;7D@81L!-<=JlnX6o24Z{cV}>^ox;NK( zks8`QrGh&tm$<4o`3JL1e9HEb>;xdplaqxENvP#4w!VO~E4iEuZ0Jr``e|qKA)(Cq zL`CH2LvNE`VC;|-B=MW!Q%~}8-t8;X8f})Um%`45kn^(Gj%sz?N+Okx|P)wn-r zRMD}~$~*2Pp%G@TasM?}U2}G{m;pmophNNn7nTXN4aRPiIfieC+=;vmoJ-`OMKL>OZ0p8xdw z_y$nv!&Q8!(2+Dfcyg?yc|lqhYA&1IC6&TTPFW z+q&l-zYkS@=d7ctrdie0s?m|ErrNLO#{;Tq@^crRL+-1|t-KSIHz>#wdAAJ6`!Uar z`vdtSimfJHUq#+wM=5W&pLfE5y!V>{$;vG{%4+Im>fLdB*j}7fMs^TCFeEllUyDf7M%gpey7xaQ0q_xMvn^TdUbvW- zF}%3r_4F|VGTn_cWi0&nzgGXOhPwsW>=&UTKo zoihJej6n}8*~_5LJNq7;eEX99tewVcPW?kCW_sHTSEB>9Uvi~N_B4NPNm<0%$H)* z!1?_Rj7kPb%AD_~Pm}Nby?+O~NMhtEbjMj+H#_%x5t;NLu-(N6>%q3h16dXi>X6 zn_wYt;uj9dTA^jg#&HH`^r|c}lh-a;7mHG$hf|#OUY`2;}q!>J7b<6xm{mw95TQazeG)$}jN&R4)y3RH(uLxqxz4jl|k1 zyR!AV8`@XoLjUY<|Dp;FnGZToR&zavA5~M!Z#v9C?0MM;R^gWuZOJLEjJA5F|NI}#r?lAd~QZ&WW{<%#}enK?~qIrA-Nl*vA$uCuzMAHGD2xK8xbhb;w zqG4*jn5^=#s$v9BIYy3FO=p@H20_zC8vm=;_04(y^XL<@jOK%-=C7GN>uQCu3qfkRFUi;R9YWp3NXXSh1bWbd z1pj7U_V;SKHUCk$pf_4*rTmwmx1W%de3(DZ?&M=WsDmgwmJd}oYtYgYqj?h3MOd4_ zFCqmWVkQU>uQd=)HxP&V+tT#ljTY}P5TB|xOZmg9nfwsG9%S7{ylIj5th zEGsc}cuP%DymhD*Ue!@knh*2dQZs_@)lN+@(!A5KYCYOmnsj@}09FN%#(mr}x$J3H zjVzP2oun8^r4$Nv)Rbp+)SR5})QtM~h08x%_+$!)J8Dj&@F^4?{qGB(_SwRxP&m?2 zb2^1jrEtl=FMRrE3!fV9tjVV@@?owS2d)qs)l?{fO&r-`yV2;S_W0JJW#An7e%%pS z-Zwc0MckAB!859%*s#d<(W*=$>Zddw z-rnajCW+DMk~g$@#mt=M)&;W=e;q*>cf+DZPa|m3?NkzRPQIC+I!3vIdS|HKlLpsI z)Zh3!7NRs{cz0}0b&#!6*$z7JE^EE#7IEknFGBipN`IGh%xa{c<;$H`#T2`cm7s4=!<@Z(h6bTH~eVRrN!EQ+W1A;kNfV7w`7Qnq;J_^hfgVt8Hg= zX`QpnIHH6NgCabu7e(Gz*U9*N3&`etY0jG?&-4K(knn4F%WSb)f{`=2$1XHBtMQ8ZE!fQ zxph%J1abu*Bf%|EB;c*Fp{Wsiz6AjUemWIO`j84vQ3boHppIqASpDXCXVbZU5U(^K z7JfPrD`X$GRVKSA&dJ+Ja_X-T$v56KT`)g>w$0yBttQ)qiqr#XeV36%(D1jEAFH;I zgc6pud`gj_gAH4P*^A1T{6aCPkW#5L^KRG`q`k=ik5ko~>ykbv7*I})78 zY(z`1hc3uobi7FRwy=8z8nn9ny0$IZ-YjC?Q2oqKb}-hd*~7g*w)L$eGuZum0P%k=5Y(KH>D z%G`@Xs;O6&hOsGv!RE?=Fq=_zowLEn;3?s4Ma`;UVu;)~>SIa7S?`Sov$Fo63uKGEapL=*z7lO~j;ffzX6%nxp3&}p0#9&1)>v_6=Br)76!XW1PA{>g%X zHKaP<;VOpFX0d`KTWnM!6x0XeDTPJ_>=yLK0}`_BmTXG8*An|~ekrnpJzvku8cT$D za7HwyVY>)mcbwglA95!UaCj1NhORxicI-ytm+^5Ubq=G-0#G&K6h5C8I_cWclib`^ zVy*Bkca&fIoTX5!fX6m%W~rpY?j*CEd^s4nv)Jy)p#uXu@@2Cch7+TkMX}V=IG`Vg zcSG;$MW$PN&#_x_m_F_9e7ZHMESxyu3v|m`{+-gX9UFE6`6mEgIjCFnPqxPbwz~CE zU$@)|qfM{)bBh02@yybnk5I1(_&4cv#%z*X+^%qexqxDt{=D`1=?1#vJ1Tth*}f?_ zqO*FQ7LxR?#cX2UOkTje+0nON`TBN$w>mfMj?lVT=uViSZDhg>=I<%t^z?Qo&w?dc zAjEmgX@r+qdeQQH9e6G9{sh00>N*U*f%bpsmkF{u)j0LMzBhnEBFNIAy;`h5=S0H* zh21ab*RfRQyGIj`8iE||w6!Hi$M>Vtdw}*Z51SMYzG*dm)s(%svNe9`3}|l}1HV3+ z<4!1YCN97{Ox6PF1hy4t;#~kbNJ*P4I)ShYT|RFU`+eK?QSog!PzK@$vhRE}>`u-P zC#L6n;=oy*ZoyU|oaa6l$g zZI+E*6FIwuSk(aggQhF}S?ao~Ira(YwOBVvoO(oHU{ zpM8jxizmek@wAcsaB1W80t@(91>`$vHKEit9RqKgP6Oyrn_=l^Ahq#`9t9V{l zm%dXv%&(#}Hta`P{06mJ_b%pd14Ph#G5Dn(0pHjB|G5_vTXHWpu-_k|TA>d7fx3v8 z=rBxr!NZD%s9)J!cXY1Ytq-csn z5)<(cOL`+Ym4(d4JaHDnkJzc=%)V&O7>7@jb|_sNaB?Ya08~*`Evm^+c}eQn&yvz} zJGSYa6K9brEA_X-=KlcxF?zI@U^ewLdAB|dVY7U&GG*k0Y5sne>`+Rqa!gA?RyoH& z{zgit&apmRYn`>G&UppiZ}cleA&YJrH8yc=JXmM8SuXbgWqo87o%?frKeNMfwb*}T z-LR{2^PZ4ZRQP?;^^mtz4_47d`h8ZhcRsSN-Afa#bF8wL_E@L2@3F0G+Ps2i4)*G) zb&oZpbB{Hy^&%5f?XnK6L2_q`YY8`gViZH|Ml)}f8K}z))MY?T7iXD61+oe#M=Gnf zZTSVOC|?{JpjYxzf2UiMHvqOY{H7jQ&HL65CHmB7t4r>>6>hy*!Ib;+8)xEyxv?T+ z!N`D+yo=5Z^gvDX$M8G1vszkBnq?v4ImptJ)&I(nd(AL}LklOfxAPuy=MQV%yYQlr zJHkD_HqaH=7z(!9)@7}B@Qsia*$@hLEi7^Ca@`5JM8praS&=n?U9h5Lk@0Ad(5gRe zBeV_hAk&7C9{B~jODB)v#~VY3$d!7F^f7+=Av*63O{aJG{pG3CcG`_uy*-2O(AzTgsuFD{rf=_(e72uFLdnPb$uE+8f}eb#o8%lndHG@X zyapG)%HTpsF}Tnr_QD0D23+c~kBTqT{o6wB6$UTDLrBBeT^oF(*1Bwij|kg}w1Eiv zM$bS5qd5Q(YYZaRhOEoh8bn0eK^KTX`CUD%o$5ak&V=nfA6d6%+t!Gzb{-0N$QK4q zr!!#S6n>IteM?R)BggwmM=NQxpLCL+l%=EslKS`+yYD=ubFb;W^p}wC5=G)Qo!?03 zZFdHyRn-clvE(nj>)a)^rR|p0y0dcG=Gi{K(J%s?%;Eac0ek@4GZ75gRd;wO2?yZ%mV8^NlNWt z2Nc5uSY_R3pbBzXaAbSBj@U}&{sN6fkEtzxt+t%-^3wx$qBf9}b`k*L+#w_+64HU& z*V{L=8_4`gdYpSruI$&ER+Bl7JzK)Ym}z4z0-Qv&yC`+M9ekeFHqrWBCBY3=` zayE;OpPZbbM+^ntVJ{=@XVT)GLA~{5GtL+D<6Zhq&Fjs{GyG5W{-=}lXo z^-Khogy|voMhp>~OeVLo);-=%3@diaY`1D+;=(gATCv^Z#B$XpZY509M|Yi98%!;# z>Wb4VA6IJ$G$MzfNJD z+`edi@Iz<2RsXu^ro%i>d7W_GWp_Ol{LpIpCEP99ee-PDJ7uZOp_S`{`&niH$-=9I zabK6qIaR6+zQ1=DkpqHB79&6(rz{sM3;u(-FfrrCcExUt5X5IGnMLy0HnQR$;%)CL zta%oJC|QYZt99NlKM*SCE`wFh_VNSH>safvG*qq+1$WanVbhi*3{o)wr~Qz_WqIxP z*jK@C^bh#&DS`wPaQlmf0xsmotNn)7y5v9nFE{vKzNjy!`(G4hf-;x-U-I>3g#YDn z|4W7cW#|8j{X%9Icr zq4Le4@;AzR478tw6633Cga2B1lO5c*u-*Ach5QvRwfru;4C zWR^a`Lf;29W?9Jx$z=!MUUZJ8P=1=pj<3nD4Zdwn=}N|7f0>AP&p^}9&jl#LeWLnU zXGSJmL6_BRGC4bm=q#;_-_;DIDbn-K_yi7wd#4otOZ@f&1%O$VvWF?8HGEje0rgP3Lu}N~^(%vaU zG_$pA;sF6E9=kk<1H4Q2iggLC{fc9Z;4gP_VrHN?Ra6^%zLxEUoueom+!#GIp}ZDJh`zH#?)Y%-lgXd}x&9df4UI#Zy88-}G> zLw4ho_=V|f%__2Y4YRxVtA=BGljKwVmphkZLpBJ9U+^zBc6 zbxSCc@{^Y;`4N+xj4~{T*~d42umXVV+=@DdZ$)OC2LMj3B~QuJS4Ztx z;kMoq$Bz&kZaY-c5-Pn~1s3SzJR&3hUcKj6CS3acWBON29R8%g_YeJZou0rh7VY~; zWWhW;h82cHT%resrxHL{y^EXUc z9}gsI(5&VwNesIW8br|(?o+R*de97{Z9SCfNb{G-6>>hz^r87e^S-mz`IswbF8I9} zTB}(eNAX^ulp~w*2uXJHRJqo;U2_TTzHa-ZBa;u1jiwq_n&Cu`VA@Hp^OFbT@`nN; z`2?Rd9J3S?a4sRe>a^Ay`*W=Wh~#|gRfr&hNZS6iY}+v==VqLcoPQ~g)2VL@x<76E za7+&5YdgvAUW_=AsY}m{)#+UfcVea4K*I$c5od!O*dTxHsFATd!&p~G3eXh))Lc;z z8JqHc&Y~nk`56kcJJ-06peaZL6G}u!X7O=Wq+oA3?rnZW;erie=T*9psmGgXD)Gyc zF5?Si!N7#X2LEedjv(C3R7x;>V6H1zt&T>V#|(7!V?W@mQ(y4DzJ&`=d-yPVS*C6u zIe=%HRRH#lk+EK+52EM7&hJg1ye_TA&cqTmI~OH`7K=gLpjqmK^SKUj>2?{!&dcX# zfirIyKeL>9Mf}Wj<`t)&=ExI*1@!fu73xWR%S-V!MVeg#-+3+Mv_Gwoz4i+IHFNEZ z#nOeC@IYVj{&X7iKE9$t#2o#y_j6v6z4R_sLLF0j8R^J>=gul0B?bFMxS&(2DK6GzxDa%rl zK1w@@Ce&K;JTKwd?QE2)OV>@8%@I6HzU8ljB;2BK zdN=D8X<(D71ZY?m5$vYEgESQnA<9~Rg?w4|>dh5j`f8RzNKwn+75`*@YZZK(=B#_~ zSEDR~yZNnTRiax}G+k{ypu5AI1FRO0?4w8cBX);b>?^oOp*H`@JPrjjO9_9g)v*q0 zXC(}kjxq>fJ)FRL$fR%64JhG5swpXFvyhkn>; zSRAv0os@6xF{#vbD7Rw5L$Tqe#+juvSPa8~nRGOGb7}FyBjglQl+-25W=Nw2(609k z5eCtrtzIx_Ug^s;zQ_fvnA6=$e%S(*O~=z>KfAW5&Uq2S+MAsn!_FO)rbE%8ajWVh z1n&q$qo&1JF%4ClXi%&P-QMn_5pQ-%da051&Za>Pw=6r;xv+H2v{!=dyE_6+M?EUo z^|6bLqFcdQh_SYj9_zg*{k|ssjthbLE-|c(I7)0cmx~>uL@8C^eij~@^22=*)y`iZ z`t&z$fg2$2QQq;tl5Per0q~T)UD5{c6@%rRa3WmfslBkP=TY9uzULC}Pv-f^)XG8n zU?U+!=}ri(S0aiS#}V5IoZQA`YC{SUnarEhxb}8rFwvoPE~foci@b5CXg$Cr)>US# zFM5|&X_~nY=)H5oC|)veA(VGWtD*(y1d$-MqHT#2CPn5LiZAVK0`KFzA79*80PK(J zoRHQUr7Ijped@ShPN?intylpi^rrqSe^lx}8K=l)$_1du0k*tps{t32&i43%QGw%H z<6A!U4Q|>G^N-}Ns_J|fY!H?0@_c`I@dJUQY=3rWR`BfDIZVQNXwh~=FE-k%1z&Kl z%57f1pg5;C-@X7#lSN15Ts6$T076}eO?=^>DF(EI=s9`pwZ07lG4F_PE7F{5dPVLr`62E8 zf7k74(l)^ktd5XUVmtf%D`s4x*P~c*b2wwYz%dI>O`b<>bvgAVjf@Nz8Jyerp}Boc zjH~rTEQ`wr|B4Qy2vdghBeOduChj^vU_DVYD*P}jS~#bM`9=G7!y#C_>40P1yFsut z9OCr-o;u!eC_5I_{460jMm{QSe0RP!atclA}@*;V$<;emt zr`!H5DYeAxXyc&cY@CvaOwb*OXtMq~;ZR+$JGRGedk0}LGPSmBJFtp-p6o*ykHr24 zdoY419#aYd(o*ZHDH=aq3XJ9_RS!>BC zzNzU@OSJS-PK6xSu>89s2jM-=b6ldA7(c=QQs?aDB2nS=?8cP7IB(&4iMJtpcy&%) zpo{4ub@vs70$HU?hpz3d!*wg!_I^?MN1+xLfVP}Kd#L5|L!p*y`1DfjPh_G|V-@`G z!27lq{=4)C?HnfKbzdD;ua;nLLjAQF9iFEkG#_YpsbO zikzE#7*$k{Y~{HyC4WvzFaQ~N}`wF@{;OGD|Ot!8gEx+}9L#X9N5>O!U_ht*W62p}B3> zo{JDzK8B6!vfv->#x1=VLp5`))q2|sbz#qg5P2>wPYv30v9kIuEv8+)Sm)EWZ9Dtq z{Tcf$yIQ)!#6_8ezb!~2I!8YL48L+!t!u4I{C@2zSnQ8-UYBS}j0 z|7kr(lyjOrwPor&{e)VoF~!nvcs^ESQ)|bz*<-sgO9J_57w!0(Kz!RFyMZePtXd!E zR}8@U(6>Gh=cYZudvAG!u+iP^u8ftr28UnwjZ*It<=oRbxe5o0D{1IO1eSoJska zcp321={X5zVSos%im6}(Q^8;s(U<)|+e1JjGQi7>>5G`FOh8`4$C}yH7yNlD!+=qt z#)DH{FuWl4v^m#gQd>>xU9rbf%MA+r$!KEUirxn50|k!{4EV8{P5_5SAy~|VYgcH; z-3hwT3!3L`JR70sQoh%^0UK2(aNtM6d&oW8=STNiE$mwqx~sG(g3Q8D&G-&)w*oEJFOZo)Y@_cp=%cocaE{0E|Nm!FV_ZMvI9MKc^8t3 z(`&-SZHFDPE<4~(3z5ezUnA~hxMZQ-B!$YKs|`FCNS1dy+fSbyDPPyTR>y{^YT@#^ zdpls^9;4~z-i5i%I~LuF35L%K$5&77KOSirzxTfpYp%MC)$22#Li+TZ&wdJ(Cqn^Z zwC`}H2VV0gUqYU|gsKf{ZKRi6iy&QWa;4c{iPOR4b>TNpPJYDFe4Q;mtsEMwv_kG~I=Ht?B;pBniT508~D^HY9b`X~Rv z7iI8iWvR$-FyZfpi#LSt@qhxq0y>P<)I#<;Rh@5Wyf9CnCZOM+G|UM6uVbOXBFLRG z%nr83zGDa1#$uUiyVZLT)`Tl?5``E11%kPw9^Y#jom9(61^BT}0e*~KfWIsQe_00p zvJCuX8TiXG@R#}UBQ4uPH_VzVBOm^)=U=bvbk0~xlf3N3Bxeo3*x{VkJ*SogUN-Y` zG5_w!#YE?{);Toawx`xQZ8tVN+cDUAnSZZQ%MGo3pZTKxyvm;&b{ZtSrQ=RE)x7Io zk*g}-rK&AtKW!W3R#VZ8f2qiGJk9)Am9JsGwwy>YiCv1)(5Tt7*33Vdf-~2kE}3Hk zg{oVts@71$jOX|x3!<58bWmH%GH;|)11s1yzf=`)GnJ{J!*o#vZcVtaB|&4hmjglp`!Uv;)`&A9sHQ)Q z@y8iT&xmhy2q>#;l}z$SdP6x4)huy&_BVE{*(*$d`>oz599fgMnJm7b__{kI!a?=x^8A2zZY$M+eXkF3S#vA8DX{{wbz=sApZ=-@xe z_KCGvj*ZDD`9slb-XrhKe`#>uNuH!MsGX6Wd62yCB)im!nj&{{v6hwsmKHR%oNGi{ zqGa=DFZC3i@fckoc?U1dW++|6W}TMg(JTtYBB5@5D*H%qn7J;Rr% zR@zH7L41{@dDyEGYYe2OtO4+Ga$@zy{$5v{+zCee&L8kwWrlT#rZl%Vwiz`xR-%!@kgb z#P?S>sF)1>cFT93$>QGe2MFkqOVdZaDrs8noumey?=I! z-LqO2k{&?`WEi3qvqW*+i?rVx%0!S>Wfv*P&$9qt0t2=O3fL zjXXLlOSkY7avm#vSFcUx&PDI9>_)1ugzOZQfg>AjFORx;Ty-dNbx9w@v61Gnzq8go z7Wu;oU#o<5hVd6m_d;qL0Vg$yo$iG^7H!k&lckbh3j8Nai)h#fpYpV>5^6nyMrbMz zfM3mzz*mG+Qp5asJr4lB&pK@cJ+SlQmMGtl?ufeIKu(fc_~CyeZmZ^(%DxI$75f+9 zbNea<`dK~fjSPpJdM}M+7%&*4P0s!ZPZe19h(9Z1)hh9>gpWu)(}y9e`6cT9--}(p zjAHk2I(Gll99G+Z2f@s(WyO)JwoH{Hv!65rY(pQ|Hb2o>HyfGTyF|v-(IAN)jd(a- z9w>+eKB^1sh#%^Wy^CqknUps~dM6Lb>8v5NGS+Y9dbN_RR`U5c0O(>hib2~wKDC?j zx}hdHhCc&(lkR_}^Y_wuV|zUZe?pzFVV`uOVv6UQTV2wAb5p%HUlMzY*p&$@CpURS z6sO)yzg5JzgJY}LveVC``TU-*I+#(1vvGb_^aTHMpL@t*GyvZ35x&>49vewpkZvXnIf86_2DbYQ zbMy?m@l%Dc!3~=y#jL@%IKMkK+^mH9NZ6X#k;cp?m5XGU@O!wYy+*7xWqH93|XT^D)ci62{nMrg5QRlmM-HJ;~mYFZ$4eA)r<4Qp4dB zS5jGq2zsiR!7tNr3z$Q4V-AZtV6lKHSX1orf!6VN{usBkA{-#ln|VJq$av0F{yKHU zt56n6-qevLkzamCbs+tlo&L=Q0Hx=pe}~Yn4h^2-jY>XuO^3(>jQTXbD&TatCC3ET zbssRgvbx!HTVbPde+V}cTB&!@o%6ih_aOw$)U@;J4Yg2Vu^k^)n$LaW))VOb(C&GE zxc^{p(qpeqOd1|vh4(Z;p>mSHAi<1?z}OD$nJif9PYE%H-s3ADkZ5>^*!PSfSNdId zN|EhUWqX!v%#RE`RWY3&1|fnegmHx;D|UoXtS==o#K#tXZLXr;ggrz9&)$fY+7+T- zw4F@|d?6y@xUquk8^eN~q&a0Nbd024zhR1xv1Q-W{}IWA?~PbZ{mUpv;~6;2Wl3nj zb-Q|Nt!FWbbP6HOt$ER^Y3A%P?MloTW!=2UD6w7kvg`F7@ zTCZkF#UY_ViGKS={jSOmYt>@{n!3LTk2ddrtr(q@DjwutJJ>%8{WmreX!bje1YJ_^;iUgSYL5*X`9uw zm5rC=gT2ws?!*#zS`m=~|%OXi6hCF|L?xDZ`x&9knxP=<#-S59 z&Ko4ADT~a8Q{jRalz144aYkO}jR8Goc829aB{j@Z4#Kt?4vfpE&U5F^?Z82e=LNU% zXWo4N%)Q-wZn?7bvX1K8=vmFwj_Ud8-`mY^XZ2hSj1gB~yjH}6m54Dr+SD(Khuf5t z4EX1Ib@+h_RJBUIPO@?9hf9pTL^#xP#XSF0%Xe-|Kg^$>ez@s&^WaS4oIedw>lKJz z_4^$}ulk)o-~YV{m=PP_L^dSo|H%T+RMi5~@(9@4_nh``t0|AabO$sb@RE?}HiJq$ zj@fvIMP_G*E+7=?7f8e}r$pwtcoq=i!kt&>N@v!|`llKp%GCm;dW3f=ClOWl_a3bz`@O&Nt6(ZK`xc#APn9AMF=B5_O4wf9 za0z0FTL?~Ct##>a0`v+zI*9CV0-c7YF6gV_9HQMez9$tz{GZtcpGFJKrlNulUGSIo zL0Z#xE=SCczR*{}o+J{BXH=jHW=TVdv-N}##F1^fk+C2eYs^51T|&L~Um?S6HT$|l z=#C8Edj!K_k6i;`b^27qLkW9-ePU)~Zp2yR7L8qJqpso>c9yhOZl2v3OUVdfRP*}8 zgdD35N&NNzkry$=NDONvo@HdBT-m00tK!hFHMq5!l4Q@|_auW~w5<`R%laz_o+AwBqF)t?vm?PZG0&h_ z;Tq-gHYU*3-6I4SPcWfamnVNrbz%;Fz;9^m+Dy$SP;*`4N>lTk&;|LioHQu1E zo&RH0W1!x#KI4K;)=$ckl~8o7$Ii?|#AGa;<>L&jo8fGbJzUu^u^ z8GL!Rv~*<%L+hNEoNhKbFOR*{UxTB^5vv|I4!&tn~XBN(6i@=@?A|WoCLQ=>c z7iD0df8OBzisJ=Q9$%{$OUat{9Mok5k1Kg_&zGsfm-TeZFr7^&^XT+QTa3NaYVJRF zdK94zxv;|TU%@sV+_A826K|*YM41uf{Ll;cUw-SHh zNzML(U-DSZkMLj&B*Yim?y>r)7}d5@jMM(5xfE}HpFHlwTunWc;1ly}d5}5jFsTgM z_-J#WXT`dV9RwR4xX^sNGq=_7;E`Upulcw?~2D=0|x;{Sy&xQZ}b_Dqo!%u4i?( z*1gp4ZgLn&E_#VRw3s=VdXdSUR8&{ijA&1@U zh&U4(C?U`a{?`(Tm+8HN^?s;ZQ=v~RvBc-s>v&#EnHy!Gme(rfW;%_79v4cg0F$)| zLm@UJZ;7@bjk!xhc#+jquu2)_Ry8MXpH9`#RO2J+z1(D$LqbjzzLKr$3(<2?E4HQ7 z_C{|P0=S!GGf;u>jTJxa)Kn9|d&J}lXnd}M71UfvW#dfnbXvQ76gA-EZ$P4yRnAIg zqSk1$E29gKmD`#V}toU6Ga12lkt#57o2AD|QyAmm>bx_sTXqzSSb$*A>Iux?xUN`I=xi z+VwW{{ubI*i-$S5S63Lv+z>I*&&#Pkv#u0u?FLj@1BtE~}ps(JY4RBOa7Q&}=+g`Md$ z!p;b2@nJFq~KZNd?SgkigcgXK>e{%UELf#ifJK`kJMxcTO-ht@digP zYDa@>OcrNpl1%k}#~LBg5mhMw)M54^+ISd)hk6S*c%b%o8w{@F{*?`X{4qoI?Q@J5 z23Iyf8RY#2c|(3a*2INl!|qa{0(KHJsUuTIV^cF%WPb!hg|~3*Lm5c)_fPT{=;I`6 zQP8T(ZH{Sbvw7`;ay%4IhO+8NGT3FX*cKS9+*J{G)~tRqg3V&`T>^MwPhLN}FH{pf z`yI7V=G&;kKjr|@i zY|�PI*GOb13z&y^VJ+&37kOIhPJI=jjq1JQI_l$OGPYpfdJ>z|ho2*j$iPAm|>e z%-HvIk<{@pN#E~FdZvH=XYPCEq)!iS`LqDl8X8gme zBJRjn4{9{mN29j8I898`f^BzSW|k=t(Xhrk*UVUg+N`N_Cnz*k^ovsLGOXSHk@Z8H!6k6UHhnT@Dr@V6bWv(Hwh+_A@U3% zAx!fboc2)gYx&U#tIUweiQKQkIew9R{*GLi2tAjD-#4dz+L~H~L1~z~AQMvq&Q)A< zu-^O4f`h)Zue#M&qhJB~$@FrrrF`d|5?4wZ7j1~w=Ckb87Ny*Q`jj+2-#g&rb7CJp zPXeD~gip62jYl7?iD6x8HTe#QLLZ?8KLmS^otdU9gK0*v{UK79kg8p20R5-q&#~^^ zrZ#6I)W#;7-R8%dc$v}sHm%1#+j=BX+Qt07P;2*B004g1*f($%8m$v*AL9#N!Qc>% z-C%HH5#nv&VivQUsq86~1;$0dC=yJ6O1^!@zI30?74%)a+CCTZEV*|-NZQK&wBLzR zgujTJ_pAMyFU0b){e_&x_k8Bdc^GtR9-q=TZ*rM8X~N8H1Ip@A)(DJetKs)10OlHl zK7U&LS?xvC-c#DyQd@!HTS}|yPkS-l{>lI6_Su`&e)VVDuT)zvj2qPcjt59v(Vu48 zXDol!lct}L+mfD;rJ>;3ffN);3=^l|uy&YUCU>K_vlEwVAUag-ja2JT5^XtgB~2kI zl^RSx^jQ1dIkc$#u71FNb23yjwhz_Cpt{NIdm@{|H=AkHugxZP`eA$B5o-8VQnlB? zKcr`WHKY9ZeP)!crgfZH%(f#fQ(dBAo>-S4zGw4zM+sVD`;^Rp&Z%rY1NGXNlNrJf zqt_8g0^^>p!Kp?&Ei2YKf3g7==jy4cLK{11p5}&v+oHj6Fh904b!4se*KNELZUce) z7U)IdR)zTI!`9FJ;9g$#EUhnkMr5SA6L^W}+M%-a`QN>KTz8L+eY(T}+}wy75Sf6n zW)_o+Lo#z_F+wWH8MV2QauAZvdx9EuB#crov#*LXN~X&09{Jqp&JhwXB-Ea>u5CL) zd)~%%AIQ0~bUapB>#Qfb16{#gcjqArciw}JuHRcgC|((VFB2IpirdZy@lVrHTA+%+ z54b_gXY|fKjdPW(!%5!!{l4TcC|R)-==J|o_fn5j!N~p!-YBO6X#jlwjQQ>D;~0fx zh~v-b0lc!C_r%9gy+35|!H}3%nX*ClfPOs7FkM?rW}O>wsewBOfaar;c=*IPvx;x2PxK_o3yG;1kMyS;|$TXwp!5e5TO{ z|J8>YCOkY5M?daE^bVp;q5rX;f%JJxnQ7lFW2XHQ5t+>!iI*sGx)Sj#F3i?jm^ZTw z8+$NPzkWZdXZNKl0DB)l%zn)ZA%u?r1f!S)+Z)+j47OM3p/HR^edA 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�$LUUr`NYXjfYym) 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

wzBOe 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 MuA80K&;VkfoEM{Qf z76xHPhFNnYfP(BLp1!W^H`ydu_!*LC-fRI1NtU=qlsM<-=BDPAFgO>bCYGe8D3oWG zWGJ|M`UZqI@`(c#UG{Ww4AD5B+ZUbZ^)o+A}-7kNGIDPjlchni}cGHq|wSB{C$a zU)nBVZDV!L7RDo|n`7R+?2hrXaxp*r;)sq^TdDfDANe}HejDDXM{oYbT^f!Y xDifJF<*e%~%iXu%TPgkZ;VR|h{dd!r$tV8oW7?)ZR~_g*22WQ%mvv4FO#p=}f@%N& literal 0 HcmV?d00001 diff --git a/gource/data/bloom.tga b/gource/data/bloom.tga new file mode 100644 index 0000000000000000000000000000000000000000..f7812c3960539afe19c34e214de2b1d83a288eb9 GIT binary patch literal 171715 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 literal 0 HcmV?d00001 diff --git a/gource/data/bloom_alpha.tga b/gource/data/bloom_alpha.tga new file mode 100644 index 0000000000000000000000000000000000000000..a1b79947ce8719931bffe6b083416b750f406436 GIT binary patch literal 217424 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 literal 0 HcmV?d00001 diff --git a/gource/data/fonts/FreeSans.ttf b/gource/data/fonts/FreeSans.ttf new file mode 100644 index 0000000000000000000000000000000000000000..9db958532c12ef7f4aa22fab57a0f71e82acdd38 GIT binary patch literal 714456 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

YoY{Tps(}N873!pmd$-^|tLKtcQ|SKo^_N|G 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 )r+_%USi1dhK+UkOZ?7=*O+WA-{?*j zysXsaRP{@PbLTp$JcUi;JwwL4MSa>Yl5UrjwKgxldKJkh@I#*`-3pt7)?`zCg{z9u zNyfA-4Kd|vH@e{P;|zh*Wet-t2-P4S4cbys~OH||pG zuH3=mi}Ou2zZLxxn?3o;8LUUA-k03ykBpA0=Bn#4Z0ghHXxP`@y>ni&Yg6m|vmUUl zZ=X>m&JKKUzxI>u?h{0=?Wf!Fa-k%-Ps9fCvb2}2b|HQx-pukj zs-HD-y0Bh8#P>?+yi2=aX$<`tjs^Zz)a_lDmY5u$k(`dF!8muU_ zn@kpSJ+5+0mE}%xF4D#saa-#CXV!8!?T)lUBfW|X{e-EZbW6xx zVZ+BDY{!?@7LLz18DkxGabDAtYxn{NNt ztk*zKx~Rquu(`=^Re+a7diVNm@dY&@Ydb z&FG6FXKvn*_SrKF?f))IY7b%6y(qqeHI|etN8giT-4;ly?qEDBz7s3=C1L?TcIwhP z)IUztiRh(|>vZ`|%XJoAXzC@PJoOP!WsEacGuAR`F}{Er!b!Z|+2_yXfgjBhi(!}vRX@?8%9p2P2P_FW~qwjv43h#MB@0 z%t8)NGA?FZ!gvDLVjGuj597s*moQ$+cp2lBj8`%4W8BYpHRCrJujjhl#JS(hcnjmL zjJGk~&Ugpoom|tqID9wbw;8{~_8FKjQ<84>CT)_%PS>5yl@eKFatQ zr|<;hQ=I0H8J}hR377mi#^<>_FL3xJ#+Nzf6>i&C`T1WnzQOo5Kl2Xb?>OdN4*#CR z?{WBj3WHe~10tI-m$86;6@^rC@QcDl9JX@U#$h{$9ULy>x7>^#PSelf0Ef#t9OQ6_ z-wJaKk4#ZP?I7ZeNyaM18pcNIHPOV+^T-76FfzeADl?Bv@Q%VA9N$Ud+!n?m$`M?n zm_;1s(UrS|!>gzyxvTltH5^{c;XhH1xgStC?=u>Kd4FR(Kxnoy+UR*O5zl~$gl{sw z1q_3OF9As|g~34zhd5qlR2gH8)r_@__53_(nJ}10NOC3&CK8gC31gj-um?2_L(35M zG0x+6iG5)mu`jF}#;6E`ee}!%{&kGQYP)hu^0#GcL@G3kzagSQIc8QaQmmiYel- zmBTg;+d1sua2b_cxEVd1rk}$B4wrK{$YIiPxNCvKq~pS19KB0+PFN%vs~Bq-Nz;Xy zaX44SVIG0ZxG)$;zY^oZU>t>sabad$ICqG00ppM|7)Rm79A3g<(r#fej^atXg>%<( zn6z7%85d^8g_&{TJYrlJj6-T>8zC5ncfmNqHyPgo%3$2Pz#>MHFfvZ zN7_)qu}o%`$vR@0tRt4mI%1iuBbLcJVwtQXO(*L})5$v0bh3^#oveF| z>-z-blUz>Hce3tj4wKfCb zQPz=OlXdSgl3tUUWiqo&W|qld8O0OJWVRb+W|=H#jLCvnCJVA5WkD>H1+h#9%g|G> zBq>amq%26U$$~6N924R&k2{ zy+wLW2FoZ+ER(@93KPp@W|<6@As4nGW!7sl+mJHrH5oP}o(Ie58PaPqSVm!DnGBX8 zN3aa>U>V^7LgtqYe&I>*i||dxw}1-sOJRN~>@g|KFNOJqz3o#!#WQiFj9aw$d19FY zmc0ukjixZm6lR$MmeKRXG6gK7a1Yu<(UEPb=*YHIU|Uj{besa-(XaD3OrDei-VqLS z%n1KV7N!FBQ9Q9v0sH9PiK(}M#6E@Dr+|I*E3r=j`{;RMp91z#dC0d?bmuUVZ>8vV zGoHst9+sjb_9B;*T?`M2~@j=Fi7$4>~d4%ytjE^!BLlx*j zLh|4g-BXiz!SjR={Ek6N?qFn8IcJ zmYYT+vseL(DNHO@z+ws$ixok-Qej=GfW;K9pq2rP36qRfj5UnJVue|(FpCwi7^8x{ zLIo_QFnNUvSWIE^3Kg)JaENNh)~UiQR={GEgjuYxC#bNlR9IIktSc2}vBE4?n8gaS zSYZ|`%wmPLq{3QKVJ)fHNJ~c83XOoduOUqSV1zYe1kC*iVe$$i>=j19+?Nn;;CQk{ zBh1_gnENim#M}s&OW_{IUdCCdQ3TATc=8G(U@jqP%m~kcM3}h|F!wFQkZ%~#jq+RM z8%CJ95ipm+6H~tcF62^8GLnrN0duLG#M}rtOEF}ZM!;D@vP&c2EFsyY5gpm35pb5C zCyg0ljTvE$8DWhXfyShG@*gAMEFt-i5pb4}{Kp7$HUiF4YBw|9!gwp=ZH%`w-obb$ z<6Vq*Gk%-#JB;6FB+f>_S!#{@81H9%fbl`bhZrB`)_8>RM~sg$KE^3L!T2Pn`4r>R zj6Y^1+clzlmXSQl2slglJjakn83AVrU*?!sxJO>)@UI!)U?h(+0?rctj$_E9jDWM0 z{(BsLpTf-92y-^VoQ;69coLjNP1&Q2fU^`Pk1_(zQkXo-2slgOGET=$BaJy50cR;p zoQ;696ei9_z*)jDKTq>`5pWhG2b?8LGFCCxFcN1Y;4I}unl}Q@QkiKcCj!n=m^d2& zXDLjajWA~;ta&5gEZ$FFY$NpJ_n;EG_QSg*vs76ud zX%rfk!o<@kcuJ{}WgBIlM!{1G52CbD@RX2v8U;`3E#hgEHEa|-rFY4`je@82Bx%?v zYuG3>Ed5FvHVU57uP1N{+c->CZWNp)Jcp62+$cCpNLFqXoFyb*GRmBdGH0XA*(h^1 z3eM863M-e8I2+XwXQR-wl>6O` z-)8&{Da@l9Jf*jIRD-7!CZ0yYQ-r}&LYf1K zf~P10cuGiGBMP1pl5HGit2hdMN@22!qwqBG7IY|5U`sg4mT;6U;V5|e5%$cJr>U|f ztU{l@hA_z-6$~XLhN|Eug~DtnqL+qx=ynksWpWe%#) zn^XqkpvoLnnS(0Zx+-%}We%#$L6teEvZtxCt*f%FtFo=DvaPGKt*f%$RN2#1+0#_n z(^T2hRN2#1+0#_n(^T2hRN2#1+0#_n(^T2hRN2#1+0#_n(^T2hRN2#1+0#_n(^Q#X zD)UPPzo=E8=Gy(3!^AHYI+5bZj#b%?RoQ}7*@9Ks(^T0;RoT;2*+x~t9eSQ@R2AF- zf;$)$>}jgt4u#3nRN2#1*+x~_(^SD7iYHG~1$QV+o~8=!P?$VTmGzy}jgdcNhcgX{zjLs_bd1%p;Zcoywl3%ATgmo~Fv4rplhC z%ATgmo~FwBPGwJ1Wqqfzr>U~OQ`ys0nN2EtnksWjWgAsxPN{68s%)dGY@@1dqpHj= zmHDMIzf|T|j5!qpr~Zi5d6khk6$7Uzrk1fD(k2E@9RQLZkAYK!#HkoKMM#{AvDS-0 z>wSdqEXLXBof!L-G1hu9=2wjQ6$8KMNz!*Q=sOCNT^a++2+5<2fn}8PLjHAIxfaKE(U&4Jn6U?>$n(n9F>#o(in6cA=#xd9oeNZ9oeNZ=3opQ zq$lrVyr1y_#s?W6Vtkl$e}wTzjE^!t#=kznNIEXYIxfZ>jIoZ3@oZ0w?a~-HNHu+q z@p*ph1rEQ&_%g@5!bo;$OhIxYsDQkZmHjCmSkp2nD` zG4K?>f~Tk{cuL_S4qG`)vyL(Fl;Ry6F5`6EGy=g>O4HBb0Ef#t9OQ6_Mhp9rG4Pba zw6+)nPYG#lF$SIz(h6e?JS8M6E(V@bn8!2oG{!uQF;8R6(-`wK#ypL&zKemUC>3~$ zQh}!wUc%v3lso&9G4PbaH18S%Pmv3FiX7QzjIqxcW1lg`K4YAH#yI%+E_Tt86&hz9 z7Y83HO!jA-=Xv6+-Quj>;$Y%Sh$rn92NMZth9}NUjDv}vB0L-U#=${~C(AR=9%7t5 z#5kBp@#G=K!9;qVm>6e$7iSK}!9j|l^@}((9pyqEbew&|IQxci_6_6g8^+l;jI(bT zXWuZ+zG0m0%s6u}&K!(02jk4aINO1}R zad423=5ylUAR*1?#F>L}aFA+8Ym0GkknlT<-)AJ>Fb)pV^Y<~{&-ei2gNzR`5(neZ zgM`GvIP@SPt!u=2T_X-XNMV}KiGza_rum#WI7nfd&xy008D~2)4&RWv%V&_lU{gA^v;FwXNian_Y_W?Y;Z7iY%BnQ?Ju zT%0vy9E_uP$rFr&afGBn;$R$w$rFr&aTF#`FwUM}oHb({jKjOE8RK9ag~=0)vj&WV zS?}V0xI(;@;1&4<>_!UH%u)huA|&mW0GlXW%SdxC3D#T*@P&Sz1uiGpUrX@3N`f_4 z0<1ZJc$yJSFl!QE%`Xrp{gnV~=q;KNO)zT`Jg<^q?j)Ey3Fc0MXG9asodk0y0e_9k zu#Ml{!(q};31&xv*^yv&B)|@O@+!uCjQbg{X8Z;t>81qhrUdJz1nZ^*>!t+jrUdJz z1b9KYkpGon|0@ArP?-F$1auQ2@gf0UP)+Y+yr1y_#s?W6VkBN9m=_7=MS^*eU|uAc z7YWu%3D!pm)anDPwwZ zkpxpHEaUkkm_iss`bjW_!nKSv?~!ERDhcgFZ_y5cB=im;`BO=r@ksKFN0MhIlgywb zdss%wG6~iYE@3=@^Ci|Kp;HJi z<}%YdcoM83q;>ElSVOPQC z_M4LIHzj%QBFT1LlI^-A+jU8{>ym8OC7C-(aEIzh^NmTKyGZifMUv+(l00{jgl|P< zBb}0D?j)HzNpOc^XudJYUR4s@p%RiOl>~Pv{y9dPsYpVD{6CW3<+ri*Joi)&8VGhb z&gme?;J_W=Byl{*K_FP9$QCa_22~}g3Lr#PB$X&~7CR&T37YVJ6-hz7fM}qI;!P!z zK*JKng1xtab6ndFoW?ec4Z{W4JMgK**k@3aJxEPF=<__ko;>)lcwf)+d*5$;YmxL8 zuP$z~QnATO#imv&e5+@1o6O=ib+qOCcy)1;qpeM` zQPn17ZK|i}nZ=jxDZVroU)GOS@ntn%oA9*>Uz_l?313^{>%G1O?z7}u%i&@;3X!3StaofZ0oc*-L=gOF+r-cF$M> z)Y||vmH_ko05g^VRX4y9cYt~uU_CiNjSXmK;&*<*t7Op}nnw$05iOx*w8H!M945dV zCcqpfz#Jx^YV1$fLAz)V_4N_~RtM}gi39tB;@#lPpqlKl=Q9D-WRE?c38*G}?DKN|$P~)wBA5 zYO?h&P#;+b#Fy2_qyc950jhC;Y8;>%2dKsYj;RCi6%b$AS5)JG`106u`+)fJ*mL^; zl{vuNKET{Qz|nMoxqX16>3~?%>xwn2kDvo$O`n3)F%8!N85L8@+$ zsvD&02C2G1s%{XPg3uJC>gs=4^~^!4Zjh=Qr0NE#xIOy1H@d&8Zjh=Q zTwWt z7v5GLtUl+ytvpy=^S6};kK>FVasMaUpWDoAw^d#JJiZomn>p>aa^kT&#Wr)=ZPK#M z%yyg1Y^%olR^3!an;N@Kjons_ z^|N)*F4{x;=m7OKY1_)1?>R!p=medjGt^gpZZqTER*m)8SH*0r##((<%(iN*^$zun zcbggSHZ$IBX1v?Xc(aF#6sIMU1R=u_UEBbHf@2%p(`bX#| z=zl;x2i{h_^{t)*Z>!#V>^bnZ>aE9~18>98HXLoM-g>*|Fx#rP9(yLUtvRsA-)8I? z!Z!7Gn|ixVz1^nXZc}f!Sy9>6?AMPXz2eJ{im`?CiZ9=)U&oUEoyX$KN><@(TUFOv zJh$0a)%Exv7=Iu2`SfkgggLj1(+Dxs2r-ukF_#E2iwH4)2vOlfRCxUW zk{`v)A*7ju-WxNAkdo}NXAU7H*<;TfLQ1m7?g$|zSzai^*1teK4-c^dAEGaWlwQ4m zrPt~+Wg(^4>T5DXq&KAW`q`Y`5Zxg}cL>oPLUe}^-62GG2+eZE7>p%F_ zS#=N5BSNgYhtw(b%u26bg?;kJuDVJ zX#AAzp2LTk!-tu}hsA@MTuf`0E3#+fj42uh^uf`0E3#(UJ!pvd9%wfXJVZzK|!mPA}S!oHg(h_E+CCo}o zn3a~WxbSCx#q*5NF*-q~sJ{mn);!1RxqXA}nobgW?|BSKMUc#)sgqi1u zS$hey_7Y~EA7-8(W}Y8ro*!nOA7b1*-T*IvTvJJx?ge{U77);~f&LA~}8 zW}Y8r?Ip}SU*F1PyXW~~(dzqno*x#i9{-={pP^oR39Ii|z4j7T-?9Fcvq8rR({aLd zoG=|HOved}S$PMuVKM75d1js;7PEdH&-24#*6MkFn0bC!%qoFm)>~Yq!y?z3LBHo$ z7qiy?;b(@~un3hGB2@Pjp}JLsT7QdvCEbD09SGfl&>a!_R@=Suzav7eo&oM~HP?;^ z^%k%H?}$)qRPSv^JX#;I<%#y*j^=xQ)E-;R;||BvJL*k-{v>+Ht7wm{f>j3pp_6|qcJ38X<*hkqrI^wYUD0@dFT3@qI zZW+(f1-e9kfZp-0?isJp2Xu|TL4Sz;2>lfO4E6O|JCL{oi8~_EpV3F$JL-BK`-po- zz0YGGaqn;jVMio-{Lj2YpF!9WiPm4R<(GKzE4KU^{SE3f2sLczQk!bZ1_l`)k z`iOf+B}Uq4Y^ZyBY!Y`w zqQ@q22NHKgqPO^ZtsRkQ_4QgiBGKx;xg+|NSkdQqMS4Y_$G%2uNAzhd`mDZ&e@FD` zvCy|8`aCv$JL;QyHt5@dyB)aO;h1^{?snjA2kv&%89(S>2s|5%z+D9HB5)Uhy9nGx z;4T7p5x9%MT?FnTa2J8Q2;4=qiuI+Q)7(YiEB zE}{B zE&_KExQoDD1nwem7lFG7+(qCn0(TL(i@;q3?jmp(fx8IYMc^(1cM-UYz+F__z0<#2 zxaLH~oyYEUQHYB|Tol%#uoi{2sQ7xX`*@xiWtBL}JTuA}x~TZ_tv<&c6=lAUD@K&r zW|Y}xl-XvK*=AIfebB8ZJj%1ps3`L@_#Ayyl=)VlqmMG%j6zwI*=7`WqOcQ%oha-? zVJ8YZQP_#XP84>cuoH!ysMzr{kI*qXL8qv%zlw?-t7nf|#bbA< zD09Uqq(qr3Mj<6CQohu!?od(Yicyi`N12qUNRfk(5)~;PyF*1qipPJ&EBf4Al(}M5 zq+4D09Lnv%x5{!6>uAC|pFvg`N{GqT<5i@AQOAKCO@Dig##h@kzH8H4((V=2= zs2Ck8Mu&>gp<;BX7#%7`hlg zp<;BX80^I8P%%1Gj1Co}L&fM&F*;O?4i%$A#h@$(Wicp=L0JsSVo(-?vKW-bpezPu zF(`}Cp<;BX7#%7`hlgp<;BX z7#%7`hlgp<;BX7#%7GcQLq& z(V=2=s2Ck8Mu&>gp<-|sgS!|VDh78kI#dkqVsxk&9V$kLiqWBBa2KOP#o#VRhl;^n zj1CopyBHlRMu&>QU5pMDgS!|VDh78kI#i4f6{ADN=uj~_RE!Q4qeI2$P%%1Gj1Co} zL&fM&F*;O?4i%$A#pqBmNQ}{;Vvrc4L&fM&F*;O?4i$sD7#%7`hlVxRGbbKXFViNhlCk{Jt*onhV9CqTc z6NjBR?8IRwPKS!qq2glay*|qXb%%VxRGbbKr$fc*P;oj`oDLPIL&fP(aZ%&f{Ty|NibF~qQsQ)|IHbfOB~FKm z)1l&Ys5l)ePKSy^N*q$+bf`F_#OY9RNQu*-;&iAu9V$+TibG1A4i$%#I2|euDRDYf z98%(Rs5l)e4k>XuR2)*`bf`F_#OY9RI#it1j5r-CPKS!qq2jD^leI~^)chlb6)oX^_ieYO03mqf*vWcR-Xxaq{Lc%Cg_n8>-Xk!J&%-0Kidj@ zK-Z|RT7RTWT7SenKSe)7e~fx%`w{j0kuvFL^ZA`es@~Rr=2d=y{*o(qNSU$voXaDn#rj{+zd<+A@1gdCsO4^?vs;8%84GO zoLGN@{ucd8`dDdsFZDG=kEw)@$-`sv@K|-v_p$GfRqL!?A%BeTkLA0^epiq2?lHbR zR;}=s&rtjFShd3XU#;xh$L!n3?Aym;(A&MQ9*Zoi_tj&OW%a&#EV8WLSC83OkJ(p` z*;kLni?(Y&yp#Sr`ce7>7M?)C6F%1yKGzdI*AsoNKj=Q*w@>&KPxus1^eMdkQ}i?R z$5!6?6W;j~-uV;W`4hc!-}*P`Ci-18fciZ@;XOa$JwM?+KjGaz;oUyr+`%rK?y5t5 z)W4XR&0XH}F7J6){pb(cVn=q>iLAb6V3&8ktM1?}W^EVNc42K7)^=fS7uI&w7knR| zZ{1a2u=;%KuKI%24DM`Wk>;nA(M@U6|Tc_4fUJ4s=(w+G>t=;b@mV zw#y#dWsmK$$97d|bsu=yg_m9JLp{Itq1D$}?aFYj4`LF((@_Ox%U&)M#MyT`uWqvGvp5BpYE zyge%39$kKqinpgd@9pP2%KLwh{lCZl-(&ypvH$nj|9kBJJ?&vX>PP6O=x3;Z%V>`o z=^hnqkG;Le-ri$x@3DvX*u#75;XUnPJxY7n>a%Zq?BPB3@E&`3k3GCcMcUJT_I>^a z-9*2O22fX|J?(9)uU^~J-j-@_OZ7W=`i$D=R`2t@|9_uTk@nQNyu}r1Puc!b`tRsR zt16Oir55c`i}t8Rd+J=??pm}j@7_v%{qVlLv-%p~eRVG1>faUF7adR*%F*PP1gUz6LX!t7IF_QjXqvn$NL9QQl<9Q75s`|4SK zPX89izUE85&zI=0c*S3%|DAjOEBbpY-0j2NKHTlAf9ZAAzpVcKw|(_5t81_ROO!|X zsC=K<&OSA5pPIHW9`(B7(dwGE50CrsxDSu}@VKv@rCXWX>@%y`m+#u!>O>zlp2Fr+ z{Cx_WPjU7s&OW8?J(Z6ibx-^F6sMlbsrMRt|39U6J*9R%rFK1~c0HwbJ=LD~eOBlL zx<=oiKSaGhpRzxnvOk})Kc7;^o>Ir2YG3I-+E>;;LI2dsr+Z4>eoEbbO5J|SXMC#9 z_+I~^>wfx-&-hHA(c>rj?9cQWzme{tu0PLIf4-I`QGZ+N8C6LC!pnVpE$%Zi{ERB} zj4JeuD)fvzKcfmgQ>y(~r}`QD>Y4VHAA8I5%+Uq9M1O$Z@hE>g>6!MJ)!$BfrmR~1 z?WAYQs@0Y1nX+nirFy2UT0Pf#Mx}bDlzRLN^p`yUm*}t1Ut5()J)1IV{RH(lhMs9Z zTm3DeXUe4YTYerg`HXq^Gcx&%+Vzau^-P)ceO$YqDU(*$u4hW7pW$!Ozq2ZtQhBHM zK<#=)KA(}#XVj}_@>F|Io?1PFdWNUZ@H9bg6L^{+w+VVm0%sFAn~<{~HWKug1f3;8 zXGti}Uu(PjO9E#Ts!qPAJ9q+T6F8f|*#w>@=qw35O~})?x~Ka~g8q`Aza;1{3HnQd z{*s`-Byc|=_x&pVZdyX5SpD6!gh;Wv2PMRd-<#b};C=%46S$wi{RHkOa6f_j3EWTM zeggLs^r-}WDnXx0kcR|$NQkm;^!(04LX`P+e~o&!kf4_(=w%6dS%O}cpqC{?qTU+` zNsy2P2}zKU1U)W6k4wRLKOi9oP=7!+4#>s<)E_YGIDq;Cs6QYZ2V~=bY#fk{ z1E@bB8wX_LfNUH<{Q(I%fcgUxasc%Q__JOm)0O}9$^Z-u} z@bmyr5AgH=>JOm)0O}9$^Z-u}@bmyr5AgH=PYW$o*qE`0n{Jh z=>eV|;OPOL9^mN#)F<&YiKj_CP2y=1Pm_3>#M306Ch;_hr%60b;%O33lX#lM(NB4JWb+h5>JzOn#9v2o+j}$iKj_CP2y=1Pm_3> z#M306Ch;_hr%60b;%O33lX#lM(NB4JWb+h z5>JzOn#9v2o+j}$iKj_CP2y=1Pm_3>#M306Ch;_hr%60b;%O33lX!Y4Pv31E%F~Zh z9~~T0$qzX?IHYLC^NkcxUJNAympoQG7-Ln`MXM+b-aa)>X7_;QFZhxl@cFNf66L+a-t_4APW zdC1YhA-)_^KM$#&ha4Roa&&NrM~Cw0%Z)>MWcAU(p*+&N;^^Rzqk}_^4h}gwIOOQy zIXpgx#OLzpNB`Ib!un#dGap>yOY+QLj`y*B-Wd zrQ*5vuvB}`>Q$iU+Iv>-z319X*1ti$Qt@1S$r?btQt@1S$?8>|=h{nB?Io%9fK+?n zozyE8&$S2MZ5-*-y_Nb5?2$gB$3FHsQqB1&^|8+pbBrU7eUA9-M|}1p)tqm1tLMx| zNc4S6`3i zqt)vV$MW$HQeW|POr1HV&K%?8F+Lv4N8i(P#bdh0F>W5K+W1jk?K!5}98+zM<*%RL ztFOnnd@Pr}#YarX)SP2#&M`ITn3{7;%{iv#98+_S<+b0Nxj2@aRv$wh%T23~p^oLI z)yGiBa?|g`t3$_f)9TfsW2)0J)#;e(bWC+RraB$VS-;9JP|y92sZ_^Qs$(2H#=&D8 zJeGsHj~ulA3F@P;V|vOlJ|5%aF+Luvf@wdgT zo*t`$=~gP(G0q<2?6E4CxBnyR^^Ifk`~OJ)9sOvP``Yt#nPb&4-A8rI`Wy7O=vUGc z@^AvzCvbftuK%Fz`+A2bWaETXoREqW=stn&6RO+^sW?$8eE&0^)0OQ+zQ2>Y*PP({ z3BI4;`w70E;QI-_pTPKu8278s(FM9he}Fm_Cop~j<0mkF0^=tzegfksIDUfTCpdlr z%O|jW0?Q|`d?J?pioZskgcFi*LK03$!U;(@Aqgk2d;-fSuzUi`CsgATl5j#2PDsLu zlAt|<%O|*eg3Bkkd;+;A@>=)7!k;~rlk5>7pJt-eGmXFropua`GlD>fS7t9Y| zK>7}7jX1Kdr#Zh4=?CMFX%)s=tM7+eZ~(`ccoLh(y2bFw|GtCl&*Bj4C<8LbV_AARfgZ`)+Fkq;8Rt$_foHK zoGQuQ;%k0RnN6LlzWG+?`Bc@+k3DDXRG-qhPU&2ybgol6*D0Orl+JZZ=Q`EC^)tA0 zozl5Z>0GCDu2VYKscM~{)5k%l+QU|_ew=C#TfO>msy%G|5%20#^fUCws8{Mv>0GCD zu2Xs8EnWjTW#)X!%=whgbxP+trE{IqxlZX^r%JotiPCQMH8!X6ORp=xtX>s4WiEZH zw0rE8x>Kdy`j@EBG@YvMY454-SvS$|q5;(3Mm!Y@R$oDVDi);7rB9i;ovQBXu_8jx zEF!Ev({#$r?Nm9@7UjhH(W;zSP0A@Vw^L?rr_9_=nYo=Zb4!t;6e&uPq7*4gk)jkS zN|B-zDN2!|6e&uPq7*4giKeeNQluzFic+K~MT%0SC`F1=q$ov-QluzFZA_7(6e&uP zq7*4gk)jkSN|B-zDN2!|6e&uPq7*4gk)jkSN|B-zDN2!|6e&uPq7*4gk)o73=6k(= zrzoY4X?2QHq$ov-QluzFic+K~MT%0SC`F1=q$ov-QluzFic+K~MT%0SC`F1=q$ov- zQluzFic+K~MT%0)|5KzWMT%0SD5dVH_o?n_b&67?C`F1=q$ov-QluzFic+K~MT%0S zC`F1=q$ov-QluzFic+K~MT%0SC`F1=q$ov-&Xl5e8)wwpGwSUbo%D9&xb4GH`m|2~XoHOQEXLQmtWybe8Mg5(xGv-uh%8$ohSv^yJtnRI6^wu+a z>lwZEjNW=iZ#|>8o{^t3@^eOh&dARh`8gv$XUdPC-&N?0{G5@WGxBpre$L3xneyX% zdJXoBmd?o18OMxg^xrf3@0qfs z=Tw%gpP;TtXJqM&ES-_1GiG9E^xrf3?-~8~OeykXeU9l&DYAN<_Dm_VdJcA`ELnYy z=}cLYDoawbbjBR)jP86!cRu6D@l5%V3(Akx>$GRekJYPiY3fXxI+Lc(q^UD$5|Sn% zX%dpA&ZMa`Y3fXxI+Lc(q)AJfI+G?XY3fXxI+Lc(q^UD$>P(tClcvt3sWWNnOqx2A zrp~0PGimBfnmUuF&ZNmnnw+G`Nt&Fb$w``=q^UD$a*`$|X>yV#Cuwq$CMRj?Oqx2A zrp~0PGimBfnmUuF&ZNmknrx)WMw)D-$wr!Nq^UD$>P(tClcvt3sWWNnOqx2ACL3w8 zktQ2y>P(tClcvt3sWWNnOqx2Arp~0PGimBfnmUuF&ZMa`Y3fXxI+G?FY3fXxI+Lc( zq^UD$>P(tClcvt3sWWNnOqx2Arp~0PGimBfnmUuF&ZMa`8R|?%Df;0?hB}iWMHy0* zAw?Ndlp#eKQj}4OKI;Als*@R|$m(vDQHnlDJ?F_NMc(c?Plgm_l%lURcIC-%OqU^1 z8R}0)x$^z}iy0Z_jTv&4Ay*l4l_6Ida+M)h8FG~&R~d4ZAy*l4l_6Ida+Oi8{QRyz z8FG~&R~d4ZAy*l4l~JzzKK+ja8Rg3Ae;mkAe=^jc3>nLiu?!i@kg*II%aE}Q8OxBd z3>nLiu?!i@kg<$1rgx=`S^ZnA88Vh3V;M4*A!8Y3%(r?*lp$joGL|7@8D&iGP#LrO zm;W=$m^Fa93T2cuKf~Xme`i(Fq$Djv(lSb#?n%-zBrQYIG9)cSUCJnL?=~{Zo7L+% z8Rbo`DQ|i<@|GcQ8S<7PZyEA-uIq>2ZJcj>NB2D6@Gmr;>pDiOf1B}K*D+edT3a~h zo6hHa)A@WO%9a@FUz<5sN_|hy%+HlltItWDE2UOnjekx`&q?VyDLq$8ed}{>{d>kv z>ACXh?VgjLE1!Oc{+`{r@@e(=?9R#Oxvn4fIEUs@{}%DNt{=9RQU4P7xvp}wc2NJ~ z_qncewE7pn&vlif)!%VGSI#~5)%fSixz*P?o-5~8U+Z|ToLfEHKPTtsg&qRm2<0S`{&fpbL!_g_48ag_h<31W}WLgVXLorJXhMS z|AhV=^-;jNu66YGFHj#5oGbrUpZ_{1`RBUI(f9E$d!LH}>wDDK;h*a&N9*sc5OEF> z`g>Tm_!k$?#f6?tS2=q8$Bg~$<8v|M?f%8ZbCKe)NjcY5j#mFF%ek&>w0_%rTfF!_ z{>H~SmHC{?d`@LPrzW5C-Rg7oZhdyXTYawUfqj1ybgt`xJvK+@x*phL({v6^=i*4u zuWKN+g}QyNYal&NqyOOhiz(md`;5KPa?bax&&8KsQ3Pp=2(tbL^@_^52>P&bA%eb; zeuwd2qn>+Qh$Cwd4XHj~z|jR9UBJ-=99?Xfql*oHiVJb{PP&i!yV4h;=DpO%vlq+| zF2sw+{+9HG>bW0v!r0$ixezaJr784`Tm2uP7t9kb#Eb9mZ$@A6&FBlh8GRvMyv5&% zzR=aee&^R{2koLgw2ux@^Kv0x{JJA_jQYFJ7vjb0?>=9M7psqaFO+lZr|4(sk5T^z z=!J4_{ck+;PuT8nD_`&+s7A5veies z7t9|nbiJ(UXTBhG43nFzP~ekp$vQM z-@m$0hOGhg|Ke8v(%=Odz97RF%r`E`@CCDu3o?Ac+~b0|$AvPi=ixfu3uV}2pI^98 zU(hQm$sT7IJI@!&v+v_PU#L@f{684`KR_>(XKhiQt-nEki+&}|Y6kK_>T>~E%|JZ< z4%`14_4kgm%C^JI*-{;pP*Sx}Z)P?lLxR@C@&{T%h#jjXzZw|s&6Oh;DT!TZ+TAxn42 z>PmQz|AqVf4)s}&tjO|XeeNTx9^vutJ*G!w=@D6aL{?!yAbrbdPa%9Dw z)xW8jRqycqNv62dr>1vg#hu6Q9a(Ybv3p0BevxJNm8D-~nS*8N8d+vyS$?A*kZFqntIJPhVxFb{)y7|g?9 z9tQI;n1{hU4CY}l4}*Ca%)?+F2J*kZFqntIJPhVxFb{)y7|g?99tQI;n1{hU4CY}l4}*Ca%)?+F2J*kZFqntIJPhVxFb{)y7|g?99tQI; zn1{hU4CY}l4}*Ca%)?+F2J*kZFqntIJPhVxFb{)y7|g?99tQI;n1{hU4CY}l4}*Ca%)?+F2J*kZFqntIJPhVxFb{)y7|g?99tI0ASb)I- z3>ILp0D}b>EWls^1`9A)fWZO`7GSUdg9R8Yz+eFe3ouxK!2%2xV6Xs#1sE*AU;zdT zFj#=W0t^;lumFPv7%aeG0R{^&Sb)I-3>ILp0D}b>EWls^1`9A)fWZO`7GSUdg9R8Y zz+eFe3ouxK!2%2xV6Xs#1sE*AU;zdTFj#=W0t^;lumFPv7%aeG0R{^&Sb)I-3>ILp z0D}b>EWls^1`9A)fWZO`7GSUdg9R8Yz+eFe3ouxK!2%2xV6Xs#1sE*AU;zdTFj#=W z0t^;lumFPv7%aeG0R{^&Sb)I-3>ILp0D}b>EWls^1`9A)fWZO`7GSUdg9R8Yz+eFe z3ouxK!2%2xV6Xs#1sE*AU;zdTFj#=W0t^;lumFPv7%aeG0R{^&Sb)I-3>ILp0D}b> zEWls^1`9A)fWZO`7GSUdg9R8Yz+eFe3ouxK!2%2xV6Xs#1sE*CU=aq3Fj$1aA`BK` zun2=i7%akI5eADeScJhM3>IOq2!ll!EW%(B28%FQgux;V7GbamgGCrD!e9{wi!fM( z!6FP6VXz2;MHno?U=aq3Fj$1aA`BK`un2=i7%akI5eADeScJhM3>IOq2!ll!EW%(B z28%FQgux;V7GbamgGCrD!e9{wi!fM(!6FP6VXz2;MHno?U=aq3Fj$1aA`BK`un2=i z7%akI5eADeScJhM3>IOq2!ll!EW%(B28%FQgux;V7GbamgGCrD!e9{wi!fM(!6FP6 zVXz2;MHno?U=aq3Fj$1aA`BK`un2=i7%akI5eADeScJhM3>IOq2!ll!EW%(B28%FQ zgux;V7GbamgGCrD!e9{wi!fM(!6FP6VXz2;MHno?U=aq3Fj$1aA`BK`un2=i7%akI z5eADeScJhM3>IOq2!ll!EW%(B28%FQgux;V7GbaigC!U&!C(mnOE6f1!4eFXV6X&( zB^WHhUz8&uXuDTL%g|RAeP3uC zX1jljyDa*wJ_k`2eICad`>a`6^jZDCx@FPlu~$UPqR;B}|FRhL^Ly>LEC#=ldR??E z2K^|nii@qki&H;?&#aYo#=+0& zGizmjk+>{oJ^m^BGt{f8WymdyT;J-IoHFE=MXtB}5=VZ;_}A!fP_L$zA-61YeNV5Z zmPM||UQI2FT#ZGp#v<4H3F_6s$Ssjb)LmvBKP!nEOI^el}=@mYyF-dC2~FXYHC^J`aV7rSBA|pY?fiO z44W18$M+i*bw=yAb&o&f6#XGSP_Xy}3@#tH9=B^?htv+*C5sy}%xvRiq zg}zy#Z&v7=75Zj{zFDDfR_L1*dSXSa`IGv0zbj(Rx<=oiKSX_=qC!us&=V{4#EMw+ z=k<46DxAfx&>1UY&7bsh-qlYT`@0wwbxG^bQJ?Rth%&3s_f^D^)hnVEab)#biHbO~ z`m98S4p^ZBR_K5gbwF?bkA9!x$m2g|>~nt=apdhj16UD99)F9m&jVKAs3ML$Hb)h4 z!iM-_3Td#VF!yE>rNSBzBD`*a`i zW%Zfviukhn9Cwx8SEct=>3vn0s?z(a^u8*+uS)N$()+5ARfVi7y{`&cReE1lWWCoj zyZ2S;eN}p2mEKpS_f=u7O7E-E`>OQ5Dy&uMeN}p272>M&zAC-1O7E-E`>GIE6>;zM zTJC*SdS6xN!Tsv)eO0k$b?>X{cjv6`eO2bDRamRSS{2r+uvVq_Rq1_IdS8{^SEct= z>3vmLtJ3?b^u8*+uPWC3{O)~KdS8{^SEct=>3vnrQGKg>UzOfhrT10oeN}p2mEKpS z_f_eAReE2Q-dCmfRq1_IdS8{^SEct=>3vmtUzOfhrT10oeN}p2RkK#Vx_e)h-dCmf zRq1_IdS8{^SEct=HEZ?#-TSJVwOZZ#s`S1py{}5|tJ3?b^u8*+uS)N$()+6PzACfU zD!s2t@2k@Ls`S1py{}5|tJ3?b^uDTQtzT?ZVYW)|tHNxR-dBa$D!s2t@2iSg<(%GE zrT10oeN}p2mEKo{*($xS3bR#uUzOfh6|?%J^u8*+uS)N$()+3~Tc!6^VYW)|tHNxR z-dCmfRq1_IdS4Z0tMtAqy{}5|tJ3?b^u8Kw)?l*+n>E<1!DbCMYp_{^%^GahV6z6B zHQ21dW(_uLuvvr68f?~Jvj&?r*sQ^34K{1AS%b|QY}R122Aeh5tifgtHfyk1gUuRj z)?l*+n>E<1!DbCMYp_{^%^GahV6z6BHQ21dW(_uLuvvr68f?~Jvj&?r*sQ^34K{1A zS%b|QY}R122Aeh5tifgtHfyk1gUuRj)?l*+n>E<1!DbCMYp_{^%^GahV6z6BHQ21d zW(_uLuvvr68f?~Jvj&?r*sQ^34K{1AS%b|QY}R122Aeh5tifgtHfyk1gUuRj)?l*+ zn>E<1!DbCMYp_{^%^GahV6z6BHQ21dW(_uLuvvr68f?~Jvj&?r*sQ^34K{1AS%b|Q zY}R122Aeh5tifgtHfyk1gUuRj)?l*+n>E<1!DbCMYp_{^%^GahV6z6BHQ21dW(_uL zuvvr68f?~Jvj&?r*sQ^34K{1AS%b|QY}R124x4q@tixs_n|0W% z!)6^e>#$je%{pw>VY3dKb=a)KW*s)`uvv%AI&9Wqvksee*sQ~59X9K*S%=L!Y}R43 z4x4q@tixs_n|0W%!)6^e>#$je%{pw>VY3dKb=a)KW*s)`uvv%A zI&9Wqvksee*sQ~59X9K*S%=L!Y}R434x4q@tixs_n|0W%!)6^e z>#$je%{pw>VY3dKb=a)KW*s)`uvv%AI&9Wqvksee*sQ~59X9K*S%=L!Y}R434x4q@ ztixs_n|0W%!)6^e>#$je%{pw>VY3dKb=a)KW*s)`uvv%AI&9Wq zvksee*sQ~59X9K*S%=L!Y}R434x4q@tixs_n|0W%!)6^e>#$je z%{pw>VY3dKb=a)KW*s)`uvv%AI&9Wqvksee*lfUN12!A5*?`RkY&KxC0hn+@1(z-9wB8?f1c%?4~XV6y?64cKhJW&<`Gu-Smk25dH9vjLk8 z*lfUN12!A5*?`RkY&KxC0hn+@1(z-9wB8?f1c%?4~X zV6y?64cKhJW&<`Gu-Smk25dH9vjLk8*lfUN12!A5*?`RkY&KxC0hn+@1(z-9wB8?f1c%?4~XV6y?64cKhJW&<`Gu-Smk25dH9vjLk8*lfUN z12!A5*?`RkY&KxC0hn+@1(z-9wB8?f1c%?4~XV6y?6 z4cKhJW&<`Gu-Smk25dH9vjLk8*lfUN12!A5*?`RkY&KxC0hn+@1(z-9wB8?f1c%?4~XV6y?64cKhJW&<`a#pb(>OR@R2^siB0^L8mJy(Nf- zw9<7cDnClS9(5@ytv-&v6qQyVM_)qarKtR%vA>&e36+!o)m==*p*=Tbacy`FO^9<5%_xfGAq z3ZKZ=re4D1B|Kij{;qg*D`ki}y z^%5R0;qek4FX8c0Jo?sq?zuw!&4o+xX!SQ2F2$quN4)x{=x6AUQGY}5QaoD!8(X}- zdMO_LNk3=oHJ?j(ycCcAq(4XfU4~2X=q+EM{w~9%c(nQ$^Aa8};qg*D`kuc-y}o)W z9=*lutC!-@3w^JnDJGqduc})E4n*{Vn>H zvs|!ef*E*i?V?7Vm*3JT~F636D*9Y{Fv`9-Hvk zgvTcRu?de&cx=LB6CRuJ*i?V~TF-1Ao9d5N^Vn2>^!qW7O?Yg=V-p^m@YsaMCOkIb zu?de&cx=LB6CRuJ*o4O>JT}!I{khCz6CRuJ*o4O>JT}!I{T|F?Q~l9u9-HvkgvTcR zu?de&cxJT~F6Nq=m@V-p^m z@YsaMCOkIbv8n#3*HwSitH5Iu9-HvkgvTa4HsP@ek4^ex6CRuJ*o4QX`lFxCJT}!I zJvNU`cx=LBQ~gn&7ap7N*o4O>JT~F636D+nN8i&tHsP@ek4<=N!ebL2oAB6#$0j^B z;jsyiP4!2;6L@UGV-p^m>W_MF@YsaMCOkIbu?de&^~aAJEqH9fV+$Tz@YsUK7Cg4# zu?3GUcx=IA3m#kW*n-CvJhtGm1&=LwY{6p-9$WC(g2xs-w&1Y^k1cp?!D9;^TkzO| z#}+)c;IRddEqH9fV+$Tz@YsUK7Cg4#u?3GUcx=IA3m#kW*n-CvJhtGm1&=LwY{6p- z9$WC(g2xs-w&1Y^k1cp?!D9;^TkzO|#}+)c;IRddEqH9fV+$Tz@YsUK7Cg4#u?3GU zcx=IA3m#kW*n-CvJhtGm1&=LwY{6p-9$WC(g2xs-w&1Y^k1cp?!D9;^TkzO|#}+)c z;IRddEqH9fV+$Tz@YsUK7Cg4#u?3GUcx=IA3m#kW*n-CvJhtGm1&=LwY{6p-9$WC( zg2xs-w&1Y^k1cp?!D9;^TkzO|#}+)c;IRddEqH9fV+$Tz@YsUK7Cg4#u?3GUcx=IA z3m#kW*n-CvJhtGm1&=LwY{6p-9$WC(g2xs-w&1Y^k8OBt!($sB+wj%Hcx=OC8y?&6*oMb8JhtJn4UcVjY{O$49^3HPhQ~HM zw&Af2k8OBt!($sB+wj%Hcx=OC8y?&6 z*oMb8JhtJn4UcVjY{O$49^3HPhQ~HMw&Af2k8OBt!($sB+wj%Hcx=OC8y?&6*oMb8JhtJn4UcVjY{O$49^3HPhQ~HMw&Af2 zk8OBt!($sB+wj%Hcx=OC8y?&6*oMb8 zJhtJn4UcVjY{O$49^3HPhQ~HMw&Af2k8OBt!($sB+wj%Hcx=OC8y?&6*oMb8JhtJn4UbpwcqJY`Y+Q*)tB)VA#G}VS)Ykx9 ziAQhuH2_!Q(dzzwB_2KYeEUi~`cb|H;7asaeNE043|_(Dl^Fbkw)h%=E7525H2_zl z&+2Ocu0)?-(dTWipzlibdF=VX74%&}-xc&-LEjbhT|wU!^j(QQKc|ltub}S=`mUhw zO7!{G4(hZ2SEA4Av;SA3&+4mju0)^5BXo>T&?!1YZ%`izUWqJ!MxXt^5?NNC{l5}f zR-gU95?TJF{+8mE$g=udidQ1bpVVjnuORD6Wck&7BzPsVJoe1 z{$Gh2y`remqeP9ih#ITU@?VLX4;$ATzKZ60!&lKE()p@>Fr?C2$B(IfKtA9!IT3NOF zO0aA4d98eU{5kjkDP!mJn(SSZx@+=wt-NWw@@D-6b$+guAM1Zc{{nSduF1)@s;gd6 zIkEZ|Bd?VctA8=_n(BH@UA;gIGSDFd9Wu}%106EZAp;#U&>;gIGSDFd z9Wu}%106EZAp;#U&>;gIGSDFd9aX>g8y!_Yt259c106EZAp;#U&>;gI)ji+G8R#&h z=#YU98R(FK4jJfZM)5)SaRxeMphE^aWS~O^I%J?j20CP*Lk2ozphE^as!@I|XP`p{ zI%J?j20CP*Lk2ozphFGmkbw>v=%{Y!u~du>8R(FK4jJf>fesnykbw>v=#YU98R(FK z4jJf>fesnykbw>v=#YU98R(FK4jJf>fesnykbw>v=#YU98R(LME*a>Ofi4;7l7TK6 z=#qgh8R(LME*a>Ofi4;7l7TK6=#qgh8R(LME*a>Ofi4;7l7TK6=#qgh8R(LME*a>O zfi4;7l7TK6=#qgh8R(LME*a>Ofi4;7l7TK6=#qgh8R(LME*a>Ofi4;7l7TK6=#qgh z8R(LME*a>Ofi4;7l7TK6=#qgh8R(LME*a>Ofi4;7l7TK6=#qgh8R(LME*a>Ofi4;7 zl7TK6=#qgh8R(LME*a>Ofi4;7l7TK6=#qgh8R(LME*a>Ofi4;7l7TK6=#haQ8R(IL z9vSG7fgTy?k%1l==#haQ8R(IL9vSG7fgTy?k%1l==#haQ8R(IL9vSG7fgTy?k%1l= z=#haQ8R(IL9vSG7fgTy?k%1l==#haQ8R(IL9vSG7fgTy?k%1l==#haQ8R(IL9vSG7 zfgTy?k%1l==#haQ8R(IL9vSG7fgTy?k%1l==#haQ8R(IL9vSG7fgTy?k%1l==#haQ z8R(IL9vSG7fgTy?k%1l==#haQ8R(IL9vSG7fgTy?k%1l==#haQ8R(IL9vSG7fgTy? zlYu@N=#zmy8R(ONJ{jnffj$}NlYu@N=#zmy8R(ONJ{jnffj$}NlYu@N=#zmy8R(ON zJ{jnffj$}NlYu@N=#zmy8R(ONJ{jnffj$}NlYu@N=#zmy8R(ONJ{jnffj$}NlYu@N z=#zmy8R(ONJ{jnffj$}NlYu@N=#zmy8R(ONJ{jnffj$}NlYu@N=#zmy8R(ONJ{jnf zfj$}NlYu@N=#zmy8R(ONJ{jnffj$}NlYu@N=#zmy8R(ONJ{jnffj$}NlYu@N=#zmy z8R(ONJ{cI0fdLs9kbwai7?6Ph85od(0T~#OfdLs9kbwai7?6Ph85od(0T~#OfdLs9 zkbwai7?6Ph85od(0T~#OfdLs9kbwai7?6Ph85od(0T~#OfdLs9kbwai7?6Ph85od( z0T~#OfdLs9kbwai7?6Ph85od(0T~#OfdLs9kbwai7?6Ph85od(0T~#OfdLs9kbwai z7?6Ph85od(0T~#OfdLs9kbwai7?6Ph85od(0T~#OfdLs9kbwai7?6Ph85od(0T~#O zfdLs9kbwai7?6Ph8F;A-yxn-ox6fWG2_AnN_3s_M-1uwM$JZ})?ZkWO7F&X-zYFtH zsqpqV`iL!0^lgHdTHW%a_SoX%>zB%j?|;DaC(%Q;Jm;Q&j~=o8n6ZzqUn)O-l+XUW zWOeH$$JZ}e-Fm59`91r$fL3Mv$oJSdd;mJw2Su8 zJ~}{Op(AvRPS7bjLvPU6?2}u@b98|&(I239ysLZ0EA#5BN zzV7$s|MF*kKjO>dKWFUkyu8%Wy0`l{{iP`LmcKza(eI)G)MsE{iZA6>eED6GUh(Cz zzuWRsd}%Dcto~-!OYx=W)KR&|X~r4GJ|2Im^((8-w7&e``4r+ykL7s$CCB40IUaw> z@%T`bz1tXWd`I^miZZJy8?uTuWEE?uI{Z;vd~7~c9sWY<^@O2_^A@jS4aJ?uJ~kh+ ziZ!Gf4_U<;inaIJ?sLaORxhE(_=6@EyCA5!6mRQMqkey9rXcj#5DA*)zJRJooFaV^r^*&)vH)Tbt0=*v4-kI z+W)L#4b_i4CUxS)?~~Mt7mt0d!ce?uEMBZ$7aEEey*jH{L-FFV*M)}krXj0XLpszD zc82OxdKFf&hEOwvnjzE-q2`sk)rXB&>Q?Whf6Unbf$~b{Q@)YzGWL}}uS9{>|KsyY z`M3JYpI17E;_(rBjQX0NSIWQDUFH>C=9TjAEnZ`JrTlyB|3G=AE@OSg7XK^mD<#u9 zL8s^py+QpC)UT9J-{+oZTcHo=8uj%yuQ-44O8N9XKSe)7{r^F)IDheq+Wtz(^p?-j zpP~QEtNa4}C0o8k{Vy1=ls)V3txBEM|2_0dsk5?IIm_^h^9!#yv+zpk@~wY{{yF-W z=wG4#1@(Uwy;6Rx-$etcYwRnf#oPT~MX!_)sebcNs$api{wI|EtZaD8_fVfJe?={Q zrFqNSjaQntSpB=)uT)*N|5aV3oFjO}If7UG{_QKy6ujb0!HBesNXv+{j8rE-Zj4CF zh_sA2?=~VWBhoS=EhEx0A}u4*GE%klW1W@}X&I505osBbmJw+gk(Lo@8IhI|X&I@G z`LRyRh_sAU$2@jgMyg|0r)5N1Mxa>hV%ZRj$NXv+{j7ZCfw2Vm0h_sAI%ZRj$ zNXtm|N6(|mV|7|asy0@qWkgy=q-CUP<1J3hh_sAI%ZRj$NXv+{j7ZB!^+fk4EhEx0 z;>^*Aw2Vm0h_sAI%ZRj$NXv+{j7ZCfw2Vm0h_sAJ%b2u`Nz0hDj7iIww2Vp1n6!*Z z%b2u`Nz0hDj7iIww2Vp1n6!*Z%b2u`Nz0hDj7iIww2Vp1n6!*Z%b2u`Nz0hDj7iIw zw2Vp1n6!*Z%b2u`Nz0hDj7iIww2Vp1n6!*Z%b2u`Nz0hDj7iIww2Vp1n6!*Z%b2u` zNz0hDj7iIww2Vp1n6!*Z%b2u`Nz0hDj7iIww2Vp1n6!*Z%b2u`Nz0hDj7iIww2Vp1 zn6!*Z%b2u`Nz0hDj7iIww2Vp1n6!*Z%b2u`Nz0hDj7iIww2Vp1n6!*Z%b2u`Nz0hD zj7iIcv`k3LgtSaZ%Y?K{NXvw@Oi0Uwv`k3LgtSaZ%Y?K{NXvw@Oi0Uwv`k3LgtSaZ z%Y?K{NXvw@Oi0Uwv`k3LgtSaZ%Y?K{NXvw@Oi0Uwv`k3LgtSaZ%Y?K{NXvw@Oi0Uw zv`k3LgtSaZ%Y?K{NXvw@Oi0Uwv`k3LgtSaZ%Y?K{NXvw@Oi0Uwv`k3LgtSaZ%Y?K{ zNXvw@Oi0Uwv`k3LgtSaZ%Y?K{NXvw@Oi0Uwv`k3LgtSaZ%Y?K{NXvw@Oi0Uwv`k3L zgtSaZ%Y?K{NXvw@Oi0Uwv`k3LgtSaZ%Y?K{Nz0V9Oi9a>v`k6Ml(bAq%apWCNz0V9 zOi9a>v`k6Ml(bAq%apWCNz0V9Oi9a>v`k6Ml(bAq%apWCNz0V9Oi9a>v`k6Ml(bAq z%apWCNz0V9Oi9a>v`k6Ml(bAq%apWCNz0V9Oi9a>v`k6Ml(bAq%apWCNz0V9Oi9a> zv`k6Ml(bAq%apWCNz0V9Oi9a>v`k6Ml(bAq%apWCNz0V9Oi9a>v`k6Ml(bAq%apWC zNz0V9Oi9a>v`k6Ml(bAq%apWCNz0V9Oi9a>v`k6Ml(bAq%apWCNz0V9Oi9a>v`k6M zjI_*1%Z#+lNXv}0%t*_Ow9H7$jI_*1%Z#+lNXv}0%t*_Ow9H7$jI_*1%Z#+lNXv}0 z%t*_Ow9H7$jI_*1%Z#+lNXv}0%t*_Ow9H7$jI_*1%Z#+lNXv}0%t*_Ow9H7$jI_*1 z%Z#+lNXv}0%t*_Ow9H7$jI_*1%Z#+lNXv}0%t*_Ow9H7$jI_*1%Z#+lNXv}0%t*_O zw9H7$jI_*1%Z#+lNXv}0%t*_Ow9H7$jI_*1%Z#+lNXv}0%t*_Ow9H7$jI_*1%Z#+l zNXv}0%t*_Ow9H7$jI_*1%Z#+lNXv}0+>nhM@^C{QZglMbVdF-ru=-f+hV|GR@^C{Q zZpg!p^59#2)N?}~Zj=X)ebjTKJXn3Cb3+Dh$iNL5xFG{KWZ;Gj+{k_3|3~Pj=x6AU zQLjzi;Oq^~-r(#F&fehQ4G!Mm;Ef#A{pFz5=iF~_>ISE7aOwu9ZgA>GPWe9m#hx2E zW&JK1Kt02}kyBQmTfdQ0QaL5XqZ`&yZ*b}cr*3fS2B&Ut>IN@v@Ztt9Zt&s;FJ43L zYnXivm9L@lHGBTG_Vyn(UPIh#SbGgGueHa#-Tz_wS}a)oAEvL#@M|*snhd{Y54_eV z^{xJ2(bxK<*6*VJU(wg3@il3DO&VX5#@EW&yN%b%nAN`vajSQ0^?w%M>OFhxs9O?sOQLQ`)Gdj+B~iB| z>X!X^OQLQ`)Gdj+B~iB|>Xt;^lBin}bu0Guy0CvsqHamlEs44%QMV-OmPFl>s9O?s zOQLQ`)Gdj+l`mgz+{zcL|Fig3>}&s!v|EyPOVVyh+AT?&0c(=g21>P<2Zh?0Tyj$Si0`C@hx4^pv-YxKMfp-hMTj1RS?-qEsz`F(BE%0uE zcMH5*;N1f67I?S7y9M4Y@NR*33%pz4-2(3xc(=g21>P<2Zh?0Tyj$Si0`C@hx4^pv z-YxKMfp-hMTj1RS?-qEsz`F(BE%0uEcMH5*;N1f67I?S7y9M4Y@NR*33%pz4-2(3x zc(=g21>P<2Zh?0Tyj$Si0`C@hx4^q4-YxNNiFZr9TjJdk@0NJC#JeTlE%9!NcT2om z;@uMOmUy?syCvQ&@otHCOT1g+-4gGXc(=s6CEhLZZi#nGyj$Yk67QCHx5T?8-YxNN ziFZr9TjJdk@0NJC#JeTlE%9!NcT2om;@uMOmUy?syCvQ&@otHCOT1g+-4gGXc(=s6 zCEhLZZi#nGyj$Yk67QCHx5T?8-YxNNiFZr9TjJdk@0NJC#JeTlE%EM7-o4+rlXq{W zz7q0IGwKgg|J&@H&Qw}Gce;~zUrUpy|84CK2k$hm_I-Tz#a%XheZ zhs$@ke22?-xO}HMv)`e=&vmCcv)})h=&#UUTjjEzO)gtMLH*B+cbY9*{{;P0)Ym=U z$$hKOGTh01t7l(#_Se~bQ|RlZ9#Pu6?D_dEHn=aKJLpG~`y z*V=pX+UgbHJ9%yW6YbA?c)W+ldw9Hu$9s6ZhsS$7y@$tpc)Z8Wdw9Hu$9s6Z$IW}( zyvNOZ+`Pxldw9Hu$9s6ZhsS$(yobkoc)W+ldw9Hu$9tT*$Ekaqy2q(|oVv%Udw9Hu z$9s6ZhsS$(yobkoc)W+ldw9Hu$9s6ZhsS$(yobkoe7VP$dwjXamwSA<$CrC}yobko zc)W+ldw9IZmwR};hsS$(yobkoJi3R+dw9Hu$9s6ZhsS$(yobkoc)W+l72d7zZiRO% zyj$Vj3h!2Ux5B#>-mUO%g?B5wTjAXb?^bxX!n+mTt?+JzcPqSG;oS=FR(Q9-mUO%g?B5wTjAXb?^bxX z!n+mTt?+JzcPqSG;oS=FR(Q9-mUQN0q-90?g8%}@a_Tc9`Nn~?;h~(0q-90?g8%}@a_Tc9`Nn~?;h~( z0q-90?g8%}@a_Tc9`Nn~?;h~(0q-90?g8%}@a_Tc9`Nn~?;h~(0q-90?g8%}@a_Tc z9`Nn~?;h~(0q-90?g8%}@a_Tc9`Nn~?;h~(0q-90?g8%}@a_Tc9`Nn~?;h~(0q-90 z?g8%}@a_Tc9`Nn~?;h~(0q-90?g8%}@a_Tc9`Nn~?;h~(0q-90ZjEM4 zx5m3Q-mUR&jdyFjTjSjt@78#?#=AA%t?_P+cWb;`M4x5m3Q-mUR&jdyFjTjSjt@78#?#=AA%t?_P+ zcWb;`M4x5m3Q z-mUR&jdyFjdxLjx@a_%Xy}`RTc=rbH-r(IEynBOpZ}9F7-o3%QH+c63@800u8@zji zcW?0S4c@)MyEp%nq<4#LEW6WtRb!wb5II%iMK8JlyhsGjR0@JdgBgjfCi!4^i~s?S z=MoGu@!Qx2667fl2YPTGd=CO-W`KC?IFsA7+n2UGaXe#MVe1l7o0np-SQ@qpYEhd6 zi`s%SK)v+C)R90CJm2@5mk$e@o0rA^|NE`~T6=Ah*c}qPLt=MG><)?DA+b9oc8A37 zkk}m(yF+4kNbC-Y-663%BzA|y?vU6W61ziUcS!6GiQOTwJ0y08#O{#T9TK}kVs}XF z4vF0%u{$Johs5rX*c}qPLt=MG><)?DA+b9oc8A37kk}m(yF+4kNbC-Y-663%BzA|y z?vU6W61ziUcS!6GiQOTws}j2^v8xihDzU2)yDG7(61ys~s}j2^v8xihDzU2)yDG7( z61ys~s}j2^vC}`qs&=XpyDG7(61ys~s}j2^v8xihDzU2)yDG7(61ys~s}j2^v8xih zDzU2)yDG7(61ys~s}j2^v8xihDzU2)yDG7(61ys~s}j2^v8xihDzU2)yDG7(61ys~ zs}j2^v8xihDzU2)yDG7(61ys~s}j2^v8xihDzU2)yDG7(61ys~s}j2^v8xih4~gA} zie0eqA+h^VbB8x-`@ar9)ZD@C-$ngzh9Byi_nEHwKUB@{N8d+(g8mf!0R1`o*XS?M z3i?a*5UryAf3Xi$$y@!OVjrrKx4z`arB$ok);O9(m#wO?b*B3MvD9mTAFA(C^EkhdJf@Gw^zoQJ9@EET`glwqkLlwveLSX*$Mo@-J|5G@WBPbZACKwd zF?~Fyk0ES##3uch9%d@7c@?HT>4disg{N91anJ5gMc0p|-qm@k@8MU{-;+;I zncbg?v_9h5{VAk96>0sbXQrp(s-N{QX?rKwsp#tC@1njl@lxkP=x?WyQ(y|s$o`Xr*a)xT7Ks(9)1C|*{t37jfk)>YJN z0;i(7)oTK$Q2kU?*XI<~ty}0ex`X--(^K)>>fe(;70;#00ewQKek!W#xuUvWQ&hKl zpV%o>KUJRSi1Nhx#;QEAdWYC4R6m94r%?SAs-Hsj8d+2$i)v(1jV!8>MK!XhMi$i= zqibYQjV!8>MK!XhMi$k`q8eFLBa3QeQH?CBkwrDKs74mm$fBBj_whoFEUJ-3HI31) zb;MazBa3Ppquq8E)ySe6SyUs7YI3NLJBw;^sMT3iBa3QeQH?CBkwrDKs74mm$f6oq zRMS{L(X*UIHI46n9cNLEEUJ-3HL|Ei7S+h28d+46qkX2cs74mm$f6oqR3nROWKoSQ zs*y!CvZzKD)ySfnY6HCjSyUs7YGhH3EUJ-3HL|Goz*$sNZD4g4)ySe6SyUs7YGhH3 zEUJ-3HL|Ei7S+h28d+2$i)v(1jV!8>MK!XhMi$k`q8eFLBa3QeQC(T|dZDf?>PfvT zwZ4$o=czCFA6@J0>#l2Gx7)vo{+2#-oqgSP?duNI_J7yb7v5G@*R`+P?RRLKX?5sb zhu(Fvv94_NE0}3@<)Pd5NL_jOiPU?%>#)79JoItXtgbwC+dIAMsvF(*zbe;NF)OR_^*_4S$?ZD1 zT_?Be zRk^Oc-){R~mFwF3?Y93_xh}u>S!<|WQ`g>aA2EUJ+WYOcIb3J&cU?a65i(P5()S=Y zS-tnWE;m`d_q(pW--?>*ZJ$qOYVWstEtmNSnJKTi?SECS%W-P6_q#5a=^eHA+eb|7 zy7qp%ZEn}u`(2mseB_Jni`?h7|5drJ`dn=}Q5h&FTHjdZM5}pTmlJi4oM;Wvq4W$7 zp2>qBt8EXSF}FICcRo@3cl0^WVE7sHtTVaBM?Q!CF6Vn^_!;x8Gv--maQjSt@p12w zIAfl5CWiZn_eh+{HEw%n_!+J_W43k1Z0n5K))}*{GiF<7%(l*$ZJjCG{n`GCSMbj8 zGv%|jf_i88ney4{Ut&B{KKs4AGyF{XZ1rB>Gv;My%*)Q0mz^;$J7ZpUCT{y(yw~?k zdF%5(LcQ1bjQQFb^R+YOq>d;jt=<`arfk&vDi5tmbQxXc(RI{&eb1Q3ox$oeWtWe5 zukV?%%esy3px%jbrd;xI?+iav{zye^sfca$&hRtlac9iq&S3Q!tUhBNccwfE7S5C> zR$mu5Q=TXa>bpF!+^YzZKCK(+)BJAl{$#10^K0I>tzi8EOUAa($; z1Be|!>;Pg15IdlL2q1O*)5K;Pg15Ica_0mKd< zb^x&h*)5Kszt!p)WdnR@Ou>*)5K*)5K*)5K*)5K;Pg15Ica_0mKdsz9YE{=Vh0dAfY<@V4j^`b69b4HKj1299jN?*{yC!0!h9Zouyb{BFSShCK9IuV8*R;CBOlH{f>zemCHE1AaH) zcLRPm;CBOlH}FscemCHE1AaH)cLRPm;CBOlH{f>zem7K)_%oQ_4fx$qcDrqUH{f>z zemCHE1AaH)cLRPm;CBOlH{f>zemCHE1AaH)cLRPmSZ`~zemCHE z1AaH)cLRPm;CBOlH{f>zemCHE1AaHing;xC!0!h9Zouyb{BA<)CbVus>n5~rLhB~9 zZbIuOv~EJ{CbVus>n5~rLhB~9ZbIuOv~EJ{CbVus>n5~rLhB~9ZbIuOv~EJ{CbVus z>n5~rLhB~9ZbIuOgl&g|0rnzmEDI^tM>)Bfp9M zmYCm$rETs(Z*vcNTP*dNz6ZT6mb&e=inj8{>XnJM*2(-XUY}^g&$hB?suZBCA&>+R7roqwgMWD~tTxe@5Hu6K##rKGS!ix49F&&7J6N?nG~MCwiMZ(c9dK z-sVp9HoR@a+cvyy!`n7@qPMvdz0IBIZSF*Gb0>P6JJH+RiQa~{ZFt*;w{3XahPQ2a z+lIGoSlU+Jx~Kj<#kTU+>fcjrD{rm-J;gRGZNt(wEN#Qmw({0}uc5vZy$w;@+=*3lkh3jv`rGqrM4LO&+mN#jIopu44LRG~ ziQZP8>vM7^dRy7fuk1U~+uVuXhMaBgL~ldRHg}@8A!i$MwjpPmJJH*a zv(268ZOGY%oNYNsp9FHYW3m8bfa{HS;R zKh?Kn^{)S?`j)JoPd|klPvOQ>xY5Dy9sJ(G?;ZT!!S5Yvrw)Ga;P(!{InlxI9sJ(G z?;ZT!!S5aX-ofu3{NBOu9sJ(G?;ZT!!S5aX-ofu3{NBOu9sJ(G?;ZT!!S5aX-l1OV z;P(!G@8I_ie(&J-4u0?8_YQvV;P(!G@8I_ie(&J-4u0?8_YQvV;P(!G@8I_ie(&J- z4u0?8_YQvV;P(!G@8I_ie(&J-4u0?8_YQvV;P(!G@8I_ie(&J-4u0?8_YQvV@XHe& z{NBOu9sJ(G?;ZT!!S5aX-ofu3{NBOu9sJ(G?;ZT!!S5aX-ofu3{NBOu9sJ(G?;ZT! z!S5aX-ofu3{NBOu9gTF;g${o2;P(!G@8I_ie(&J-4u0?8_YQvV;P(!G@8I_ie(&J- z4u0?8_YQvV;P(!G@8I_ie(&J-4u0?8_YQvV;P(!G@8I_ie(&J-4u0?8_YQvV;P(!G z@8I_ie(&J-4u0?8_YQvV;P(!G@8I`m^4IHyXY!ZTYl_eC{xiJ)4DUa~`_J(HGra!{ z??1!)&+z^;y#EaEKg0Xa@cuKr{|xUx!~4(h{xiJ)4DUa~`_J(HGra!{??0n2&*;lD z`qG64U1-pS23=^-g$7+{(1iwFXwZcQU1-pS23=^-g$7+{(1iwFXwZcQU1-pS23=^- zg$7+{(1iwFXwZcQU1-pS23=^-g$7+{(1iwFXwZcQU1-pS23=^-g$7+{(1iwFXwZcQ zU1-pS23=^-g$7+{(1iwFXwZcQU1-pS23=^-g$7+{(1iwFXwZcQU1-pS23=^-g$7+{ z(1iwFXwZcQU1-pS23=^-g$7+{(1iwFXwZcQU1-pS23=^-g$7+{(1iwFXwZcQU1-pS z23=^-g$7+{(1iwFXwZcQU1-pS23=^-g$7+{(1iwFXwZcQU1-pS23=^-g$7+{(1iwF zXwZcQU1-pS23=^-g$7+{(1iwFXwZcQU1-pS23=^-g$7+{(1iwFXwZcQU1-pS23=^- zg$7+{(1iwFXwZcQU1-pS23=^-g$7+{(1iwFXwbz$T^!W?dj~;-E;Q&ugDy1aLWAcJ z;5h_%4gsD+faeh4IRtnP0iHvE=MdmI1b7Yso+q9!|y%(-ox)b{NBUwJ^bFo?>+q9!|y%(-ox)b{NBUwJ^bFo@4CuGFTBF7HGSG% z=kDS69)4G4%8?H0Ur*QPMMtQAJ-vtDd-%PF-+TDIhu?eny@%g>_`QeUd-%PF-+TDI zhu?eny@%g>_`QeUd-%PF-+TDIhu?eny@%g>_`QeUd-%PF-+TDIhu?eny@%g>_`QeU zd-%PF-+TDIhu?eny@%g>_`QeUd-%PF-+TDIhu?eny@%g>_`QeUd-%PF-+TDIhu?en zy@%g>_`QeUd-%PF-+TD|h5Yq;;f4HV_2~Zs@4vwNFYx{gy#E64zrg!1@cs+D{{rv7 z!22)o{tLYS0`I@T`!DeR3%vgV@4vwNFYx{gy#E64zrg!1@cs+>@`Ap+pfBelKyTq3 z0-QsDa}nUFj`&L5IUG2L1Lv%uo{IxM-@iO}4hPP~0iW+#|G7Be_NO&xKW7E?oE6k_ zt)TkVyzA;*WbmW^n6`Iao$LFtdZ*;M$lyo4m+)NQn2&ok;9Pw0qkpJ>b~=X-=kVcN z-=rV)YQVX^PoMu4KFL?nuc2Q@zkz-e{T6C6oQn+p%zuLZDf(xq$#703a84y~P9<Nc&qWWb_eGv7XZ&p(p~vV6>a~J%=y5K3I4)bl{Hvws@{7JJ`Ng`0ZlgP>f7$LF!kj~xa}h>aAs_j3lGSpP+a->BSK7GW9m1T8Fm8Ky!?_5fR~BLPNkka8{Yz%&5at}hoQotnB9d4`bSUlP%|71j>a_GX_^ zyN@^fc(boj`>BrGn|(&@KHlu(%|71jACi1U!%6w-t24C zw%VJ0yxGT_eZ1Mnn|-|5$D4h;*~goGyxGT_eZ1Mnn|-|5$D4iee5hBpH~Wn2eZ1Mn zn|-|5*U0W(+narj>~7neeMa^^-t6PeKHlu(%|71j}&MbyWq_}-t6PeKHlu(%|71j|wZ?BmTo-t6PeKHlu(%|71jUHu9{!RKq-gMhL`!3|op7gi%om}9}3%q$DZ~7HHZeGZnZhsp64Ej5Y%Z0q@jXQ}hG$=cvcc3whJu#xKwc`b+c> zt)d_DZ5*M;=m~ntE7Z_BuX%*)3cQdveU5hpUdWqjp#ArrUAa-s^NBZ~C}* z1zyOTZm;q>YtA&hc_DAQ?Q!!$-gMjJ=7qdz-Q;{<1Gj-t=eoxOpLOy6tiELf&-S-n_t@7gXjK@}{1JH!tK(w>@rN$eY$L_*wF%+ujv; zfj2MYO}&o1sUz~H)%*S~Qa-YJ*Z)iT$oe_- z_c;Cs=s!VSbH0>!e2(|}y_9#Xt~p=IJ63<%m)a}hGyNMjFO|<$|DxwhjWt&PqUTGE zHCF$k=Sz(ve%6Pmf5Yab#t5r_!{(*N2x|>J@JDjC9%6Cc9+ENQset;y^CXaN$f6(-6gTR)X477;MiSiG`Bi-m&EQ;?pB-FT@t%X zVs|OG`nY3vN$f6(-6gTRlppn8#O{*VU23fK5y$RQPP969m&EQ;j#Hc1T@t%XVs}aG zE{WYGBj6=t-zBlTBzBj??vmJD61z)ccS-CniQOf!yCim3MCyu2T@k4(B6UTiu87nX zk-8#MS48THNL>-BDx*|qb#OR6`T@j-zVsu4}u87eUF}fl~SH$Rw7+n#gD`Ip-jIM~$ z6*0OZMpwk>iWprHqbp)`MU1Y9(G@YeB1Tul=!zI!5u+<&bVZD=h{YALxFQx;#Nvur z45&{A3$9NF3$9NF)F%V#lL7U~fcj)WeKMdv8Bm`Ls80seCj;t}!GcLXpgtLB?%=lT zlL7U~fcj)WeKMdv8Bm`Ls80seCj;t}0rkm%`eZXU);&7bEz)b+_g`DS%}GSJ+?>iT4$xr5d9$v|@ltLu{ibB6)-$$dCT%Qc6PX?MhIF7DQ2Gl15>XU)y4nD{A$$XQNW$$`8HVy z;baIWLpT}2$q-J4a599GA)E~1WC$liI2ppp5Ke}0GK7;MoDAV)2q!~08N$gBPKIzY zgp(nh4B=#`H5Pw1b25aJA)E~1WC$liI2ppp5Ke}0GK7;MoDAV)2q!~08N$gBPKIzY zgp(nh4B=!5CqpJIhj4NTCx>uy2q%YdatJ4faB>JIhj4NTCx>uy z2q%YdatJ4faB>JIhj4NTCx>uy2q%YdatJ4faB>JIhj4NTCx>uy2q%YdatJ4faB>JI zhj4NTCx>uy2q%YdatJ4faB>JIhj4NTCx>uy2q%YdatJ4faB>JIhj4NTCx>uy2q%Yd zatJ4faB>JIhj4NTCx>uy2q%YdatJ4faB>JIM+@E~I$H1^(UF+>vDD-5NX)c)?Q0}j zy8WA|_lS-}OCR^uq7k$liIzU%Rj-j~>9+TXjud69_lS;Q<495Vd-)#Lk=QtudW~zO zSX+HnXrx$My+?GUSo&IX!Sj;Bjus{>ph|)anHT*RpSv? zjYrB!x0@XIZvc!~TOP5tJYrRO#H#X$b>k81#v^5~&-68&k#g7?p|@6LvOcpi+3Gu1 zN30u<#58?Q){RGEn%lmnGZNF>_BEZ6nC7pZGeP)<864TuF+SEu)bK7fEBQZ@q zk|W&qyk;a{sMqp^)px9pW!O!Kq$`JCjQ{Nm5-e=8cvHEN4# zR<8(+#56q@rj5ijw?EJEKlb@@kk9!dZSN5s!L*Uwq%$>x);U~h9dV^~#8u;wT&6SS zGHZwqrDOax#$RLnHO60K{58g3WBfJ7Ut?7xZ}cqtYmC3f_-l;6#`tTDzsC4$jK9YC zYmC3f_-l;6#`tTDzsC4$jK9YCYmC3f_-l;6#`tTDzsC4$%&v^FY7c)N`)iE9#`tTD zzsC4$jK9YCYmC3f_-l;6#`tTDzsC4$jK9YCYmC3f_-l;6#`tTDzs6#?zsdJd`)e$Q zTkWqg{u<-2G5#9kuQC1_Xt z^mWxS{u<-2G5#9kuQC1_QeIhoz5bQ*%IfR&ueg5qifeYS zxMufCcbE9Rd{zAwSMFXZvT7@)R$l>sr8r7;uZPa0*RSaHD|-D(>vH;>>icA20z)P+ zWCBAbFk}KlCNN|ILnbg}0z)P+WCBAbFk}KlCNN|ILnbg}0z)P+WCBAbFk}KlCNN|I zLnbg}0z)P+WCBAbFk}KlCNN|ILnbg}0z)P+WCBAbFk}KlCNN|ILnbg}0z)P+WCBAb zFk}KlCNM<*-LB|QV8{f9Okl_ahUh;XH7-nG$OMK=V8{f9OjHN@xn{@&hUm9?`JO#S zPhiLdhD>0{1cppth<@Q~{wtm1F?s?+CNM<5S)*v`*GW*1(fXYNUO%ASpzSew0z-6n z3rD=OYXUT#z>oT#z>oT#z>oT#z>oT#z>oT#z>oopglasxwdV8{&&xq%@!Fysb?+`y0<7;*zcZeYj_47q_JH}v|3UfbalFeIW5iKs&&>W~PAL@*?x4vAn$1VbVi5>bal zFeIW5iC{vO?^s#A6CWmOe@0{9oxY8s^s}_R`{ho=uzJ_%orvLcyff`i-_=Lb-{aBW z=ULu0dIvY|#0@{|4>{srx4IKItiFPOCvLdy-7k0gp8ZL_Oxynfeg_loV8R_txPu9I zVuBz2HtPQXzY`Oz-$lQNdS}a>Xkhh~qdU>S>J`yD(ZK2}M|X;;-~D~`C+JVn573{Z z-q~`e$hxP$Kr84k(L=O~e#n_e=rMYN`nOWSe-<%ZwO z|M-0;N?2cTMg zKJL|tdu9Hwq~7^(FIMSUi`88R|fCJAFFq^+$&f8+5B6T_o9&1|5I@< z3R(R>755t5e5Q9$+-r2RdiTq{MmK8>^$v=A<*L;?DDIV?e)I+E->tkCyR0uca*2AE z#l14n>RlH1$~`?xxo3@`{@u!Z<(t*NTY0Y>vwA)1UfJbmWzZbzeHZr{gRI^&bFVST z>U|gY8hxzZcX6*=vU=aeJ!`P{Vx~T!GD@$hT(Wx4%)LesoukZA6qGqu|7O)aEWKCe z1PfDT$ZM(Rty5))+j(WwR4ldrLuJuaEOpzv4X0wM)$2l2)nk5^f30n*O3doD)~T|~ z&+--gsj|y$Gj>W?Qfp1Awe-(tyt1#$Pr2SSRmQsQ>+(}&tkra#Dr4P8?;D&dW39d}KUKzBeO+F^ zmCTu@>r@$QHC?C5SgWtgPpQPF)L>JpFWm>v@eb-;f>Y7eXZkAqRGI7}z6w884!iAL zf>W+8X?>J)d=*}^f4=hxZLh>mMOPp9O3@U$PNC}*x=uw`Ju15DlZ&oydzau;6`I?= z3O^NH-S#fQsWM;hs|w9W)_Kh|ZPRrsy85{3I;BFJ!q_Pl+7!}Gc!8szhCFlBzzGsy>veK9s6Hl&U_Isy>veK9s6H zl&U_Isy>uzM3$;Pl&U_Isy>veK9s6Hl&U_I>gv2yb8xBV;8M-OrK%65st={A52dOP zrJ8+9HT#yTK9p*Fmuh5}sy>wJI*atnv{fIft@==^@k^@lORDips_{#z@k^@uP^$V+ zs`^l>`cSI+P^xS0(sxl^6I5H*1f^Qfmufv<`Xf~Jq1qb1q#D1Zst={A52dOPrK%65 zst={A52dOPrK%65st={A52dOPr5eAa8o#8f52dOPrK%65XS}c0`PJ4{LaFLQsm3p< z#xJSrL#gURsp>O-mOL#gUR={2hQP;HH0QjK3yjbBoYUsBbFQq_kKK4pJNHT#yv zP}PTOt3H&fK9s6Hl&U_Isy>veK9s6Hl&U_Iu5m>5q1qb1q^b|4st=_(+8eYr2iFm@ z(f(3f^`TVtp;YyuRP~`$^`TVtp_FX2ztk?GWvl%qC4cNMwaFs;OYJ}AQO(NL{vvJ7 z&DB-!WYzri)%VQQI+HB&LhRbdi`Y z64OOux=2hHiRmIST_mQ9#B`CEE)vs4V!B977m4X2F(orVokcLtTs1b!+OGhpJ&-tL+-*p=uaw0eyR}UoBB3 z<0J3Tc0Kcuy5*tb?)K+UyZ9loeyAvaqPEA8hl->1E4yNs1e+nMzg5L>xYcg4;5>D z8;Z4c3*AO{&|S{t+tyV!ecOt=UyW~D(RaJVajkzoc&Jg^YDz!U*zLB*xQC3_4;iT+ zYK+#qD-*1LhrY2Y2VOsTq#XEIs(U%5aoSoTS6laTO0_C3_4xaU_&y@Ok8t!O#n+E& zJzT2$0i_;!AK~anIQkKeeuSeRkpqw9XrHN7aj90trCJr2YE@jSRdK0S#id#mmpXQj zaO)%7`Utl^!mW>R>m%IyND=h;TFsVfHCw8cYN=MLrCOQjV-z73+3I8sUCrkKui40l7zf1Uc z3I8tP-zEIJgnyUt?~*b^uaAG@_&1J!s>8^^zK;u|NvapD`tzj6E< z$G>s>8^^zK{2Rx=ar_%62jciQj(_9$H;#Yf_&1J!qj}-z5G`;@>3xO%mTE@l6unB>qj}-z5G`;@>3xP2%4q z{!QZFBsq}8ze)U?#J@@Wo5a6K{F}tTN&K56c1ir3#J@@Wo5a6K{F}tTN&K6{ze)U? z#J@@Wo5a6KqLw6TNurj-ze)U?#J@@Wo5a6K{F}tTN&K6{ze)U?#J@>mlq5Py;*!L_ zN&K56I!XMS#J@@Wo5a6K{F}tTN&K6{ze)U?#J@@Wo5a6K{F}tTDLk86@VJm#@OofM z{onlom#j0RRj@EDa$;uhr|!e~11F`lslhpv`mzpvL4Q>-PXSW8T?mY8BK zF~wS9O8M+>L-&A7bq}~y_kc^imY7mLTU}SAl+{+x3sTB$tLFtNWw_O=iz!wYQ>-qg zSY1r9x|m{hF~#a)iq*vwtBWaC7gJun*K@tPn37ZcYF=GT$uDk4v~S&(Yjj+$v3hke z<<)zsR~J*PE~Z#rOtHF{Vs$aa>SBu3#gts;*U{b{saJ|pBBa}1T}+9SZhLhxC0bfH zIX_QZ_kin&expXJd%&f-2VAOqz@@qeTeV!bgX zZ|c27PCbj+YfAid+q1=#C~EzJpCy*M{UzG^t$4M)>X>3(F~z!Kigm>l>x#=zbQy{+ zL(yd@x(r2^q3ALcU528|P;?oJE<@2}D7p+qm!aq~6kUd*%kXm zGW=YIpUd!b8GbIq&t>?z3_q9Q=Q8|UhM&vua~Xav!_Q^-xePy-;pZ~^T!x>^@N*e{ zF2m1d__+)}m*M9!{9J~g%kXmGW=YIpUd!b8GbIq&t>?z3_q9Q za>8~t~$6<6@i3KioD4qBmZT){^x@Nh-dqtEwsmKC|l>gy~ka+B59Symw7iah0a zF$q^hLO*MtBV?~!=0{5$*MBfRSP==Wfbt~`nL|L{;fmmmAX~sp4F>!s~UOzn);tu z>ECdU?)*|)yB4L|wJ7!VyH(|q)z|D+$)Z)VXjLrLb2XmoeU&-ZB&z>?RokmWtK`Ni zS+S~2(CaG`tommVss0&6s(%KNI^wIudR0VKTSS#=wN{T3-&G>Jsyb7@=}a8g6i3|! zL>$+sE!V`%*E;g+sF}GYX8MTk0hj)kUUQ9k;u_3cgPCh$reD*{ToW^`Ud>yBjcbg6 zYm9(v$^q?2gNTYhS?&g;2Zf>dW=9cPCF{$nplj?46sqW^M`r6GJBkvlO-WoOD8r9vJIOaz? zsDANVZT;f6bcBx42^v|IOIEK2uQ4vKsX}vGcWO(QXzNaGwG*^;r?%ReZ(;M)Ni1uxrXaeSYPhRrh5}w^7}ft+wm2HAeO|D73~*c8yVfjhXBk zWBnR4*)>M|HDUGvco?pIu|zUxPwxjQ(rPZP%FFt}(Y=Q&uZ0 zxXQ3bZLmgdutrs|Mpdw`od5X2x^mtcM?JEyi(T3usf>Ls{YM<}`tv&MT8CZh%3Gi5 zs|@Sp?K%WoSN8f$UvXF`d)LX{b+UJz>|KX!>&jlgud{cZF?XFYcbzeJoiTTvF?XFY zcbzeJU3~LrGr`uCd)8l|6;yYm>WJ=0l~z$-aadRGS-oPpuH3Ua_twe1b*jE~M$&bv zzID;e@A3lmIJnLTxX#$O4z<>y);iQ$SB~i%QOlY{mr-ZbI_z49UF)!GUAg4rz7nyn zEVBAa#JaM`>XpoO@@E~6t;4Z(IJOSQ)>Rqm708x#XtoZ`)|Dqd{w35a+w01WpGp4? zePdN_=$j`u)|DGNN4a6WMniNcO+&>rR7^v~G*nDO#WYk*GviJ}#WYk*L&Y>yOhd&q zR7^v~G*nDO#WYk*L&Y>yOhd&qR7{gyX|gK~71K~LOd0|HTC-`ZshDOqora2O zsF;R|X{eZnifO2rhKgyZn1+gJsF;R|X)-fSW~QNH8Y-rtVj3!@p<-Hfo!{3~Ohd)A zDmS-H#k8t5DO5~D#WYk*L&Y>yOhd)A@^-2-O~tgb*KJcV4HeT+F%1>dP%#Y^)2!*G zp<)^;rlDdQDyE@g8Y-rh&%e^EnTlz$It>-mP%#Y^(@-%D71K~L4HeT+F-@MQp<)^; zrlDdQDyE@g8Y-rtVj3!@p<)^;rlDdQDyGT&G*nDO#WYk*L&XeK%s|BqRLn5n$w0*n zRLnrd4D;CxRLnrd3{=dJw;A#_0~Iq+F#{DdWN(J-&5*qrvNr=2Gf*)@_GX}B1}bKt zVg@Q^pkf9pW}spQDrTT!1}bKtVn(_5=0QfeXEhZwP%)$2`$TP1F#{DdP%%U9Wyrk@ zRLnrd3{=cO#SB!;FfYzP#SB!;K*bDH%s|BqRLnrd3{=c0qx2cbs0>uhK*bDH%s|Bq zRLnrd3{=cO#SB!;kUtryn1PBJsF;C@8K{^cTQX2F0~Iq+F#{DdbjgNiw*n1hNrsF))+a!@e`6?0HA2NiQraRVxD zC`0t`M^JG?RCL={XEsDdt9NT}=<1By-m|?SHd?)BdqY%wBQ2ob4Z9&K`p7%9KaG9{ z)!oxN{#n|dr)((qe7>*9Y$)rjx^G&l`=+J8&-s7A@qdDPp0c6b^O>GyZ;*Q%$~~X& zS@wo<&yRWqW<$B>_E%`@-#ygUzk5ja?;cY9yN6W&?jhB`dq{nCW<%ukt9hsQhRA94 zPVWto(~o+m_XbyIHn=*o!PS`!uFhMRQFj+b)U7=tC1V>g4L^$8}fqH^QH~Fupth+r)M13 zzk8_Npsj!RP`gFjS7$avX6rMwi}uhLsP4Shqc3S+qSvUe&TMdXW<$<$+gE2cjrwyN(^M+z{2>CZFX{Kl%>pD>56Ry46=?Hbiyn=bRy; zy4!z*{xkIRsONVZcy>cn*DK@P4f#~xxqPZ;;nNL#x`9JCaOft)-ehHRla#2uTEc@r{kLgr1#ya|~% zA@e3=-ei?>Q>&DI<)5HGML$4)j(U#2sa*AYd6jZgxoY()<)(7g>Q%~3n7j#-H(~Oo zGR@ERYUC!Xk(=5z>i2qyUZS4YZ^G(LSiK3WH(~WAtlm`q==GI3Rm{dQ-XKM@_9wIJ^mmH{tLmYmb|vvCe_Rn{aqj9QKhfS&87LBB-_^XuU>5bSTZk z)jV9y!__=o&BN6^T+PGPJY3Dg)jV9yFF42Ya5WEC^U4YzF<0}-ilNk8%`>Lw;c6bP z=HY4{uIAxt9Lw;c6bP=HY4{uIAxt9z)@`#iuPWDSmgZq;o-5sX)w(`nmgbf1j-XkZ*Q&eq8Z}Gvurv=# z^RP4zOY^WaFBj+>Sel2Wd03iXV^f6WFW2(@{RH2WlLLbAf$FS=$?0O8l9xJAPuCLZT zriOe>4f&WF@-a2!V+iv^mDtA*o~RNFq+Zv3!Y6;iCx5~xf5In!!Y6;C3dd)9CH4uu zctS6p(2FPZ;t9QYLNA`sizoEr3B7niFP_kgC-mY8y?8<|p3sXY^x_GXS21dBQy9iN-j6PHNFD`nW|Ox9H;*ecYmtTl8^@K5o&+E&8}c zAGhe^7Jb~Jk6ZL{i#~4A$1VD}MIX25;}(6~qK{kjaf?1~(Z?BTm^*rpfT^kSP{Y}1Qvda+F}c8J9evDhIN zJACpTKKTxxe1}iI!zbS%7CXdZhhFT^iyeBgLoasd#SXpLp%**!VuxPr(2E^MDz?vvX3-6yH95AJFd*026)6!sDQ`jgaq&vrHP`nY%F>}t&QkXML6< zp3CfN%=M%H53m0@^mjS(dz|_E=pS(0W9}|v?ykmMKg)BOUB=v9#@t=T++B^i{>+}s z?CP6$`zz>I(XXLjN56r76a5ydUyIWDzGAq`D$p*gK)b90?P~n>qx!WdseUa=s$Ywe zei!{7`j_at==ah0&>x^bM1O?-nD69$+CM>mihh9p9Q`Xk)nC*81zJIWi5{X=^h5Lr zJw{JZ&ti5Nd3QDP`rA0;ctE>ByGgr6yN&AiqjcsoKB0a;N^Sjql=KBh{)X@8B}XpN zYgE49uQi71_oLK)gnDMZtL(M9+TT?UTlM=<(q(j& zXRXop$h)hN*N=MS-POqJwr4TBjJ&%Vd41#wx`l3|JLsOjC5^VqSdF&+RAjG4TerQJ zY*(YL+8S-Go_FtRwAE`e+U{z!b=#xuE~D)(qwOx^?5_N!N98X)moayjF?W|Scb74D z58v&{cdsAp;k!L~$L-IczDIRW-tiG%Vc(N?-1ha#J*w6{s@6U6=T|!7)qp)w$j|x% zj(C6Oo*d-o{vnTgUb9Dyx+lN5{bharJynlxzl(k!eGmNs`a|?b=#NqF!PpbitlopM zC#G4w2V;-waZhCPr}CYTdm@|FceCz^Y*ydRx~J;VpZN$qMo&=h!PrxkX!Rb9J!PiV z_do85f$rl+sP|y(iGfz{!PryPXT7yj@9k0V?NRUTDc|(I$~3F*a@|vQSy$0@p50N-{1?XLX-UaAgfZhe@U4Y&N=v{!`1?XMS?8&cVdKWZ%vYOrn&7Q2LcR{l!zq{#O zfZhe@U4Y&N=v{!`1?XLX-UaAg(Co?2HN6YUe5>hQ(7efNdKWZrvYOrnjpiRoP49v- z-)ednl=)WEyP(YXr!u_@%6zNoT~Ov*P49v--)ednl=)WEyP$cK)$}ev?*jBLK<|R) zO@3w5yP$cK+opFx^Cqk5U4Y&N&70gdy$jI0AiwzgF}(|Niq-Tk=n8_>^e#Z}g62(b zo8AS@o2;gH0eTmpcL91AG;i{8)4QN~lhyPtK<@(dE`plX)`5e=`0KE&) zy8yil(7OP=3(&g&y$f=jpJjR%G;gw+-UaAgfZhe@U4Y&N=v{!`1?XLX-UaAgfZhe@ zU4Y&N=v{!`1?XLX-UaAgfZhe@U4Y&N=>4{Q_wj?b@!i|^xHW4 zZC>+j9KFwT_x0TBgMFU65Bc{Y|Gs?piH@86`;dPh^6zuiY+vrvFD%P_R+E2U?(>-@ z|GwPk<0k(;@zOxGcN2iF6=Wd>?_-Sj>m<4#)W;xg?+|_edV)0 zmGapdLp?6+GcN2iF6=Wd>??15j>m<4<*L==!an1|zOq!GP+4l-LbuT!)LFW({PZj6 zzbd5qmx>4b8XcsJ4*QG_`^rz9$>^}p=&;Y|u&5SBvCokz6g3 zt3`6PNUj$3$@Saf)GbAFwMecO$<-pcS|nGC5SBvCokz6g3t3`6PNUj#i)grlCBv*^%YLQ$mlB-2>wMecO z$<-pcS|nGC5SBvCokz6g3t3`6PNUj#i)grlCBv*^%YLWS7kz6g3t3`6P zNUj#i)grlCBv(u1TZvpPk#8j`nG%&uiAttK4O60qDN)0el#`POCFSJDQm^!ul#_1z zw~tE7Nvn77m#CaeRL&*k;DpND&eLQHA#t@q(n_pq9!R(la#1QO4KAJYLXH)Nr{@IL`_msR{NEG*HTGYZG8{* zT}vfpwbgemm6X+fcdzA^l+{+R<(8DyR&Vfs~Z_el=GhCFQ@{u0Tq1f!cC`o<${Jk_+5+1yYh1^vS6}N^*qTo_Uqz z3%5OgEXf^iuktKcASFCfq5>)5loAz43BQ!&7r&#gf|cYK>lV6=?x6bpVI6nnU!w9a zQTdlxn=Mi8m#8;NIHg3rQNk}J`9;r_U#x#?g}@~UT!O$Q2wZ}|CHY0?$S+p^x=~3^ z(Z4C+lrm&4f~$x!WG+MIGGs2}f-+<-L*_DME<@%rWG+MIGA<}X<}ze1 zL*_DMF5`kSWG+MIGGs18<}ze1L*_DME<@%rWG+MIGGs18<}ze1L*_DME<@%rWG+MI zGGs18<}ze1L*_DME<@%rWG+MIGGs18<}ze1L*_DME<@%rWG+MIGGs18<}ze1L*_DM zE<@%rWG+MIGGs18<}ze1L*_DME<@%rWG+MIGFew9-^yfK88Vk4a~U$1A#)irmmzZ* zGM6E988Vk4a~U$1A#)irmmzbRd@GY_WyoBH%w@=2hRkKiT!zeL$XtfZWyoBH%w@=2 zhRkKie4u&d#}5ufn;cE1Uq0S*ujFY%^m34Tu=HA zZLf74C^M~I**H*UPNc4H56H{|W#&|E*S81CNvkW{1LdUE_YoW@C;g896#XNf>%HX% zqF+P5j(!9ECi*S(-|(8AOCG@O1Gs$vw-3Z^zvH*jKS#fVdY9~hxNY^l z0|#XO0hxb5<{yyx2W0*MnSVg$ACT1t%4+w~cNrWgtF6Av;6Pbz^<4%B%4+x2cNrWg ztF6Av;6PdJp8Ec&1I-rw$z35IXtwCK>*NE?7TxwL$^m=H4#aA=y~FlEl(zc5g9CBc z>Q$5jaoBo;MyOX*4#@cfa{hpvKM;p~+;<`zh{JAs&+UOY?6&vZ9*Dzk`%Z)ddBN>9 ze`XwUAP&3j>iR$&cH1@f0sGAk??uDG9Udt&~- zHSGZJ9B?)500$j#HSGW&9f;V^(b>o811QKZ!i$_W$v_ z$XPm5-q8_x$LbxG2Xf8p2NhBJFQlI9RYYmGH#8Tn;G+sYs!-KbxW-+c!k((wu z^S4po16z@stX`9>$W3m)L;KVEBo*qPipW1y+x1UH&hl~Z9jZ|CRH%6>c&b9pQ-Sss zIm_?mYNsN$TV2~!pn64A_d9xBy~4^&g_W5KD>D^VW-6@AR9Km*s0wo5?WPKDs^F#y zZmQs>3T~>X3i6qDQ$6ahwNQmxs6s7Np%$u83stCvD%3(1YN3i8=TG8VsKS~|MK1F@dQGMx zm$~gVnTlNIcAL*{msO~UDtN7e*D6#*6)K_%6;XwXs6s_l!HE@|SdkO`YIb5pPITK& ztZ4L6TTayHp(3itiEi786)K_%POMN7Rd8a3il~AUD^x@kMx~0JsJP3C)-;+yvuF<8 zK=Y{Uq6&3UMILn9bx}ngwC zuC6O`pY@N?FQWg)&!S$cP%l-emnw{66^&xSulU`;YsOo&RRp(1p=Sy`ru2jEtD%CHYO7%;p(ht!8 zj{XnyXXyV#^$VyvM=LPWzeaz7R?uIfhv@%8tLTU55qgZCpqd5fb^bT1xq#aG1p}#O z1kwO)piSw&_>>4B^|$n|^sRm@{nx0*U$r&nN`211`qaOrt$l-P|NZ%*f!hB86%Ew> zkLX{Z{|Wui=zl@~EBfD1tzYT58hbVS!Oq`H`)pSJS=kE-1I{qB8lsY*n2 zM8rmsVu4^mk)}eZN;0DcrVs^!Bms${MuCu6QLuN4h<)q=Rbv2*|H zAJF6Z&b{Bg-}Bt#bAGJ6vuE!;>s{-=*Za=9_mIz!nBBsDo+F6}(iO(us;B(w(vYMW(rYEcE$!dDC znx3qtC#&hnYI?Goo~))PtLe#Vda|0HtfnWc>B(w(vYMW(rYEcE$!dDCnx3qtC#&hn zYI?Goo~))PtLe#Vda|0HtfnU~WENjYFV!&9YnbUZ@aG1-hM8W&ZEBe5HSnsmOQzSr zt3t{28hBMGnO+003MJEP;8meydJViPluWOISA~-4HSnrXGQ9>~6-uVpFw<+8={4}G zv`D7cFw<+8={3ys8hBOOCDUu*RiR{h4ZJFpOs|1gg_7wt@TyQUy#`(tN~YJqt3t{2 z8hBMGnO+003MJEP;8meydJViPluWOISA~-4bLg=-^inOnxZky9RDe1vKphpJjtWpm1*oF})KLNIr~q|TfI2Eb z9TlLC3Q$J{sG|bZQ32|x0CiM=Ix0XN6`+m^P)7x*qXN`X0qUp#byR>lDnK0-ppFVq zM+K;(0@P6f>Zky9RDe1vKphpJjtWpm1*oF})KLNIr~q|TfO>dxvtG}uQawB=wp^9! z;Yp!fmFnS1pfsipPwWIa7uPfymoVU^(xqM7I_Iv5b|-s~y~v}vO&=bM5r}c6ysIBu7=h}sw2x!^ z@nXxY4v6R8fW@*Oj4Q>C)5i0cU?*jJnIi?$wDEl_Y|QF_n3;Ef$7m5YMvKB7LW~x% zH;fiRnJ)#gG6%$(91v@A+&_?Uo57Ys8E=9ZZ-N+adIqv@E!cVIcJNTL%g$F}cip)I z?8%nipb!OW1fa4~Qr8fLO&1A}hh6d==k+!Nyz= zID*8JE?|%1tGE{iHopG?$MWdNP1smJ0AiLE#QYdo!dEdr1{-rk;3YhhOUc>f9C9vM zOU@%P;=}e=@|>?CuO{b{sJHPdW?4bhhaf5$5c5JH>O&Cu2;RkWUPLY?myk=zyUAtb zJv`6lB-XCuy;!>r;z?E@)~`67_fDDy?I6LKb!*C6s5L|%i)YY=%2Vz$;Z zBy&MzE{Mzpk-45J*D_FY$CPUsh^M`QP!ezydc;JIh>hzPh^N7T&=U~X2oTo@5Z4HB z35jb2Y+NHiTq8h&%`%SAo>D65p@N{5AC3St3g~fK&&SR@y!v4dILng0pgn@5GyJ{R2?9y4)92} z_d!3lgVqV52O*0rP7wUe1}*rIjq(95!)$=t&%+W2+}E%$T5#4J?-D?NklYL@75X3i7Am&@ZmuSCC8?_2rP^*Bilc-o=qhbNyBHv-}tmC_| zS^(`ENz^m2QO|&%lc;B4Zy{07z}_ZA%;Ve;^FohAJp&t0@BABcJe z#1s5L(Y{FvMX7BEi>kf*C*OP&_U`Tq6KjmEr`2lLEJ?P;x1Yc&-w%LtUnOX`UCN-KM->-AZA^_ zmr1!67x4O9!0T^;g1c+cvW`bwPkzoVw~*U})Yt-QYysj8dqAY&xQHVWK)J>b``K>YfZ zC(kznWz7aC6@@(C3|q4AI>-tQuLH&l@E*nsLj2O1*MWV?XPSAk>Uc9KeJZPt#g;xT zl+`|<^l2gcw2*yT$UZG(pBA!D3)!cI?9)Q_X(9WxkbPPxYkRNvWSvWS0Z^)@B51p`%c!sj(IUjENN^PQ zk5!Sd$8i5+Nvse+i(H9{5F0{#y9#230EiU=Anx4&XOp;h12*p60CDdIh;=eggBQLteFI*3MxW` z3pbK7`YVzZ0w7ihfHL|kk`)4=jQ)yH1;Iu};9bZFp^W~DIQlC>Uf}#W`YS?qh%KYP zBIJnJGWsh*rik5MdYq%bBIJwMGWsh*)(B0Z96EvQw-g}Z@}{^Q_Sm2vCQtG z1?%)csTqoSeJQ4T6!ZF03{OhCjH-%xeJO^9h6&KAT< zJP<4KK&-?Au@VoIt5q?tR>d-B3wt&B5-Is!%zQ6qrWZ5Qi#d~1%v>&J78f&rixDl@ z9?>H7NSU`OM&{xin7PHsT(Ko{i;=lvOXe0MbH$drr5KqD|08FGSXl?kNW7S{G{v%} z4mQ@*fml-qVoe>`gX~4hEKM=5eZ`!mDVEt+wDjZt84rj|ITmJL!Q;h7&I+Z%DMro; zC2NY2r#K>KW{PDU9c-DIDdx;fF|U=yjOSv;b8&M#BXi+TUMq_^Z&S>9n_|w}6m#CD z1TnwCD?!W)Taq%9Q-bT=Z{QG|PYLI9N?0A0FyBjLRgaPM`$Q z`vWM^Tf*oqVf2{DieN;nHtg4$Tl zO*Etgu_t_tl)1+e#GX**9!n5=LYWaNLF@@-MyP}{LM4p762@K$XNO8SJ5(ay4qzKR z?-zWFl-Z#Y&JLAucBq89R6<=Up)Qpm#;^^dOW2x}nZOc8R0*yEV#};i36x)Wpm+vR zg!4fZ31#l61W_cExuX)sPYHFbggRD29V?-Zm0#W+#W+#W+ zf~uIHDki9k3C@`(sEP@yVuGrepeiP)iV3P>f~uIHDkcz7I3Gq-f~uIHDki9k394d( zs+gcECa8)Ds$znwm|*-QsEP@yVuGrepeiP)iU~$bf~uIHDki9k3C{Q>7#j(yVuGre zpeiP)iV4O>f~uIHDki9k394d(s+goICJ`ZPy(CpJ2~`wZYJ((HQHZqxpw#n8Xrr(< zDRcEnsNxQ=FImVIsaKOwMR|1qIgpf5XOg4NBx5g$*pqE!?3qN=31#e=MAXR`A-K(kB^vNyMJmaz#!u_L7J_*lar-N|x2wpj$@wJKtznymKdg%9u2XToB5bG>Kdg%9u2XTo6iinq)2{ zp~Lb?Uu64g+G}XPMEhmhuaK{iGCoa0pM`5l8J{LOK236bn&kL2$?<6t>MgH+Mt)9i zCby7V$!$VpnNY^3No1KYB4vDLo^;>ng^A8yHbhN?@uj8BtLb)k$;lTdY`j8Bss zpC*x~h(ONLCy}kv9w!r|R5D5CY!a%DqcC%m$W!zM@)X-MPm|2kBr`P03{6q7Q&8+3 zUW#+_DP+)Zu<>L|a46el^qQh>r;tI?E;I8fbh&IhM@Hrx2?`nUhZ; zR)sPrpQ0wGsL3g6atfL(@0IVqQ;06vo6NnZ5Mx3-*%FirHbt#YQL9tb>J+s)MXgRj ztFeDXj!@>_Q-~I!jJQ+O>J+s)MXgRDHsn=NtrT@QMIBC2hf|zmPeF~b4Rtt09Zo@q zr6nU|52nzAu+f7;JlPV&lPy6!+0si>Y135NG?g|@rApZ5lPIe0EXVG@@51N}ERX3Powt zh+d&6Z5q)lTu$Cg%Isg7N}HzArm3`PDs7rdo2JsHskCV-ZJJ7(rqZUVv}r1Bno66d z(x$1jX)0}+N}ERAD;^M~O{4l1Ta-498dxYwo90Ylno66d(xy2Rn5NREskCV-ZJJ7( zrqZUVv}xpp>_L<^jqDJL(x#CkAeA;vrA(ArqZUVv}r1Bno65yo~Eg^X)0}+ zN}HzAW~j6oDs6^Jo1xNXsI(a>ZH5(chDw{E(q^c%87ggtN}Hk5W~j6oDs6_@k)hIN zsI(a>ZH7vlq0(lkv>7UGhDw{E(q^c%87ggtN}Hk5W~j6oDs6^Jo1xNXsI(a>ZH7vl zq0(lkv>7UGhDw{E(q^c%87ggtN}Hk5W~j6oDs6^Jo1xNXsI(a>ZH7vlq0(lkv>7UG zhDw{E(q^c%87ggtN}Hk5W~j6oDs6^Jo1xNXsI(a>ZH7vlq0(lkv>EnbhDw{E(q^c% z87ggtN}J`lK1*HAQdhGa*Jq)t+r2DxHA`L1LRZ(KqWDzIwF8L-Ui#U;%(`cWL9Lz#v zrAqURpGtledPUQmXr!M zi&zzJ$U2iOVpS;XOtOeop{z5>LRZBb_~l#>znlx=mvg~qxrgUTnP1H!s)aJknni32 zWmX}J2p5X3W~r-LM7y*|1)HU=W)b<)BI``DhWG_-?ZnMx>IhL%i%R*!2oTZx0LSx02 zYBmdv6A= zf`j<3!EBNF-UcYPyozUyf_PdTIFc=+xaDXPPpd<_j4m5k^E9C5k$1`HvVk>E18bfJ z);tZ!N7-IRmkm&LvE>`j2IQttzVU28ZVKfa&j#eCP`>eOKyJ#r~5^^ai-*q-1D}{Jk9k`q}o>m7NPpbp(C$l7;R)-cm ztq#P~>cGdzC&(wsr%74;)qt!N%IdEMWTjBXl?|+R8c^-X-d<$8eDB$Stdwo!d(Q@B zrP!~KuaS7xC|dBW7!XgZ1K(oHJM<5pR)?1L5Tt@@4QYhoE24tlW&x!%tlI{5}$;t*~CHjk5*}!V2fmzwW zYNvtKP6IMgwv^Rh4ah{Hto~|1wIh@fWdpOX0of<#BiYx0>=RqEuL0Qy8`&q6nUDr% zUjr+g24-IaE1U*aI1Q|D8d%#ju(oNyl@ae{ZPUQorh&Ch18bW`=3OK5ZoAjWylX`6 zh&_;$)gz6#qDhNH}5S|c(@-g`P< z72Rm$^{Wy2BK9nNu0~v0#9l-$CYO*)Nm&Edh!_^$LoO$A*B)AMe=c}GnI+}Q(uf$A zvyyctjfi2PtQ~5^l|?9PhZ=EZk#k;2t|FfyU*vw)kg^7>5!VZ$tTt)HH9|h4tRQN{ zl|ow9lb@4Y$ZbMi3mSPXXymn^5%GrOBGQDi{-hDnCB(BvK~eig>U<*=z7eqm?;)0O zo`@x3cd`fBixl;4q;5A-u^Ul4p@r*D8c{o853Gc(0$-u_iIS|!2h;>$A zFOo3>g_IUX4&q#FC?tq)mi-?P?I3hg$e4jn;#G-u5O)E95+Oe#R+oaPD?rp0AZiH^ zwFHP-0>s=kh!H4=xfE~!+Xs?^NK_PPM=b$jJvoT=`O|1HOZ(Jl>BN!wC?~hw+s#<2a`jP z(M>Yr0Tyvf%x}ZSN(m5Ge{eKyjAvnsJ~!d&FYm(DAH=e3n(hxBr`C66XF>*;#ugC zqS8%>XL(grx(V?twy1Oy;#q7_=_aVO*zIYHN;grZo2b%FROu$Fbdyvgc(oI^IZ*l( z--*lis7ye);x|cU0-`1XkCr|{gp18clUf&cKa!D#XqOgI@+K%bh?oaav0(p*e6bm0 z)bl3lc@y=#iF)27Yy7ZHirc4YXJ|Lb(UB2&71ay&hU!JQk^Gq41m;-1$Lb}=>LthOCCBO|hwPAdN%fLr^^#-tl9SmUv`F=mWA&0_ zcH~&SPcfKt8Wpz}h>iyZPo-Ya>LV_xJ~z2sQELthOCCBO|$Lb}=n9s3#$+3FLv3kid=5wrG za;#o*tX^`gUUH1~9HTwQXwNa)^Ni9wqcqR>%ridojL$r^Jx^`VQ`_^5*gUm8&$!J~ z+w;`+JheTKxZUCBF}~XXiniye?RiA+X4sEN^VIe{qF35Q+w;`+JheSfZO>EN^D-X9tD^0BYI`2hE4FBR z9u2J zJx^`VGurcv_B^9K-yH4K_B^#cj~PYy8DmwPo2-BWMceb#_B^#cPi@a*egoTJeq%$> z3feBjbqYL`gsQ_vMFgTE0*~6c7DPn^;yMMQ;sQ|-fya;oxFu#q&@za`tO#t(D1y*@ z5G$WS)I}h22OP;)Q5V4;O&hrb8!JdbR74*L(V1V zk+>pY%LOFHv#>Fq1u>olF`fl6o&`}gff&_-i^#>~5)#)1wBxz}E+aA10vj_eAZA)X z%(Q@*X#uk&swUWv(teD5oP2_Ol6;y(W?@TY7Ko||L}r1Q!v`^k557R+8UY*E2oU)N z;u-;B1_s160>lUx#B2=s4vBdf*qDa_ag6{m!UZwH1yMVJxJH1uMu50R1g#{$K!@~5 zTqDr3hwMl43v5XnwG-^tv{5_3ZcDp8ZCoSJg0U@#Q7za>ye%_lwhN}08uG{ zsFXldN+9OsK}I05Nm}~xRYss>6I!sE8bqZOw32KJS|OXTf5|40Q7731J5DBLdzl*q z)3mW}7B(^n#GHK4O6CT^kI0SW$KHC4Yvho$V7?Q?tUNe| z#26Yj#uMP_p7R27A$c8nJ$VCp z6Dir#8rdU9$I1e5F}Z}q$^x|9O)eub2Z@#yy!WE2qF-q(pRUL^OJb5#5>*-5L=s z+ek#WMnsD(5#1UQ4I2>+%Jl&(BpCyUXq1 z(dGI8qV@+jlDIy=#`U4~hYIeA0de0Xh^N*;x0*W7F#gS4SNxZd2ZNC$fYFaxzU1oZV+`1hkQ&vXYfTH zYYmBcZnR*83Sv|WV!aiJ^;Y0I9ufCC!^S)}xP{y%M7&{p#GB9~vEB+c)?0yCZv|q# z6^Qj#Am#!=%mRWKS%SFN8N|KLAntVraj!Fod!0ed!-2Tl3BJCVTSL9@zr(eGP_X9zoupj8%T^Uf*}BWt6ifMSm#r%Ys>62KhT^L8cG;%V zUVUwsZ7GiW^Df&_bj{sm`^sTjYL^`vZw6g=*^$zzlh%J=n_qwu;^3ASxT^XusyKF;grS5*OsT`?Zv#Z@w zTBu*_vK__J)Lpi(jMc(jcIe)u&EI85%HS5i(e~t6EpMUi!*0>)HrfHt^J>}=?KJHc zu)S7;X}5;ms?|fZ+i;sbX}5*FPs^Wa?Qi)rsK+q4=@yCd7D(e4C0YPp@|6(8UFE)N7^RI3C{AKsRyJN~gWg7OFf;9?9 zkUh^(O4%l_l`B=s6eWq4N~H{cO;Nfj%8BJuXHH6`D`PzmKfGrbVK4Fs@@TS;u*c!C zfzwi{*r@V!<&4s4so22sswv6R%Chn)*v;-EkHX%kC>3bHwxdd?z&aHtl*9q6l*#xb zl`N~mzj8KHa31pSG$q4x?uqk}Pto_^K1uT)o7;OReUz^Jzj#bOwKA}LO69=vX_-{4 zXSc&+eRrKD4h_3UpRRqn%DMl2hT@xlImcM@Nsh%COv8CM`z5AyQbwX>I{x0>CTGWjsIken4*kLO{;(dVx2~&rk9C@Lw4)cyLYS;Ui?4!WRNmU8KWqJh5-}dhDwA( z1wMFp{8xd~o6b|50#3vsGjLTE{%v+ucWgTi_SrbW33z7(-jil0OE5LNwL5lOSvj?$ zZ};vMrPE8NOevk%Eia_B+QxhsHx~I`aX*drXkH&H2qsFkua`e+w9Iuit ziT$8DT1*+jEt~hf`z&KP(m%sfoI4Y3Rrq%T zKYNUyNaCgfdzglQ$L~5PIS)CybYc>pUAz**IhQla(%8@LEtQ(vPA{=SIRw!znZtH;Bk`Jay-vu z_uh90!~bn+N|LAeN#(rd6HMp7yTdVtK-}E}yN~hDbCW$Z`{rQyN<7x=VcD0+&u$So z1b>S!#cz|i<$pR}H^sw$qyLJN<`~T2%u3)e|A zbOyGZM6ZvhcdO{-G`u^BQr8>V&;PlGiQ|HlkBk5hOq za`a|z59Hs&u_eG9fwyX^CWh~nnW*1&xog*GjRf}GX5(4PVdfT(a~dfd89wHT0Uh3KBMSt89uY9K}tCff2IBU5lEgVqfM+M8MPf=mqbTkKFot$Hb5URM;cl&LR&v>Uv(m}2Cqq@5WAwjnxjX(u z_2gWem9BZ~sW`r9cJt*;j`X+o{quOuxmtC!V zIEh{oeQ*B6e;+~oRl&%Ub8L=+e?O{hEoarN3=)0KirD-K|EaeBlNgkk8vU35|7$-t z_u@Z4pXAF7oO|<`H2Y4j-4a>Ng;sL}G^?w`>25V|ju5#H%9W%!9we8VxA;#HGa38L z;QbOk|37^&F|M_{FU)#M8Q6f>r z-Ld!gJLL>SOQnQw&hx*0^PfJaR58ux@wWy@JtWoEZV&#~t2`>}(G$xmViU?IPpzs< zO^Zpr7DL0-(rJ~k@^lOpBnw_Cg1g0HL-?W;cCm_Gb$Z{}%<`((gwiRoX{fy`DyNl= z$DU$km9f$($?oOTVw200W$BsHfO;N>sGOLJ;ZTz+WdHJq9Ai*wN@`l^q*zha_(^3G zVyBc%NKL6o#Y%A|(o!)om5hy_$<6Feb@WCc^-X&IyN({bh3Ek@6VNtl}+JUOe~*@k1-K@!v~vD zHfd69d@5E|kxExh>JozoVy6umJ$U$-(Xsx+#>GzSKXPRMVWY~x4J1w15J|)8shQmwfH2Y1WB^{emUfCs9fivqT;{^;CX3UuJ z*GK_9ExlaP{aBnx{|X$kVrpta8NwiS-h>qUr%S9X-5g-kQs^XXk}RK4H93VSoiVX& z!bEX-Me}hbbh}8<#Zr^U;{)(y7|;0BRZ~hQp^wo#wS1a%{I2N3`8J3Al*)2?Z};xI z{LA~3+qAyG81vG|4(Ot zu97s~m8*Zbu1j-k=}h!UWeTq4D}SFUJ}HxFcgpR`=;p4FERdbbU|zgejzrGjGhi>} z_>54HZW1E03I38TW+2i3da(S~{p2Wqh{9m^H9PgAtqGIf8^e|2~1{ueI|J}ZaT7tn5V#Ya^A^Zm%JqQ@UQ2m;0#cJsUfyI8?Q9N zFUJ_i!sq>r!;M1Y2;&&Mqdz{+G!%JK0L$mq@PGVoC!RFdZ2gmM?!n(Gw$c?tF)^oV zV~*9uaK*>`WT-^S9+`?Af?pIz_UREA}eWp7OTxj`ARS{(EJ< z@`3WcvJMgOHD+<^&>v;WIp{r!*E`Tp=OU40rb`CH(-D7Pp;)U%6rQilQZ7)QRPIzR zQZ7_3R%(>(%D2kXDxU1D+Nz_vs;B&+{HgkCpoVIs>{JzX54DBbQdL!ai>bCz+p2r2 zd#UZz0(Eb-y}FOuLHSwvMcr53PmQVjs~yz?)K2PwYG?Hz^PU5zI$9lrS$O>ZfU->;tDdHwu8vcS)e<$X zCe$<3Gu5-yQgysKK~1VDHLYgUiE5d8wt9}TLY<^eR;Q@t$`{I)>Qwbyb(&hCR;pF% zbajS$9)9hyT0LLAK%J#ts9vOAtk$TPC`;8#)!FJCb*@^g&Qt5udi65(a`g)JO7$xB zYIVMPje4!RKwYR_r(Un#px&t7q~5IFqTZ_BrrxgJq28(9r7ltzt4q|S>fP!x^&WM( zdart)dcXRB`k?xd`mmZ+A5kAwAH%QNJ)u6SKBYdbu25I1tJG)IXVvG_=hYX~7uD73 z8ucahW%U*HRrNLXb@dJPO?9pMmio5(j{2_pp8CGJPW?b#uWnF3R6kNTsvoPH)KAn; z)z8$=)y?V_b*s8f{X+dxZBQH4uhg&A?dmt`x9WH5_v#Pok7|?plbTa^sCo5g^%wP5 z^*8l*^$+z=btk@pP&G}{HA6EsOS3gcb2U%%wLlBCNZUhep|#XnX|1(3T3c;TZ7;2z zR-o;zwb%C1I%xZ9`)M(4f32f-fYwPnQ0uH6q#djsq8+LorghP}YTdN%+TmIct*6#Y z>#ZH39jP6q9j*1z`f7z*KkXRpSnW9Nc&)#7f_9=dKs!krs14EvYeTf5+R54}+Ns(w zZMasXjnGDFqqNc57;UU}ns&N2PAk?*w78bg&d|=(&eBS?@!A9}sim~EmeD3^W!l-= zIoc#`vNlC4*QRRcYSXj|tx~JfrfV~_^R$^-wRXOCfi_FKP`gOGSgX-4(Js|yYjd=@ zTCFxutJCVW%e2e2E3_-MtF)`N`PwzwwaNzNb8UgPP`ggMUb{iNQM*aIS-VBMRl7~Q zUAsfOQ@cxBq-<0^RyHZ0DIY4IYKyfc+EVRqZJBnDwp_bcyHC4cdq8_odq{g&%W98k zk7|!;k84k8PijwTPirf*mD(!p8SPo^IqiAv1?@#`wYElkNqbp)MSE3yO?zE?Lwi$O ztG%VYt-YhYtG%baudUNQ(AH}kv=6n9w2j)w+9vH2?NjYD?Q?Cjwnf{jZPUKczSJ7D zM(r!@Yi+ysjrOhfo%X%jSr`&s)%`&Ii*`(67(`%~MgE4r#{x~?0# zsav|OJG!fTx~~U%s7Lx9dJDa!-b!z+x6#|`d+K}X?eqeDZ@s;~kKRGwSKm*M>HF&) z^#k-y`hj|9{UH5d{Sf_7{V=_Y-c|3Wch?Wsd+0s&UV3l+2>nR?DE(-?kKR`=)cfhj z=*Q~E>BsB+^%L|H^#S@x`apeKQ!UZUKt$MuAMhJL1gmR_ol*C*&nJ*B7hj6P8>!!Hk>qfgQ&>r?b{eX4%0aDGyQXYv%W>&s&CW3(7)6h^hW(F{cC-@{*C^v{+<54{)7Ib-lYGe=ky(VUjJGD zMgLX*P5)j0L;q9XX()zjXohYWhG|%aZ8(N&c!qBTMrcIF9!3kJrP0c0ZL~4k8haXh z8SRV$V{fCqv5(OK_0)bw%-G-PXdGa4G7dC48wVK&8;2N&8iyHOjIKsEqdRJf9!5{2 zm(d%Q#gWEQ#?eL}qc7@=eylpA*6VMaV4P?SFitWCqBa|B3^9hHK0C!Y)fk34u*eu; zj5J0Wqm41B2v0LkH^v#oMu`zO62=+EnZ{X0sWIM|U?h!{kv1~MM5D|&+c?LVWK1@u z80E%P<6L8!QDIaXRmOBXdwxp9SYrE!&UwK3ng#<W<(Gj2ETFzz(&G8P$& zjU~oX<8EV_agVXwxYxMPxZildc+hyrc-Y7qj~I^{j~R~}PZ&=cPZ>`eD~y%KD&raB zS>rk5dE*7+MPs$G#(2qi*?7fx)p*T#-FU-z(^zY~WxQ>?W4vp;XS{E$Gd?iZ8yk!d zjgO3t#>d7c;}hdk<1^!PW3#cv*lKJuzA(Nt8jMEcE8}ZpyYY?jt?`}lz43$bqtRsi zWaNw;M&9_@_{I3u_|5p;_`~?q*l8-JYHFr#8m4JlrfoW=YkH<{24-kR<{oAXv!&U} zY;CqN+nRftdztOb0&{P(y}6Is!Q9u}&y1P-n;p#q%ueQkW@qyt^I-E3^HB3Jvy0i) z>}Ga14>x<5JQW?pVyVP0uoWnOL0H?J|TH5Zr*&FjqT%^S=c&6~`d z&0EY{&D+e|%{$CH&AZG+=3;Y+xzxPdTxQ;5E;sKr?=$Z=A21&@A2J^{v*sh_qvm7g zQ(He>HzIe>eXy|1@`6ilthbrCWw&T9##7 zj^$dOj0~h zb)ePRI>b8EI?U=~b+x)#-L1o|9#&7Qm(|-k!aCAA$~xNWWA(KPt$x-q*0I)c z*6~(<>jdjWYk+lmoQ>;_1Vb*Y~$Qogdv_@H@tufYE>on_hYn)YV zl~{2rVVz-}X`N-2TH~z=R?jG<*b)j{Ub+J`rU1D8o&9>%PbFEryo>gbnTbEgvTUS_DT31w4=3>qhG)>t^c~>sISF>vro7>rU$~Ymv3sT4F7=?zWa$_gKrVd#(Gd z`>hA82d#&!hpnvji1n!TnDw~zg!QELl=ZZ=!dhvqvYxS?wVtz{w_dPbv{qYdte32p ztyip9t=FvAtv9SUt+m!$*4x%Q*1Ohw*8A2v>jP`OwZZz(`pDX7eQa&AKCwQvKC?cz zHd|Y)t=2Z{3+qd(!D_U=vc9&qTi;mUTHjgUTR&JoT20nZR?gaC<*lEsU#wrP->l!Q zKde8kowj1Dwr1szRtehzQMlHzRAAXzQw-PzRkYfzQexLzRO-@ zFSeK1OYOVuW%fPxa{FHUKKp+A0sBGwA^TxFYd>N?YCmQ_Za-l^X+LE@ZLhFb+N}T!g?C0$l>=*6T_8R*o`(^tT`&Iij`*r&b`%QbT{g(Z<{f_;v{hs~4z0Ur?UT<%( zKeRuxH`*WDo9s{QPwmg_&+X0j7JI9`&Hlpv(r&OD?XT>w?d|qA_P6$T_V@M=_K$Xx z{ga)uci4IRXZsiXSNk{ncl!_fPkX0>1x=3T=#Jr-j^)^ng+ar?Z#S&M9#AcG^4pI31jQo&B7cv%k~PIl$@U9O!g*4ss554si~34s*IV zU7c=Dcjs`Yhtt#P<@9!raE^42a*lTTIDMT$r=N3-bF6cmbG*~vIl(#68Q`4c40HxL zgPkGHQ0HXl6z5cDm^0idaz;2Kol(wcXN)t}In6oU8Rrx`B~IK)IA=I#I%heh&Uj~n zlXOx}+Q~Q*oigWa=NxB}GufHqlsi+MbDe2Ug;VKNIn$jP&UwyEr`kE+xxks_T!BsmN-kDyPajuJ17=OyQ5=N0Ew=QZbb=MCpgXRY&= z^S1Mj^RDxr^S-mr`M_E4Y;ZnwK5{lXA3K|zPn=Jk&z#Sl&CV8QtFz7d!uir^a2lPj zoUfhj&Nt4t&UeoD&JWIyPLuPKlXG@BdFN;67w1>!H|KZf59d#3r;CMduIB2l;hL`H z+OFfeuIKu0;D&DG?%}p@Te_{>)@~cOt-GhYm)p)QaQAlGyZg8u+4DW z7P}>G+)cP=xM#X&xux!ScY>RAQ*PSLxD(wn_iXnZcal5Vo#K|eQ{8jjX>NsE=~lVZ z-5KtA?o7AZJ>R{+o#kHWUgTcv*0`6rm%6jvIqqDy)}80px%KX4?&aptQ>>OST^?mpo@=|1H??XGZFx~tr0+-KeA+~?gF+!x)|?i%+c z_ht7L_f_{b_jUIT_f2=L`FmU>F&gu0@c$z9lwHRdX{H*TQS*wenhfZM?SLp59*gO`!sB zZ?C<#4}PO$UvEDz=I!rw^bYVkc?Wu(y@R}iy+gc1y~DgNURST1*WEkZ>*4kEdU?IQ zBfKNMqr9WNK3-q1(Cg}#c-e7NtH`F`XJHA=-Mc&0;jdzK6sW;o3%8l|8@wC6o4lL7TfAGn+q~PoJG?u+ zySzo-VsDAJ)VteT=H25h_wM!X^X~T^@E-IY@*c($a31j<^&ayc_nz>c^q%sb_EvZ+ zy;a^b-m~6w-t*oI-izL9Z;kho_pHw!-|}tW@m=5ZeLwI+Kl1nR zTlg*gR(@;0jo;Sa)8ET)=NI^U`|bUG{0{!U{(gSU-{0@(AK-WL5A-|x2l)s4hxmv3 zhxuLnu6{SayMMUf!|&<$@_YM7_(%Fj`A7SG{Jwsn-_JkBKh{6aKi==}pWvV95AaX& z2l|8j!Tu0`sDHA5ihrs<%pdL-`6K+1{wRO6KgJ*HpXQ(LkMoQD5a1 zf4o1zPx>i8?PvUnewlx^e~v%NpX^WZ%l)bTx&Ac2!msqJ{OSG-|2%)DU+tgoU*OO3 zFZ3_+FZOHvOZ-dy+5Q}Vu3ziV^XvS2|1$q_{|f&~|0@4#f4+Z>f33g3U+7=wU+>@G z-{{}u-|XMw-|FAy-|pYx-|64wFY*`rOZ=t&-TpHF9)G!iuYaF^zyE;$p#PBnu%GoG z@gMac^B?!0@SpUb@}Krs_$&QY{xklw{&W8G{tNz#{%U`X|C0Z*|BC;r|C;~0|Azmj zzt(@tf7^e@f7gG{f8Sr{f8ek8H~1g=ANd>okNr*lC;q4YXa48@W`B#n)!*iS;eY8j z_>KNo{@4C?{~P~X|2zMC{|Em^zsdi}&-u9f%>UW{#sAg+&Hvs1!~fIY87P4oXn`IW zff-nV9XNp-c!3`TK^R2A9!geuBxn(|#62^QD^DnL$Hk+{W6GMKjdF?df>Il_4fYK7 zQtl1f1qH$0LHl5zphK{4uwM{UUJCXPItB*>oq_{{&cQ*!!OAnrv%w+3p}}E6m!NCV zE$AK`9`sOF20epbLGR#*;K<;p;OL-F&^IUy`US@X#|Fm*#|Qm`6M_?i0l`VZz+g}? zI2aNP4NeYD2~G`$1;c})U_>x77!`~T#sp)7(}L53aY1oV62yZVwOI%Y!R|D}$?otAqK$HNmyPf?#2AU2uJHLvUko zQ*d)|OK@v&TX1`DM{s9wSFk8p94rZz26qR`f_sAH!M(wK!TrGl!Gpm=!NWl|cqDi< zcr184cp`W*cq({0SP`rYRt3)l&j!y0&j&9AF9xfFHNi{4%gW`!E5WP5Yr*Tm8^N2w z+Tg9=?ckl@-Qd08{a{`2L9jm95PTSX6l@GW4mJg!1fK?<1)m3-gDt_2wQ|L!&YJIuua%D+%w!OY!?=Udx!1AeZmgmzTtjhEZjfr z7#S4;oxvcI5a#tJS99e92O1_i7!MQS8R41A-QihbX*gcFDx44|l?BSeFcqf5OgJ$t z3(pSE2`7bX@Wb$Ne-Hl%{|t9VN~A_wq(??%Mpk4;PUJ>j86LpC8jrNOT(f(1#=zyqGbYRpuIw(3g zIwU$YIxOlEb&a}3-J`>!9#PMzSJXQ?B04fUDmpsq6ZMS>qkhpb(Xr8S(eY9L=!EFR zXh3vQG%y+z4UUFHL!*jxsj7CMHqcPFg=(OncXk1hrl|=C<5uFj8 z8J!iCM&qLiQ8G$J=_nITjLM?3qjRE3(d1}KR31%@&W)x;6;WkW6-|$3MCU~_qw47V z=z?fgbYXN+ba7M@T@qay&5q_obEDd5UQ`#=N0&vHM^{8wMps2wNAsg=qHCiC(Zc9D z<*DfU=!WRV=%(oA=$7c#=(gzg=#J>l=&oo{v^ZK4EsgGumPPkO%cFav`=a}!2cid~ zhoXn0Z1hO%a%5|Hciq%+oW(6+16Q>9Lc(iuguKM%Q?1ji)2%bCGp%b_XIW=k2ds0f zYg*T`u5De%x~_FS>-yFWtQ%T4vTkhM#JZ_$cYItg^LaEn5|!>-N?itP89=S{GUuSr=P(vM#YMwJx(R zx9)7+#k#9?g>|KMH|y@!J*<0Lhpc;9HLGqltftknR;*QP&1zeRt#zwoZCG8aXKh+n zS$%6@ZCOL>h;`Ju+S;~`S@*W?W8K%fpLKuh0oDVp2U!oc9%4PzdYJWa>k-x?tw&jp zwjN_W)_R=vcphQ)-$bVSlM~3tyfvEwq9es*7_gob=K>xH&}19-ekSmdW-c|>uuKmT5q@BVZGCO zm-TMzJ=XtO@3r1%z2EwP^+D@H)`zW+SRb`MW_{fHg!M`5Q`V=g&sd+eK4*R2`hxXE z>r2*`t*=;LwZ3M3-TH?0P3v3Mx2^A3-?hGHec$?l^+W4N){m{9SUrd97t-n}*wf<)P-TH_1PwQXSzpek+xJ+b^+Y|PFd(xh= zr|lVg)=t@Jd(NJ>Gqz>hwqv`tXZ!Xk_Nn%1_UZN+_L=rI?6d5%?F05X_BHKm+1IwO zV_(<4o_&4$2KEi@8`(FuZ(`rnzL|ZleRF%k&e}OUZwGd07wn?FXqW6;*tfKAW#8Jq zjeT4Dc6QlbvX||OU9}_oJo|k6pnZG$4)z819qkM4i|mW-JK2}mm)e)vm)m!??_%H8 zzQVrJzMFk_`yTc^?L+px?3!J-8+Oxf*(>&{y=J%V!}hw}u{Z3l-Lp6CtL(l#u(#}? zeZ)R$Uu|#O$LxFC_p$G5-_O3k{Q&!c_JiyP+YhlHYCp_=xcvzGk@lnPN869FA8S9( ze!Tqz`-%3G>?hk#v7c%`&3?N54Eve(v+QTv&#|9tKhJ)?{Q~=i_KWNn+b^+SYQM~W zx%~?JmG-ObSKF_#Uu*x5{W|;g_8aUs+HbPoY`?{RtNk|nf9<#1@37x#zsr8N{T}=O z?DyL5v)^xj!2Y29A^XGjN9>Q^!HI-cV@r#PoNr#YuPXE}rO2RaXO9_&2Cd8qR+=i$yHoJTs3avtqG#(AvsIOp-s6PzbH zPja5@JjHpc^EBt_&NG~6I?r;R?L5bMuJb(S`OXWR7dkI;UhKTYd8zX<=jF~ToL4%p za$fDc#(AytKhEo%*E?@;-srr^d9(8t=dI4$od0#+?!3c!r}Hl7-OhWQ|8w5!yw7>R z^8x3B&WD^2J0EdA>U_-kxbq3;lg_7{PdlG+KI?qW`MmQ5=ZnsloG&|HalYz&&H1|X z4dio?4x$_I>m(H)8Upv2Xe(U_s`MvW8 z=a0^xoIg8%asKN3&H20Y59goGznp(N|8a52&>eRt-2LvPJLOKhGw!ULa?|ddJMU&( z%e7s{bzRT(-Ba9C-P7FD-80-X-D|jKxo5iv+;iM(y4P~A?Ow;du6sTA`tA+f8@e}g zZ|vU0y{UUM_gwep?t+_jb8g-Z+|Vt!MR(CHxwmj{>E6n{wR;=)w(jlRvb*FiyA`+U zM(%m;`R+mY_U;|r3*0-p7rGa@7rS?IFL5t*FLN(<@9f^iy{mhLd!>6f_wMdJ+yo&vu{VKG%Jo`+WBW?hD-)xi5BK;=a^k z{U7&r?(5w*xNmgdC=?*F;(b>HW{-~E95LH9%M zhux33A9X+Ge%$?p`$_jx?x)?)xSw@D=YHP(g8N1HOYWE5uee`zzvh13{f7HZ_gn6_ z-S4>Hb-(9+-~EC6L-$ASkKLcRKXrfR{@neA`%Cv%?yue7xW9FO=lKoACB~lirj!?ag?zUdl^*bKbm{@hs2w9MAPU z&-YI8PW4XnPWR66&h)O~o#mbF9q`WauIXLNyS8^7@4DXgyz6^6@NVec$h)z36Yr+p z&AfBHn|ljh*2{T$FYrRI;1#_^ujJjryQOz4@7CUJyxV%W^UB_mx9nBCsuy|ZdFOiv zz1w?t@GkJ~=w0YtQ(YH!;+=H1)7k9S}1e%}4P z2Y3(k9^^gPdx-Z??_u7%HB3hxbnJUEaIB_jv#3z1Mr6_kQmK-Uq!8c^~#Z;(gTn znD=q-6W%AiPkEpAKI47X`<(ZA?+e}+y)SuR_P*lb*1Pw0?;GAXy>EHn_P#Ur-m&+2 z-}S!dec$_m_e1YT-jBVXct7=i=Kb9Jh4)MESKhC^-*~_Ee&_w(`-AsK?@!*Jy}x*W z_5SAl-TR04Pw!vezrFwXWBxvW+@J9G`;-2ZKkd)>vwq4?`*Z%hpYbi<_8s5#J>U0F z@lW+n^H2BB@Xz$G;h*K7?H};Z@vrG$%fGgN9sj!i_5ADmH}G%h-^jnQe-r}Vz z{hRv>e%8e~$lL|9SrN{TKKz^k3w^*nf%tQvYTC%l%jQuk>H#zuJFIO5F-r+umGjbtgC4 zjec)xqup%wwx-J)HDKN8nz&QtdLJj7r)t`nF85Y@-PZbaP2BWyqus|T@0CvL>U3iS zrnqJT7Ul}&DB;$1w$kYW=KppMuzW~zj@8D$kZjmLtmUrCDlMX=}SjNmmZAZnadiu>eA`dX0`}ST_(x5w6p&*Rh3(+DleC+ z97j=}V>+g`{nF3`==&C$)%4d{k+3v`Qg7wMMhmgz3hU8Y;1 zTcsP#RW}E1aDwYO?XGy1$V7?6OC(+*@e+xbNW4ViB@!=@c!|VIBwix%Qg#1DsJF?B z)_Q%M#8JOOxJ;?bBwQxpG6|PSxJ<%j5-yW)nS{$ETqfZ%374yrmus5C5zQqEyF}Vc zq`gGiOQgM2*ndTDbxjyuBH<+xULxTo5?-qAKf2weRLiW}Wl~xurDalDCZ%OkTBelC zlyaHGmPu@x#Fj~HnNluO%4OE=ax~S}T}61VkbH&YDl96n2?$X3)J~v1pLOCmK zBA1mmk;{^kEIG-NlPo#Oky0*9mk-4QV!AehCEuJ>L@p<7FP9^o9O>jpCr3It(#erd zo)YINah?+A^E05@X$=O4Cu>_nj6bzOqu<`#O4C(-ll8S;Z+)_%;YMTF?@Tt;jlRjI z^52hpXGbOnjkTk-S^cX#=UR!u)Jh_V?Cru;f>U<+H9EaPtC>Db?$ju`s^U$r3V*Zb z4K`{W*aDlW)f#LcJ!;S31|_Z+g5x#K>zYb21M^TP-QPwovuzl4I`Zs6lf!HWcB9sr zlbw32vo+o6$HxoO>d~ITFuOc(o&t)s-Tk_D#mPA{i<79(_Kk3d!fm7e-GqR z7gY_O?rpTtfwWvRn`>>&#AIJ(m+9}wJKa~g3Y{4fG^ssj`zyG$rh?~U2qijuiJ>wV zL+BTiD2(3vL~F3-np##S&w5LFr{S#%YYXY80qc6*QdFn6DE|-=%ncJYIeA2-oIIjp zO&-<1+v<1r3PXSTn53ONrt+Im1&DtNPOo-)TPXX%R&Ucuz#tD+GYKD{GYv4>+G?!L z*HKV)+|q2|{^t7ZlA$xt_9Eq(lGdP@n?2t|Ngal9KEMS&v{YT1vlp14$*WY_BSEKR8z||zJ;UGD6gq4-4&#NQt{@fcym;|IV#>96>qN0ep!yD z)&|4PRzIaHQ-f27#pz3cZW$W1H7MmOVV9^vm)J+e+1Ad?X1~4B!oA8g#z_OuT{Y}& z;d0~376MWuvv+<3Le_aTsIS#JD}8mLbIxEYS+bmv#i@y^LPFesZZ+XOjSG@pjKfp) zT4Nnfzt%>;bO*OeaWU0WgEX{or_=5#1~X!m0&1_cTm5;hGGa^*@dk5~Ns%4==Onct zGdlKQSfA0E0B{>UbSPX7uXR_4omw9$PTl3DB!%}WMoulYn(HZMedDX7H=eVY46YA1 zF;t`#)a)JY0-oON3dXG*OZopI7Y-_h0+9 zHB`im!W1yA07Xx^kb5qU21IC9sS~Qy3A6}uvTaQ)JYNPN2DK7Cq>jr5!-$g&FUJ1@~qG5DpSz>XwJ}pzaEZt45@1P zrPUQ@)qDWYXl)N*E>@aA=9}#r>Tl3iin%_o`gpC5R0^9`b&5Dva(1I~(l!|>PbHiyW_*1Q?B1RfsfZ)ok>YMP8^)u`Im0yb-d zc1=NOwrUoyIF{xJ88jUzrQT6wB)!C7wrZWKDH;#m4Dwm2jyy~er3w{&CAx~N8a=v) z=6SfeM^dSwd^Vcb&Dmspnkvanr8aRf{1{9v@^gyv$1vURsl^lHtExm`$YeLsyH$jrjw&<0^STilj3bsoQ>YR)#(6L?!YrLix7FGu2!`pUtfHc-XD3MI_Tlz z{cx}=?kV)%8Ceffx}7Ad^;9XI-Nlg^Ts6eSc*DCjXw@(4&5rl72|~A?b&tACi7Z z`XT9uq#u%gf%FTcUm*Pg=@&@9K>7vJFOYtL^b4e4ApHXA7f8QA`UTQ2kbaT*7sL7O z&E9GY7l&WO0|4IZ+ zfZpU~Yk>AEf|GZsZEn`EFt|}~*2eER9KUcle%CgZ=hPx^cl_e^#3gIJ$xGX-8?}kc zYQt%AGjZ`+dtw>?E*`Y!R6d3iixCW-s>KChCMuf!88Dy$JxkD#PxIF#)t-|&{r)dIz%3x`EygMAfx;@6u$rz`@A6zK$wvzr2y`kHga!jB-d{ID+Rc!!ti7e)ADB*0`c&C=)+){TQf#;3D$_N}upT2UGS?bC}jF<`QAZC1+ zrp1KrP>aE8X9RAHz^(yjFEUW-;!)n!e(YNv#NcIdgxSku&+3W+(|5qKj;WQ)265!{ z@<@R6rK33Wm##HNn0+}|N4k#YgGKLQSrB8A!p+@ox)Q?hNsr3 z_*zmuiogg0V^>_NXA)i`%ip>E@_QrB_Gr?1=T|sK96A@=k4!z)`AnCjoay@Z46i z7q5>3>`@J}7Y}#zqPb?G=I6BrGg8g#5z=6KU<-<(=7VB(E^5PYW&zBtBoJ5Uven+| z#D(C>V4L(xT{P;+y%@CBLtO(*BTUXP#1i?y5IZBbzx6A{CLTgg*As}%ZVMYdBi2-a z(y;A40z{@oF+qYwF+qYwF+qYw(b2(To$0e4LT?wSPLH3_(D5|l{4MEYgYFN+BlaPuVK=1IWK zlYpBi0XI(qZk`0(JPEjl6L1YD;2KWAHJpHJI04sif->nZkv=z20&buL+&~Gqff8^7 zC0G&@Fj!*wa}Oop9!kJHlz@9E!4k`ViRHgU`Ikta+bRLKRRV6S1l(2$xUCX!TP5JO zO2BQEfZHkow^ages|4Iu3An8ia9btdwo0%}`W4F0eU*UwDgpOZ0`98>+*b*>uM*H$ z2)M5jG}->RuM%)yCE&hFzKGX@fsO}VX|&vA3Ao7;aFZqACQDEi zdpxMJGODZ$ZnFf~W>FSRz(tjSiz)#ZRRS)m1YA@JxTq3vQ6=D_O29>xfQu>t7gYi- zsst;fze4(4R0+7K5^}2|+oHQ7E;j%|ZUBUN znWuz#G0nofluMWwzQVll73O7-2=h`dVP57bVP57bVO|<(n3qNx=B1H_d1)jer;H(| zj3K9tVLSvhItl`y%VU$ht39(nngm^I-jRUq4*T&TY4k?jpX(MzF|6u*gQR zSg=r7d&DOri{;tcO1m8vi=`5w#f5APEyPeRz1HrxuUbm-N1YxRQTOk?4NRWeFhGjzarlQJu zZjeASFvB)$gCW_>3^%bq5J$zFwY5TGn0N}5Ud3|1VZVtO^v9kTqaLXpVbo)_?RJ;G zn3fXSilOaZQ~WY3ZMpvZBdN6{-=)2s{VTW9bzV3pfX8gsiHS5oTloff2pk zrdWE+EOOtvxFG$g$bIV~_pOWEw=Qzuy2yR&BKNI}3(|jz3({LRzPi`=FzW~JX2v!u%v;UYJui`<+pa&x-K&FLaH zr;FU2F6KnB7ju+5C*wykC*8Hk&Ff-Lx@$2fI-{5)eQsJ8xoKVGrgf2<)ZT%fQ<1u6y5NH>@8KDAFXxCUcP~c=sr>^O& z(nzZ|EOeaSC{9n}2%&Z13&xf9C7akGROmF0f@trCpwMU{6)UnJw%< z=;Y0&cr=?PW>+L^s4&c))g~ri^!w zb=;1iI98|7nGS)eBjS%iKt~^7q+(R@XNGzpjK@sPd;15j!2#~ksW@S z-VW5N?PNZ6q>XiGDMDpNmx9(*Z$lMIYKVu0P2qJ%h-?X}7_ud(An6ogICYiIX$Hze zfK>uh$230MjN4IPVoa?F?QN<2`MA_nw)352hdIR{I|LHaG}=mqU~;t%&}Hq z_mgSt!)hkCjtZ{jq{&v|GJXlm_=EP51lmg5#XutBFR6lqt zu6wAhz;;`KLj?}?Z(ntI)n(7|Hn4!E@HG&aC`C-6NehrOaxKPMp zjbO0Q5w^91wlR$$HBu;F3=|4g^{XRwb;2!)D!DWzq978Ey#pk|u%M{aHG)AwAshO4 zTmSa;Z$}5CzpEtZ?kbl2uGMA$>%Oi_ja_{fp0(O~t=3n;Z3QT=wuY3~(0C1FsILQ6 zdG`fW@meNcEl!I4YRRppld1%m+~TG7nt+{^Lt8b?0M>f?>xyLzXxb40(BQ?htsE?` ztH_<0Iy@8wRivsNt2k)J%0VkuJZ-IEF<%9*;MIEV;(2xzj#jL~2Ur*EYUWidRuNPq zR?LCT4Rrb#tm9DuaECK4I27Msj}g_r6@nu{eYH}WO(MA@l20Oml}Mw`tIa3yY(dum z_Dvz1>WAfpEDjFgbouJAzcE~2lkKqbLVmVpd{VU-oQNcY6e*`xyT@ z)rSm{Mn^L6oa#*mNkf+!I5kR~PNYqZlBN?WQ;CF|aUN;(x;Vdj45rclV(*O+IAR^M zr8q(-2BkLh`4l=Ii#Uy1HgIY%0!O~{y3d+8P|KLgjdIW6YC{5rTHb+Y)GF#IHq`P? zTs7xpcx`8LtB1=2JHmIS&tS72{n;?5<*S9+Ii=f-=bX}S21y-@!8H1M?7b3$bE+#F z|1|n@45L#UcwYBxgUzY#JwnjO4U$GjH}Jgf?J=emm%-*#zc&aDN^EY%-C@3l#(kEJS8%)%^vuXfzodhgafAF^QBK4J5vd2FynF zdV1^8fUq777)6Z+^wy&Rz13(yZ#^0i)}sMoJsJqi(SQMZG+=;?1`N=nfxvn+ptl|k z=&eQrdh5}E-fA=;s73?E(4zsp)o4I(JsQwkjRpkOXh2Xk6oP6r5HJlZ-N1T8ptl|o z46KF(rc8jULy4~$9R!mBW~t&OjCT{$9T~^Q%S#yX#?KwuzQ)T-81u$YC@tsb;Q_79 zIos*GEq4>$9a-we%S%}6#_#mq7P|>>M;5yA@)B0M@ym#%Zcv;KFrX9jXndqsv}84) z){@nLS}V^1h!vm*Ai{b8VzF}o5{v_oLG%E`GUl%m`PnTfi+azFxNguGdZA>h&79dc6kj665Lh8sK`Z8?Ih=g&Rq@ zYzSo+WJ3rp>C1)?aMG6zA>gDh8$!TIUp9n*lfG;S0VjRg5CTs6vLTdRkPV^if^5vd zWjV;k3~-i%Y|H>>ImpHgaF&B?%m8OO$i@tCmV<1}0B1SK#td+lgIsvYF34UCT$Y3E z#QU z+i{-lIL~&RXFJZb9p~AO^K8dFjg-x^9p~AO^K8d?w&Oh8ah~ls&vu+=JI=Em=h=?) zY{z-F<2>7Op6xi#cARHB&a)lo*^cvU$9cBnJlk=e?KsbNoM$`6X)4_w^K8d?w&Oh8 zah~lskoD{RFZ;4P5Fcko9TcQa^!QrvfhZ z6UaJsHjs5{xYEx9S*Hdr{XCF$YT(k(16ijAF8w2rb!yWt|#0<(JD(}rneObQ-PWrNboegCD8ZPO}`ZaLU zm-TDlq%Z5&z)4@$uYr@k?5zT4`ODraaF)O9t!4w+TZPN=m%UZsEPvTs1sB-oaHZjt-vY2?6m@?{Ib^yobt;V+-x9wu5c;8EZ+gA{Bi~tIOUi9R^XIh7Vm&l zemR2+obt;VT;P;n_F1z$90Zs0%VHgH$}eYhfm8k>>C65q{7GLH_kfeW?5_eR{UYTr zl75l$%id}>SS0;L$}iih@TdH;tqPp<U6ed=c(0D?c|r+(%EAo!C$^)n9uWdrKxfclvSfZ$L0sh@cO2>vX8>gRy^ znFoLnPWsf(JOBiL(x-k7sGkGsXC45`@&FKA(x-mr0U-F3KJ_yX0KuQ-PyNgTK=5b% zQ$OoA5%b)t02Y}$u@~3_dsGkGsXC44TJkqCr<^dr1lRoux zK>f@!KUtpnflK<-&ph)3f6}LZ=9wS(v;3)_dFBWHEPv`}p83i0%nw|)f9hwR`GG&_ z)6NX!A{G2eU(WmhXZg!TD&TDYa*+x+>B~hb;39u0`_tKw`ah)p52^n{>i>}XKcxN- zssBUj|B(7Wr2Y@7|3m8kkorHQ{tv1Dc}6MAGfHq}{NWiT;39uW{U1{Qht&Te^?ykH zA5#B^)c+y%e@OiwQvZk4{~`5%Nc|sD|A*B7A@zSq{U1{Qht&Te^?ykHA5#B^)c+y% ze@OiwQvZk4{~`5%Nd3>VRau^`f=l_S|9Q3w{!;%uTLoO|pJ%IpOa1d~6>zD4o~;7T z`ltTq*{UqhR>772A5#B^)c+y%KhIVno{axITLoO&KhIVHm;T4IRlsHZ=h><(&sM>e z_Rq6bz)7F_pJ%J!FXK;0{U1{Q^Q;xZNuT_Nc|sD|A*B7A@zSq{U1{Qht&Te^*_#5Nq*G-A@zSq{U1{Qht&Te^?ykHA5#B^ z)c+y%e@OiwQvZk4{~`5%CqQvZjXpNG`{A@zUA`FTkFA5#B^oS%o({~`5% z$oY9l{U1{Qhn$~>)c+y%f5`cHNc|sD|A*B7A?N2I^?ykHA98*kQvZk4{~`5%Nc|sj zejaju9#a2@)c+yp=OOifNc|sjejZZ)ht&Te=jS2ye@Oiwa(*6C|A*B7A@zUA`FY6s zc}V>qQvZjXpNG`{A@zSq{U1{Qhn$~>)c+y%f5`cHNc|sD|A*B7A?N2I=jS2ye@Oiw za(*6C|A*B7A?N2I^?ykHA98*kQvZk4{~_n+A?N2I^?ykHA98*kQvZk4{~`5%Nc|sD z|A*B7A@zSq{U1{Qht&Te^?ykHU!eXkQ2!UG{|nUr1?v9-^?!l-zd-$8p#CpV{}-tL z3)KGw>i+`ue}VeHK>c6f{J+5Ye}VeH!1;fH`oBQ^U!eXkQ2!UG{|nUr1?v9-^?!l- zzd-$8p#CpV{}-tL3)KGw>i+`ue}VeHK>c5!{x4Af7pVUW)c*zQ{{r=Yf%?Bd{a>K| zFHrv%sQ(Mp{{_zf3!MKKsQ(Mp{{_zf3)KGw&i@P4{{_zf3)KGw&i@P4{{_zf3)KGw z>i+`g{{_zf3)KGw>VF(b)%u}8{a@hxzd-$8;QYTp{a@hxzd-$8;QYTp{a@hxzrgu_ zf%?C|`G0}>zd-$8;QYTp{a>K|FHrv%IR7tD{}-tL3!MKKsQ(Mp{{_zf3)KGw&i@P4 z{{`y*0`-4^`oF;We}VeHK>c6f{J%i`U!eXkQ2!UG{|nUr1?vBToU_grIR7tD{}-tL z3)KGw>i+`ue}VeHK>c5!{x8Vk9^_Y-`jW#vz?;NdbXT;ySeNy|#k%PK#k$xZi*>QT z7VBdFEY_v|7wckwE!M^USgecvw^$eZbFp4yzCwSo-XJdY7wbZQu}=C8(r=J{gY+Au z-yr=4={HEfLHZ5SZ;*b2^c$q#ApHjEH%Pxh`c2Yrl75r)o21_){U+%*Nxw<@P10|Y zev|Z@q~9d{Ch0dxze)Nn(r=Nz?2Kg>TcqD2{TAuBNWVq;Ez)n1ev9;5q~9X_7U|=J zj@sW^Y?1y7>93If3gurR{T0$*5&Bi?i|Rr)wG=;}k*dd_&b>;lQKiW(UPN0qvxO5IVV z?x<3CRH-|v*-9#kSxc?Npm0GAQq5&k=f^>*wHRb9DaR`HNR@h|NZF>FQg@6cPHn`Xa7Cq3rBbO}l`54=l}e>brBbC*sZyy_!!UJm%xY?L1YR-%)h&u-qojhVQo&TIV5(Fw zRVtWj7^N>8vhR zQdh*qliH3!$(2*jDyN=RPCcufdR960ta9pE<z*_8im z%|NMg{G?E-7K3(q^t_BN1iQA|BN0OvS~7zu_R55Ge6A((`h&(=?vM7Bs1u&dL3C>ym}m2 zL#b+ps_N{fTH3Lzy9>Fs+anP}N<9%nN<9%Hriioj@q5s*XOfzbPsGw5 zULr3ehnI+C{89(wOjGR`oIPm5@x-MmkBefcXP^|GishqLDZCd;(7tHIvb4b7ZjVF^ zDT_o5DT_pmIAh!g*rO~GF{LaLv7{^#F%0KkB9ie_()8usW+jaQwXbGMd^MQSzAhe_)`(0sC z`wENNH%^z)Au%dxghd@9Eb26d0ldAOU~%dSo$b`Nc4pNuC>=$Og3?j07-hd5gHu=N ztf#iMquGyW^F>@Eh`2@&ag89NwHMLai)igdwDuxedlAe4j*w2A8`&J zaSk7G4j<95ifC9xG^`>TRuK)Wh;#UebNGmJ_=t1(h;#UebNGnnR77(sqB#}OoQh~p zMKq@(no|+YsfgxOL~|;lITg{IifB$nG^Zk(QxVtfBd*y;T(gh3W*>3QKH{2vMDr=4 z`4rK7ifBGXG@l}xPZ7x{*X$#%*+(>-A{tH+4X22PQ$)ilqTv+LaEfR+MKqiu z8cq?{>?5w(M_jXyxMm-5%|7CqeZ)2Uh->x{*X$#%*+*QnkGN(Zam_yBntjAI`-p4y z5!dV^uGvRivyZrDA92k-;+lQLHT#Hb_7T_YBd*y;T(gh3Rv&S#KH^$^#I^c}YxNP= z>Z7IQ$quge4>Fs0dv^33+oXPqC5;Q+?ZGAdkw~x4PA93A2T3$|Rvbb>CuE~Rwy{p?bTb_m4O_i(o5m)geuHr{r z#gDjZA92+_;;MbbRr`pm_EBXC7e??Phfvj^rYf)0?54`K`-p4z5!db`uH8pmyN|eb zA93wI;@W-0wfl%`_Yv3bBd*;?)#XfF(3&IlMyQm#;%ZX+NwIU;KH{={#AW-4%k>eL z>mx4LM_jItxLhA`xju@P_v@^+z*DU*o?dKDwKkM9-RcfDYgoT(ZD`lhhoaE{h-cKj zj1fAIv(O_fy`nBsv~)sybJ)du+;U@3AEATpKcCFU#Ybc{Gh8)Gy)@vGdW3=1r z9`51(Mql4%RG=yWyw9%Zm~f+6`K$`gZ_f+VRUg5qt*3+sh_*JXpA}Y+dLz<28HtCJ z=ZCod+Q$>DcuBY3nb*WO<^M+O>DJWX`LLE299QG14M2QHs++Xr9>pQXly)=uU8G>>QzIydesoF zUNwYUX8a|(dgTrNdgTo+D;Ena>d|bpB#9>)9gptoRYSOX)ex>;?SiXU4dIf$XmsGD zFPa@V>5GO3PWqzhfs?*yd_3;2S1sY{RZF;}FB%_spzjsvN0HmTzA%gTw^SD~o_K%j zNXsDV>XL!w>Qap9n*#>ZSC?W$z29sQdG$8NTIjO!WHabHXlSZ!;-xh8ZZ~{X(`$A0 z3#`U#RvzU>pys{ZMbiMHE@j0q+O>h@QkKEAWFrKU8AM5DV391wv}6X;lEsLU%pg*F zi%aubCgVGj$@nB>GG3BY?1kKd*b8u3TVgK&59aj?+ZzydtJdG1Y4nH3TJ3&se+Rch z_ix~-N6DyMnA$}5-O>v!Io!3FINIy-eH84B?Qh~m-2K&IpIuh;H{!ANh~CceZUtQO zA$l7)TdnN1=N9UVj=X%_-|Y1;)l{!}yL>e_;U&C@%EMVX5ETf2 zb^+Nq08XJ~;~MeV1!UtIIE9dnYkZc1T|ksyZb3E*;Lk26$__ZYyeK>1?DC@QfV0cX zMm2DDdD*B2t{2gur5>QCeA3qy>Lsg)XT3ggX{_SW?I@ed12_`t&8t?-J%WaY?;Cw+YGgXDr&i?u=5IJq)vH zjI>AE9H-Tzx0`EdtTXDN!*&De;!5Or(b~oYzU(k}WkQx2_0Xz%aDT3e=XLScX{&=T z7R+E=S8q6POfLzkx#dKf+16l7T@1yR4LO;{Q=96;8q<-ulab1D`i_Fl;_aTzH6&P@ zQIGp5U{=5FqafH*>SZ4V>UNryNn$RWm-d#;>y0Ad4Tj6mp3UnGq8v`li@!_?flK?w zNpAWxpMd!UP5QTHRCmVPNzGXdTN)Th5VZmhOA(hQnx$62VIcaKXOV>-rPk)OwIlEV z*31$559aheF9tB3G}$b*M3!12OD&P5mdMJyFqf5iAzbn!^FrX#MYA$51YVZ>WnKte zx@cDBg}|kYW@TQO%gVeEE{jm+g}_;aGA{%!T{bK8Lf|Y9nHK_QdC0sFxOCa9%nN}_ zm(9vDJMd^0pP;}K<4`!$8X9hdP1EZogn^O-Y4GLWM~_7#lFBP){eRR_x&3y&7IsOr)<5H*KA>#=#k$oyWar z9c2g`O64A-DvnD`2T2Bw&OkgQ2b+;%?yZD}%Ed&`iIj(k4qHqiQg}dyn-m*1onj@9 zr815YRiJS^g&c7;M|eoRy^6>5b<$Z_&1(3lb<(Y?+c4oUeAYTMt&PpCZK$|ZMZF4r zuI|-pRBa=C8siS8e_JVecUytFK|;gL42F$06xJ4AV%vg2iVv4`2PrTG3hG-o5>FP= za_H>SFoubyk#!Us2F7dmtLp0=xD7o^5H^lBabY~G+$K>L_~fFRN91I&46ZclT&{}g z3EIjErUZBo1;zko39z6cSW7;bCAP_iMCO` z+K$P9!vs2uLR;+*QKT6>w%zYtjo?u{?W0j8;|2x=Ei7yW$(JHC48 z(tzsQ^N?w?r9L^Sz6mo6BSL+W2FB+W+6+DuwAGq7Gg28C45qTP46-6k$`)Kl)Y4_} zrs4Lem&_;7Uf)(&QrubPAw34Yc+^3c3sd#pQOpi)UEQce6uOiiYuw;=Ts16C)d+W$ zur9y+!a};y!b8CF4Ujp)GJvggdOb{)F+6HWd!`hl7_T~8n=x45n#AXQplt@7VP7^O z^w=RItIAm?6@sz`n9Iu=AY2&+^0Ed9Ty#6{)#iAw7OvRxyjKfc%oE}kLi-OPKBz(qIn-Xn0)&Aj&rTy!(l0maL4@Mj^>fC^|p@p2r(OEZ^Z7f1c43E;Mg^3Xo? zkYeX`lN_&`z!kB1-2}LZ&Fdz>#U#UZ6J)rM%uw15@0%cEq#~d_8x~|UDaQ*ZaPukx z*016SA{1|&AVN_^K*Nb6NY(So2_k47784Q3gPb`<1ZlgxbCTno6Sz{WxO1W?;ORd@ zK{lKafu$fDPQY0Tvf%`rrI6Dc;7o6v0XdKzCqyI%vg4HFtrNK90H5>&2Y9s7WFT8k zh(Hcx%LzC+;B11|PT;ROz^$S<19BjHPKZDbWX~zbdna(o0jC$dcLIOb0#~qj?*#s2 zfGb$McLIOKK%nax0Qx8X1Au!*1au9lkKxGZFB6g9iaa2B#`6d_&_qroUO+qrBLA#`cFvyu#F70Wge!lUW_mV|fk z3@%m#CiU-hb6s3z=ka0(T+)_JBH%K>@?r;YQkP94;4=B)#SY-4P6dIB9kVM~Fv9Y2 z@9HTrFH!*eSh;AnnzI100*tw}FJag-Zy!_kaz~|d#S_M*HrSNc0r7&_yQV%Yg^vlU z4+Fx|Zmg+b8yPA^hMfVt!2{2XA~r%DpgKhy!IliQS*}0MWFK8?qitSP^F1L#0c0*%Gpg9hH1--#I;M3bB`n61egY|v@W@9;QNFH30k zyor@ZeB5}|#644Uy=TxVJMz#`kh6Qd?-|EuugSFfX+>tWkIy}}y0Q7B3^8P+!<5+o zli%BsDLfFqQzrNc8C6TWg*ZbCu~&${BV!cVs%#t%6wMsH)d(ZAPv24-h#m0h)mR7@pX% zV43ExsRZVLN$FN^1Hm+hQO-b^3;2iwx<{1&&H$ee6cTYsBz*9JH8dRAcR+Eg`GTtp zR+7-mQneGO8gA~yo88&&QMJv5FS5;cmDQ>tJ>e0^gie836-i_O6kFZ{#rOz2s>Hy8 zpK2;yg~UNx!n9^lxSp4eN8vaVF=fU{iq3+tro@h{YNL+NRW`QbhKV|h8!hvs%}-kw z%-})nKE5!c=PP0Z$x-ZFC`Ym3a`aOz}v{vSA1qC7XT zCSkbJBt0<+!xb?JaaCm!dwtE;>{_cPJul7XsoKE)MrT;h=m>*hdrKGIq>hO-0Nse^ zRg5@H)4;U|%yqFuTEoWikzy+RcPZ>@oS z>2r^+B8Q-J6*+YSSIVoxJ-Q0_=qlW!t8g{8!qwOc_vk8IjjeDsw!%HS3is$L+@q^- zkFLT!x(fH`Dx5r2xcXY*eXAgy4{s|GaWAJ%M1-T>B|faIO)p_ z4LIq`3=KHx%PBPAq%Wt?fRnz=5`dGw%+Si5CBUWpaw-it<(EkUaLO-}1mKikCJDeP zznn?~PWfe_4LIeOIYOB?)8SHn=|8|Jzw{sAlwbM}aLOVzpO6;r~I;e0i5#7?genlFS{4ODZlJq0H^%2 zdjXvC%kBkm$}gwf%ACBwrTlWr4LIeOQ*OX1znpRdPWk1O8*s`mr`&*3emUg^obt;l zw=!?0!=?PPYYm+8%PBYDlwT$=z$w3+asy8JWdZ}7^2-VraLO+e7~qs&PPvtNGaWAF zms4)QDZiX@15WwnlpAo$FQ?pqQ+_$+2AuNCE;(?@FQ?qfyqOM{^2=^HaLO;c<-jSw zoOT0F`Q@}5aLO;I-GEbmxtR`}^2^P1;FMo(rk8m$9WLdUlWo8$zuZg*PWk188*s`m zC)|KjemUU=obt=fbl{X9qm z`3uzlyqOMv(x?9C&2;#S{JfbCT;%7?bl@UCZ>E=dGaWAFr~c>7boi4#^*?W>!=Lo2 z|9LYV{-mE}tMGNo+TdLE5$}wK^x}&;k|(Gpt)^3g>iL)2 ziJ8}t)kI2R=?n2KpgXqC#eJ;B1YAndAKy<7?q_ z_c#*Xd5#0rJI`?d$|{C;BuEf$j@ayuz|B!Ylt(Oxl$YiJk2}ZS8zXRg1j=UubY!VI z4Prqq<_RBSi1SE*i5PebJ&uj9e#9`ofS^7VpmXFm33lSbDPH8))v3|}h~c_`Sw($g ziuxf!1lawg9N_7og_o)ojuW zbp}Y~ry}VOG{DuAbYvBx;;N81DmsVuP;OSm*rdm%$*fL~y7Ew@HK5~ez(=LoW|V>9 zX)s`jauq%0>LeGJ~t3mLf1~bA4QF1DbUmH=>>BTVvfw~c? z`~h#6V0#`s3FLt(gKz;L1Pw?0AM^)VSp%xiYJAmQ%Jpb6)brJL>gU? z8q!0g_5>N#=nSk|fkxtlsA4UI>c~oRuqpiNR;77V3PFOTPz=w?)up?Iv0g<`GHA|G z7xZZA%penrPnD5^M07w>6$)UBX|iD;wh7anP8FN-LsCspm5e52S`u;)A6-Ej^cDvRk>mc0NqWxQcs)AVUuOQiG-?vF?=DV&SH&0bu>nmRULg*MS%-8 zR1`oWN}UB?R|PL|WjsKcOWkgO50wP2#MnS?D&_{0Dpyy|#-UA31}=+OL6RLHDHa8g zi49ZP3V@%gY=X>B%4owhw~aWnj-e>BZ|LDxG1bAqBCfQ^jw%#Y2MQqFj%f@EfS<&d z(uS9o7OqI!flx|(xFUc8;zUv<9r6WjAOnH|WIzBU#Rot-8~_mufRqhJe;ExGz;Ym{ zhjhRcLLlACHHgTnmm663a*aqY2gqIyXj2!10+33z1_g>`pdt7wIRVSyqXAtHianh` zbEgVZ_|%;OASG2yN;Ck%ij=vkS0w@{Fuyn=yBk6gC^_qBniJFDAce4I8k!PDD8;hG z4NVIrImPv)M3NlY*#@TM;c6*RInpmxEvfdPDoI?aBUM*AX1`AbxXz(#6|Tx0T1d2C zgC1JXs631YK?z7yv^oJWB1;+*0<%RtObk7SC|Nb2i%+Fd1eL2jHkk%}SO=gpNhat_ zx}4y$c9oB=8u8M}J4}Z5D9HxKLq(QCkc?FXd^rj>0(yXa$V+`cO|bZrTxvFiuV|@; z2{TU+l}ICrpiVLfNE`&yZxp1FI0%hn6r>Ryq_S5QpM)u%1k-`4F*GGa@q`{f%0eS? z7HX6pWg%Fc1;1RT8ngQ1n-WoA`DB^awrIvWKyi?uq%3TrI#|U;%N?LxdbW^i0WWfs7$9yA(>$Z zHLc_5e!n)#91V;~ROW)kJgU)9qB78ktthJj%A~auc+AQmK`~J|Fst_Gmnt+nc;MyaO zP#50g2*7m&$E1i`hP%T@M^cQfW6q~Pm8Td(k0qvpRt=(pFpMQ4!lF(@Y#2mE#PF5~ zI&2UXbT|%D7);?rju-@qsnS%Fxf45D&C<4y>I)||+12eKm`R81mPe@EDM zOgU}=aqQS9mO^p2*&A$W1wOOd+1^~kbG`(M3kJvVTdONO&L6-nAi0 z3tu8tpN!p+l)>#21Ybj^-aF~3@*!B}sv@3?C84edt5v5GYFfC{cKXF}&tO#j9jrs` z#vvV2?;IT*kdGrLGRFX}^F6n=zScb;pFvIrV?wP{tKieIBwoq|he|<3@w9RX$hqpq zS{#sH(19Sea_$jaJ<|dCLLx=BJW8Pg{(FjiI7$&NoghW-L;+#-L@CNA2*@uUACS>S zj|v-}tBTQzQNgvC*)SnyZc#IR4OrkhF0Prf%y0pfVVIDgD2%POQ1Wz)b<@anu}eco z&a5ZxDG^t9_(?>NIX+@zhabt|8-|+P;T?gJ3zkfhxriqkN7D05`8@KWy@bUK^+dv+ zDId$;E7@5(4d#1$1(JvE4jx1T3<>Nfs+~$iaFFyoOE+dV&CW^=jad-Ype2Q(o5)78 z-bs!nx5$dx+>tTWFuESaZq%^Adc_XfF3`-j3wEgVYvmJkTQ2juhFGxthG0rm=_0G;D$;Q*a{6>pppL2&(-B>(amnRiv+hlCS0%(Hm)lhdqkt1t zLheK*mpf6(GG34LIA2vwV_DCa4f*aFO*K+!wL9t@I>~7`k+GLQMltQJ z^5zH^7xC`gbwE}PJ-f)N0@3avX5k6LS@S0jmj)1rpM|Lm zN>Y+>2lFXz7M?-1(m4lnS>v%+_<_}v2A_i&?n#q3P98k^ z9{pa#&%w<1WVxRMTm9tWqYupQmH&aQlP8DnJ!$r6$R`Uw@L#BJo;3A2sPU8LUO#E@ zIhfL(G&!DL;K%LvESi&-?19cnQ=fxL>`8M!a?;>)FjYKR@^i3ocCzpT|0Ve3xhu_4 zE`^86%audrC7Rwqq`wTy`)SkHAB)9IV|YtN?D(S#EZ$q93)hBN&zB#sgMX~ zQe{}`B|U_f{#$tQzobvn-z)#}e@VZ5^6;`QHx|ww`Ir9-e>=)&uk` z-d_1vPaeK>((=Pwn}^jClcTwX@zApwAK0PY%ire=O`Le*VmwBPhQl~edn!H0Hp;Rt zjh1S4z;4+xiZ)gkYqfJX2U`P!w%Zz&{7`nglSzQ;2-1w>ws@M#Z!}|3pqM1b`L9X9 z84?iBQq(S&gy^hBa~gFHWt7zpeSV8Br%a^&Ix-%}u^1UKs zZe~o=a(U@^it{R$cyU^ns={P#8qckuo*KPo>rnns_E4j#I{3*th#q=&4gnH9=3%LH zJP*1!R6yLY%d(iVM}QdAy9b)`u7T)yK1$N>6d$@G6Vpx97t2l;X}n;rwm0RSBcc-T|PocL3zwGe8Y+dk36|h8oiLPH{pS zC+djhJvyS46^5-nX{hmP?|>7@v8(xwDr!f-?)r$EUa728xa=2VsP_6SZ+E%pe8x;qK!bChm7N%#S1wUY#& zqej$|gdf1MypsfD@#!R?2Tsn~*(c@fz{wdq`{aBjCOmr-X>z`EeDK+c>CW+?2a>a$ zy9za$f8IS?o?_BIGgJ!M zvs9h;H-_tL?PRLliL#S`UFKeHWtT^O0j5(QM`>Xn;`Kfh7G5UYY-@uarP_yWF5YTa zM7(X~4ci~%#kw}s9qn6M|c5Lmu_vEgG(8-j5}v=JRq6JjFCfqClySmSXDWk)JR2P9K(Cj9G(1nBjn z1hDqw#AH}!ghN%aKg@Xrv+b5UFsZw>|jsG`mTeUR_v1@q$5;sus7<4kKT#UunSMGtN1c?Ewu%7Viu}aG!kgVm+|f^W@9@!2cqe@_Ypo<|9jP5j;?6NuU`Zcq zYbOy41)L1`S5yJ7*LHHY3wQ8wiq?)~)<$b1nT^%OBWnrSTr{25`dZS<+iYoCNk4p8 zBZ)d&*kErbeXOf`J2ekL8$)JeVdJsT@=TYeW+6tS~JOmwKb9m}C z4$}3h<(7oHMMY6%28}hlfY$&GkTpQg0C@uh1_%vMFhJ1&iv}nepk{!&0U8Eq8lYu> z6#^y0Ps#98GW?VbKPAIY$?#J${FDqoCBsk2@KZAUlng&5!%xZZQ!;GS3>&x=A_Y}5 zY}5=JHN!^Duu(H?)C?On!$!@pQ8R4R3>!7WM$NEMGsRLf{L~FUb;D2H@KZPZ)D1s% z!%yAtQ#bt74L^0m53YWQfOW%9-SAU4{L~FUb;D1?@Y68-Gz>ot!%xG|Y8YC$t0}Y^ zhE~JSY8YA#L#ttEH4Uw%q180Bnub=>$lj#vc!N@C1vsUwi3T{OOn|9^MWzZC<5VoM zV38#jEK-VKkx~SUlpvf&)CG+KKNzE#-{pH&jU2R&xX%~@$Vt{8y|b<*rNeI27lvYj~#nF;3wd3 zeC&y1PX+um{Ed%2ee5}apNqfovFDAw81PH*H$L{#u~!3r4gSW*UOVw{ME5v0si&aZvg*x><@td zIQA#Nf8J+}?b~PXbHKH`?`D9{-FI`q3;Sw->-!pjoBK8aU$w6fcrbp?v3=u*#t)56 zjNfbg`G8+A{&v9c7=H)gcaFao@cYK!5BLM)zXtr9@!tUc?SwTpF=0=9ZfxJg=O?}j z_-p%LI<{~B%l5x)Y<&OA_rC)0EBC*7Y-0agCa*KLZ}Pg6*BzUfyx!#X0AGLd`hagR zc>};VoV+368%?eNUY%S6+@5R$K0J9C@cLvIaBp%G@Kuvn0q##80ep1w0b}En51f1u z;0I5l{3o9<`9%0UY4Y=czcBd)_B(Ib?O-4drv(O@Pnov0{Ed*4+Z?N)HBESrJj{~;n;ZUMJcp_)JsyY2K<`T zn*hH#^-jR=N_`0Mhf|*d{OP%^v3+yHxhIcJ%spl9>wv#8_pPzKPHkFg&E__6lW0YAfj2H3_D*?aCeih(X+i2DH8|*g#exvow*UV*=h|yOJ^R@`?X`A=#7UAQNs@Gvgpedrk|f=ZF6bn;kdVab zxa4x;kb80uNhPUH?#cCpILYPU>-Z8v(*D24nCn^X#5um__xrwH|KGD-Ypl;6Yp%KG zWy~?h9COa~ECxSacpAK<@FMu7!b{*4g%#kJ3onCL7G49tUU(h+M&TdePYR!aKP`L; z{;cpB_`eG4z+V@r<-#|GAHf?78^J#nHi1iplA$?7RmMg6C=ae3(K@0yiowOG9=Lu) z%a68+nt*qSkc6md)B?Omgd{{Qqc-4uqJ6+^qqg9EqkX~cqITf@qW!?_Bg#DL9rXqu z9UTqs6ZHWf6CDFSHaZsEH#z}4FrvjpCq{$7Cq=Z%XmCWUjD|!*z(XVIB^nk{FVXPm z_ux~aQ@|smQQ*09Jnejg6qbVXIwv~JmYQR?Z6G<2H@@E?ZFLWv_ae??g~CIJ`mh3 z?hZaQJ`{XdJP>?hd?I*IOy1*DV)7o3jM2LBCGjQT$uaqgFOA7pJSCnAzC0%V@$`5G z_{R7q@LysyZG2~ZC-|-yjTGM<-wmD>uL8dnzXg7~xSw&w_Qm$b7CRINgHJ9}=EdPf z-djASI2QbeB5@XPEY1YqTD%Q>d+`qNokij--d#lIi}w_lf&W^h6&IHmUje^bL<<#P zE25=~tBR|@ZxufTe^mSk{BiMP@IUI(qtuP+B8PS3y2N7|)9d6+Y$z*}DLW}&`CZz? zHHZ(6?~nfuGJ1NNbM4Tyb-NwhqmMa<0q+Hl z&8}v5)5`3f-u&-Z3e+0(l4zJ^F}7 zrezPMJ$rO(WZL#reDvW*!%v=ykdNObPwkXk8>MgDoZf$j+MI+Z!?u?lZ?=olgO&D> z?OnFF(tb(@iucm;om}WCO8KTccs%qEc7oDLN~b8DcJj%iPqWjN&QLmY2%q1wvl!f- zY#+d}I?O(*biUHX&@pzo(icZa$XAuFlCNdi_h6i4KUDge(l3>+SGtkU!;f-KTwSh~ z(rTr3WoFnlP})doGx6lQR!ZB-k^|RKX;-D)Gn$ZQQAgnZKX(0Y~(wzgdfG;U1nZ1ubb88 zL-RS7>_(fhd0W>uv`uUa+s1aZ-E0rr#}2@D9c9Pa3HD-pg`IA1vUk|~?4x#}U1ndj zuiMr3L;Jb?#%^>Omv?ntL)XOl7HRDgEeB`UxW>Ljoaj{2m}%vIXWAscyCuI5^Vje* zf6cz?ueDxGu3z|TWr1rgV=I$*EBht<5y|ze-pPOfA9HDB$owa@q0IuH44G%>ke$(4Ach5mP(q${58`E^%%e%&?x zT0ePy+oa^S>+Jar2KZ~kB>#=C^S>Lf^Vgko$+exo?m9lXNbAy?Ud`dr&M@pT$OU8f>Yd|@S zFW_8J#`!`ySXMP*7(GfD?5mX1QaOLw%#raOVeTm7U_ZdQuZ+W34-R&98V~jZoVjHj z#(Hp`RE{MtO=!g}G=JSpcgjd}X`3Ps^~rO8Gl9|RVzbs}D7l;|z-^ejnWyi`&4k{b z!|Hc4bJ#)d*0K=uG{k%jA#b0V!>ZpR#Pb^BMGf(+hFJcy5VvRuMiRV5N@8a2#-D|F zLPIRj5RYq!$9@*#1r5R2i8!!LiQ}1{g_xxwW@`wnHbO`lm*?dk4S|(Q9E@cMai@l` zl#ytu>r_Y0)iJm=*%<4W(Q_Wk_(9s0$;j9%SR{O<+1!O-7rr9nQF}8w?=aKH3^XIq zd=rqUE6ohze89{zOVE06nlsf5ID|qBB!;R*KF}(K#tPH$@XtbY67o~_clBDXA z6irUir71!uCgCni5mtS|W2}-OT3CYqn4)PZ`csN%cS*RbQgn5Su1V2!Mf9@SKG`!w z>(KJ+&{|s3D!S562ANZ6{pXu0=4vBtZa(!-xrdZ&$oLIJ$tH-B^(g*Gk!XhMcs<^R zfp{+{?c{Eg6zx)jLTVt1g&Ii0G0Fw`Sj1-`u}~{XIBF#c_i>77^$D+Ug6f3(h3&%* zVW+T5cwpEqJSaRkJS;piJUTofZWS{cwI8Dyj@=@kH>EjUfq!W&J@I3Ipp-aELLE)8oyV4^?2=quWKj9Ofu$_K9!L=`s6_TRhMM{pcr2u_yn+{ zbsWEC$hb8Ud1@%!OuV<^t`ZV?>%vufXs;9JbMK9iaWTHPSVzQQYt z??a~+*FY~W{vCQPVKc?G338chGWeV}>ss|N-YT(X#4bp6aIqh$y+rs~yoQ_k@hzn7 zRN;qxpgU?R)Q%|h;f{DzGbwW6lJHYF>j~GD{<0@}yFYDYm>GrcJ_~(tv6+hgz7EUv zHZuzy{wSJZF`n5M&8xJT_po0-!yoH1Z)T7SC^AvEN-z|hd6KcZ%Pdm*l+wjYpH{j= z=~AVCRk~d1GfJOT`kc}il)j{Nh0>KuUs3v+($|%~q4Z6qe^a_7LmMCsNOR^{rLPFZ zFY#6J8)J&!;ho5ASytk~$lNbwCH{-dLm-z~p20`CxunILk$Db|%{*DoPoJqFNp!kM3gl?|w_u%&xzC8fioG0^0 zawBl2cs-J!_FwUa6#Y3tL3Vpu!A@Jmb=OMaX6%Y5h}ld<_!sS#tM;6b($#i7Be#RfV&{x#8pCyl{TFAY2qa zh14z$kz0Eh-j$B#U~Jd^W{4Ss#7Qj||o?G#m~s7{IsDME&c#hD5;Utjd*aoOWcCVM>EFw73l4l%W| z!?L4IRrXY@hGOwR^d=rVm&bE704;Hvj%=qfX1EQ@eJ+~ec}BJGnNQ3*#`dZ*~<6g`n5X$3x|(h58h+4qQcmLO>bo+quq zqX8+BR^WM4q<^XUSo4mhm~aQB=%f@4PSMFJ8j_-+DH@id;VGJ)qH9xhU5ai<(VtT^ zBSl!Pc(A2zMko)-p(pHY40cx!lMQ=@CzxW~I&Ncjj@!oVOw+hK;dhH4i6230iC1Em z|9NY*hv5quXh+zwctR%IEA0&YAP?Ail8%Cuj_=i^bUc#M@kmO?BPkt^q;x!zGVw@q z+kKDeU#tZ zCC`75gyJfpNM(pOzCQl_ZABw)na^S$Yzt-}(fXZI)F44Y_Vnx-G4pjUga3SUuR0a~ z;LX@rbMU?_|FwRrtRyG(2+^%(2)t+Jw+{2ME{%IrDY|E z)|MdJSc0y@ejbzbMQH4Vi`Gq0>l7W4qMj)_GDZ8Qs8@>6#7Qh@;sntHBnX|Hp!zA= zCPmbJa+g|6(6wc0EtcW!(+~|)v_pz^OwsRB)F?$erKm%S>M2s$E1tl6PAnc*9Kdy8 zl8(m7{oK#`-2wEw1GA&(kH==mGJ+YG9cQ+QzmI=3+s370#xyKui?vMSV!l`hOKYS1m!kq9iIFHj8RfWsw>*|M} z(aSX`%rDGW&A*AU*N&!*>4HCLa5~;trCv?n;#<bqx+!+`yv==Ev8{4WFYcq)VZ}Cj9a_W>LHwiisa@%BWu%`e#^@BI=wNumw-|FC zz!S%1FDZ89dOFu*2yuF`FZ8(Lu^L)Zo-ZB`9$4%TWmN)k)&=?TOP2)Y(N8C42W3yn z4voJnnqp9_U92u1Of1$`4Xke)(c2He_c+Tw&rF{m75uyuC0Ea>S4w3-SBOxbn)~vy zm2d};<{nxOT~j3XXP30(-=!3ejp?N+-!@Qh>G#yozg{~MH$8R|_almY3f?Ea-m=Oi zxhJ-@Pr=9(T?`W6TP7Z*Jn@u>g|?$<62GnKc^x_^9xZnnQAiE7g;L6z%QwN@;y0iN zCY*N&f4#1od5%>WI>#e^7ku4q;t#kt;5SK7>bHx>5_iY=bZCe8G-&%+?0ou!e<5R4 zJ_p!^t?&ePtnse>XL1(zA=OXBSV~%Y4b;=!Jsf~+9TXoD_n?fAM#_$%?)t_3$={&( z)`@@eE3j7B$583#@}0@HNi!*gbx;wNuEWX%bpbt zwzz->Bk%8l=cKVBrQBHyeY8LuB6nNo>7N?rbLiZ{e?cG96@u5wnn9lW82U)zBaQn* z@Ek9#5mg;7jx6*S%8BI|^4?86b!*`#@Kc2i(D{WQ;LIp|2Y#Zk9(r%#Tj*@sR?@D} zXI=2a`T5p?Xth)D4UIPwqHPGbT-F@&*1FIIQIWWAlog5L{HP%DM%CaaqT0}TvTCt# zeN+j4JgNnKEUJKWZIlH+8imkDq70mCq5wSS=j}V%5$^J62k6qMA#_2sJ#=x@0J<>R z4*GbsEwrXQ8iAKazf;Z@G8fUWa;GWuDOo2;YIoMuHU>Wt?F4;LWG-q3TFP9S_DwbY z2{WL*unq=bAB?~+IWFqJvv)`B3An^xj6^Ffje0^C zM@K*xL_MI7M~6cnh!|@k@xP)CWql}54bXHQ4}LQ05574%4!khx2b~-Bg+3yyN=eJn z;5oALv~YRU3q0#LNZ=WSTPiC^dDB>Z)9K(Rqtmp6Pu2I0fwNFnoRa#H(0Q^F6*(LZ zeq2_l^6rztbE3h}dt@yuDL4^arYmGMDsMU)x;Q!ux*$3eI#;D+0%*3j!Ro?7ohe#e zSfE$A-ynRmFsLxNaB^WtVQ67Q;grJ2!sx=Oh0_aT3x6n#E1XdnUpTXHR^i;jgu;1+ z^9vUgCSr?PYFXw1n$q@?-nsY&wnvNNozPv2w?bKaj_yF0%KA+1ysmd%+u{y-i#vDe zo!j&dYo&_U7jG!CB9=Zw<}b9blQpE-2}R^LdoEl*^MrJw@n~z>8zM8|kXU4f@>0&t zbS^Vvk!sePLiAFM!Q$f~I8%+G!Go2{Sbtb~#oSXmV?+1|j+>q5K2uCeP_?Nr}2 zbM0LZH_)BtCb{YEF87dI;$C!bx;5@I_f3%1zN}4faL_Lp9E=Ml2R8(>gN39Z6P-tj zaz1s@O{D0h=zQhKy$ez_F+~@qXi|zUO3}qBx+F!D6>0vXyY&rI(tDSs=<*c(F-6l- z^rsYEsmRCnG_kFS7E7F(m+58qmg<|XO`p3?QBwaA^&h?*QP<@6hO(#Lg0mu8CH$mJ zq_0{LyAhEL zO1ePV5=z4VcZ$AG(T|FJ{XHm8M@XL!AJr+l_prwQkjC#rKc<{V%Q#OcXI>fSDdj9u zj!5v5vU|_yz2#+`=alno8HZXYMI*}6@rs67Sr!I;LA{aRvKaL^`jtZC2qd3Ja& z52pGiI;Fw8GVe>)B^9qi`cTEM{VH++Mh| zaJTHFV0XkTg*OXd6uv8Lh$^G%s6b!1YqV$7DLOLh&pv@uqtn<2U|H$q=Ry6t07>_^ zQVYd<80GGo?W9;FNw`7yeYS2^eARu_zwF1U?KI5JXtZvMnxtr#6g5>O?TE1i>*a%D zzihW6C06WLq=(Qa!)*8Lq1nT-hi4}e&o@}YvQk@SCdV>&zDO)?i9c>eYGi$*tbJ#U z!^-_2z9noL(@Nr7VrfH7V`)R;+so)${#!O%lrec>wLfi!u(LGmZW^|H%yhqoxlhAL zTWT6(ImCMudI`TQE|KiN#1Ck=<`RqUDe`I4F;k4J@}AwHdxYqqu&L~`Ar48|9{OHE zBCk#1Rfa9XLE&I_G@TNT4#)7M*hgFV|BIw2+gYA3lD-6yUPVFpW4JMtb@k;v4k^o? zQzVz!v$$h*bw+>s6o;!is+8y*)LP{Rf@h& z(Kjhtm!dCH^v@K1o}dCA#}mSH!wKv}*(JVEJc;pp@!#V$@!I&K_~ZB={~Pmi(R;jI z=bxg#r)W)z-cQlm6n&7Q4^#9}iat)!KT;&+>E9vc>5-JXM^f${NlADlrQ?y5m`76X z9!a@-B<1drl(9!r10G2Yc=TQl>u~0sF zBDN`VihgZgZj1I8qsdqwBoe!8ilh&h_8WwIh8O7F^7WkJPc$ZHXSzOH?75jzw&!N1 z?zy>7_uMR$JvU~h?71-?%AOnZrS7>gy5~kdLDJeb)IB%Nbk9v|-E-4J_uTZCJvVlk z?76XHWzUU0U-sPCsc0?!*hj+pE=GJczwB?o0lHpx&eS{;5|Q++73_ieSG@AL11X(f zdDp+XN4X`tV5m6VF~lwjz512oH94wEQ&Rrc--@f*$uim;t8@T+QbwD>N=J+wI(Cd1 zqjcP;VS|U5b4H&ucBGl8bh6TEO0QFT)98_-N19n<#}V=YO6iyOcliAhe&2=PYvFf2 zRA{NS3PWRvfGc< z6+@WyJB`)X6Ikgw#ZF^xd4`>7?_$5n96OH{ugma4ue5LCiC$|zVYSXTb_1EtvhM`x zrYN^{JF@$vxohRxx{j`^>+X8uQ|#{sxnXXU8%v0@-1*Rp-Bjq6_`&Nqb|5fkK(B3e zZ;+iQ9P^%SopR1p&IsYKN|B`6+seY+EF4!$L46*hla8G)G&RjwsLk;&TQp; zu21c^`6>HPTHeqDShfg4b#5tsRhdEUG~(Y%84xd>sg&I?^>vwoMrE)t*@LbmGhWT zb5hx}FDbvBax|y*1`Xp&eu+Hmwik{oYM4uu(^8-Mi*ioa_`B#+Zz|qb@f(U;DSiel z?c&MI3$%-uGH>H0V}+OQlsDR%TJyUdXJ^iCoQHAt;yjjf0Ow$07{OImxQ-)NzP$c5 z^)00=j2WWo_M8lHSof@(2K|sU^!k_UTGz9R&9P6Rnl<4KY$Nt6v|wF$JKLH43WwpD zIF|XD!FbWfFkgO-orss>3VSu4iktDO&$bWQxp*v=uvUBpd$r!ibMY~|wbt41?It`J zIak1o(a<%+9}t+>A8jf%HZdVtbx zl=|@X6t`6x3pMX5{YW_vy4!2sWi_NJDZii6zDh4vdaBY|LXCf;kGX^LHRa}ey*nP6 zvgQ)^GI{BvcY7)I;s54XM{G~9j0CC8x1onvtU*&5{66@-F~P`SG@h~3g40bV7$00< zvcZMHEv69M8q76&1`F70b5O82c-kBqEDxSHhx4Yqo9S-F_chDC=hnFQ`8LIC!Rx^r zd?6uE%W2Koj+51Sv@S#IGRV83bs1WhNm`eobs1@0r4w9BXb;C;|59JYecbNg{)z`W z#?z%PiaWZU!R;NR)Y6Hr9rR?S^<5)U)rua|_m_$9iTnNBCrTfO_H~Q6AGq5jtson) zvVk;YjotK$!?Re?HOr{3VkWtG_WyQ!!dp1SO~Ye2gR;BJ-A4~P&ny zt^34%;l6Pj0-OjzK8S;DgB^n=LGz$h&^G88bPc)(J((rz9}EhH1*3wo!CAri!NtMU z;L6~-;HKcVU{>%z@Mtifx>_E*DBlYS-U~hqJ`27K)(0CiE>kO0ovE8?kZF`@nrV?~ zooScpoax4lTd&NqnE{!>nGu;WnQ@tOG7~eCGgoA;&fJi>Idey5cIKhX+|0tv64tP< z$h@9;JF_P9apv>Py3F^PO<^X?g@v$w*f4C&S4LWfZI~nM!XB6&tR?Bkj+!Bi%1;Z& zhZDj{;goP%I6a&Z&J6Dg@55U&4-d_<@cD2h-w#KPU zN;x90*6N;HJ6f@i{~g6gDD6udvQ~S3E4GOJ1-hNu-IFzBri8@$Fh*qGntsYr+Y&oe zVz^1u=3`@83{FAAC{3PPr_bJ`^gE?rX~>flv$KGwXxGI5--><8|0Q+a*7%h$NlE(h zyi#LUY<-D&dXc`Xoa4*QQ_XKulD^!0nfsjnYr0Tl){?YaQFE@Q=WM0tY{u4?-mg&O z%WW&_%Ppb4G<@2&#y%xp0_$oDeHhO#!%6A+bZWUJX`ZgBRY@)nla#7Yxi3|p24A+y zcV6ne1*9eHbL2}n!Cs=OG;O~Y=4ib;QRyJ1XDRKkw5QVLN_~#*DA7}Hk;1Z6C9+!n zu9NjypNoQGpQ>uXiTsz>{`MM1IcCFVY~#&sr@WQM)LqRqB9R+CFaayuG&?bxh`_`&Eu}A zYigc!d%8W%BCN(X<|!=44ra0IME|_R9pDb)3tG<9adY{um2nH*Vw2%pR?nD9_ndpp zRJ*s_YO|gD$bDpXaQ|?hnjPIg-4|vj_qAJZc6L9w4Q5xj(QP!lxsofH=79^G**$-G z{&LeI|EK)b>_p#-vJ_c-k@Ho~Rh;i}e#rS5=a-!8IX5C&)QrVzz$lLoz;HI;Y{c1= zvjt~s&UT#GC>9%q9X-bO;>1R=12}2db_C}b&T*V*7CVs>X}4E!Ud?#}CnG_72j^_g zhdAeQqOaI*U@W6GyMps|&bK+&aDI#(a<~DMPLQ6V)DKy;rNN^0OMR5j+rge5FL={B zD|&#(DjmwO)HgpyiT#FYZSly%d{l^c3Z;w`Xw5y39t%-kFmvuu)Aj^ z`?pt{we0Zuf?19YJd$OtTFlO>9ogyAoW0y_**DvjR?w3@8~yDdJB-=evFx8cpKn-9 zW$(sye8u86*0epqKHB+qG5ddBWH0S1`yP9MKC@ri^?c33F{ZEPdln5`Bjmk>Ywg;( z&aRs~%=L1|x&dym8{x*daqb*9(M@(&xU1a_?q+v~o6RinTx5O;BfJ&vb@w(_@yG6S zx6XacdFvHO8pr9EUBR+ z9v|DUQGJVlS2^|X-I^vT@#)!``V?+W%hS9@)A?&ubL8_?PVv4;PR~(#?q+O#u78dC z(%716`Pi~j^5yAEEWuhbJ`KKP{xwd@%BNFnElKmQ;G`sd%6&<0jeSY_^#4z>FLR$$ ziNWE8YrEjXNM%@HsXlkbFd8F}&Kh;|MseQGd>ZtwH0oqR;qW#pN+D{!xKUFkG zX+PCh`>B&?lVi=vBJJ*3sFBfE=@gOs%!@J}3p?`mv;W_1>bfP(%9kZ?E_`O<_ZQ>T1Epm(O{^aUJyTn;O#Rw6@|wj=tEQrF5Wp32aaCqFA46 z*7SgV$=~AM1^YDkT$JPe+)D2Hn0+oh&R{#$lwMO!Raw65MVcyKs#?Nkw5G~)Jk{L! za!yLV>~2#2T1qw}&zhgyP^jl$s(Yz-yI1SlSJT5krn#Fe{ zW&4xzeM%ZB-`}kx7_Wwu`E;d^3Z*SKVaJes-KrV;&YH7>w*|IbOTHx63X85a-?(aH z_F=AKU-Z;|%*=E^Q*}a59gLPb3~y5ptmB^MNIXbKp{tH&2ICk!N&QTJwABgN)HBqA zUT&UY=HVS|z^}~Lcungu)36WLKrefg?Tx>*FE+tItl*QGZy1Ul%vV{lfXCaj@t>Z{ z+{0{pul+lA@R#;0Jf+{*Z}FD?AQmz9FrRP5GRR>WM66dXVjtAQgSw~N3;SSiY~g*y z62=ZbfZ2xwu@(+O_s06ISA(zTG0NjzBx@Tif{)GbSS9wkY2?0i>#%yibKje$?nn2d zY36=%o6K(beyrI&2>9;n9(%4`KkG-=D_?F`72Df z{55>V^dQRW|4$aKvDl0jtJQwbxry#6!^!B(G0I{rVO&E_Y)OYri(k($nlP?CXBSTL z;(BoQ=ERb9138Cqp2B$==Xg$fVmFC%3g6|k-XL8=fc^~H-&Uwh+Z6bxGfvzs} zNZxKs$G9D!yphZZ~aG{#Q!BR{Bq+8-$kfiZx70-?(X=a!Q-|oBm7jcS_ew`ZsyH zni{v89#-l(FKOUTfvW|Z50rBRBUEem zRD6fhQl)jCB0!u-tooQ)NjNpVu7K;#{-H*@;D%6@Mgk#nzz0kIT z?-Z|BJUGGhvE~Q!5%dc^C#!4op+Jwxy$N zGiXN}K&#}bQof8f(7RjFpB4&#({&PCN$+kNU`5Y`QkwLJJ3^&Z$m+nY_DiUDY8v+b z4Aw>8W$rU`@I)MUm8PwA=}M8B?7><39ri@i z4)vQO+w<0tZ;emLo|iqJorto2hn`Dii=GQx#)!@;O)%0!3}U~&EggvL;MbA;(WPPH zCw22>){1dX9!dNy-!uAO&_h3;_a*-mO47VvNrQelCfTxs1hs+S_Cd<3rXi1fuuIWEfsJl-1=JV2})Zj&U zoJ2@XeVIu+fv@qO7k7#~$NR@!*nf9;d?Y*X zj^iudC&h!=b2lzNBOV{08J`uO9iJ1Q8&8POi_ecQh$ph{a#DOzd@&UmEMOl zQe~v0l{!2O+27f8$Aa%;`kO(rHwaJmS^r7TOexNG=)@p&v`$+gwh$|Q3ebXBV%X`` z@O2K}Rf-kFn5Q}XqB|1&4{8X_<1*xKCBAHHcXlEXzmvIU^G}B)vK|77vrC=S@CKKK zzsBtW{@#ha#A09A`!wdA-F|TT$Q#`e4k=_LDfPcjpIs~Iv}@$;*ep516r4!t8^U+B zHB2Mk>ow0IiRN*td9eJ@Jp9Ll>;>70{I7#wEB$jUdb4zaMWRY4*_qILt;p@2_DsAe zqcX#w6Dj@6|KIYF{-^$v;Q3%>@Mf?&SQ~s2d=Y#TY+wmsHj~f9nQb#WW}0N0XIf?2 zW;$lNX1Zs3X0U~+v6G-f8CjqW-Ee9q*4Fr$`#qfflz+X_$uhFGGxYAA?qu+f!a>ST z1eX+_u5^UN$x0fDd4WDPQ=THEJawnWyjJ=53WrG!-fKT|)E4W&gih7FS1Ny|#`B%x zwMtLYyC>q+I`E+I?vbqw^l(&yYh z#!lGxvM!`8%h)TScD}~>gg$k==Hf&xjT;pElKH*9?%;V_Dp^0`@Yg@mUq3T>}^pSyb{J@#RJ?@Yx%X>30!XM>i;-5T>Wjps#uR!b7^ zyp;0{eM<9AuF(hfad}H=vF5#|91hSj;VxmirFXS_f{`K*Xd2Pl^EI}=2u%Haq4#{D!-AHz5L ztbdCy2gQlJ)yM;RB&Slsw`rUzIbg}fEa4V^3z6q_5}v#ZmYQXL zF5EqA!S^d#hHY5Qy*-t>Ci%)az| zhnsfven*=9=mGnf_Vj|snGX8@EILYWXgbj!4l(=FCthm0(C6J~`mp2V7IO^$nc{xa zFMc?F*bHQU`h0U@yeM8|hQ*8H#b$WCEPlp}pl5u}jG}jZ!HlMdeASGhmwd~d8n0## z{W$u{HRcTVFMMFmVh_W&j0o7J$R3ua@_%)756al^LM#MhHd~1X50_z#YZ&1g@zr2| z+tRgeB=jnG3{>US^po;M77tM>VeYe^Qr1_~ZXM6!MZx}T#~8~Y`&BH*Wj<*vB8a`P!0)m5BG$-QRC{zIEBSFKCT*CT3hiy)WOS5`(Q=cNZ$8{;14DY&IryRHRlAB6zi4Fhks!}uNGVq zTmrr{xRn2DG$r6$!^}+ST`{!V}mP14uN0PQPNYnYGfP|-g?UzL9JrCVCzOO`v#7wc1NxxXI1 z#Iat>`A3O^bCqy4)cWLUA0zc3AvylRT?sAHu|nfmUy}E&;FJ)Ovh}6sc-t!Y?<)64 ztZYf+3V2%U8dD9DD`|xH8uVSBlDH)viG#H2vl6pB@43R4XEukHxB0ZH3@Mg;t|Cm$ znWCBGyt&YDuzl9u1f6Dm2Aa+h+cDHF-1kIUy;?#g?7 zEE0Olx|I8JBx#Y<%P*x8ul$m9YhH*)YTrwXaMmU{m$yn8tRSq^S52;xy4Sqa$ca4X z`89E`q9q<-WVTWM>%=bnYRVCqT{$w0i<@Dw?#7Wd%{c;{i>$!ozXw{eB}W0z|DMb_ z%Istn-v7Pv)3o8JVisT@?A5j$wV4grm)+wsA5e!Gfet(+GnjSo>U09j9HqtgKZSQ) z#t|^O{v&uAvz8TjWv+%JYiz3UXUu@!!chm$#!UE2IAjmSGU##+i-+b}_|J0$tSxyF zx`HFXgC+m5;Z=?d^P8^||JxiPvz)7;?{NfX4M)JbgtgEQIRbV)d`}90U0c_LtnzMP^6ZjmXlmO=wh^?kZ47Na7; zW5r4x_D@hIc7MCSDKL9+HWLPOS#^@D+*rwOu3RRE*_+!ox2?(MdgXeVT&{nvzp0%Y zkQ)FUk{e>GbHj4OpmTC_Oqly5_X#EA7?JrJ^>w+q=ISRk=jW28o&v3*I$A>&T0>52 zs9I~tX$@85@90Ju9n4WQhj7$m4A`A=Jd~q0^E!ud_Xv(kBl9{{IuBi!*`1@&w|zM3 zG0Srd<#;Sd-t^_D&74m^=A@5f9GNx8bNCtSEIz&yh(Xp@*+d#d4(h7}1S$c6N`TWf z_o2CmqlmBWe$q3CBV!)nsM1;Ox_oDPKHq6tfcGnA9oAF4>uHW`A~#D}a$s#wkY%OTc=Aa@~fvscfn7S%k0shnoED{#rS1y7@&H_BL^}yTP?U5dl zwmNnPyo7m`xjJ?yyAxO>ua4c>?hF?BtFXJ+U64hQ!V0^)-QDmX5A7b%J?);*y;vt3 z;~U-^Dl+Qqeym8#s-!yG0iR|yp6rgKvy<%v?rb}QMS`ns7u&^Dp5%_o9c3bw z*E+f5bH|&!N^PCo3Aq!%BD)p2p}C>Ru}E-5Zg_4uSR~lxKFxhUU5z|l%XcHL zN3YC4o@OEu%c%Wl(Hk$KFIJ)_WcSl*YH|&A_aS=VN7{dhmS0V+#JZQGAtl|IQf*2} zwWkcuwsR{t(rUM*we}~!L&)14$x%2EnK1TMY`Hod|Mri*!uK4~^KfV{@|E;B{!!2M zzx>^wN9muE=Qyz+Ha}O62=!wr>G6cmZ{M>?Z{-it;s5BL6>Gnzsgsxqh2;a{IZx?> zw6CLwl0KYX9lo4CW{pKd$Zvl)$yLpplK08`eau=K8iV9UV&D9%z89{hHhD5lmGUL5 zSX2HfZ>i}UCH3-z#wdLMt1L&!yCffC>wQjd?9=Sb+X3_d?Zsq3XR#)q54H_bSkLOG&fnI*X2b2KpRFfOdNU`VvQgUV9lTIxSS47P4yf zEwE^|khQDtLPe)lqRT#jiXN+E-sT5(_=+||m!ZvSsWz*ndMs287OL(FRcnQ+wW<<* zTVUaC~RRH=HYQuR`$>ZMB6NENDuy#Dc;r#i>>1^UbFa@)~g?vUHT)KXnk zOLdV;w2;?7Uh{aJBig0{ZSxlWf}{4NUVV+`wMMJ8My=LpEv-?pnU0`EOK+Fe-mbRR zWlnp$YOT>qtB|TBBL*$(+_@UhC3oPiD17vs$CIwMJ`e zjaF%m23n(m)~M4Oby}lN>oTvknAiTP+Pub5tu<=3My=ML)B1B-e@<&It2LL^n#*d< z)z+G;tu zS=L^(rp~1Ps~7l7J(T#p%#qzsX+O&U6Q0X|5}rqCFJR8^N$iHF zDCeb=?=!TM7ib?ZQ;vV5J-kCZc%Ksd$oxRriL}?DtcsM;_LR*|l*ulX#U7NwUgUj0 z^4!^WA&1)`nH`YG^CuFXIh2v11pN&CwrESQ#Ba@6f zWUP_Xu|}w4jX=j5SuEHZ8@57i*jj4CR;mq~QyaEYZCIH-?uJz;+B&b=y0*6JYHihZ zv{lEdrz6$VMU|gO+jh0K?Yy??y4tGiX{)YZX2TY=RTs5Y7qnGxlZ0jS8HpJw6#}jYp*V|TMOFS3uSg|RhivdwUw<}dn;SDwzmIjZU5C<*{5-t zeHxe9r?HNJa;n{nIt~hT92Dv}DAaL~w_zjI9g*sesLX~HYpH;(DmH9&nGIX5dPM$P zVMFXtv0Lk@-RgBpJ+)iCW~rxkYb~`~>u+JJZnjc=pHNUMwNkCroNAeE)Jn~%uGvPd z)SPOZZFHRF_0Beav{m_29)7$f!=ulvz-}pN;m_a;s9Ct#;YSzv};R is used for editing the fonts. + +Design Issues +------------- + +Which font shapes should be made? Historical style terms like Renaissance +or Baroque letterforms cannot be applied beyond Latin/Cyrillic/Greek +scripts to any greater extent than Kufi or Nashki can be applied beyond +Arabic script; "italic" is really only meaningful for Latin letters. + +However, most modern writing systems have typographic formulations for +contrasting uniform and modulated character stroke widths, and have some +history with "oblique", faces. Since the advent of the typewriter, most +have developed a typographic style with uniform-width characters. + +Accordingly, the FreeFont family has one monospaced - FreeMono - and two +proportional faces (one with uniform stroke - FreeSans - and one with +modulated stroke - FreeSerif). + +To make text from different writing systems look good side-by-side, each +FreeFont face is meant to contain characters of similar style and weight. + +Licensing +--------- + +Free UCS scalable fonts is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as published +by the Free Software Foundation; either version 3 of the License, or +(at your option) any later version. + +The fonts are distributed in the hope that they will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +As a special exception, if you create a document which uses this font, and +embed this font or unaltered portions of this font into the document, this +font does not by itself cause the resulting document to be covered by the +GNU General Public License. This exception does not however invalidate any +other reasons why the document might be covered by the GNU General Public +License. If you modify this font, you may extend this exception to your +version of the font, but you are not obligated to do so. If you do not +wish to do so, delete this exception statement from your version. + + +Files and their suffixes +------------------------ + +The files with .sfd (Spline Font Database) are in FontForge's native format. +Please use these if you plan to modify the font files. + +TrueType fonts for immediate consumption are the files with the .ttf +(TrueType Font) suffix. These are ready to use in Xwindows based +systems using FreeType, on Mac OS, and on older Windows systems. + +OpenType fonts (with suffix .otf) are for use in Windows Vista. +Note that although they can be installed on Linux, but many applications +in Linux still don't support them. + + +-------------------------------------------------------------------------- +Primoz Peterlin, +Steve White + +Free UCS scalable fonts: http://savannah.gnu.org/projects/freefont/ +$Id: README,v 1.7 2009/01/13 08:43:23 Stevan_White Exp $ diff --git a/gource/data/gource.style b/gource/data/gource.style new file mode 100644 index 000000000..333e03245 --- /dev/null +++ b/gource/data/gource.style @@ -0,0 +1,5 @@ +changeset = '{file_adds}{file_copies}{file_mods}{file_dels}' +file_mod = "{date|hgdate}|{author|person}|M|{file_mod}\n" +file_add = "{date|hgdate}|{author|person}|A|{file_add}\n" +file_del = "{date|hgdate}|{author|person}|D|{file_del}\n" +file_copy = "{date|hgdate}|{author|person}|A|{name}\n" diff --git a/gource/data/shaders/bloom.frag b/gource/data/shaders/bloom.frag new file mode 100644 index 000000000..81960feb0 --- /dev/null +++ b/gource/data/shaders/bloom.frag @@ -0,0 +1,16 @@ + +varying vec3 pos; + +void main() +{ + float r = fract(sin(dot(pos.xy ,vec2(11.3713,67.3219))) * 2351.3718); + + float offset = (0.5 - r) * gl_TexCoord[0].x * 0.045; + + float intensity = min(1.0, cos((length(pos*2.0)+offset)/gl_TexCoord[0].x)); + float gradient = intensity * smoothstep(0.0, 2.0, intensity); + + gradient *= smoothstep(1.0,0.67+r*0.33, 1.0-intensity); + + gl_FragColor = gl_Color * gradient; +} diff --git a/gource/data/shaders/bloom.vert b/gource/data/shaders/bloom.vert new file mode 100644 index 000000000..7274540e5 --- /dev/null +++ b/gource/data/shaders/bloom.vert @@ -0,0 +1,10 @@ + +varying vec3 pos; + +void main() +{ + pos = gl_Vertex.xyz - gl_MultiTexCoord0.yzw; + gl_TexCoord[0] = gl_MultiTexCoord0; + gl_FrontColor = gl_Color; + gl_Position = ftransform(); +} diff --git a/gource/data/shaders/shadow.frag b/gource/data/shaders/shadow.frag new file mode 100644 index 000000000..6235f7f36 --- /dev/null +++ b/gource/data/shaders/shadow.frag @@ -0,0 +1,9 @@ +uniform sampler2D tex; +uniform float shadow_strength; + +void main(void) +{ + vec4 colour = texture2D(tex,gl_TexCoord[0].st); + + gl_FragColor = vec4(0.0, 0.0, 0.0, gl_Color.w * colour.w * shadow_strength); +} diff --git a/gource/data/shaders/shadow.vert b/gource/data/shaders/shadow.vert new file mode 100644 index 000000000..061b80424 --- /dev/null +++ b/gource/data/shaders/shadow.vert @@ -0,0 +1,6 @@ +void main(void) +{ + gl_TexCoord[0] = gl_MultiTexCoord0; + gl_FrontColor = gl_Color; + gl_Position = ftransform(); +} diff --git a/gource/data/shaders/text.frag b/gource/data/shaders/text.frag new file mode 100644 index 000000000..5bed3c20d --- /dev/null +++ b/gource/data/shaders/text.frag @@ -0,0 +1,15 @@ +uniform sampler2D tex; +uniform float shadow_strength; +uniform float texel_size; + +void main(void) +{ + float colour_alpha = texture2D(tex,gl_TexCoord[0].xy).w; + float shadow_alpha = texture2D(tex,gl_TexCoord[0].xy - vec2(texel_size)).w * shadow_strength; + + float combined_alpha = 1.0 - (1.0-shadow_alpha)*(1.0-colour_alpha); + + if(combined_alpha > 0.0) colour_alpha /= combined_alpha; + + gl_FragColor = gl_Color * vec4(vec3(colour_alpha), combined_alpha); +} diff --git a/gource/data/shaders/text.vert b/gource/data/shaders/text.vert new file mode 100644 index 000000000..061b80424 --- /dev/null +++ b/gource/data/shaders/text.vert @@ -0,0 +1,6 @@ +void main(void) +{ + gl_TexCoord[0] = gl_MultiTexCoord0; + gl_FrontColor = gl_Color; + gl_Position = ftransform(); +} diff --git a/gource/data/user.png b/gource/data/user.png new file mode 100644 index 0000000000000000000000000000000000000000..23b53ebb93a7dc5f4248f35dae68f9b8e3235c7c GIT binary patch literal 62669 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 bNWU|QUYwygO8%+_`QD_(6~t;p41@j$W{oee literal 0 HcmV?d00001 diff --git a/gource/glew32.dll b/gource/glew32.dll new file mode 100644 index 0000000000000000000000000000000000000000..37a65a1122e2d192fdeab534a4d4cbe5fbe85865 GIT binary patch literal 431416 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 literal 0 HcmV?d00001 diff --git a/gource/gource.exe b/gource/gource.exe new file mode 100644 index 0000000000000000000000000000000000000000..9f781abc0e20e120d30609eff99dffd41fd383f7 GIT binary patch literal 1583104 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

NwSFdlN;GqZwb6obhOf@!NOAio$Xji;S;t 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á!Os#kiJx8xzPF6deIY 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

W+mKMZg-q(N(HMUMk>sk&YDm!aWwDC7m&PY?rwH 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

f{3i3ycXmcf`Hb1K`?k*S4_9~k6xh5U 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

XUnEuv2@FHu2 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%0DBUhu8L2D- z>+bj$;GA`4uhZlMA%;t^_k`#=@thFd5x*-0i%oJ>h`}fc+}{a|JUCWD;L;Grg2wEi z_MaqQ3&B91d?-X$(_atKJ>JhkY^x=|2r(E0fg9$=5a+fKFh3BYC>s@K;HEp*u&?Nr z5H#((o-SvE*jyL`fc+>g9}AIzma9T+vmpPUL>Ck-Y5Fp`UEm#Xc|Poe;aY5nZmz=s z)g>@df}4zDph};dUi(kwWP=#DLLZgvM-BtU39%v3+nMyi>8^DWF%KJtm86W%@lL+=}bZ=>jP zSxDR)l3POT<&fL~qjt*uG2uI(4hIZA27FHa++)9YZDVOW7N)NnncEB9Yb!TC6OZWQ zcGI^z4b5M9#zHE>eCnEDqmb~?80KEX5MCD_agq}~vUS3qjeBiJWq0odNy0g8M8?l`qfTvr&G}e5Ytp9Y0zrzg&->mxk^#1)a<3^Rhw4!nNxh zj+1U;b%SnsgUpNB^$~E?m{i7UvHw{DJGs5VT#He5J;o~DBA&r~V8;1`{*C!MrK3DR z476u!ts-ErA@!W*@Ti`n9Q^KlOy6@u6W{m|AFT1v+2Ejh^5+|D<`{pIR<+}EhC&VJ zHE#YjX}oPmIEWvr!KV~w8op^P8_!s%t4|p5-!#aARS5IapZbKC52($jx%!Q6&(5Z_ z?)G%|6DkX}m)p;;&zX4cK0@}4T{gZ{8_~EoO`n;#`#+^GLOw(X;z#q2oqL@`^l{4~ zL>Eez=Yp8KZL|b;m4e6}U{MPIsoVo8axh3l~z6IKjQ>jg7 zXR^tE%Ve`$emT=J*;e>%cKJOHzavk{Wa*Kp~-ux{$8!&iyFS8;kO#5l-qc6H0-V6U=7D;Xz-5L-xq0kgNCa$d{M)# z8vdwZ+X;3)2WdE1!@p@*tKl3CuhsAY4cBS-j)vcA*tSCB)o_@GB^plE@KOzzYWRqT zn>5_6VW`r^m#N`F8Xl?P-!z=8;T#Qb&~UYehF(wW?@bzR^@M+^ztgL9Jv1Dq;TR3a zYdBfMi!{7e!{r)2uA#|)lm6ar{7<*@X{+IW8V=AfU&9g&t2CUh;d~8m(QvhfFKW0= z!%(%IPqv1=HO$wrM8h*RoTK5j8ZOuHX$?1P_@##FHJV-;4$$yq4XZSquHga=Z_sds zhL3CbqK4Zv{87UewRS!^8V=BKjD}SjPSnRozLDH9-!fo8s=+ws)lE3I8VdtG+eFWvl?#EaJz<~$#y7cZ5mor?EKO-%+c^54G+`sXbu0SVU>nwXgEv5c^WRz z@H!1wXt+khr#0ND;T8?IY528<)){vB+GyBO!+kZ()o_4@M`@U^;mH~nX;`7*WDTcl zI9J2@8ZOpwsfG_|xK_h;8osRIW(~J$xLw2VHMIU=*Q14o?KRBN@Bj^SH5{PfU=2rT zI7Y+2X;`9Rg@zL~oT}k04d-dNK*MV_yiLOu8m`gsSq(R7_@0K_HT+(~(3y6+)NrhZowe@;d>fx z*YJA{L;uwE(Xg$Cduw=rhJ7_WQp2M)JW<238kTD~QA5)or|R$XHM~;88#KII!_^wD z({Pi9A8PochUx#Z%blZPZw-&s@MI0gYgnt{`5MmCaG{2`X!wAJPiy$9h97G9t%lLF z?EEt|+)u;a8XlqHu^RqO!*UJJ)Nqc53p8A+;c5-nYq&+j?Hc~1VT-ADIri4j(EA|$ zJxs&DX;`b_91XA4@Bs~9)Nq@IKWb?3w#C|j{`S?dw}yEdj?%DH!-*PB*Kodu2Hzg} z+NS3o`P!y~;fp=;wM~yb@^w64?2)f+dhC&}Z943cuWdT)k*{q!?2)f+I_#0JZ94q_ zE?;w2@Rwuz6jfH%)b{LAT2>ybnNm|5o6xgoRblP;g4*iBvf7$Miz_Q8#;R+Fv!dV@KB>T2N3td2-L5J#&i+Ys!iXYHF*?D#i_;G`hBD&*Jfg)jH+yNkc{#;=dt7 zMjeAh#g!$o;)%7xCl!|sfgoq?T;7wC=Uwd0yO{DW4#>N$f8M>R+NPXC@V0jQB=Jg4 zq-ymnAenS;|9E{%Vzq^3#D0`6}1I~e@OnZqYL_KLidPOS65aS5NU`e`y|KH ztE8;DpsW`0%PVVQLq_GJi0rVWX>$7^O{}=KvU&cG%#s?eQRn9YwK#7R&+KbDX#v-g%y<*WyOW% zap*?(E(k0f+TvKkc}!x5Qe>oF)xZVRbnMT`;`gHtSy4D4Mw|%!{bX_b$0patDr(9q zD^%ot*imB&23JN9Ha1BY zi7lb;(I&sqWoMvFZ?J-bp(BQzR4{NN6hnTR-f*@bV&ibcF(KzC?^-w73ErIpnaMpPCT)}jmGimnbDQC4x9q1?i#jo(H- zy0WgCdIn$HA+W6qD~Ta?<&=W> zz;-H3&3WvP$~_JPKv`u$Rjul$mn**-_zfR6cobugIp5`#72{5wP*qTh)@AH#$KS@U zd^wfZ{*G0Yu#oG!Y(n8UYHaEDLzM_uS2lX^h=M_t6(ys~##I#JqBYIK#_uGEK#Uz= ze=Ay0Op0@$+pn&=rV=$c$mKV(4g(nC^>g`+84naleVEJdB#b|mlNcMQ{4fd>PQkcK z`46^fs52bw_S49Rx&1VvlawEg!-I6G82hW^H@dF6R80x&@5*l|s&1-911|c5@wW#g z09oEAwZY=a@#LfJE**@ zs;IKCx@3$h&jQEauFfL!J-Do<3dG8*tg9%&0C=78SG>>IQuBRGY>GlR8qxs@e5dgr zSy@*TJF2p{u7)j-^Rpv9VEm4)n{Z-TNvu-mM`P_{CTtX%3u9YM;Tj1kjfq7%u%Xq3MXXJ{pF^v5@&1Zd zoov7Hm6Jx7O{gl5jf~aQU@}gAcFJyeru7kwcZR!&sP&E3eC|D=RO_9XztE3KCKc))DXyA zaOcOWYpT?=2#(oD`BYcZJPFlm`Z}Qk)0X|+iR+GtVV304(Uc66+@JUm>QRF{-t2CE z6z0OhT3zRXxKSAIa}s!xqZ31LnNV0!f;lpF65GpCJ{2{U5M@*|*n)x0WSOo|U1heP z^0OB$z!it&o5)vCU-(fDY|wpG}Wd`zX&4w!)p3I-KWe=94+ZiQU~%+^Q3zo5KWt-h-; zJQS3I#F%^GJE5omYxaT(g_CVhmJi<&EV`?!D=_Ge!q>PMRzIj{^|%@~8sBB$rC7y8 zHiq1lMLOMI@l{@o9TXLg5gOk$kZ%gBstRh=I;`0C!CXYWc06)mtcDd77EdTCuVDXx zYeLPqg4kplvoBx;#kT8WxW;2?k1Or0K$mJOE1)GK7LDU-$3v!O>{HtZMgGWf?SN~7 znyK3Gf>K&CQ_MHvTT)qt(YGh3sufQvVaIV*Xf*ExSYjzaixh&jC&VcJ1M2%U_84Fd zc$=~-u?i-frXv(8H~JnMZxvu6O2t3JD!^b%G@5P|C_!kUMZ|zyhquwlWtZzoxb0$n zMy_fs!x5vCDA2h3ih?>dRI~o@I|Jz$J6RM=tf{ENK2$9P_*zjgsjvnVMaXKnOI6J_ z!$q6)>= zq0-Xwx*FW==ocyl&8jME(9`X_@Xz3PWWzh2<4>6IhXQRgEuX zr@~cJMe<%1T$74zj{9dwHD!$05{AL>rDSV1Jv2er`uxy@*o5NosN-zq0{Ph-<*LGH zasjy}R8EYsx#Uvxzbs^Ee?>@D7ni{SA^%)S5aqinRE?p7u|*+NUlI3exD*<^A_ydQ zq1cV&o>){@%5DnPXo>vxP>n{vEL5Y=+!?B=!4?hL?w$}>M3r@ga#30DRW67A14?7G4>p}CYPcIycn|g>|n?-R9jfVHif_{ zv@OBjfNPTNWN(tYuBr;&Y;<!fv;>Y!|4oB{b162KziTsko+?O8GUpbjiLUw<=jw z!lm*~gG`|IF0d+t3&S|cE*Sb*EBZ!kH9cTmHV%_QdHIO48gPCFeU)QaXL}jfAQTxT zJBYr?*}If=Z*YSf4l`f*mFP-Ti^G*q)fD77oR(3!gBi<%pDmS8PBj=a&9^QW+I=Yb zfhB3S8rI;3v{-?#J=zR#n zG0gFwKr8G5z0&|*GWpv6G#^v^qdoo@W=saW)B%u^9qb{l`-IwqOE4_4w!qbtA8^oQ zM$=38zIIZ!AJYEXezZH*E7vaI0F=-CP=4AJ>)unBJs)9B{ZZPAaXtHX?`hY(1Zn>- z{jhr16k}{M>PFuMYD3K?)*SeGe?v!{V93lCA^f-SI|c_*Lq<5oX3J6TJ-^>J4JOn~ zEUwmL+2d%>-`elE{2|83Pm?E<=RmuNG#3u<+VkKZU2|d;(1w9J(cxWB7;{wjeqD307gSMF zh)s&v;a#W1YP$aEi0A;?+?h~RJ|zd~D{2n!T320hSWWTx*o4BG?i0$2t1D|NOKZF1 zjPtOX4SQXlz z@TiWRUWY8O$y;4E5j%0?Vl^hr9XbR@t#!1yJ0dnQR-S`ZX{`M4u7x$jD<)Q+7OU=h zh)FcykU)$B4squ`;1H)0ly(3e?&4gksH_~tYrI-<(TQ4i0R~``vK&VaR8*%(UAlK4 zGd`9xd~i-t40|3qSmRKXSWS*Ac1{hpK(HFj!S;5Jy*#POIT361!kq5i9aK6}tmL@S zIm1g1@A{8eZjYWld-plCd(S?-`*!c$tGG}1!ak+3?mc?+D~ZKoy-IqO_V}lZJiA_& zLz9-HSD&7}`W5vr?B1uOKgv;BRMNd)EVrb4VQ%lXcFKIb?7v`4c z_KWrE-ltbl|L(ne_wL!fsIY%=_maN-OL`afF6E63vX-S_Rg+2Qe_E&9Vmt?>pF0NEvpnEtB literal 0 HcmV?d00001 diff --git a/gource/libboost_filesystem-mt.dll b/gource/libboost_filesystem-mt.dll new file mode 100644 index 0000000000000000000000000000000000000000..25c119769ce1a731a025ed8e41fe5d7827f64a44 GIT binary patch literal 250368 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

K( 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 literal 0 HcmV?d00001 diff --git a/gource/libbz2-1.dll b/gource/libbz2-1.dll new file mode 100644 index 0000000000000000000000000000000000000000..e22f01e272ccd35c8daaaa39711b4a0775349920 GIT binary patch literal 74771 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 PXxjif-O;xEyCMGp#!}W) literal 0 HcmV?d00001 diff --git a/gource/libfreetype-6.dll b/gource/libfreetype-6.dll new file mode 100644 index 0000000000000000000000000000000000000000..9ab4da4868dedaca06003f126d21cbb7897bdae0 GIT binary patch literal 682123 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 z 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

ohYn$K=wY9*j?Kws(Sc`yYexL8& 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
)A%%gG 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

eZXb;Tra}3ZfcqdklZh`eo8kBi(s;&2 zTzDB45_k9swiK;?kfyH3R*E}(6uT1L2Gf5?8$b&mz}BH#;d9vi=yv!Xwh`R{PrH!w z1?_<$tPL&vE4D?#!`zEGM~W8Y~~(4F8CE(Cu*S71W`Gf%C4U z4$&p>MXW}`z;myn4$+NpE7mCPu<&Zy7}^83VQbMH@F&-B?x0&>${Okloes~$TG1u& z0&Eky2_Aec*FFgY8?miu;k>o9B?%Azi0!k2{lcrRr>@Y=u<9n-3_1jFxtX$~Tj0QT zTpQ3Xn0*W9j%au>wg}w>pI=XT(d}@+ZIoBSz-lal4#C^873dcD0M>|Zg(uxkTaxhb z?K|ji(H*d11LqXF5&q>)`dD;3>}aJPBn&)m6JsZ|0k8ZmWkff_$FY6RrES2fr@5w} zLvSND5Z(HJ?7e-wRb&4Df1PvoJ~wr$)#+Ygm7)ksiV(J=2w`h76T&LRiI^oJiFT)x ziei_d2wP=TiY=jNX7(hvQ)5R)2&;t5WM(6yM#Jy<-kmE~tF?{K_w&c^`^UG({qX89j3XL= zkHbgMAbbk$L_;O!P4;0l0`I_!k%xETI5Y~MfOnwL_#|A2#^TfPHI%?-VT&yNhPUC3 zD2Y$NXVF}I299})H7MzDJxb$!c-h;mN4yKKe~12*7&!T_^d~+E&;Ee9h>yd{O+549 zE%*_N+)h5Q{fC^xJMbaY8lQrnqmK9-?EDdHNn+rGo9SDLfqy^)@EQ2V7WxXGg`cAl z_#EuAl|I2c@P^N5J3ayXe8D=z$Kf!P#(VIcztJwd4}bM{)&<^$Z+yw#g3rRYkuNdu zpl?|JcpDyqcH3<_6w{IW$n> z;Sv94E=oN7)%UbZV&H=)fltAgcC!!Qv+x@<8?XMuK7dmAG`#!=+KYGL7bt_z!5Kf& zMtlnXN=4LGiGimVMbr*_999)aRC$8-!V^(Dd<>35Ha-D2qptWIY*-ReJ@FQtfMWP0 z%%R>A1J8;^R6l$i-dq|{1MmsB1`WbzVVkmu8j82!qi6&^4cDPj5(5t?k8uAZ1`bDK z@g97oK}1cK7&xb4M5XX4*rqa~7D_z45vB17=%W>Q;p9ft1D}Lnp$&M|m>9H4VqlLZ z^c6k^zd+mZIk?=S-|!jOy=g@4mKgXbij1fJa2Kk?tEz}viJIdx@VaIZ)e-N(+fjFX z0+uzWKk*iviF)Bv@VFNAEj|W!puTw3GNL|41MxoW+?syFJMdvthfl$G(M*Yf(KhrC z-hy)vqJJa?9@rtGR^e^9up|9|Ps6X#cD(8oQSYOjcpp|BN*im5hZmu8ybB*d7Cr?x zqvrS=Jp3@`65fH=BO9N9i#k(pd>S6!h4xAe9FAgm55|wBy?Ehm$i*jM`&dNPNIaa6 z>hNj!ESibWz{qJ4H5+fiTTZ9#_yk;xmPfRDq4XsyJ+^ZU>zk`9+4 zAD@A(&tR_OZFoJ}iBG_lC^CT<*z`>10N#cdq1Jd8ZbCNRhfU97O-T%#JA}65Q*hES z#uuN28_@`fhl8(VUEn>q8;!-Qt7sRRj8DTKuBIO({hEk+9WB9U;TE(4pM&eKji?OX zhf_wd?`Qbsc>Udmb8hF_;%Whx8dPvG~R&;G!`#>0oCC%u+=!)F7a?E zO5#1Z2+hW);ddy7R|&=oEyO3_BWO831#@T>Uf5+k`vcyAbI@9efxFNKysC|;%g`pg z3)@X#ufW@I8rp_W!ty%u#anO#+Ku<&#S`4j-$NZG z23|0UIV0)tpQt-N2Zv2z9pOE=1og$I;Q@Ej=Xe`VK?Ctg_yrn@&%ulCqR;Uzd=!nw zr{Py9fmc%_>NGSNABR&>5}$-S&}@mB#(s+y;1lp8v>fllfp^olco+VF)=2z4%y+aF zFWiZ;lAesHS!e@31-JhNq%Rd<U5HqTeJQ{`x-Zfp_70)EDo=-_B-!;yt(wjlgGM(>csTybZ^rI(!m-fs*(fy#4{! zGd=;=qa}DB_MS_h;Nx&6T7yr)&(T_Z4kjO>?Ra73!|XYD3qFXpNj!WU?ZBsDn@8w7 zybaGrY7+Uwmrw+sg?&=YMM;Mnk%jkRgGcEfyagwtcK9URg>1Z<$DWKj<30EQa_}iw zHlH<)x8NlxhIip6)EDo=Hx_W;$7f;1W2|wBht;SCABWS?2z(0u5skuU;I7}%&v^BC zM72b9cpI)kQ}J22av}XF@o*PfAn}VL>IAd|AA@yhIX(&3qg8kxc3n(fcn4mO*5VVe z%@g!L-iB|XO%e|;S;9QTyKvc3_DOsOp8F(yKAE<_7Edu|cpLUX?IazZ_%!PmAA@b5 zXYNT1oV0>xBzzLi&oJNcX}AMOw@G&?HEysIs7FvZ*!L?`&J`2BuPrxUT znnL~I%WIi$_$>S$wZp4*5p^r-h)=+y-eL^!4osuoc;QDVj`!gO@342^UFg0`pNNOM zP#s=vt@14Xz=M(mDyzqoiX*)g!@BNH(_!L~VjlCM5f$x67 z9Kidq{oiOW-hoNv;)SoH8hjR3{GEQlTktG28Xt#KP(tG2CNvrE!|S$_7v6)neM!CX z2{^nssuoH*`~+q2Irv~nRK12z!3!f%mBqWTX*8-f;cfVEozXcTqRkx=B<; z@HU)`%JE4!r)g9*$EV<0)K21IZBSf=JbVn*;M1__;ZZe8(%}X)7Vks%2-=Pp zjzLL$0zQal;#2TFG+W}~$z7u=g^$6pXraWzIY&m-a*2nZpx5v@`0P>46MP2Vc{JmP zPr@oEs#_6|J^`OcHa-JC zMP2bZ*s2F(jJM&6o>3K(82HgC^cCKRvrdhw5%?7BaT;yI$KXY1GTw!k^rnBr!(nIA z4|orbKAU{;2{`o}+Kx}c%g+weX-=X~0WkHb^rQI*5T;N8EDs-5^G`~$M? zrk?O$s5M^wCaOAI9913h4*cL!<^bM@8!n5gx#D3TH>#H4V`i#ryE^!PFJ+zyWA0-i1dDp`MZs%dcQu@D}WaD(|8GZ~?OLY2i@nj2DhV9q|dc z9d*U$;G@GB7m0^2puYGF+=}{146M46wT!pn1!w@?g?FKW_#}*8#Tv(3@OV^%kHPEE z2)qZUAy4ArQZx#mhFj5Sd=BnJb$C@no@g@Og00b1ybU{{B;J83G!rj;7tO}|@QiCX zhmXVbwag8?u!%=M<1KjY4U~=d;ApfPpMZBEm871q{6^+H-hxAKq8@k;eu_Hdb8zU* z%mGPvK{cKB z!n=`=Pr`qoZTKAgVJ2A?S6znpGb%A%_O4J*lfhRw}{Kv=OCCJ6Qa10uXPrye|4L$`op%Hi= zE_#sm;L~vQTqN=E3zWd;;J?viyn2W|8BN6};n@$S|XJi)$= zPr$2}PzK(E)0Z+I@F{q~leAsp;g@I>J_k>GiZWo*vXKYbdybE7K-SJr%%}`go1(%`$_%v+wC*}a&hPR^;_yoKUjmD?oGBg&Sf$LEM z@53)q9XtC1y z5(Cp{AYS+nG!&nM&E90r<862g8ZGhAM+v;}@+@t~yYTGw?CtnCoQ_iX6uj&$+AA^e z9kd+p!)<64J_mQA3|_s>9*fpU3@qJ1pWrQc8QO?WB0dJ_|oU3-CT{@ezH6x8a2-jd$U7Xa(MbPoq`% z44m;XeT7fKA5a$0f09ubp^bPKu0+1X!wL@X=N*aP5!u6+R1lsZzB{(%}-c2A_r{MWt#j-hzKe8}K=JeQ_!G z5XJ%?R8p$8;ca+zWvSYM_u!e0N>$}-#ty!UTH~{DbdyqL;}fvdDpd~Ng6o=>@_!bI zf!$k_s)6_ztY}rr=f=c9t92>&D?IGirc{l^$KfRhl=6LI`W*hyjyB-cfu(8?S|jQ3 zA80K;2WKBdTkt7(;K8M86W)e>&{ljL-iEg06R?wAs&?WXxEYntAs;xkeW_}WPr^B< z9XWYuU_D9fuyaTW9TB;UG4E*}YQndoFjw)42 z^cr5+`Dpq|;^89X*-2WSiY4n^>)TdC@R%JB|di7b2uwmg=8 z!`tu<)ES?I_oMFk6pVGJfAGSqQ7^m)A3(h&27ZkC;(d5R3X99(^Tsj8E7SbTD+nvAz#7R{A(Sbl1$S|I6gHd=^J!Ev!t zwH%*-O-^SXN(}t8H`n8HaC;y6PCOiR2FG|8wmg&m#M|(4q#h(4K6DoSiBG|)=hJWa zBs?rmU*R2?LA~(8?E~o(d=9p}n6~3>cr6-%_u#C{OVucR3NArY@oBggCGlCfY&dPh zXJF6kOL>lCEZ|uqX%{{Y&$xkW#KTUbm@{|>cDj)^iig9|HoOP_iE{WHRHJDxURZ@H z=Tc92!Y#}bd<-tVl{JM=!xvCbdG9!zzfHrzW4-ec^m5pZ^INC ziWj!HowXzB@DVgt(&2&Qm;;gyccH0xJ}~BUVEP1~fR9cfFMJvnO=cb8EjSHj@kzKI z`FJ0;pF%(29XJZ*@CmpP?UWd3-$}nbM7i*6RF03sF{l!sfGd%O&%mO)*kkb)ya3sF z7ru!)q~9b4 zeuwJtYI>=<63xVW@G~?UpOf?%tQ|>*n^8*A;oy6zhor+CS}5so@J!~Vq{AFaOFF!A z7VAsWVZ;0AbG!wUXcb;qbU*7s(&6c74L%M(L9gL+(3{P?#S1&kVZ87TJRNP2c=!z3 zh|j>YA7mUQ9lret+{Qcb=BKz9NId)o4Z^E5djfLtDfkK+iqFEzr%P20-hyAE5%?TD zbs25O$Kcz~FwgNmY_^=S!`pBYnv74vr_fY<8cukY{*`n%^f|^9@4fB8LQA?fhkKe5j7akyr6 zsoE{+@W_{$mygg_u+^*dE#8J#{h2wB_u!f9C>tM#i_su_8g524_#CYK3u_W@!4J`B zybo{7(m(hF{2a}dc=+&J%wc>A9=U<`;vIPSyR=KZ5N*T@CvN0<1D}LV-={5j8`hz1 zk`ABV#NI9OaOy|Qs}$*Q`6sjypMfP?nKO6`Uim3)#Cvct>V;3kYd&XPOFFz}8~dJk zI0n_=6R^b>%niH^??$Y>a?$@6Fv?jU(-&!1&`ao zIO1b)6WWOP;Xl8nz4#nF>tD1HABV4^o%k#~_dC|fqol))s5#z;_D+Ns-m;6f;}dW` zis94nE!11$VGi}h3yc2ExZ^F@0S&-A@D?-(pMbm2P`vuSR6T}9;M4G9Gz#y-4!c<| zcn3~Fb@(JK`VZrTx8MaovhU$tcp!g$d?DV3>(Fw17PcuWQyEEz524raDLACKOl9#N zjFptBO?cs}Xd6BYW05kIlXUns+KE@uGIcnL%%g7b*77n{j!(czs3SfJD;t!l&Ugzp zL*4NpM3_PKVKAcb8;C57r&%wFP%2Ydi3VwsS;#G6% zh`Qs`@GI0?(p!|Nt5H9^2hVI-rUv2T@D=3Yv+$Hw^c6k^pG0-|G(4y^eTBE-J!mFA z3IBsqc)pybu0;#+9{doc@jg8NfHJiLABU^Z8hi$JZb$#%9XJbZ#HZj+c_}(I|WtZtFuEB_8%XqfAZ4$KaD_CO!>o&t%TwlQ7bk z_Tnu#_AJI4pMYb}rtRY4`hM&ocpt7hm+{4CVB-tu2fPI@7{I=Pci~*5e#abu7ygF5 z0`J1r1Itu%d=}2Qtc>3sBnBStGSBf2T!Z>b3_N-W<1Oj%>?;{xd>rmTqwwmgGCuPt zQwh9qY7Olb4_gkWy?7fwjTYcD@JE!!tE)*zDE!v7t!XHo$ zudXdq9j;@3;~n@JDu0|lhogQ=8}SKP;n7CC1^xzJ!2y=@I%xa@59(g<~Cl~ z>IT}5x8d!h%2bWS!|%~3yt=VW{SA%9=itVhXg}VEJx4PJ_!xW|rSTcq;}+JTq{BvI z7*o6j54n~0;vIM)+JtxEP_zy2!7*q%J^^dT(hv9~Joz^I0Uv{(qR2w(1AEVGWvz_uv*Z7oUSC-%B6jWAI^=#;4$zS?m}11bhr_z^CDV?qiPO)%{$H za`+gWg?8do@W$En$zraBwR7kPd=j4fAae#EhmGd4cJLOw3dQjr+>Hj|)k9_KH>d{h z!m>wbqr}5WXevGlUr3dy+4u}Bf0VXJ4D2?K=Ky>R4xG>0!MpH7v=;Bf;}$UP5(9sa ze0&D}9p&&j*yne&3m=CkuH?S(1o7~c-!pdNVIR~JABWHVf%SvWz+Hc&U3itD-DnWr zf!Cs;cn?O_aKFP_@FY}+kHHDA(?)y}{)iUf)falzE8vppQCBI;{ShXFhx!e)$d0B={Wcwxdjq#>e1|D1lGF zC(%@V8m>h%@mbjNTjm(vhP}{2d<=RhjTbIKtMF-f`@dP6_yqjyd)k7}!5+J*A3g@h z|G-+sC*fkW8=r>lf255|>03A*RpL|dG1MHNh8UIe1K@T#drV;9@iu zpN2O@%T*md0Y{XU^ZK6tft%4>d=8E%D_0979j-=8@L70#dAVASkHM$WDtrc>P*JYd zNIJZ(VYyn1_uv+^6`zAcD$7+)(&5pK%GGYX1BWB)Nz&ods5L$VzehG+H7-}@ppN)B zycBiCyYMRH;5~RV>W)vqNvJ123D=@t_$>Sm^~S3vq@jNJ7#xBI;61nr4Z{1d*rIRo z7OX=f@JYB7jl!qlf6!RGYFe&Js)&<#cz0{YUgF{XD2-3S$^+;_iGd%ZHFzJcZcAP9 zS=jWza^>S~crDtF_uxXb1D}R#4=(4Ay$}x%w&^##4VNMtpN1EnBiw5Ci@JcjP;$dYM+K#v2afg?y(Gmk+KuLTC9&$vvO5q)NAzFfW z;m2q>-iJMpELRzP4Bl{5x!QxGytE2GtQwc_!N8`jlid2NxyRC;Vsw#jm6ur6H4G6*aOw! zW3UgJjE}<$(Nw$(uS7|_2X8<#@d?=eT;>4Yf!=xakHo;Y&=R~4H^j@;3h}Vt1{8Yd-hua^=1()d$-Km;;D8&b zv&6%1(N??~#XLtl@L5=V6Jx!McEJR)@WSplQ-6F6em90WjOWb+_3Z8CsxLkR+m9<( zF5ZFT6XmJ~pM<@~Ge7Zh_z9}R=U|^&#!J%Suh2}q3lE;a7~yUBTeJZ0!L5@RBYY0- zKpDK6Onzt$J_+3^j1gWq6m7zL@Mh%W6L2NkiqF8(yI9M33${Qz@isgQ?Z(I9Bouju z{NW;G;nT3uRMrCCf&)=UybBkit`Y;=PNVPeHXM&)_#}J<^}}c3XJ`OE2d%pqSG;g6 z8j4TA?Z}fDc-=jm!+Y=!G#Q_SX_UkZ|AS`Zd2>fKKnw5|9EKL+J$MINj!(igT7?(( znofV>V{jJA;#2TTvP|g&ceazA=k>;IpvVeZ=8yH~|gBCt>UR=^sglBhV>$$|?ZCH)A;p6Z& zl*1?B8nhdqg`FQNSLM%A2iPAq$Gh-#)DEA8U!uIS^HEoP9Ii**@jmAoo1IXh zQg|D7LQC)tycwk>9)5^c;eFWXMEVnN!B2BmgHK&d zU#+D6u-72kh>yW@F0D{~@p1S#ic1XKcv*!Si1*>^m(xak7PfL}Bi@GVP@SYhe=ucB zJe)p^cHvX7=1SUv_uvP^X^X_b)mK-j4frffT*LKvVQvKDju+NlPyO*pSbQ^M`T}i- z9TN!ez^hO%ya#un-gq^haYk{x4eze4Py_Huc=a6GBJuF0d5jA_3tyg3oyEgu3#c>R zhRa3x418%Jb5Ua8l121CJ`KM{oA7Ee^+j97KT*MJT-t;8;DJjxhqvJwsQg9x9L`xv zyYMM^E$Oi7YWf6k!^co}d>XcY ziMSCwJeRq+43xXnM zth4ELTp%k0Cj{*v-W(g#u>bH15nnqKnLbqq2%-ezCx`pWfYe&zh8S9Sf|(lP(- zym^h}_e5ljzh+FNT6P39VPFEe21kQ>&T6I`8lu4%D1O} z?df{yb7s5Ex|-f>m+6D^&pa2l_elMvTw&OHHR~dE4x3wM88TO7Eoz3fGnl8uXocl( z_NlI`rg<*xTC=R+yw!PV2G0lkQrA(+98$mc?MEF<4;8uA0Nn)S9Ue`m{ zHCP{gUQ_O|^8)u+>7)Mj&k1tht_`_wOZt|O^alL?!^ryQjbPcjPUbya@|hQskEDk^ zF9e^B%)I_j&jr_xnWs5l{x|97wZVGIeX754p9;Gd6zUIitiqm`D*1mvwR)y7e`MTe z@N6Vyj0~)?LS^W2YgDQl^=GcsKfxBsaW~^w_M9Qco}=ej*j}#B$(+{tYwC06+}Gzc z&3lize&l@qxuE`@AZ-epzq$;$RzLIVYs2=Gu(>SdNcz0Mde_fdjrk5wb-s^(dghn* z7V76hb#2x_H7jbWf~%w`pFVv5^nLm!qRP6l&$vb2e|?6NX9uZ6b+9DrEc2|Wlj6?n z<)0Vyer)z%@SdalIBc%z>x1`NbG^y+{p(+=^k>dW-`jg6Eg&k&l@2erl;(CM=N^=l%t&&;t3u9N>(W}$hZ?`y%n4emQS z&g}ExT9USzdso=KIkK4EKJw@=UAq9Rq~NMD9Lm+2VED{M_kUV5$Te8Z^cqNcepiRwb=@@e7|ZzS=cT>pjQ42FdYaz6&h&-q z8?3v256H|@mv63P)0?qo9~a6yzYdSwe;wx258OZ9oU3}AH1&80WgZu`RzJPUB2C9> z2Is6!*Zr<(uAf5BAZEQxzt6RdW4HSKzfgLidzrkyBkORa@f;UCHv3+;Mbqq?;9S%( zdTjNv#0@dt`!n}x)60EemcKTW2m+b9wkE;#bs7be+R4_QuW`IlreU^%clASGS4rKZZ_M`v3e98PeoeVnB*$`3lls-x zr|CY@b(T1tCgU}-elOGKgZoO@+%wlq(CharWPZ-5e?AJn2GsR6Y2I7R^`+;BrnxS4 zTH~@PpJSBdchyWuHvbuiS+CX&Cbllw`xKKY%SQc@Tv2?V&pLwh(!Ad6Tixe{=9sxZ z6^bd8F6%A$c}$@>P$)h4`at)wuD2d%-6pvwiPwFpS*VVM%GKov3tg*Y3gw~84pP@y zGuXzkIjUpL@sR7j-g}SB?DJYz$Ll&4;-0yr?=C;hC3C(6>o0kk_u9shiH%G0Pn-MB zL32Gy9wS3u&xVyF`Rn?d?bU5C*NnMG2VaW^kHh*kENySu_51VB#pqbg;Jr)NS>{M} zfqi;QNV;5CXkP8pXT~$PUK4t}be+uoN7Cfk!t7(y2low~ho&xLpKJDc*2?UC?IW@B zd=$J7==#an>DLg2Ue`+>%q!48x=w}qNuQT_V7@Nq47;a>%@y6(h4MF_i-XTIVb9jV zahBH!wSmu2q^#lLK=`XG2tj{n>Fuxlhu-%rf;nt7S&60iGP(;RcX_eh(}?*`~tvkzoX z?-tn8bzRKcHAF=Z>zk zrsOT-B+q-2Ci{(0o^j0M>iT1$?mPVqXx7baudb)rKc<&GW?smBCv2~f`&RI?f4P2j z$n}z58Ao=gN!ML7_}mhl+d2=keP(&VF*MJa^WIF?d76D{#+p8OFVkaJ zDE*gQtJ@x2`_dMX+?Rr%8S8R&-Sf}hE%tx!UFR+N$a9AIS-qs`>op}!U!(h8(nMze z=<;=pjH!N>H^)ZLd2`Hz>n?a4cAqipDt&E!Rv2top?hlBbt8@MDioUMh4x_GPf|B& zvtFmVFEw@lnfIAJ?+U!49^jHO{ z>#wQXrSl6?#|3Gw1#|uBIV63k_iedW_ph|4I%J=bJ$Oi94>tQ)KGU6Ne5PAgtjhS# z#6I7R+NVy&d+g?XE%drpw>#|qFZ;W!m;UwdiRSZoasNKgr?=lfUD_}8FM2@jxsyqM z7;8-CviUkq;(so$;M^}XcXXR%FZ$Yeu9kGUR|WHt=j&z0=UZlf%6N{fzYiBm*X0HG z0Lj<8RdkHeQ^H_`>ZDHI_W#Je&!s~bJLuUdR_)8Z3*7L^VczM`g7TzTbt6q zx<7PY=3W}?105svknh6i<6p}Co{d7Dhot^y+koI)|?yw+_GO*6hLA$92=c;3yoJLI$duxCi!7h&a@^SRJG zG50y0N7%Z}*J+mS>AnApCf{d;=1igcZoZ$5{a?z>@8QPtt66u`2d_1sljNN45Ak|G z(e2XI>E@cy*Jw_#*j;tZ`^K9AUbeZP*($|}5!7_r!X1xl{ zVad0D$p23Y?nQg<*?g;!`sMpQzwhojHs_RCzhIf>xQ4ac;y1QN^EbY0s8enI|2YW0 zW@#K%jftrsCV$V={bIJYqW-+hu|n}-&lS@5x)06#bQxy-r4Mwhc=PzbrR(!LUrn=2 zvmbT5S%$twpVO4NBd>#lm!u;@pCligN(g?-U>b+N*=Z3CHr;oy$pR$DEUdd zSBE@roB8W&3hlFD-`~{N$Q;t&8wfu46}tb1%_}n>(+8hx%sthdzj_R$%-X>C$$ZhD zO-Oz}eOD@ze-77cU-y}An|W-GO)y>WpTYT2sPFY0*W9z$?fL(nX8Q`wS?NEK*?y_h zkoxpspXvDE{;2D1mKio?=H9vY8smLN-S@$Ab-KBanQPbdW{lacu=h)(J+j}JuPOAH z1=FSO`n9*brs!|H4l>V$J^PsF^_c56nPaB=SI1}u`!)FbR`QbX3Fvq!ue$zy0-g3t zX}%X~)=gh;_I21ZVWG7jydQ?;9X9WWgzP!N`5|S7#Yw*`Grm8Of34qV&t4W5A2uh$ z#zeYGxyN2&#TPyg}gZj^**BKnr5(WEgGs8HT?-a|uCb%cc80fsE zPvzNC?g2%U)lcst5EHgn>iK8ZwVK%cxCY*H3O=uzeIW6sbbi77B_{a%89X-ExAav} zN44jFF$CJ6?<=w%szdrt#;|CjGM{Ynbu{x2n+IWiY~E{w^)=6#d586Pp}K~>S7**8 z)9b#Ky3Yu_PZ5@;$G{vfvu?T{_4w&yGd}DY$2@Pg+w2dWr%5wbw?$L>C+vO|R=&PQ zbI)^(tAE{OpU+(j)zz#^SQ%kyvZw3+S7WwS`qX@%K<+QP?{%N*jn)2d(?ln?h*-xY_-3GHSf9`d>E=SYMBdlM|^SUfa z)7P7GR`+9&GJjTw>;;mCj7N~>x-!cWuchlEd57)MW`F2dO}S=ENPY76>X6SX^Y`dh z``)7^FL|~zDbK*>T+#ht_EEl!PW!(De>lW zgv^VggVfJHuSnn2hV)ILewMn{8f8jqU=|9%rG>L-HKSyq9B{ zH)ftXP4~HQ8L{SE(s_s7U!)HDbFtvFZ}3?v_}a{zYo^!r-lu)W=PtU9x?X0SIUme6 z1h0`}v(4RTvpzPTbIm+-y>wo(?t^=jf3rVyewshmUO5-+TdBv8khLhWrp$RG&t~TLhs<;4IO_i^t7*pRHZ|op*x$<*k zr~6Ox$@fdy{_7}M=R*0(UZW5&ok`aCgtm~4ek&5XNa}?KSSi7 z70%xCtk96pzKhOL@{V49y^Ykr(^3BnB>mLi=%@U(efM0e*MN-2-ur9tK4H9HXkM%5 zTA?|l`_^oqZl^BSJYH5mSG)ZTWe(PwuTJSZ^Il_mU52K)zRdZj&uf}_NZs2sRBdVw zW3P?xKS$)eyiVYAyS>l+x=m8o;QJ2w*XC8>ug!Ho$=;;%_}@~uNz-hbcs+0R`9ci7 z_6i>B>w@XJ{=xS_!q$OVH=SRQ|EDqLYq?;aVb2XRPPNAWKQhZTpCQBc#IUsBeN6X@ zu8Tg_l=98@6m@!7-v664op1gg81mXm>L>S(;4^mPQq{PI*DLz7L$iPMzM!eg2(~r< zx~;{&uiJF2-jDdzxqa5R&eObS=zI&U?_k}{@iU(X^WU92^r!F6>AINl^1Pzo`wp8o zVQJy$EH}|UG=g89U<{Fl4%Zgg=`&$`d z;}+~MvtP~nnd!kYtGNed*vIsE=`qT`zj)xj?=MRG^y?5k-=v*ejPGFvpQq%#+Td>$ z1n-?vcK`a9^{Cx4?YvlzmsE>u8Rbo`_=vOgY`GphBVZ%O_S8Q<2+zwXk%VOMDXG{?|f zFNJ)e{xkbHxIX2a-UG~aD1K!9d^hLS-gYvl=H=(qp4V17UHT^Y9=X(Ob;#?4uJKQYp!FRrWtn5od0?q$-eou@w(K!AINyi7|7ZTK2z&+dQND{*y_B^{Y}nS8|QRA zb^8C5`g(Jnm~EE)r0$wJUe`^hYv#vh;{M}q=5KnLztw^HYvwI&mA;Vtwb%QhnXb#% zaliCfw@1b%_}*W>E$8gt7AaSrzvpppaqEAtSL!^2^~K*rZc@~D&wW=vYnXe5ZkxH! zt3CYdA}}{kMxoG9%;UgA^)EupC0nQkS;5KKIHq&vM#pNKmSPVYQ{yz^DWl4ya%@> zzeoM_JNwH>m;N&AuKO>HdTy9&*&H|1n{!%USEygi^;{^%yziR(ZSeI<@O5DDIR9CD z)xMv#hdm=m{q_6Tg|68Wct1e$3BK-@y<=JZ`yysLrC#RuH_bkky|cfucLtw>f^9C; zXNA)BJPOvq>|;9`|z@TKWWO(DYLDz-ub^wGBfk%Brjcu z;M|jR*eO|XiADeA0Zl>wiZRUA%Om(cZLHDaplfIJY7yaI<%=>vE&s4Iei^lJHpH$Wu7u4Ue{CvGT z81K5>?c&$$&1w?qZg^RH4FL9*`-Cn()h(wrKJ9by(5fd1KC3 znNPv@u^U9A4c;m($?vFf&dXR-!{Bx1Jd!+S7~dz`^Zh-2r_b#D%{84@@cnl^&x7|8 z^SMy3S52wAmbvb98NZY|56O2Vb6l?LP@lK>d3bY8guT9$_sojURQfN}?DM^9bFb8O z*EIVyzjn@1`QPC-z0}XVSDO7U`N+DIG`+rMZPW&5YkhmnxKo-l*DdCH6Xtqj=6WOM zdL?r`rnTPZjbcM$bCPx+~;#bvwXRB2=!`I7UeUHlKR<`$^U*|@bgT$Zgu^0 zSE28QN*{HrfA7VNm$B2Y9SdC>wjURIM$~OJ=cbI2^pT$Ndp|WNy=^7^%HLDuyS>3t zDR@n3bl>;#^c*czhB=RP{UlAlpQ+bZ@Sdb&3ytqDd2e6p7WRBsQoQGRB-l?fN4f>( zNZ5Chi}}3Gt^X}~X^Z?H3y-p-P9uN%CTHmHX$GIWbpHkCmAP-|zK~d%o3iJb^VPgp znrm9(^|hKh51HTM&1>bjUf}=z`~Rs2zFGUgrBd|HL#p!Q@fu&(7j^cVs=nVhRW&WE z_;t?_4VtJC9?0mbsEUOR3apr1d6^W2+DT45i#N zmGVhfoKMF{=Q>wJOyYs4a_{B;2uzRiH)*3Pet(p|F^is$s`P_VUq@K@`k8nEmB@bt!Qt>+CS5pV_jlD?R)0|I|&myjW4$t-JW#}d1$lLxM zb>=b7nNK{Ab?#)2@1dOT#VUPlvC5%1a>QTEdE}wQMdXF7ODK!uIP_2wIVeV&GYBFd zpL+wn&ULR6j}ja!=)T5vF!u@`SsYt1xfcDII=7;Zt*LJt@}b{+ymbKOol>m)Tci99 z+#(h0TBMT47Adb=kxFoEbtzK0&Un&Oca$iFV((O_)Wi~%WBugX7BjC(l(&v~JApY) zeySbyK#7B?3-U;dwM91dJ-$fAk1J9(Ox;kd6mmz=FZ^w3`Fqr@z9qKHU zzfCQFd)ndg*Sm;14&nMi)M*UmkEFi07pd%RaAJ{4-$MRl@S};j6+fy-WfGjPD`HIX zH{iz=DVG>^Gi~Es?g8>jkv^aEPY`!EN#H43%{30GY(}{=inH(=g4^rkl z%3nbG+vJH-ACkU->yY;W=U@z3?~(Qn`Qz=sBAySDWoSF?`UmI#NxUdW9xz6F4rb-} zYvRA5T$ufm`VjAJCWd@`@>JXd{lAd*8F4UyV(TamW!|DbYl%Y^#}0K&yiT56llh7~ zVI2BUy+Qh7%B3Hisl?MKaUqH!TXY6%udJI5tV@)>szlix+4D%Z}_q5_Nm1#oVX=iRQ970>JqD{kTFW-An$V1LG^at`s(8t8(E}=db z6Nj8Z^arvoMVAqGIrSwydl7v_TH*@wxRPt-x~u75j$O(~Njm3kk9@8tZX|gzHYtvC z$R#axBj+dL6Vzoi>Cmnv59CbX_*TlkiL%C#b_*oUf)>{$$8zpAuH&3_JJ%8GkD*M- zhimMadxsWXZ9Rzg|A*KXB`VddL}l8PsQCBPgZFD3 zo@ZkXN!v|+MO;^cZ^gAgP~T3(9m+M|P`|IK+jr!>gL;0&xg71HtT-|5VdT-7>$*@@ z6Y{L$9?_n3%1zpwBfl7BduXZGE`t9Nz%68-0W69@u&Yy%o zk$g_z+FqoIP9`tp6Q_u?kWaeR9UVuTVVd(9WT7~6$tQ!7BJP1{;xk;Az0c6q>~ACGVkJ z6h{`yP9q(rP!gYgg}i1Hli~O=>ac)37s5s4h0?-#q%9@p3G$Y-`J5*<#kKYt^n66w zPefGwNuCE`W@$tv7Q@vXFM7 z#NYRRlX6iKrKa#4&T~)fc-G@FtRJMf7x>UQjWsl_oaZ6(fY#keo=so^WvqzGHK9IL z)UlHKp){|HlO^mQymuetT#V1WvZcf{rmj)qIcF1NODyMXUaR_?OYxo1Trt-+BA$9C zxF#cYC)Ojz;yT4WCBy3okLTeuN*r9O9GiXrDCz{go0&(4k#BEeJCXO9T-ya6O8&^f zJDg9PK}<(@EPX~yhGU<2mzZ>C>H%%i;(a)W{MM9z8s}nMk1{BII@co~#e0)~bNmsE z=?UyVC((C3Si8tRi@IDzJ+9>ZFxrPwL&)bQ#s@h!!)qz89oPJu@%Wy3#Cr+Z-EbEB z+z~vt-p9U&ytc*4CCabBHII2)0(#@< zlc{)))jiAsl$gf#cXOPit(^C!K+d~&(JvE8C*GYzIUL(}kXFYr={d@R}O^BQbgS+fz|n#FY-r)T2tB@Nm$s2@H#hx|~6SQ{oD zAnhUAF_(N$4y7N)BTKZ7vC8iWjLSXTqmY$kyih#F9Damrk&Uto@Q-oLe9A{IvN%>7 zIsX)SLiGXlc?G`8F^s_&%u1SQ9d&x0KM$@_YyX7JQdum>}MPxj&KL zp^RrI=Eot7d1uDCBXa@y9jI;>=FDNt37(r$xAD51*Atn4u_y5?m!vHo%1vjz^LoTb zX^vwYr;zn`+J%yTqh83}g6BB*Au8szd`VQf5%?K(@M#}u&L`B1*vvNC_bGM$0&$HU z<#p3X#I$2C>WXg-k$pJt5gb7tD0d|J!R&#gA4*=GqP#xCx23KQ*L1pLPgcj*)c* zbs5HWLn#lrS8^RnUxnv<0wqyQjt7&^5MuGFhP@CbQI6|vxrRN{;@BZBg^x+z$Rghi zF&5X@C}}aaF86^8(B&m65$9fZF>T`5OR)EFoa5O4HTR^8I8U0#{W5btbK?>;jB_ZB z;=kg2f3Clf^Z~?4JU%Yh4c6v6jG$8k3&#(WB#M` zv0U4o*dC;D&b^a9<{8+1k}{Uk_jqqMefTu}e+%yiJw@L=MEYFj%RJJM|2AX!FuIE| z;arM%m;0*4u}^;S#~Gh{8LJfIf=~R3P#NCl<_*AGBWrW<@nI$I8E6uu`%*c z(3bK^OP$U}iBz-K<9ALPBi4~fCMoXg4ikGYmK`z!L^M&6%N z_U8!tFvqiJ<~`CCYZPUF^f>*(VNJpWECQ7L?a*Mc#Q6Ugns z`R>#gCMhF^xA7@SL%CZa%AmCPDU^Q~ej0IiQXjmFl9TbsN3px94{-_3$0df?3`|T# zq$jzTrjf(*s6tu13w`cY7WXIb&s_H>VzZR-KK1*QJhswTizyeMcnY5;eLD3+-VAs@ zg5JFlS@+>*;*mFtW6mc@bLNn@h+}UyT0xy3q0Wn_Bk74HT(ge&Cpg~3HI$#FtQ2x? zV@@?=t+4moUyycPkxFbMkIxaz(tpm&a5a3Ae5ilwE&K-Bv7B*%#0 zjq74ulS1(;iQ|0y_nhOp#4OI?vxk$H=r)dT=i1HG^>xZz%k`g9#v5=e*WfeI|B(FN z!B5~E{opj>KB~CSBCnMDZUhfgKavNE$?^C29q3!i`Gz!TqZnxkltmuLiGP!43HRw@ z?$JdMr8rJ=oQQIt#^>aGIp@nLkFvdnsFHLTtH6_ zs1F*1u0`X}R5Twwjb26@&{p&vDm%1_XWA-t5;`AUhOR^7&@}WQdIG(OvS>5<7FmZ? zsUuJybQ!tRhD`MSal_G!Z?DopP-^HRjN61P+v40O+ddx ztI!81ha!hpsY6g#bTT>*dFW2G5UoUSp!d<=(QefA2+BwO&|q{Ux)VKuo=5A@ROljzy=T3(-}m7Tt>$p+BHE(HE%v*ecZl^+e~R!RR)W zL@D$n`XkDs578G$b+1y*P)BqsItN{ZJah-T4?TufqL3Zbo;ahtV_W4YV1l6NpF0qchPUbOV}*?ng_} zpV4RNU#R@VD%A!ZijGCq=sYw8U59Q%GtpAC4tp!d;NsNz)S8S0C!K$Fk{v=XgDAE6&m;~4WCorivl?m9iNML5HK0(0S+*RD(wUf9(AUyp_}b2ad026q0mZGF&&qC4?k| zF3pN2N+q$KVV};{K6@W~?^7p22qAL_q2W~LoJPYXgb*@bLkJ;+&^2E|_`N@Ceb)0l z>)HGC{k~rR*Z(&7z1L^W^SFU2zzkp^@D%VS@CD%XL7f3Q0>=P@fYX6h%de#l4QNT5G30>}Ut z0M`I>fTw|Xfo}lsM1&967dQeK2vh*)0+$0bfn~r-;4R=Q;3vTAkM;}b1oQ-k0oA}1 z;BMewz#3o^AO@fg1KofjKs9g)a67OBcmY@kd1%m1|p2WvA|%U8aNNQ z5||Fm1|9|81ik|7LG46)paXCya2(JN7y(oO6M?IN+kpANy}+Zu8ejwPJ+RGSw244B z;1r+|xEz=ZJPN!A`~oU@UMxa2xOduon0p*mgMl295=W0F}T5;6`8(@B;7&@CVT5G~_98G%y560v7<& zfn~t6zKY1K>cQ2QUh# z0j2;mf#-oQfxnDFeF07ds)0*^JAnIvXMy(taVF{{a4awcClfXje|z)Ii^;B#OLu;Vzy1LzE# z2%H7vfh&O9fyKa6z*^t~;49!qz)E8r3hWPb1$qI)fpVY#TnF3@ECZeb)&t)H?P_2L zI2t$!7!72BYk|9fdw}PFj{uQD*#nLM`U7VHS>P&Q4)8eeD)2GzJJ2qRHVZf!=nISj zlE6gZa^QBL8F&zQ4p;|#0sI8Cu0^LxC~CIlzU$Rlv=_eBd778Q??UTVR_! z+793l;8;GH=s=cWe+$4=m(4j&H>H?t_EfS_XAG@ z?*ZQd+ti`$1C9jx17`vCz>UB{;3?o;;74G)@rWDH1?U5u0c3znf$M-ffQ7(HU@h<| z@H5b60@`ul5a0yhRG<>51FisW0Tuuc0q+1G1DgP^9{m*XH=q;H3pfMF16KlbfQNyX zfDOQAp!GzI>3~i^ci=SO9N;40R$w0RIPebeGqCG1t@F4 zF~CqD0c3$IfCk_p;5lGDun7vMS5LgAg4SWwcm!J&?4hDJyrvc-Ddf+nPW?(t+ z2JjuQ&7~+WKzHCYpc*(2xDjXsRs#P9J_G&>w3>o20o{NRKrL_ya3}C6@D}hRu-#=C z_XC}QUcf+L7%&#N47d$g3akR&0lo&dxg2f-M+3uwEN~^z2s{R?0lo!xx&rP3gMb=f z8gMf(8@LyE3V0cK5BLW71K4#c@*X%0I2Pyw3V}TJs2Dk*64m1D{0WSd`1AhR!U4^^{js*q)qkt;l0^n-k4q!3x1n@TS zDex1p-PLGofG$8^U^I{iE(LA|8i9v_XMneW&wy`%Er34_<7;3qpd)Yu&;vLL7zI=U zS>Qt8YG67r6IcX11Uw6@1AYYjYfwLdp1?q043GmZ17-k=fG2^Mfpx%_z#qVl*CPDD zAwVBsG*Am%0o(yB2VMd`0e%2lUk7>M2%sO30J6Yk!1cgvU?uP(@ILT0;9rmO4jcq@ z2ZjJuzy#o0pc!}qcop~*_!Zdp28>~WV}W5nB`^WF47d@P2RsdY479ot{UC5MFcz2y zOam4H&jVirJKlux2XHbl3aA1m0oMRCfd_!6fe(PM0Dn5#cc3dU7#Ig!4%`VW16BfW z0{;Q5n^E3@eSyP)KEP<84!8`s9e5B}4Xgz=0>1$MEm)fX_5lt9`T!$=6fg<68n_*3 z1RelZ0q+8z0zU%V-->bz><4rKdICd$F+dua2wVt+U7q}023V03p1n_2JED9VB z^aRcTYJdxYTY+W36TnNryTBK~W?-8;(f$J+fg^!_z-d4VmMJl5$O0Du zHv-MTW58PAYrt(r{R9pH1_R~5<-i=^Vc>n>cVN$jSnC5u0QJE2Kr`?p@DA`Ju+t)x z8=xOh0h|xq3^W3d1Fr#J0^2S|nE{Rih5+XPR|Cz!)4)5x7r>8zwFGSluq&_+a5yjo zNCFdp>w!mrZ-5R<5eML6pb2;ycnkO$*mfD>33LLE0R{pIU;=Oza3`<~pqqZU1u0yC z` zw}@NC3~`&dUECpNiaW(!;%@AB&K7gTT+txriTPrIXcSGNSu7Nb#A2~TEX5g?d&Irs zK3v)Qmv}%tD3*(d#KYndu|hm59utp?mEsBUqJa~#Is_xcuqVoUJx&em&D8B z-?$U;s(4MjF4l-Q#GB$Ru~xh--VyJLb>cnozW6|_7axj`#K&TT_(XgvJ`)?o=i&?T zrPw6?Bfb(}V{iCd@tycy{2=}-eiT26&EjYAi}+P+5x#x=>)~;52Yd33mYY%Hr>u=Ux*59oT*51}W z*1pz$)<3NMtplu%)`8YR*1=XM>k#Wu>o8pWKHTbJ9bt8~j|Cs;kKo>nibx7Ek$YxT2EwE9~Etdp#ht%24cYp^xM8fu+looWrUhFhmuBdn3u zDC=}l|yGm9}cEjFrXZ+;gp*mA493 zoi*N?VAWd_t@Et&tx47e)`iwZ)@18q>k{iyYl?N5b-8tgHPyP(y2`rRnr2;NU29!u zU2olB-DurpO}B2gZn18)W>~jbw_A5uGp#$VyR5sdS=MZ8jy2b6u;y9wtp!%2)nqkW z3#~=gVrz-D)LLfUW8G`rXWei8%X+|i&{}RiWIb#>Vy&`Xr>mBP|Yn}C;^}h9i zwch&B`pEj&+F*TReQJGXZL~hOzOcTuHd+6%zOufyzOlZwzO%l!ez5*){b>DUZMJ^4 zezAVFwphPezgvHx@>{lTJGN_kwr_7^x3agjx3jmmTiZL>ZR{QGw)ReTJNqy8&h}sJ zUF==$_V#Y}?)Dz`p7!7Dz3ji+9qhgBee8Yh{p^3(``ZWD9qj|{gY1LtPWB=8q4r^R zXZvuwi+zOM)jrZb%0AleW*=i8YaeHKxBqD$Z=YcIuzT9Q?A~@CyRY5PKGE)P53op#b9UY?*md@JdxBkWPqfdo&$lPp7uXlt7ul2Ti|tG7 zOYJH4W%lLv74}s7O8YANYI~Y}jeV_soqfH1gMFiYlRe$O*}lcT)t+JBX5Vh#Vb8Sh zwC}R-wrAP1?K$>byTP7k&$k!YjdqjWY%jDI*^BKZ_ELM9eUE*weV={5{V)3g`$2oT z{gC~z{fNE7e$;-=nQfOJ42kI&MD5R&M;@VbDA^48R?92 zPIpE-XEJ6AYUohzNIoU5H_&Na@p&UMc9 z&JE6u&P~pA=Vs>?=T>KibDML!bB8n2xzoAJx!alL%y#BDbDaifo-^NB;50f-PP4Pn zS>!BsmN-kDWzId$z0Q5k{m#Ff2b>3;<<3LS!_Fhl3g=PhG3Rk-rSpXIr1O-s%6Zy( z#(CCR?L6l^@4Vo==)B~-?EKq##d+0v&3WBfAdBvb>4Q~ao%;-Iqx~|J0Cdf zoe!OloR6Ii&L_^N&S%a>=X2)^=Sydk^B?Cc=WFL1=UeAH=X>V|=fBR6&QH!}=V#{^ z=T~Qo^PBU#^9MS9%e7s{bzRT(-EG`f?zZlB?)GkLcL%qPyQACI-N|j|{>9zd{j0l+ zyQ|yY-Ob(I-NW6}{hPa&`**j4ySKZKyRW;S`ww@2_W-w}d!T!ed$8NdJ;XiKJe_t#B*dq+8{V zb*tT!dyYHKO}jO2#?895?zwKx&ASD+&K>VgaO>TP?s@L{?j-jD_d@p~cd~o2dx?9g zJH@@sz1+RRo$6lcUgcixPIIquuXV3;uXk^7Z**^Rr@J@1x45^uGu+$U+ub|dneLtL zUGClPEO)j$$DQjoxbxik?gF>bZE~C4h3+DEvAe`w>MnEdaqo5SbMJTm;iPTnEjq26I$XYX*Yi+6mBEH_x|Y} z@15ZF@OpZ^yxv|Pudmn7JJIX!4e(C#PWA?RgS^4s5O1h=ig&6v%p2~V=8f=1dZWD4 zz0uwo-Wcyp?<_Cjo$Zx*(4CrMz>zabDW1@iJc4tM$(Ha$epmcy-=* zZ-Q6vP4v$5&i5vH7kC$X7kQJti@i&{OT8)HW!~l972Z_uO7AM~YHyl%jd!hgop-%= zgLk8MlQ-SF*}KKN)tlkn=H2ey;m!2!^zQQR_GWpry*b`oufdz=&G!~~jb4-2>@D;b zd5gUz-coOwcaL|kcb|8^_b=}O??G?5_mKCn_lUQ`d(?Z(d)!;;J>fm+J>{+Pp7x&c zp7mCH&w0;#FL*C{FL^I}|Mp(-UiDt{Uia2`Z+LHdZ+UCIx4n0~cfEDqd*1ur2i|(` zL+>N+V{e1^iTA1ZnYYpV-21}&(%ahI$3 z>bLiI^LO|6@b~op=I`bI-S6P+k3P!{6UO!0+fE=pW=C?051H@elP6^E>;8 z`(6Aa{I33y{!#wXemDOZ|5*Pxzq|iW|9JldzlYz`@8$RQ`}lqRe*TGme}8~~l7F&4 z&>!Rv_J{aG{Zsr?{bBxa|1^JuKhhuNpYD(L&+y0iXZmOP3IA-r%rEyV{7OIRSNUW8 zYCq+l|g9(;$P}d z@h|f)_pk7$`d9i_`B(eX{A>Jc{p}a^{;mED|2F@2{|^FlV4sLCai29ZflAbl=Z zHZf6FTbs;OCdQYgr6tLgr!r-^iHUr&ELTw-NLFNPCk7hrrj)0^B-6>7WTueFr_Pg} zNrO~I2HS8v>UnK0S?qf*SrvGbOV(t^CljemWwO2`nW!qu%VyDsq~qE;x)~lRNyK4^H@5^7^bwhrZkQz&9D zFhaJMqK!N>xxp9fA6oy(T^E6;er!cTWH&xPnYz{qPk%{b*(Br_VA~POKnO;%W!#mkj zmoTZVMe0^%i`{N(X;@DxXr_pJ}POEWg!^CG*l5 zOD1rV#wezf>1r3c(5 zQw$Q4MKLtu;$#qsLfJT3Btw>GbEZdXY#8xbmm{9iwP2#>b;ZVdau+e7^w+IK7@X*Q zE-I`hbuq@6*+tCsSd6HAr2AC*BpP&@KPjDTTGiYzBqHI;C(u~XcwU)?shX!*r)n#t zQB(vy9{L*Ungd(Wq*qquw3M<`PjQuOnD%)L8;f+5+p>fNj;m2-SY#{8Dyp%-fPr8x zOLKpvSF`#+J1#jffk|x=vH_>!ro>f-2S##oY*@%-Gw4v$n0`lVK}EG%*gyy>#^vj3 zkoa=_A<%OX4)iklQ)AVr)nE~PHR%jk4xe^9mqZbw5Nd*YssuS0%nk#ix?0p{D)|-F zRBtDg6)LKEj2dI~C@f0T5(L$*D3{OHAC&Vi8ObPWkz+lzxi zl{OrX(pMc?tRR_DqJpNVq#?JeCC$PNXJ@Nx$||VL6*(Cg#GDKGh*Ow+mFLi_V_8KO zmMjRFm@-wM3DN`KJV3^9Nv|o%Pg*FIhK}8{2TSQkfJ6ArsJ_-5`L*w zj$la1=Bgd5!s1_fnH&=vJoT8=IaHvwl2a6E>Rf_o1VmV&11i$I8C+GmY%CSAfJ{{; zFqzTaUX(871f;o;WU`4&wvei#mL_Toi-a_dDCHm(A`;bAEwrZQCxM;>ivo&8vluPi z3z|E!EhU21O*05|EG{J1a#Yw|{sZbx-KJOMApm9ltFT{=}3cur2i3G$>R3lU@KV>~29A;{Nl)xC&uN%trm z2v0OlQ7cB;6gLHgJfbp}96_o}S`Q_|SfB~UMuCw8io#r5Rx`th>t#_1l#WLX zDd;U(jAm+Jj}o%T0@fRI7;jMOlrW<-E~cZ6Mc{f1Zj?%RiUip^FPkZLT^nE@tUQ+- zpVI3yVRDl7x-)TJV8PO1T~9)SM=C6;qdD??G~c7$IP~s5pVAxW#4TUh4^! z@*G=pg>jm)Uh`p%Xs87 zmBUa$O%gD(O4MNfj?mIlC26zRh>d*e(LNbru!u3NT5UD-rqBfJ(kd5{NQa<3!@@YU zy5M7DHV9j`4jYQ0pweo=+K8b3?gHnNnei#?e$ns?pAiC;+9c%Yjw#v@#Mnp9S%<3dUR|Nl>9EW?{9t?ATmc4Gmm*#jJ`8 zJ$I|TR1?w3DI=!~MN#(1a;ZsAII6Jdohi_E0~aVL>?-ARWVKb-AesHuGzy~%stN;E zSR%SiK8t#Rt+}X7T@GUg45{Q{4{0l8bTp$hwRr44R~gm?DbF5I86=CNIM zlu2}cB`e2nBw3roggJ-`N_sjPDyfe|H9rv>M6^_tsY=OqO^1{X&@h+jwRUnH?O!BG z>u_9v*SNxTR%GBHhgGuLwI~+}tdz;o1l~wlN#|>m6)D6e@JBUN2opYZeo|YA#Xf2! z)nGV6Q1vduN*w%-u;Ef&gsf5xbCd}tw8bRP#!Yuo@@ajKw%=qk7_mmlh$X;SKs1X( zF2NdO%o2LCI@#t%_+V)<%F!k;xfgO~;HYud>n))SEq&#%s3!ZtI327>78~d-%eYC2 zsHd^bCHMLwvWiQ4n8r2vC?e&e2< z;}dS>NPjqc$dw>_aHvgo_n5(`gKTQwo`!(c5wlb+wOv?XSGg2g!m7Wr7`1?YTRIlw zFdpYK0(u2gs=;_x>A2rb(HgmGFZHLcV^Xh|;H8FZQTarj!;&>tT5a2A012UOpI*e;bl^Arw5p6-4 z>Y-=Epen77l|?A3uH|*KFhPB1Wr~jml$PMeq@#`Fwmj#EDC=5OY zNw3((ETBST>XOXSR4Zb{l_kQ^B$LKFrkrMVHyg1)BWY8Z7)nw(Ac;v*%Mx>2ip%hY z*&fD8nxc%OYbfChm2!9#H=)60#N)hLz=<(9dWMq?>P(7Z6y$4huF)((WqLf<i%Dr1ukl1EYK=Y&~(93ori|L76#V`P<$0DKFkK~*nh zRT-A_5L^2=Q?8HO7?w*rxfQqSN~VGwV@E@cj;q*1B4e=&j~?k02|@5eBOW`oV4~+) zrHs{SrxGUIS_dYorUzP8%OhHO2C78y;(om-ZJCD)(Nw|8D>{_mL{8v7RZ1M&i5K?> zU6ik6Rw6vIdKVSQI?W?iGm%WOS&URe)%M}e&{}k5pg)kMZCDgk+X(jNykgu zYoVl)lf@;K*rJk(?1+~yJ${h!k@s5=7p0N6ShNm97_35sI=Sp8y|Ql|&^D z(xQPx-$aXNlHw^s@SUir!@*G+YcPe;f1n8_(#lLt1A_0w;ent!oFm(QX{@ibu!b%w zXxaFzAtHkPTbfE3;brk)J`ojHq;a@O8q;Q__AWT$B2CneuKv_n5a=;6phZ`y$7%QQ zmQhFs;}9jJuJ{DTbbUc)9T!C@q-v#>;X0}&q7ic=)(A&Z?PN*`im0|v-$hYY>nplB zr(>CXo`oqCw}7BNIGx4%QL?J6E=>y$bnb>K4zV0OlcXYCmYzUc>{XaiQWsCMM3;7j zOr#_h;`6fXv3Rk&%;-6Rc2{=y!KEh2$}NbxoE*-XM6d`GqtOLn!#qa=9Wvo%I@Yld z908L=F~q7lM%T%-oPd*UmdA|n9BdlmoQrmr4N9{*2sBYjmdVpf5y$elR)qYdvv+CP zcEL=RKspzPAk|Sy~0AU4po{TtwjcB4&|t zV3i0~2mc3Yxj$rh6LYRbhiD*1QIa0UeIdg_wVZ6U5Svtnmk|ul6|2jcX_QakMw+Yx zCXZ>D-fJ}sRL5;lbk$Ey^Gq7e$kszks}br@i)oSClC9gs6)(9GZP-(Th&c5>xD?*F zh*^{)kW!_KYIuuTq`NZ1F+ThiY1veHUCMw~a!T1M zrqy6m?p>>JQa&rKyrgBiLWViaed%CB%uXVIF9dVTHN5F(j{h>u&O9COjAr(q+u?z%crW>B?li*}$ zERGE4QmCA1nk*87MB$A@)v7U#O-r7)k`T4~$U z;Cdf2j1Ii(iA#ivG#Md_xY4o+UkgyYI)D*;>zSA&bSK6dlu3EzKx%nP7JRFqAPUUT zeoQ`9j#(TH-6biDdp1kmnA8V5ixFL-tO~;yQ-Wt$0g2rW9Mz+ngPM{DJ!M)LOw9k9 zvid}IlFoH$DGXC70g)~tLxG{%E(4`+yLc0o~*pQ7<8btjiQ%&N*Kv;3cNyPro@g(a6O5!RDO^* zk$aLQ1gev1s{GW2FeWtIXIri`u@>dG%$mcfW-AN&{#(%9^qn%QqfgXx`S6<$qfye53*sVV^?x& zLU+3PpiID_dyG=(YRk%T5DNVgq9Ud8dpCz;kj#kG_B|K`DEom=O?3 z(u79unUc{K}X6HMYP;iI9@BWi-Jjq$g~Plf6~?; z4@{{r<6N?QWCd%|xaOeD=*BgrX++22RJXA)=F{gv;F6R^QIOKv+On}^I}C+pRPZnt z3ycbQhe2H?m8bG+13e%52nlsigggjj6eVAckcUYOL+;x{X}JUP*v z!l}VjjO~P0_jTq74uVDOFk}nRvZV=8bT9uV26Vx=E*79%`P?d3% z4#S8~ODGP@v@t1ExF|(W`sf=`>VY4r(;3Z_8i*>5xdos&E|j4r+yr1QD1)q5NegOoKqfb(8d_XTH3~FFP%hAT zFvxC2sVbztYjF?(J-R$F5o1j6q@dbYh{%B`A%-)JG(wEX5fc-{0+;D86UAbNuaGMC z6r|}V6EU}FXl?qbnG%AAuOwIOEwQG*nlarA+831~#@2|Y^e|rOc_&0^f1dljEA{=joTrk=|Z-q=ZAN~nB_2N&cS5N&!^|DPOf=3_W zLq`!ZXxAbfmx<6Ol?*wZqye%iNDZS&M$(ZMtT1)O699T3!v{&^QWlSQ^%*zj)PgIf zvC>s?KrQ!$-GmaP48$^E0UKs2l>&Kbf}6B-GDe?f3hmHwi3;49!6_0NpoIo%<*V2N ztp(6^Y{WYzPdBWxf?9ZtF<~jBB;l~C2kN4d z!Pr@mIw#3aH2mSPQpvGCLHEvruxT>9Kcj?k(S(Z@IV*K$=oA$TiXKX!c*rfMNTxBN zx^n4#z#!G+LQ-H0ucqbYMTCISU2%lq{rG^<$-vI)0efJc#}a%64XeS>!$0vu{wOi@ zmWCAIv)ot+QWqO?Nfg0MB2|Ua6Z*RFjl^7yS~JYaYjQa9j8zbt8)&_59oU#Q{OD+t zTHVt^%tqP?Q#@=enCH#fm@~{4JHrNnGpKzyuZnY|b#%%~o{x-Dk+s4oUBIbkY6YU4 zJ`$q2aLrdU$t+c8vm2ekr2zb6Di8!1y~*Y zIwTTCL9ra5Vo3He38Tx({7`I^30HRmAsrp`)AB{n&_Iok13mI4>J(*Fd2%dPx#-qL z+=TYWO7X;DBaU}WqHc$S?SPG+s)-u}qv6s9MFEHmmqQyAAikIojf4y+#W7m?b;1UQ z+L-%%5|N}2 zBG-g!Qk8PWBqZ)iWn4C)X^vP zp*M{3Sc*-@hEIx9D|cl%dCEpn=hkKADxA{QWdc1OLPW#BW7>SEqam}>@{~hqXhuON z;zAuIH7dQFGXxj&l`&Np?DXRvUtlAoFqFf}RbW7A5tYSuP$X2O!+yT1DDt!zWYqyd zcm>likgU-gQ_9#}AW$4H5QLg=fq=PSfq?bg07?(#vJIyMyyR6Jxm&EH^@v34csLT( zh8tA|8#ZIoC*yFSv96EI@%0U_S8+SS`}aEGaY58r6U^2$HG}`6!Ru()rg^CQw~h|=&cHc>=%QF&6uOm zmNGCLHr=946*)gpCq;RY**F|wa8yy1DeqGoraakV4mm0JQh1Rp#=<2^Q?;tCMN2z? zk`s!COE{*xA#XYo@;qB(FHK%gt&0r9$y||9IGt0G2whYraW{GH7z;MDu|S*i&sfM! z!{QK{=0(9|V{;CxV`mz+=yuVJwoqFkuMl7hpRvxB?7^c_q31<0;car4kAkyFg2RY!R zPkD`u$eLO?7Q+`z`4%qm!2qa$7sk@58o3+;1HOqzU-Hzc`k;nO*CjGY@Nqd6Z4h!2 zf#chH298h6F4Y7SuY+Oi!xFTI84kwOo~F_#WD968YGDvT2yGc5iO}J#H&Yxhh(r$i znPx^Lq+9CuI@C{ZXj#eWv`|v?h@*-+>D4(ly*9(v6d6=;(muf~AVu^KPq!0(TMA0I7masn*{)pc6^DPJ~1>{uUr zbz8E?8G1Md*I;N+q$rH*a7coFOD9IAsqFk~>yuN_S@X3P0EGIIZejoK;7zi&$(&YG24@{PL8Xrbaoc z8R`mCcxNeaN4}sOjSV(I(9KZILEnH|RobQS=YOPKywF%uOzmfevo0yD$Y^x2FoeRU zw+p3EgbH>9Lj&|{IwVq%7FqP_l9G~F9rS0y$aG2p^u{U?)Ngd*XjD*i=)jV891mUc z+eRUS;=>PBNav-~@@$ytNpMI_O3_>n!;o}YZ9XhbisZ?BL<}Pzc`r^;IlM$#97-Jf zs-=^AeHox5Gx9{E;*)dr^3ln^eE3df)&%6*|L!r^75sQqqA?hTCKo;CiFn zt;KcVpe95pIeEZ7pL{>W^gvqC=E_Z3L`vAM%ODa+U1?NGh~CKBy6IM(kP~XH`EF6lNLr03OJ&%RTt{8(j%V{ zi{`sp(qM8ylKXF^oNtY8s|0 zaWIvBjD^Myrctm!8`89tBnPY^#l?t1F2e#nZAq$5*k3o;wGpcjX0d#2K}Ko@-vO$u@RNS^YXpK#Vj z#=5N{>5hVI5XlM`3H8ZaQBo{Cl_0gju8`94<8@Mll+a^ksSipOYJG6Ihnj%!CSyb= z5AKBeK#T5?cSFdKb;`63Be!7Tl~P9$dZoXvBHxwfU|0z|{3sYl^z^F>JWat55G2dS z=^s+kB!-3f$xb;J#Snl}DPn>xM=FS#p`YriiF3xUR%%Jg6M8J6SYGyJDfOnRday{_ zAro~6AmU{zUzSF{6=Q0v>D@JLF_o{t{R|o_hYT85tU6NVj&KxIgTb4gwKP->W%LhI zh74WuGeqPh&t#~xF&Hd7$~U@0XY{ZCgpB^p%aECX2Gnqdh(yIXrvK{KF%7x%lDRBo zAGRI|QB1!rBm1I>+x?vuJ2OVgvtO?aUQv~@YgEr6?8(v+9NYt`zE)@9VPht|fdhU*+!KrT!uO@iGmypwECpFv_m4g z-6bnJxpZi?o)=N-s3#_~I{e~?@{E>ugXE0RG^dnr$MDM<>LHCLM1#_opoH8uj0jN)i=jk-Mt1p-R)N=Bs8VAr7+OI z(s)>{15@hR)NjKC6go2XEQDq%=@wi(DHIt#mum={=^#a8iNGB1z#Eo%aWkGL(nc@} zGHmd9u97y)RF;mIX~`6icMNyq$xCbWay3`CVu7?_5S+7)8fVMTp;gEz6;!Ag8I{uu z&RWFCNO^EB;%Kp<9@A*+Xv!k;)UbsQaYbZgEaQSyw&D?&E(8We5mzlImIPyNsZHv5 zevvdkP8AJ{T;#-_kX}bO%=DU6l*C36X8Za#*rFzCMJ*N>%;@CUFe(V{h%Uu)M^O(I zm8&V6SWazLlv7PUjqPc07Bz{L0g5lLfk&lECNjuqu^_AbyPr|3a(S?%eR>|OD3(MP zMKgFvEb8!h8daKve0e;=^1g-^Ld#7H@>tB4bKVGDg`>Qf$kB)5F2mE=^Qf#kKPWdF1N+4B5~sn%+9^6ZMsqKk4jOXCy>rtR^guSKbPtz~(da0X zyU#2O0Xi)uHK@p8|cQS6yBYBzE5+D%;P;>ae^DoT_bAx9g( zkVMMFk|)?AizZL0@=T7D%$QgsL2~qaqNRo9OgR>WqE>>OC~74%S(IKyQR0|He32;< z*Ygn+nE;V(Je>||o?$L$8)oVu`xXRfk3H%k>5Egu91}o?mP9^Ys6E0+g%-VO9a)x1 zbCeY^l>@GbhY_Pv-C@KS&6jEgOWQ74=L75VC`9SPY08u;Q89^lFCQ_^;9eP$Al7X~ z1cJ|KB=F8hv~`h%(oAvLbIGKG>k+GpS2yf*R!EM;KdV@xMDEKF$A{d? zPb}opHTj}YVo+F?mp|ic`cQi8q1}=zU}}>&ZmneBrR~ML1I^Q~?a?pW%4;)m7vs&W zw#0JrD5)oO4M*hd4f%khNgKlq=`1zOB@>DaT8jA|%RG^*iB)yJD*%hgTFMTmQ)E&A1gXD&D ziGagK$y7(8$^9?tSCp$t8?5xH@uP}ZI#r&aGj8&5DM}ydv9^z=dlE==rB|68WG;!o z4|TqrG#EA{b5-<sGc4oLKi+J2CC~c4EILLQZUKC)R))9^qzu-cGnLv=ix7q1^N@ z+lf72ZYKt=4!H(!TV8D^#zeS2o7#!iufd<^Lb*zC-Cu7f7Dc!z;KqPk7vWZbn+C2s z!lVB-f!hSG)L-{Cia(pxNvvMaY6GjwS$&b!^{i?)H?zLg8_K<1SUrfz0&^%Yj%XZ0Iae`j@04qbYQg`s{>grXSJTyt5|Jd^)Xi0u)2}e-&x&rt#ZFRt0%EKn${_UEoZgB>J(OQVRad+kFokDtKYHezoXpWoz+gP z_F;86tCg(QvO1a7Yguhzbvdi6S^bFB-&t+sh^#)%mP0XZ1B! z-)D6TtL{4GetTB;XSElr!&$9jbv&!rv$}}YCs}=m)o)nU^&WU+toC7b z1gmGWdJd}vRwuDKh1Kb--o@&CR+q8*FsrLseT~)kS^b99Ev)+QtMIjBbuU&svf72! zUaX$P>IhcLSuLZz=bVYQ0Y9IF?yI+fKMS-p$ZW>z0ybrq|xu)2=b4Xkcr^#@jeXSLOO74EjI z?#}8ytaf7cC{}y1dJ?OrvO1d8a#qu<7FfNI)v2uB$m&d18(DpT)s?J1&*~ah-)D6r ztKYG@h1FIca=Br3PgeJ5wKJ>7vf78$!K{vEwTjhRR?lN~3ai($I)l|YtS(~p0ajPC z`aG*^S^bFBO{{Ka)&59@zcs77u-bvugIMj#>hY}V`rSXKAI17wR;RE!i`5mZu3>c} ztKwr7j*hH$XLS^-wX9BIbq1@AtgdAB6;?O0DmEy0+q2r4)&8uW&1yZX(^*}{>Wi#y zWL12^?y=gH)uF6bvpSj8>sf7NbtS7h{a#`Hr>y=SGvD)5P8U{>Vs$vHm8@#_3ap>P z>Mg7;VRa>|ud%wG)vs9H!s>Py7t&ulR<-+kvc40m-B}&T>L^w#SuLtYbG)X~;m`4!N{2tkYn%>$j@M*U`R8~|m4`paYbqW79IvT#_;b9b(&7KC@!CED zi?LV&PSd(Et`gxmta_Oo`_(u?k3Bje_BCWe5o*Zx3(P7j^s@2+A*U(PG34-Al3IQ~ zIN&rRME`)(dly2S6mX{BmEMWT!fDu;9gLSZMhel}KQ%eFH@%i|GJdczOS*x0U2o87 z1BS^R&XJ-(+z>o51A)HvBgMs}KZUjfN6>*4qQuUkXJzFG9L>SrZe`#43Ty^qSEN5q zX3~$k?IL>8k^SDdN`@bL6k>nTQ$F>giED%mfD#u^i{3baUr6>Hk6qB7LadJJ;nz#7 z?}xjbgK)7Or-vZ5Cc=&sU$Abdx}*g2ovc3e)33egaK8|HKu5Pcd*gu@I(t0~L8on; zgTar-i%SEt2pe8COp9ZzKDb2ynL?7ocY@WIR{!HxMb7Fgf5fJ5W_${Fzi1CvC1HM~ zc+l!64_ywzk91?l0I_)3>W8}(rDPwGCIeIDIr=q$CoSYx&)!3Yc#Xb#4;_GwW3f?w ztNo*aI8`-Le8UW$-3#(|2b*lDR3C(riByO%L+T0;CYRes*pYIJMTmVQr=HL0qqm+A z?v4?jQ&${V%nhg%heX)n@)8_KaRjk_keVt%;Nr=|lu8IOC}uLE49708i!xFSl_q$w zq&K3agCS0dvdT+w260qWP~`a6q~Pb7nx)jF)3C_=UK2Tk#aUZ1?OQKIr8XZvfP0DcWw>8s_COHyh$j%@eLQ+()4>`Epo7Y54I5Pz3Us$yJkdN3F5pwicb zWnq8KjKoC;e;FI z8cnlKg>0~1<#53-xg*3`tKfX^oTyAzgOKflT{4ceq=qJU?#0`}9*R(L2 zQ#5qq4Kf*#$`$I$(x+u;t5=BM++nd6ti1;&(prRV!tT<9It?Lm^nF^UT6REThlI$X zbrhF)!{mjN8@%E8g?nuM7Q!}Uo;N(5r=lhgW8UYr=!kd#X82vZNS?0oIQXcA1@tIF zyr~(PNkY8mjVwzQ(Dcdd#&xwJ@<3}|i1%ACp;G#RHXDY%PTLXdOR*4d9lMd{vh2AJY|0A%=rZWy@K2zDVHbL-F(p znqDEU6zb7TbtgAT^-17zj64r^JHBXCA;jIm*OMZFlUiNG+ft>T9lunA>saWME6MhY z(C2cQtPsEAi@aDb5>=J*7R1;1LS=#BCi==$vg?09hm!*Er=69k!g+}TP9lnqmONmR z%~z=+AVe3*RASpdDSF9odV}i(eAUoZ6IdEzVOu{%zj;z4hT%Jp-#?is?za--%Bv~1 zk67xGEsKj4Qa?^S3l)#Ck4wRgN*g~f#scTq_yHgMLRT1wbL|8@A||HT@+C9TVAEqD zD)fu+&4*ADdGR51>V2RM@+(De5Q%T)H!h1ovxg(EuENiw9Ne_R@M@eGk1L>>2R-EQmajZwXW7VUfVyv6WtJ{?0@TD$0*5YeI1)bs& z;sO`J#89FlOKCX8<%_f8Di^0q=(d-*T7FS3PLp3a+Agl4FL{gQTKYmM6JnN&;K@ig zx*(LZqS@ugYQ(=>6ghen2dzJSk=x7Vmn#L!}5!KSs}mjwHfg!eQ|0%M&DJG z6+%2t-*oLvJV{>}Dr`@wFF5ctebtuZ;^;HzQ{?jT7DG}ikIk1=HScf3-8YV zo4)F+P*-1d^AptZE@X;W=j!{L@8L_O=SS{%ed&@{8j3 z6Me~$|3Y6fszJ$`ew6Jy37mtZav*=cG`Qm}b~AZ- zv!H{?Ayee_a@l?!7?>gFam+Y}kp^x)B6oy1$TZXU$i=}XFa79bayqlcp(an+RY^aN zi@5F3fJOPEc_sgx*-n{kB8<2+j!8}Ra>5K$A+7c%rJs49QiC?CoHNrLVg zS0>a$AVO@9dMMw~r0MYRY)?F{j1lzO-^cjf9h{6A+_+eC@FhIx4 zf63fHw6k&%Kpbih$m@A<(&jmPuWWr!QLqQ)$Ce(#VdQm{P2+WzmvgtF*?b|?cMv0o z^^{8;YS{b_sh35S$I+dL>5H5EgOh~`crQrOXw?prJdJIKsb4`5oryuz!incFVutA< zd4rJMSsuj!jsLxZY7f5gb9U(MMJiiSNVD0a0xwUZZ&@iY{lS=9h&@FuDiDT;^5;3a zh`(vQd@36KsM1$fm0^^YtPp!Ez5L!seakLzfBvRlyQEc%j!KW9@Hut1}FDDb#UK-VZL-nzWj;*Z=^v@etbo)plak$**7&)vf#+qyJ|6k=4{ zzli=$Xsf@|6`B!Zm`LFNzT#AT4G=>x?@K@(Ec)S_{vLI|{$0TJQHewKrs-ayJ!PD6xV{3 z&mjEiNG#H@Uyf8!>LJp0XK{$My%KU3;)W|&(iWveEy7Qs9E-Tq!b&mM0lpuDe@DWV zE^y~?{Ocfw!W9*Q4q^~oE8t%Waqa{&%;900LHt#UoeYy2go;9%mJ%ny=RAB=b}O)w zLFq&0mEb66NX^1c%8?vo4@KApigpP95DqWpKH1P|PCAv7EvLbuaF@bB>qnGdL*Z5y zTphw%h@@gXpSCHIjptT0ui!jlMCEh@!jua_7?w~v|3IaCI7}(Fd4!45Ff1qAy30u5 z|G$4Lw-v47L;D5z@0D$_tAJgDS^Z~K&zd}I>a6Q$&6qW7R^zN?vzE_VIcxQ-S7xo9 zwSLydS(|57&z?HFakiM#VNSO>L+4b_nLKC49MRCKp>0F^h7JuK8#*_1Yv|F?zhP*@ zsD`r}svBw>rZy~VSl+O*VPk`s*J@tdc|GR!pEq>gsCn1VTRCs_yjSL}owt78#(Ce& z+t~C?Q^)4Bo2NE+Sln@Ox5Ygc_g_48@uJ+gUs=3%@%qIZ7jIrHmb6;Zc1ims9hP)l(s@a@CACY|FZpK4<|Sfj+oc_rc3#?J zY5%1|m!7?}b}3fMWm|W4V|8O~BO={lJ2A}?V&mM+b6X(}9TEQi2zzxyJwiUCp%GzU z-LMv+-`vn@Ui*0+=XFE)N6o9AS3hs+yczQv=PgGp)*=R*=e3&OetyUK-RAe7KWcvU z{QCJ*=g*kmIDh&4)$`ZR-#CBs{8kIvFX*_S+k*ZJMlGmbP`_a6f*A`M7c5_}dcoQS z8y9R|(5kV0W5>pBjr|)(A$0YPQyXVAHa0GAT-~^~abx4=##T-3n>sdiYwF)Ls;RoE zzG-UHjHbq>Lv9{rY@PWq;bjeC99XLU9u6m(Q0Y?r5%@cLtczpTD`P>>C~k&mNqV3zI64{wM#cH z-MmzE-cAffUbLFkepbg>-B21wp*+^3JkCH_T#j4@^#f6geB(E2%3QAQi*ET6M_&e}N}=WL$SYHs_v z9p`qN+kft;xz%&)=T4nFV{YTz<#SihT|0N<|7*$t%Jw&^toJ~P7>Y6>+HNoFyqHJj zetVo+LdPD|D`?K%L7C5|@3vwLDM-Ouq~S`W-YZByF_%)WgG|33NWq~fF?$X=u~g zO|?yvo33w~)wHZ>Wz#E7>(NGt=C;ipnmaf5K%CBQu5F&&e0}q*=4H)r@SApO95bsk zN)PmZ{%th{sFS&WC)78nGz!D{C}723qRhTv==xqL(*sQ9j!|YXm?`K?LYXo!KN#*{ z5myX1Y)t{PX@{t-xnN#2WbOguVrUw={3w_i2S%Bx?|D05i$({ai2w z!}n{!Of%fM1I%t0A&%w+zQsZYZV~jj)g_+4JBRso- znQ4Ui05Cro%+X-F8}6J4romuN1GC5o^EfbT3}!r-v=P%w!E`dhb2FIXMl9|Dv$G-d zJed0p-`@r^(D3UQFzXJ8rcWDG?=eQab_cVkVe1Gm_Zzv>8%$S&84hNkQCiYqDvc6# z0hm>W%$;BghC9t*_B3Rk2Q$Vz-VD2|$W`J2_$SfoogINh?g^};?g89K#z6Jz-G6qrs%?z{`8!SL%lFk6gR*f8H<_`V~UJ&hFGix@+u6PQVc zOb;;KjW7=cQ!r#kgBfV#*Ele1443P{>}R-h2QfyO{}-69hC45V!J{gX6#D|qI>Y77 zU{)A;(GG6xY`C*ObZH|Edw|(uxSRmf)yRtsm_>$P7l7Gdl<=FuOfzKWfSF>rvkc5S zBX=GJv&l%qm&q0omW@r&bu{X!51;9}cPP^VOn1Yt!@v{_raPE1M%>H5qz%7lbe1;4 za}}8V42EjXijV5R|KcwT{SjbZBpFbzg{{sZQIBRn(`oMte)L6mp$kz zJ4Jo(0LC?B4uNi!5$1tlwixMiHkbxO<`OU)4CZby(~U4wEblj%*T9T1T>g-38O)Dh zs4WXqY9cND2B2U8YuKgHe8{FI@whp-dkzeT-Z_ z3rxWX&xK%c%s*o5Rxo3XxX%T%&Ir!~U|uw2o&nPpH)Q?`X1WpP zHYm#*3|o7HnPSAWE6Er+*b~e&BNnHF>2A1_0rP_qi>Y9!O#dH+T|J0iMHB@QY=Tu{ z6c!r`QMOToq;QL{tGEy$n1o;CEcf&7%}c?Zb-)Wa)4=2Fd{0y&Nz z)SCB!oJ%9U17t7Nd>6x1IhQ^XU!&!YaYma>fr*A zY1%25fc%h3T>-L`Y(6$5_3%p|HrYgEZ2Afo!IcK6Vn` zNTr?zGM{RG5y(;M^8%31)4ZPp@-WTddq8fddaeVRPyM+8E7#K&EMJ`~&1>D)l7(WB#?&pXY((v*|4$$5QL>0@+OC+6HnzwSEK0Tv`dYflQOl z_dvc)$UPuuQ(J!lIZU(j5XfBe{E25!Pa5e9Kpv!VEdco{?e2>}4pTkbKo~l`8&+zRi|R>s2$BNLgJQ=NzQQ(U925RUIDZD2i79wUwChAHmMMvPs-lu} z2(;hR6B+0U=!3<{OA~y+-LD5x;90a#+?YhSf+I{I$W=^L+LKCSWspv%vIfk#UKEWZja|nNj$1OgepGoTdOLxdz4Qfs@EfV+Aqs7<#ZO z)DR|`bV#Kuu``!+{*m*3h&R07Z0Kt%5n5C;NuAl)?a-;pcw#<$>Wr`^G^|WNT-m-l z78(|*Z6K}&E5NXfZrGIf&xpIYViRwF|BPiYcZ-xdAYXks);}_0yD|p_wjk=lBHb_#gR+&{ z(Cb6`02~&YpqI|ZD+Maegit$pay^O1q6{GtqBAJp%+$Hja+^y(f`v=VQ5HV4f}*GP z;58efMq{%$BFaHqQgZcMBv+EenJbt-3R zCMz9_*&&7gr2=DVWty@MeFkVn~K_$(z61zH-&CshK(8Os=l7=7xAB^fgFxNS> z{E5W`+P6BwBQ4I31UlL2j38(3vOGDnrO_&0Lx@aq{tiESbaAE|@!Gz{#$B}$*7Ul} zix2TV{bEd`eRVD(f z)5@6)*0VAb(|a;mK6Aln_>+l-fW^?#(LM%ku|DXV%;8e7 zeOhFEauF^0U?%#F4dZlPa}(b`+BG^v7vOQSuB>k8fY8Vgh6WlHqb*{SrHF}HB)OT^ zg`LghP(p;b$lgq#3eb@w@JmyGSwVXT-J8H0Gn9e4OqP-Cx}>JprW}6$2uO6FOYA>)X?n5u}lDi8`eOz+@1)nHq?85Jrg8 zbmI;lu0-S3YDnVHQrzuk36Xh()3;kiQ0jmXM`kiJ=XiOg@8;{)L>NE~!tJgtcU07kppJyVZ4VbdJ zDqA=Fn#MOyNM~_rATW_iB}Yf(Yy{9oiUjeSSy`lqSR- zd7^G}M^Kaha1V6p2G)`#2Z%N6=TRJG8i&)?2SK?gC8)o>WD;S!FqDg{-7Q>phj|gs zVhfrrR2G4*irN-ZWXwn>v2*IIbn1uCXJPd&)?vAt>2$2S7FQD2PrwXR9_PqQhuOM* zrFCAr%i@bJxZF|dH-(@GRlOmmr9h+1D!W7gudPA{hCn#m1TQ3Pp`vbT5fs`zg8b6A zML8cr*q1*2`N<(}y;1J++B!TN5=|^Q^28={tSMJY>HN|huhp;yh1dbpqH@W0u;Mx` zN)09rZB*fbhW-{*Erz$SyG?#XH5Dx*rm+V@C4m5(R1dK+)hwFvg+S;Wbfee%2Q`@_ zB3L@9L0yb;4CW~Lq+EhJMkcs-FWBc4kw1(w3*8;A)qrwBF`!y0d5hxWG* z1ceW-yT}|1VM(}54^tM$OctySW33oPv>Q@RrD5C`Oh`(yrG)X|Ro;&DT3fVeHA09q z??xkH#>#LZ8Cq3EFQ)BPK%>4vunEZF47hTs(YB-=9y>Y_JmS$VA3w2YuW5;(7E}Bz z%cu`d-HL7mZ`84Rw+bZ`X2eFDC0k1?pJR*du}ScB*hK*JFyHB;OLlgym*+w0d$8K2 zPDhof)zm1I5_}u;DpazE#O-BAxptuBjMrGzbH3L7EppqzB5cB1!z)#cw{(qf7F&r) JW;F_Q{{i9ZQKbL? literal 0 HcmV?d00001 diff --git a/gource/libgraphite2.dll b/gource/libgraphite2.dll new file mode 100644 index 0000000000000000000000000000000000000000..556106bbfd62c21ba61fe7e2648348b02f644388 GIT binary patch literal 154260 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ΜIqkdf9*Z)4{_hznlNQa2v_MKl&E*2}-=Z`c+ zS+SVgjPrgb`M3J?!JJgK-(5c#$;A>^>a9;&NS&Epk(vHPUA4>p&Q>g;^M@2189zR9 zy_T1WFYBkmBhtm0Y1VTmvVf^lVdBu(KN(*zV|(kF<8T=VKlBllF8uc4M5Yv6%NKW!=&6qjM9ztece{L>VIR1+4Ux;6Ydl@j2 z5xtjj0=qBP`o)fR<*nCCKD~tj<*8FB#lsh+i`_UL8!b)5@vMhU3i|rv%-wB1Pqo{} zf^Tr%FB$PSTLh|yHUk;8J`Q(Gt!Z&ZZ)VVkcyUwp1eZShzmh%^ zg+7Hwywzv*NT9LgfY9eszqMC~9ogE~?`ha?kxZ|zbE6;$7xaAdzA!o&@jWe$Pl#wN zFIJ__A8h@VQ*nK9<~euDgix&<`vltIf8I0rt8v?p*4bi(KZe05B)&> zQG=@a@1p&kf7LPkgVuv9q^}*;uYZYh5XI@!kKXr@f|!7dUO&c&*tNj$w1#|Mqb-CP z00)fFaE9kZtyRJ&W`VpQILoP}LS|+yxqsIP^S({S*e9g|gRT7w#36V~kG;+6b_DRd z`qdl_AU!%=c~ig2TO2vR+NkeQ%P0D(r#&qe@F@>R`>kgg9z^qta(+9sMwUB{f>%aDb6*5*gF zPONhM6W~2|1ibW4!wBok1fEQnX3Ad6E7lUG4E}{M#r>{{)7H# z>WAL)WX}1VL^^?N!`sb~Ox3WPwt|&fBKu>+QF}Hr;yKwrHM|`?yB&JPZyMuOOMk>c zZnf%S@A>6w$xhB!8p&w@j%J<6q2{a;i!aVn@%3a^$!hdzdC2gmE>x?_hMrgEt3AGI z@uG2GLekF{<=5SHmOQBXam(w?fYm^Uh?v-J7jRO z9<+Cp<1na&kjgRIiIKLiqLwR9bl(1Rq~?(fdYNSyN(ajQ7?m^>SWCx{2l{=}K7%@} z$5&r0uVG9cDsNs?5jBY4t_jJi^~XF2?Mljgw+?k^r)iUdop4`G$!Ob zuoL;Y_c)P?)mL)*dUXi=Tfo0X#jir&pF+xXz&#NqMV;*4;?F7JC`)1=->zh+hSAW% zK826QWSI{(n0$8ksC!N%ORb(Z6uR6yNS>daHcomQLPyK?V9x9=FqRy@T6LvY=+|&A zeM<;GQN#m-$tmW)Vho zkiLQ^LHb90XK;2vkOX&DZ-d>-cFBti?~``$2f>>W-w$iX zIXHA3Q$=(w5TPRBI2!A5f$RRx?+U?dΠ$t2|RW?z+fx*!ibS`9Zy^)Vj;G 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

9?sOk{=++x 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∓Cji$YOhayvZL`VUM_NZ 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
    $PS6RDNzTL#*3AL2lon*OF!o8i=-#iYUTx9Xq8 z=AgRn6o9DfhCli<$gH2qGD)UHthU?q2axCwIZ76UCgEE|ry-_c^#nsf^=pwSmPDuE zsl4qT)bO5J-bRB-aPq4vzT8VI=YdN=NO1C6eFO>EXdf7lrTAF+Av!ikcLuu_LOEj# zU}gDqXD}ais3gTR39-LE)_VpD&nXavquUbJi+DZkjr#e(fz^s<|LA|6*qdt%7{L?G z#~#X$M=5?jX1xzDeP5oBJw8_A)>yv*=o@HQFc9N;y-|+sw-E|0(?eI%;doj*b0y^HQ?&lN z%Y1#1*3Z}h{DY}q<*iG}<*9%nYe%q9$%V)QKLsXS0zzSzt@~HB-^0gmw+L$a5UxCd ztIQ#U+TG{!d7i$RbYA+X-E+RO2FFT+Q+@P10@nfXsNxKk*po4+m2c!aML#z6Uz}ew zPL*xtHfgbGI`l=tNMs9r_4kg%WqR3p8dilPGcr+CVHu|Fl!1#;}? zz?dCamJHK+P{FZTCjvkIr@g%pV@fqy)}5-hQSp!EqT-7YJ6dqC$T?tp$Me4s;Lepe z0r+pRh_(y3-(CEF zxO)@usEVwAxH}tRy0H_i z8PRc@Q5JU{ml+2_ROlp-0B#|;u&4xZv@h}1xIq>n|KB-Px4RRa`R1Mf`##_EeLN58 zTUDp3PMve=)T!+h*G+dN&;il!a1ft6oqjFOGsgD2c{iFa|7Dj$gg6t=*D$^d53Ld9 zc9*9_mraeFB;+eF--TbeK|tU_7Vd?^ z{L(Ru?sz*8H#*MKcF7AJI0T{R{(7MitPgls9oCr}_bWCCJuRTL1GIln2Qe=UKZ2ue=qJTH*u_}^)Th=! zmz!21K2n?y^ryq7G`-*=n&>@S&k?*k(u{gvB0LJj8NfWpTPt;QcJ?vtNc zn0)s@wJs-xj5ky;BC7xMsrh^C!JgsD0T3kX#rBN5lOrHGc;Ds&+%NF9;M6;rpEmtL z8XivS5z!Io?-1i3{FMaWExPwz2TpqGUvY}rrflmKr!L-yBLnq$ z-FIcw<1IG3hDlDM6RB#|k;H`nNl0OO0AQht!|yosY{l><=!b${04SYe5rcr0VI%20 zqQ;LbgnJJZ=oD8Vc_%7M)+kR z#Lm~bre_9#4=L+|BT@yff!^wrvRPK~RIfqqe#-iItLJ*F&uI#)Z=#_c;<`+9f3=Ih1oT4f zqXKOQhXm!81qC&@jOCRJ2u{ji{1U^JCI5FpW zT=Ba%p0b?*x~mm~@z6_S!0;?ik}YH>V7+hGV+d5`XqAc{xQ7R0$)bo zAqZhv{v;@-Y){BF$^lOPzZ~hm4WD2r9NC$U781i~XZ{ac5^>f)@ecfuXwlQ|xK3fy z_Ea73;XOJGN3i?awB5LDK^HBm34JByypOLS_iGx5P zGtQ>v{Ori6w^y~`nPrqjhgE`eZQ2~ZQ@`dUT1fW|eJ<4C4OL0kiHpD!7oVg zPFrw*$Dv>1@nb?w*OHi8j}W!M9zB=1nXg||+Vop#?^6jlx66bBUsv~I8rU=H@`J3Zj62xPD8I~dPS``ALTudo8a^kn&;GzH0pD%_4@!I}%M#aKR} zLJPm6LPv90k=l%#A0jOQX`WMG z(!@R8bE?+`_?-t9V4KtA*&7kq{SXW08F~XW=B4jryk_?bo>NbaLdH8ir+%Q{X&7Dh znhhkjSFJItd)O=@K@_o$ir9!qWWj|_;Z_*0lBKS}tM3BCo6Rh;*5@h9(k_ufioBl7 zsb{N7P_Ha#mU1SirO=H|T2y5UO%9l;ry<3_0Q)T2OHmD{I(%koqe$fw=TkYY+-s(h z{OkS-zE62RrwxdtJumVhEy|UF9y8}^k$TZ-`GPBPv}Ku@x&*17|FX2iVf-Bigq6Tm zXaUT#hn)gsk&zFOnEUIU-cv8MYwy6uf;nI({nZF++r3v{T;%ohpqgg)hn#(a_uw@g zbnA|K7_;;6UbQ_qVH~CW)*c*{AIwUJ>71{%V0J_hN*OKZ)3^Zj_IhuiVciM!X4gjL zYgy@a6GosCi}bJH(893b3ZqVtYRVnK%kqO4QIR%M&H0+)(7x}Of#+H~oC{DlRj>#Z zID!+F*%!1F5Q6sLI#Q`Yj9+R;y*=|=B`^*Z=UY$PGfp|Q%ks60()keyvfl*)C`sbL zhqt5i71m$%xC<|xM>SKyQ|$2M;;*6484iC#@f1*CHYlL@?nj(MbEc1R1g8|yf#EU4 zAFMjqwI%7}2qWCR$pMh1qaN+aK^{NZ?2aJv*n@zfhK%h{-zK?5YZU(|Qoj>f+uD#V zb=GRdQfHx=Lw?;(M0XfFp^wb*4+K&xPIV9#@D_9cloCa;0;Yqo+I=HBQu}ck=(afP zjvNK#Ug|)&5o<&Q=Q|IjifqQ8kOjn%b>vt$`##M?foHHBw;gdHR*sg!5B-|>;5FM> z>NWC~rsr!O>Vm#>B4d6KjXkFzm|+i&$fwERL+Sew?a+Mbjr{vSdKkZUPz+WBKFGN7 zlaT?s&bRAx(&yOWw`-j7B@)g0=zgAW5`fSwl9)LT?YKkxPK6P~BzPBe1)6i<;vmA) zHOQ|9ueRI0sL4vK{Sr`Wa2E46KR8kF_V*-aVB`FP;MGN7>+tX4M-5dFTY<@v^hLn5 zh%jZ|77_Dy0uu+=I-hvEs316TS>9N0X&n@T!xx8SgS=v8kSBwXw2^gsFNS(1+R8! z&3nUn)EJCgmV)4{!UF2kRv?77rc@%*vW@3vbu3x67Fcdh)BG8>N#>I zDLPEc?L!)9hmAgmoWOvckLIgd9Y_y5F|j8KoT4XWk<`z3fE441DRw)o$22=Oe~2zb zoFWis84*YAXduQc!+%>I(Wnd+T5E|)i-<}^f(=FsBoF7~qw*ZfM_)QJ(SEu=v}_KM z)xmvVJiKJQ!X3g*wRu}kD?Snso||VhYqfj7G5#D)XXy`vl;NXbCrf`kQeiN^!1i{Y zwgUa-XsIdiEREFb?2uw1u4(kyh$`&bIQk@^b!a2#lf>LkpQH#pJBZ;?<)+TV`G4XC zao~Jrh+Y)OoFLLG{u49;7bTdC`3k{uy~t{aw`YVsTuDRXHu_`S0=zp?FK1K-QbZxb z0{?S3lKQ)GCE>nce@AK`#N}H*wPzfzvvA6Aq;#a7^m9L6=E#6>-vY&(VkAe(IVci~ zB2+-?Fr-HHWvBk`{dzWL?P}0I*sgtoQH7+D*5e9-lAF~-=T+N z&+QHb>^cz)ax}tt1xVYpaJ09gOF)9JrHuZgNK}K992kfu=LaW=e)=;a?WBVXf>WuV z-t!Hu@EUeZv!HNL<}Xz+-Tbf%6%3$);3Ra@6Vy%5%nv?7Ttj~DrJpN-)+DRNVLjo< z_`&YonPB&RYjsYDApaM@=4%HqZDJQLt!l@$tap5wpb}&?h01m;Xhzw^PdB{^{sWo8 ztjvLNaz1cO!4NpRla!#qe686=imWw!C7Yxj#eX&8QDk`phwX%e;YJ+5#SqXL1^@j> zZ>g8 zQumpvl#(DLxCi#j%6KwCZij{-b(^4AcU5l)v z@u>vvjAm_aVMAugi!!ShSuuVCfjik%Tp+2DZCwuQjVQ6OMyLaA~5E2E~WNa zQA$$|@;wZ|sZ?F*c8Lxm#GQgs(VS@qME#pYPIJ7$UNL6Md-1ZovZY?xv`6vY3!GJ6 z|5W!i;-1@o?p3AVFTARZ0^vG&RgtS_(f%h1T_~_Uy-`x@8nBV|nM|KA=+H;f!MLW<})MeuLidRYTxv=jdd1%Ez&S*918=@np9N6h*un&36* z5qK`zgfRla8%+VYgbTV8XhqT_+et3f^^AmE zAt2vIi8vk#2Jei*(q&oT{Ddi@(*^81z;+m88w2~=rwse5DU9a{*n0s>I>9wb*1!G} zhWqNzvVNWcuCm-0p)jrVNZ8i|u1}Z(+5mjeDqO(lR>jm_Buc%>ER|<~t1O#Q>Z>TP zQ>*5SR{5Wo7%Ug1?xa$OMer;X?b&XM&ny82?-Q~k#L#rU!1HgWC|)37tI>Aik`kzk zwkb`N``lAz`>{%cHbMHN>!}#nLeZ)l{v=@=1ne8YVJ+w%!8J#;=wh?0yeQyq2i!d7 z6K(lOnwFnn`afsN;R*r!I$()UohX$e%6-C=@aY0}TLjk_4m2L(a@U&DdY*tSBC4*8 zU}_O9y8Q{+B8z~!DN_53QA|?=rf-`P^> z9TGtm8%^OE0$7~kx*mCr-Xh=4l8CMevivmBgjXJuP51}Y3vhW3O~By+O9ZY+p#Q8X zY;Oy=d1iU4EU)<^#^G$UyoUwc22u&*ql!b6HqI<s-2jjOPrYOmgFxQz!}rV4^AP-_macgUFN?`jxgLW&5NledQ}%@VUM#J|PlhTNj zpuii^!f3G+g4_qw*-nk?Eifuap6$>hC6@rb)d+}@DaJxsk4}mL{_@u@1<;DSMA#w- zIQef~K!DsYh?oq1q0vfsy-Y7eg)vgSVsF7GEXB^Ab9pz*B&xh zc8e(OKH#iy9wUl@v;?Ph?I~lBN3F1=VR4H7 zV2tepv(6YIiuwzRBCY7UQ#QRGg9*shMh1o8(`o?J0(s2K{D;xigJgC}D zRb$NnRj);hj3-4=FQDqf+=`}XQRSlgo^N!i{tl668S)6TBPNeqaClJHZgiQ*vx5k} z)Md(0&ZpeKR%zQtXqzmc?~cgn)+knEKH)s6(#nhEk@nVhs$r^lr(2S-`4H#0yK5~Q zp&mfSXVH!i5{c`yjwJKU7j0krdY87}De@E}&sspcu95JCqTPqP%G^}~{x*pf9V3@H zii80*QrdNqcJvZC?jo$1BS)fn(nKw-T{X~t=nAytO)1WgA_sz7K)zvI#4Y%1Rx5}x zu&X#rd+RAu-J_MjpQ4pE10hJ^lCFwqfv6OZ1@LHdNwkg}(X`*niBP0zW06CxNJG*5 z2Qv5xxM-Xq3R;R5cVNhJ&5)=zpWuq8bQR^}paPorgvkR_nqCu#{$l*C6!0{^5TnR) zFjv+g=NIR9m5ox7=P@D&W~7s2a)??|yXvr+BFC#BI*n3FU|=*)^FeOOO&e?mAbr)EvRT}tS|C75zA{rR5m3iXAsH$FqDD?!APF~IKt;Ws|gx3RoM73^#8Qo#$zy3n)_ z>jluZu0TEjRRELN@xB3-jmLQJ`i*P??YyIgo7%e6Fi9YXh1Trti(}yBV%^xoUEt|) zd*F}#X&T|EDOQtOSIDZQ``*o;cggxGP=HGe5SIU-Z+-v}1Ir9lq6NFp-{Ry@1Y>n`Rbt977w}5gq3==wpA2|0UXd>x*)%s! z1^}lUx{g;?9#|i3AM;9pBUqI^Y!!XrY$k=Y1 zhAK?WEp4{GmvzbfT$EWBfyJGZyMX*!e@TkUGcLZ0qZfzFu7lkX;5qTqF6EGyM%X*p zN9I3}=am34&P6n>N=D_O>-l!<-@~bKsh zT(jV#s5Rxh?b!51WPTyeKjXkYzw*I%Sd`KSzz|H^;XvKna<1YFlhMoXGi0A2$t)$C zIr}ty`d$VoThhgga0^9&O|AGwKzSgL#esK3U@iyFfFXmFMh^T&1decErU)G403Esl z*grV1Mg(r*z~`uxDWH8H-ph&_d+@Yd#zbg?smCYWvuYLp_W*^%`_b#+FOhQbaqUxR zidq)W2j3(9*+Cj{W5b5FGy+!fmZ4dA<+6Ak(CB_1P6JWvRD3ABZPj$0IX|O%eU}5e z1jp^ugg01k%Q=dF7UUgyQqLiZOr&Z(Ee~@*6M@G#@S_N1QNVu=@~}2GaO@7dNx+9T zqPIqzg%Hmm!C8I#e^V5hHo6rmd$QcG`OoYL0Fb-^{{$<{_#S(jm z@iccWf|v%$#Zg9)cM%2rH07??n2VaR$vCQFBU)`xE{vaoO0OXRDt!(yB`O&oacSTW z$VwJEgcJRu5q}Y}o>+tRKDKK`ep;GE{%>Z;{12P?fzNwDT=AcW8q|sn*et5Rs$vHY zsRI*ZBE{-u;$FpT0|6K~1+m9PiXWaEc?qtV(p8AW+pGVKn$?U@1**XX47#IS(#O+U z(Z^yThjnS*(CyZG98VuVq=CEzdXIjdtIv$PxeUITje3+9)i=P$c`o7eM?_a_xZWfQ z;bf4n3`r0<11T^YgsBs2u8Iv;cgo^NmaQA|py#+%ty%vuy(?A=7Xf&A0|> z>eda_W~7aCj7O|kKdjiOn&mT>$ge3#UIrel1r1y)O|gd64uTga#WPLf@+few*nmS=G4Sh2@-<5=+{yekpESgzY(@O@?U4>Z$?t(h8hzkZY@pJD>g## zV|vO4#6{>6xgUY+_IyR+6ZU`qjxU5`3FJ=lq^B(b@>zVVxMDt(`XMfb)OIVwy|^S5 zF8Y5in`Gr%7|uqLR&k zLIvB<(@^y0q&cvM+29(u&h zpR9$>gskU^hiQ2>t=YH?@T~uNypAD2c<~Xu(ip8T=DmSV^nM@ow*4!5ze%*{LUe8a zFDX9u5EFc&eL;;qvsv*TLN*ZGTVoQu(=8Y2KUC72>xiXyWh}k>{v_y)!`Qf|_DT%B zF9f|ud22v#s*~sqv0tcl1Af0?vLJYaB)I;aD3e|&D#p7$QDVO)h&?%$*x4YqkwslO zavw#UwU52HBTGK^r6{=%Ve6ZROyS1E7)5K0cBqud`1}81et4jfNdEsP`Ed&FxTwtk zd4A0J$1nI%2mP?WwfHFbLoa0g|A9Y8q-_6B^5;gJMf>03&)+bVQOPm=LeYIFdNZo^b<92<(YFw9@jLpOYINF3Ax7~{O z0*o9HC7}fFLYHJKQQ6XOUn8z7*@o}Zsvhn9cvRKGbK#7G+;WgZ4!kCX2sq-XGVp*D zoN-VDJz@br9MPwvG(zCf=ncVcQVAKqgyU>=lmE^ZrAnwMvi*tV8xdh@yE-)jw zT52a*ic!${0<_cw9V9_v{|J&qLDK~2P!sfPS$l{;*Mb(V-j72obIPg*$nsw90v8f+K@$!ey-ZbX4tUz0>eL#sHIUkTx7mIP`Xqs} z$rNc#V=LG0H$nd>K_4ejrfLLK?8B!XgnML?M`N)B{UaedI@+N5qR0nLxCs&tn}*)D zrBOJs|Cc)1gc~a1bjGq%gX-CWOnnMYm$~X@Fqk9?r@_!5jO5W$#aXb_H;N?aP6@i4 zK!iLIRj_4>4i?&AWQm6j3 zL>76Tgu?=7SJ4c8#zn3+LEF&*sNo+F=)6wy(flccb}W{q($*Y-Vh-E2Z@eZzXPThT zNKo3Dij_{WEtT5Kgu7qDJx@i#@QD#Q_d%|G!yU4AI@v_EZz9m`oj}J3(92BF^Cjqd zsy(I;Sp?jP+hvg*=u=eWgH&W^c}qLMwQn*(X{U`qaSX6igTx8I)F~$1%My+bz_lqQ zqbbh}DxNg75}*fROno|rH#<^8izGI`M^>n;W`vDf@f~B2!yOF0#)!E#P8b|TcQe<~ zW+=W;5~#M4R)>7W_!Q?+vC4!CE*zv+t!R78cYXqWj8S~=bIkdQ?-_iUD}N45u%P1((A^HCi8;?LR3;nFv8yS#X1*Nm8nC8TViT)*0XhLMm%YwLd^Vjg z$D1XXqh&vc&*A{q1h(Q!@!v~BZ0jd-;@b2G&d+$U(BY%?I@hJ%mf4E$B4qQnT(9`A zrjg9k(uNfT#jjGJvK68yC(YL(g6B8hmic(hnwzjp@edK1Jh+&l_>UCuPFH+11*6qlKkbnKA?vw>!`TAWvp6sxY(vVq9Kgd{6d2C|Ec??U<7?=J-j*|! zz*K}G@bhqyk4V#s+v#yk9h}vOxL2puxf&FaeLivTYO1!P7PBU~l(i5MxL=^V+drUE zv20$}5AG!(Z6H9oXWB7mcmaGq2QC)@v2bXJKz~k=3y0@Wz`q)W@WNqqeu(m(w@`Uc6LRJ{EL=6*FC^j_ zO7u^ojEfON{;8(Vr>LtCwY3!l+eBa#2NsIJ#T@v(2wcK}*&=W$2jB#O zaLeStlOk{h2mB(Sa$t!FOymF-BPq{q9JoRR7I9#>2yEa$vIx9L0sphm^ZY_l?I%VJ zzAH99ZPNG+3ex(dUn@fnkUw^HuP+Ak0mE5|b_eG|4rg?!N& zU|{orNse9=_J%HxLEs$95m`Al`ctsB$}Av(f*WzhS(Nt^3~VeO=R~mm0uftjZCeoQ zBTDzQ{Fz$o`#?1PNe<9yHDEH2>2i${2#dsLkVweXkBx73@o40Gukk?SyWVg|zCSRW_~z%ma^}JH%z5+{ zTh8V98lwa>5VzCQUftyjY_7XTvfB7J-d_t0h7mhDd+}v32D9|?WnYm|o;dU|TpBhX zRXX~g=q*l2CK%GB@rgq*D5u6rxUHp1gpN1SI>khaEW zqq83huSv}L4K#{rPe(Uu)5rt9^q0!-i6H{^p1ZBK_&(%bj|b7cO*doj!v}1Xwa4%m z4;7QI=Q6laHk(`g3Uj0B6%!wK+nUN8g5~B63CRb!@@{XSJC zKS5Y#)LVBM^T1aiP*>~#0vjlLNCWmhz125o)a&JxAD+fMZH&;Gr2zJ{(b0yI$)2{6 zM9=`%EIJYwqT|bE8UsX$)r$WPviIEW*C_t^_^OMiQI|KZjApVJO#0wGu(x1ma0ulzBTTbv zufhPP^!-HDl z+6CnK`;@YIx7xE;g{SotEC|K-Cje@FnBq;zHm#p|bbviU*Qq0rY|-N2Udk(+L(BF} zhXn(?i$CJ~<)A`Y@g8(cTitx9_p;NbO%J!#4|l7tdl+6f!C9{pX|@{cn-tzrzqRS_MNUne=Pg9i>-3 z`-XuFLn;6JV(GORfzI-ey@&sf{67kCDgV;_DP%qLbQKHQpWsC@~Eb$ z{9E*q2yKA5C+KtSKc&w;hgK`;(-2FazyE?hw6FW$&<~Hq(uX{|gzv&V7((Y(mX~>= zzxxSn^DK1tU!lpBooV8!rcPt_Au%qg+KdrqKjrcH-{{Y9GeG#Pf<-9EGdoHiexI|` z_|E4K=zY%nUBiT?Y!`|Y?{SK;{Y){omki*MiLr^=6KE{P`YTAe@>nm$?B5^jgJZ=b zu?xK|r;6_r#=i)FHE2q;9O4^BdVsmG zS3F0}0bYL~j>dLj3t-q3FVSMdP6!Hn8(|ui(&`@-C(Nz?jum7KLsp@vQ}M;?N6Kb6 z@7U`L-IL)B(QpbMad@eARBTu2CQ=4~0!A;`ym%l1@?e2Elq0;T$G*2K4C2EugVmBA zFo^$zuXxvTav^Keb1D8t*PY(*@Wr9Ix-I2!_G5!#kYr}RJp^X!EWLc8uyQ{-)q_nY zaPq}=e0F|$ca$`HZ>TBHjz@miS%8bP^rS4g_;kf)X?lm{TE1T--s8<7JPKUSPFO9B z!Rn@-7R!op*`6~kmX%lQ|w)a!pB3Qjq`3tPhi(my527JMwgv|?$F`!NRBG|Y= zLrV-kH@K#E!p9ba&*Q^^2;RR*{kbGk?zFpO$`wx%_l=-n+Gn!1h`h(tH{oB@_XDWP z^?jWasc%E}|6P4~|DwLtU_aM)W{*gH-zEJA^~IboCp(Tj>Gm$m>1LiU|E2qo8%VXW zJpW(04~cqXSL5TrruT3{Bjs_^Qp!fhMP zFK}cWJ(KSqxdvnWz!6qHZ*CjkjnA9&b=KHJ=A&W{nVZ+SE=8|A4}m07bfaBxNzAuB<~MUkxNNx0_cHRCMPlh1lbtKg zq(2~OVL8iRXa5*+DF0hf-8EF^OcRCPlqL(k7CBKhaLhjZYz&;d^>EJ#aoF4#E#T-j z0&o1TljX^q2(SMn;mFga*&n+2OR@*AvuU4e`!QEPrfmMU>YJ3R@Zfyy1NcwEvAzQB z{TyZU35-@3i4Cv0K--}&NzWE;hvDli{E}4+1wJ5*4GHX1&EG~g!OZk*U&FE@@;iK$ zZ}+m>=%JgRt$3u=dkSvDaA*L}za;SkBDKn@78nL~-G-)Ts5niQK!DC}wcYw4VD*rl z+)?#qO4*>Ysn+g4c;2CR-c@a$4I_0|pRGCK{D~3%39F|xK>6T@4_L)3{ylFKR<`u) zEL4vdWGq>6if;o_v*HzB5{0qxbeet>72m>m{3a=Ww1k^-72Yc;tLA_seY|hCQbq=r zcX|3n$mB;`^1Y|KDWzkPotkl>qaqpU)D|FK^^atA>(HqdOWCz?-M_&SnWA?8v21F* z>UkGH33=LWHe(C~l;tna|Apc^iFjeF&@GeNZVHd3L=BwG!*RVHitj@rg15c5;@g8S zQHvl|_n*2q8J{xCZD>We;@-pzYJt`t%@Ul0vw3z@*BXA}_mWaHQZxV7zZK!1Qbv0? zl7~uJ4FWNI1mVV@@)$l+kolPRulU&g2XGR6By7M(L%71BSvt8O#H;3Xmz7nLL3@NI z`en4sNVqTqE71^lv3+z$y|0CH$n`<50hT_~ZG2pX>+U1`2-~rA; zEYOzPj5lcG%IqJJ%046tnw8ZNZNP0*cZ001WD;{aKUx)Y`pqb#wPCS*wlbgXsLOmf zr&jSEM7hEq8I1(8C*YVi?N{-!#o|LQWMdcsNq#7n5qG`BOqlfVFagbBCcMHMPEl$9 zkPwQrpU_78QPEOVB*;Ah9AFwu?m`1Kh6uLKRET3Lj!Nx=kAtOZ9lJk6hu%^`;o&Ka5yoMJ!nxNo$~)&;UDtn`q`7v)Y2L z)mFq-+by=*M6UJ*T5*uCB!Ss?p&+9V{-E4=r8EIw6;K@(gIa6KpGXTMMx;H9FA+x! z5pjQvltJU1i2FVg_i`l8jrv7ia(OJ^s1Na&WW0^-CamAZ`pfiwP2+*GxlYwSrx8Kb zcB&W>;Ikb^9`dw02b}Bi!H3Jh6lDtzBU9>gGP$lIqD+>t z6M7m9u8+vB%A-MDM0g#UJC#-Y5mf8qX*kID)`;OCS*?xlgOC-^=`6&V<+3THK>!FB z;|8DQ9_9uuq5s?L@LKnin4mb9v+nD6|E9QVyEsLmr)-7~& z!tOl<)o!CW!bvI@LQL6$^WAC%X%;;16Spu=i}!p$ng!U!Yb$5y-AmnO0I~) zimPKHn^g|G0#uAoJS;`7+rhr0_B6c~q5m)Ne0{?i%%d>9cX{*%ZYSqoU0 zBYs-lqV_1I8}U_94c9z$Wh#p0KW$MtN%SapTdosNvY=(Rik4S{3jKerQIYr01VI*- z({X#1nd16O(_47|fJzw_ty$2A=o>>EF@%w@d3SXfbWk@!kLYwbsia?4u9NnN-ooTF zQwh9;w#82Pa6AVwF_XTtdcg=ElYIa`u1VSB>E~X({3v-h))Qw0c)D9i>nhF#aE8eE zXnkw4e?V7tU5+_Oxd6#+Iut$Mk^TK}q+YC-pC^iWcaA8gX^W7*>?*}6BM+-K|Fs9!Wxn>2!bTGLwijp`irMs;qDzBs|YV5cK< zml7x^lZzIWv(gp+BQg+|mEl~Jb%El`LETvw7T-e<@mcw}1wj#$aefPY$(n*QV-$8M zzCj>JRzY#0w`@KKLq0qm#vB?8nPzgf+>}m zr}&QHms$r?mYSzETMx;0g|*Mr?mKMSZ6k~{lz|&W>13$7_QsOOHBi)~vLkDQwpQ4l zjuK3y5ME@>nd5Ct6KKefX+j)<{t2KlAT<)?%faef(DN1oxd$Lo`BL4>;_Zt6x6~J+ z)FFjUm{7|wAi@j$1jZo;2izqIU8!h5g4U#NL%9~?ON`j0FJln0Qf)nB5h|G$lN?XU zbZFWv2TX#8m6(V`iqNAGZ*fh_5fR1T%naGE7&k>=1ya)xjv_o$!oI~7(baf5FBoZ0 zzF8F8I0HF3roBqwTU22d!PR{a^NSk9)J37xAUZT1)5rvh>xMWy>ri|t4RN~&ps%;B zhw}_?TW@D7zk$ok`angu1C&-_FYT55}NYMp{xaSNtr6X&k?Cv z(FmXq1=E`ZmRhh84bGaX`1uZ}_jIBXxB_J&`!QU11Gs%b!YaG9zM~OT#Ex&-dXz)` z0iO@!GhZ)^3orj#5{+~T6D|K0v)iHdks2)tR3m#V5{2CwE$n);um{>9ZqhI~?!s4i~KSm29IhKWeK_X4f{K-7MOS>}M z%$t9`FcyvcXki~m3wy^btio*ORf8bPSNTh_Li)n&ipJ4m3z^=ER2-s zv6ejjdaDYj@dXPS3NrVU+^4lv9ZMeD0Ez0pPd&M>d(9;M%%R%c5#kjsynlvg_r!XO zetkmzf*KwjFA!ZwjE(&E?F(bTcy6?-gHUKBQn+6n(n*hDAT%Q0{Vs#zp+#uHo zSt?)DH%{>2;YMi|G*b*HG`vFpa`6mBx}*buQDjT{X)SMp@vM5piYF^zVEZPc|70g{ zSAW^IH_>v7;Xxwq%cBGYsql@6z+)5_k@lg7iZrXYrH8Yxx23nUSEQBuwQ6nF2x^Vt z2E4Zo`l|@Qh>6Qz(B#N`Phn5TR7f)7L19wBr%)p~bnub)b$Ds_V@-U?VZJRiP*8_mF)`I(H5R_`~9;>#`z_pOr zUiMx1bzFRGdLvQ~C@lbK$siI7DKp3`PPqRw)YruOoz#nX(@W8auHvLfi7RW3;{O_9 zOiwZOpdp{ghXW<^$RZ6;e?vrJ923%}PoIbVI2`RDtpu_nL{s`p~Pf!W5$_4tMl zf>C^g4?cmEfQ}f4-g^&ht^5TE9*1>TN28bxPZiY_(k>Z_!YEe~H@f?ly<( z_^;%*oC(3$i~Lvoy}P;3Hu`mZcHWwM6+2LD@X($;%`fqC&8YARIy1`hO0&Npv;M~C zFtsC46L&YhCH!U_bZq*N>_3rzA`X={?TCiykZIE!(eQaVn%VSpG+avIhs3muwrHdJ zmF};A_26R)tq6aHD&@{Hxg-&+pf8ZG(CTihF1`~KeW!Slkck$6lT5@3kx>GapJalp z4(6H?psVk{#<`U=OHqkoj4&Z%+-5JVkE^ZN?4#iI3t4%Y>@Cqyqy%cH-TSoz*tWurTD@HQDa*pKd54}reqeIqluf%-T!_WKf>~}H z%H`2x-%&gsha0xa_FY=_-qwYlqw?i@>t1aSU#`Vt%eZBG6t`^mX!ZD@YqsG8T(|88 zS0u`olwY}NJ06wC+_a6kw?waKf?YX+U+@RRodR)a)2Bo=+_u_)79oi3Id97_F=}Z0 zX;-e?LaI?u9G4l>HoQcw9pI;@tCUs4z%?vQG(C*<5l8xH8{WVq(NY4tNi`oIuA)cm zZS@|-wiD8_y;X26(0X>BKFy=*)2dYE>IQ&cg*6oAk!s!1cNndM8F?tQ9C0S9+`lD8 zas%>}aRMU)mlVZ#g$BGY_c!4m%ggUuuI)w)qumRcTRO06zEtMEkaN2MU_#JD1}%R7 zatYDhEZ@_9?m1YkuzT8j^I^FMkjK;B$ltWQ;%VoLNB(cna1y1G{uLfrg%OWD#!@5* zQNI;mSpNacw`zswCiGVbhlN%-jmbz7`V38Yfn*Lz@K`6KX^~A3(lyI^=xBeuTH^_v;bw#Ro8Q?xh zim6vzr%fC^LY8-jfGYyr;XW~N;*MWyWy!E@9~t|Lu5*zJ7nNE=T+2CY&~)!>x71RpNYmFj4k36E5-nEiVxb4 z*6?wnZ)Mim;spk%=YZn-17gLXG#mUvM!Pjnzs{Yft09~$&66-oEmy94aa;YRtcR;*K@+#uy4wG zKWYznszaw~b{jcnI<5varJ?p7N-5dwK)OHnluI{J0~l%QXZUJWN|95dPmf{&G6~DP zflm>OrsUuNT8=zip5xA1E_60V)9R5`fVh1Z6BK4l9vR1vQlS+&_-o4uS$AbmO(Ugo z3gPS;SP@E~6rXz8qnM*Z;vc?>kAKq_+k&K{5sbwn8TbGX7m=}% z@EEe&dnDwkB5X2t#o$9vI9G*-!N$um?nEKFEqQzPp$x*J9I!mR8hasBbRRG`C9AvZ zYf&RJnV1Ov;Z%KpC|kE2jB#x>!1E8(i-poEW!vtN%_!{TULjdk#;{!7Vco9#td>T! zWd!QQ_|Db3&dRPEj&4w@m%Vmav>zi4jCVUbZ^@o_A)$6FVOo~{F$2tm=462A7Hk?2 zE|2k-$78vtr5(q^owIR4gzgzSr?QnGL?--dqZpm9;L-WXKbxcIZJ;(i|2_&Yzw8IS)86ko+I z1^ji2@mQJ@H#sGGv_l-F55Fh+YopCx5Q|JjgI0*qbo1Pj61W@fGs_ku)43*WAz(f2 zL{R6sp7sH0xLJ1z5&uhR zogQZ|SstcC1!OAsMi-OYAGn_)jw!#0^;S=NEAh?uB5?Dxk3XBf*Px?%+Fu5iijUtH zU+3P7QsBO163)#Prjm{rFl`|{WVj01l+CqeNi1!613ji1o@C%f_?V~&eb=Rs!3qZi zBRuW&8Z~bJ0~vi?=pBl_TnW&s6Dpf9KvdTB2Lv{o0bk{IA{#tAb{HP~L31!QKZGp$ z47aCkCE0ZWVxFhH4p%I24H`+6fl(MM-h2-j=Z)PB-=kl3Pqa+Z6NadJ!7kaJ-M5l?et!!ev zt?cT!va78I`5LxqRXE24>}`6!6%FZ54VVG+S5bEX?us`DG@~ZU*3H17HiM2zc$#P_ z$AiIA0Ri^_9POx}MrwyuZl`*(ksF0Jag#FYv=+1kC}{QS$s?jMvMp!`(Bjr|OHUq+ zw5##g+r{lcJJ3Gw@uISU#w4IX^PkGMBK)Si_vMvX3BaXK{4qQf_Ow5FDe-wec&@K& z*-b(;$aNuPrn;{XAfo_q6(lTM0f`wU7MyTT^m2R~f1{?i56+|#=mwOh{Z9U-b6fhl zakX5U5_kx(C~=HgVmrE)loxgDdpM!2Rty739=132kryPAa19s?;$sqZJagY&V~jx% zaiNbu{4?^kulF9e=?T*vTGd2li!INRr&ZZ9YZNb?w^Ox-JUHF^m_<84?}7=Pb}1^Y z)Ts5CV00K>1U>C{UqPtXqH<6B)mPFttv8_=S@iuje>d{?A^x6~L-GH`-}6-ZrUiLV z`{fhp`v-jM>t=)G=!vduH2G~s5;2)-zaHrVnM4ZCj|5LZa4P3Tf?px%Y5&+pWs(7; zudCQfWe(#qGt4sIpj?Y0xn8H>Es-GYu2kM039ds>U)Koh2+G5C18}SABXOfwmn-jx zK;BNlqDb(13NDQVr%>>|NHB|ncSV9D5!Ba}aV>*fDX3+rSxXWpg*FocE>5!amIyRq zTBWZm|C^v2<+`<(OseOkW{g3EHYHtPCXs7NPx~tc7#fD_>m2h5q?_wpJy?iOsFfo< zxs1ui0|2aiiZ~B(?JzV^B#oVI-MPp|1mrZ{i}17uup+Ja?q+$`_20$OR-XkS*NURDAg7e4q0!(DNZF&#(3XK>Xn_ddfIn>fzh=@ z&VsZLNO>hKuAa*(B0R5bqE*j*(R&;YS}%rtD-*@h1a$J7TS*)Bnr_n?&?oY=>V@U7 zfUT2Yh}zH}O0KhEojeZ;%u6F9x=w#QS-1DNK43ch==YjwJd9XRQ!Q$*eCfp(UnCug zn)TcbWl88=RgH-mHQsj2y+Zn&!8u}_nrk(_Zb6Ht#o>@|#;%2Ge8NmNbu=-M8Sf*t zvLqr9X9C5_C6OS#zg0OS5!TE|8<|UF5_r61p@qWxiyJ^qfmv!B`|1 zQSm*PycGsW2PS>iYD{)EfK`G_1DhTY`bt^@!W9nHU7O@K>n8pDOY&>=;7`@jL~nRr z#=f#7$$*(A17=x`QB4w@T9Q_2 zXO-C8?RaUaClEu#?5tTzDWBh`t4aPUWWcO#f>^MJx0}}xk@!Ix%v8Z^vmF3hX2l$D zgW|)K#iCE5doRzTK)0CJ@XQ#utZ1gJPjd6j*oM=Wu&#>V1laY@pDNDgd8!B5Zx3NN z(W2YNZO{JhOt5fmCa@csicfD#sw)*8d)K1q0pN%5%^`dxhnh{n4bncBGDwmB8x!bNP!L?VnyKRMQ3vC)=n(8@D zIAXGj3&n&drmPv&TD{F$pS^t$L})GWTQsH@%>~8oxBmkwmhN#fJ}A4tpmg9S#EGix z@@}i$?QTs|0(Ju4ybIOo4^1aOF{lm#kx`}F`i8Q){;B* z+*w(PCAg55oRuV|dBTQ&9VIB6r&yVV&};K(>BTj|-F6aFdbNV&xsvTlT;3mx#aE$XoK>uSbA_SjYcZTuH@_ z;(+Mp6YnU~d8?Z61yIsNIs>a1@v2@p*WGrhQi@dztO?<9aQ_;73BC0ebQpkUU>#_B z2t8pB32<)&NP?BXcQB$*WqqEq?Vu22_)#8q`yLWw)mxK;v<6$oLF*or`<&vdPJlSi z$2a=Rqxe=zssAJVjN%)JFutC}nE({3ukMHaBX28?wc=rA1iyokiCb?b+WQc4GMJ#A@2P^j--!l`XI ze?P+Leh42_jQv-@N?%PbsVEruGh=_*`@sHTbOs-&0m^SZ#lLA5yRvDovg$7IA52>5 zZi`m}^k1 zJbV8O07~FTv|2N4nR{KB&*4&7>cx2Ng_NFZ-61Ad+Ihysz|K>>0u(dmgD#%xN8Z8b zHTV=%=?PRol_?O|Y1k9KQ7O$MO!dMdciRlq0m(;7J=5wd1dt1~`Uq5urPX^P1+=1r z1%g&+Jm-2HX_IuHdkoXbrh-l(qEm{blRk4=y$ALfW^HT9^}MH==5gErZJ=>CVzl@0 zb~-2^<<+KNLsLU|w%9WB8ViwP)p@8@&BV*uKQQkH^bn+?WbHlUSs@U!+-(rNL~sYq zOLn& zHHHZuj$}VDXnqip#hrwuKAnkK8UQ(vLRFVM6rr~d@B)v!Ogup8&w-_@KqxUj=&K);x*$Nl_B_?fyGXw|CVeaI+qU*_-RG$;-h;G>lorvC zp0-^qrO$B}eTToF!MDEpV$O%_ zJ(RK|fX^WE*kPQ8 ziCi)K467xh9`}PsaNTW3h-Rq!X~ycC-Ke_{r`*bQ4NwADxdB$cC9Hk~7Lbk*bl*v( zG=PMWG+1JUOtdsw(4{d>LJ&=hT}OqU>Rjrjm5l#kZmG3oiKlG@Szx|u6B`vWT=@j=nD*6n3MTl4@C@OkZr3jEjUD4>=mJQkoIu9FpS8!-{8e&#r06dfS z=-RNU7d>C{S3p2f{rXlO7UnEjhi&@o@v5$Fhl7}X*vPXf_7G~T#>ygW%93uN!(1G* zQ@x?#C}@`#apP>d`%C2Ywk#CSFM3;U7Uxsgh3SW!G}qY|2V&QQ$k0o_1sZT8j=jXg zh`7<^M2AzYA?!eG!LXK#!7&Htz+O^uewEMoVCwv+xMn`tA97A4M$MKxYjl-F@HcCY z^X#k@a36{KB=2viiE&CJA8e|Ndj*B6TBWz#~BXu^Veu<2vk1K9Q>BfF42LC&5sKH%vRMfOd)<4S>h+}{QFT}jx2R-t7{t{+6vB-q^Z}E;a^sg{Y`9+<^)E!*c=R3yOq{Sl z)gDI}f`o2rgty8Kg6z&7j&W7-ts@Zq(Hn^aI1E^FM>b9Cai;?D$U&R|(_AajsC=x9 z50AFf2ODUvaTWl;pRB{KES3>d^5(+9RN{G0#G}5j6|1Wd77|?u3&{z4)kTV}=_N7V zbFsW4A;N0KTp-Y-3*Q_~exTS7HOboBAv1A=u_qh=n6ZG8NDidW-5iUYUn*PfvEf0O zg;jOQIJOI~`$S?lvViFS;CA*Wl6YDS4rn4^fyP#Rw~GK>2gV%~qyy~nF%(#d6d^Jt zh+e2&At#E}aik`(>b+o>BNHzL%tk8iWI-d;O$3iftBJYf!g9LshK~9X{CYlR0g2(0 zY7WZZjvL@Eyq^M*N!3QgTdIsCRoUKavVZroQCOF&I+A49&ng0t>TOh1@6quprdinH z0BIfTz~xO<+6T(2pHLN3Dq0_eM`9JIrgp)=tBqS@E6eSQnv^fK@{5;1Up{{eT&>{d zS<9Y@voxI{_(NI_E9E}w)T&ku1`k-b5N3Swmx3@iq7p2!<{=AK);)1zZBOj?cOiyY z$q%jxQym>Y@tS5r`}Y>c45nqRJdxB+5OD_?q=;QJ7KPy8`vgZ&_!Kv~^)Ox34! z3~$APo3ed34vMLsMtM@qX01XjKgNJaJj*~&GDIR12oh(;=vf9tqG1W^(0dNh+YC1A z0cFc>#G*q_f%|(njDP~{WnV~_!-Js2i7L1AQVNw_xdMXW+3j{?_d%OwGvbI&l@;8e z1j4x+;rujW1wD~z*=6ERVgW9G;N;gX?{4=(9A`)_n~VWvmm7j43CG8Lg}A>2qr@AE zcPt1|t|pPIHg2uV7#G7}VR4eq3;&?Htv+0|(`I*y(~Uhqsd16CmD{!N!c(`3^Bcq196Etr60?5xnJ}6b%0?3o zTdC}5KG$y;Z^gHr$V!JfX@^DTRkRlYM!kFRundBimJtt3=~$`df%>5bB$H&zL~fsJ|4k-81<6w>&Qlc;*?ZNGtr3@0hu z6LO)~%l=N4;b?ji&~a>tv*2jT(eXHBY9${jG|~3pWa%F4>nYyV)E!x=kOkwB4A|EQ zYai-tzioJfwpZESu(u6*fYb&~nc_IcTu=N-+tfE1)or;)LlQ%ySWyY~2Gs zDq9+?w4{;t4phaXct_@vT#~NeZ(;5#{`Wuz^sEz#?_!{%l+kDn`ZxzgWIF7c#P^>^ zOe4Bf5(U%~wQj}tHGO%$T)7fIRbRqo$NLGEG)P&A&7kdBoNw~(u*z=XrI-8Ew@^ig z;Y1?q+sZi^;9o@B8sm^$Ip5@|P`7klz|hXOg`1sOr-E=7&pA-wUZ zrs;vo3(=joMm03MZjk!N+mYxT8f~W%xB=*iwiZ%bxtad=(+SK?%Ea$ecpR&V1sbwG{eqjDUzg$O1z?QCEKMdO@;k`nV5ylck=k5yj* z?X8`4j;fKmh^He_5IOV{i;+X*V{(ed{R3g+Wzk|FMMd5HuJHsSxVugQ&SsY@6HCB2 zx=k1PQYa6z?=EVrU|-c&{d4sM8nG?iTfDpCwTU+4eVT;61(*(_2A|X(Y0r#3Vb^m{ z+r2FpDuHHX(du!-Pzl@#NrKQ%!Hinf>ZjrcLxFXd+R+&8uNbi&Ln=nH{O;J->t(lD zcTpfYHqb3LkQ5t8j145j2I6A_aWMfryE(IO2j0y?=PyKjLZQuCjqQ!cKvcR0ot=*b z7z{HD1|0S`EISX@;@}FX1#7i!T)$#0vsdFJOO-Xe?k+MU028t+HaOU8HfW+Iw~Zb>bGmx<3`d~#K2#ZT)rYHiL5_yP@4Qz5e!gYGR5eUZ>Y2|%C7LTR!Y z${IR^)$|IEbPR$7kHs?crE9QF7W*`YNS;ArmU zO~b*8vJ^)qsP;8jPVSEYW@m0FWd{(YPkzeXI;7+i=E%qP2uD^F+I9O0N9Ljv&TH}2 z;>av&aoPk&h7sy?4BD>MF-KBCgW$>p!H?o`;kNFQ7j=ryiAoHdPC(^t-B!NQ^cGRi zuI+*Y048?v2BI@XtP)KwPTWq7-b%a;7vU5JSMeD_@JpiiezKZceCf$sFn}&gu`g~I zLH+YKLZ&D==uC&x-*G`Wps{JoF8V=Pn$Q>SOzLu2cnP>J2OI~n`sNJQmf7tXDT^Ec zo17Ayo@TGhDWpXF&K5xSF zFBk-p*{$D)i|!N*ryE7!MzTHgaPbj?PW*MGj%g-&?M21Vp*?yXM92#^8-g>@Ff5s1 zd1;)*+1nB93s&WK93^?Q2i4?!t=^&Sv3E3Lev9+rBf?Wr5&Q2QQPZh^d%h+Ff31r< zG+%ln(#Xur5nY_AR-oT{x!K)iPk$U>1={hZ-!OjM-TM_}9#woED%RVs%lm0=~YdSF7(_30v118t5Q#|Y6?Iy_3R(l zKqV&PeCdL27&ViqmT8NLKF%ja*Z8*h3wF?#O_V84WL;9C(!SkWkA$&M@&%!vvG8^vy4%kHQqC@3i@VPP1!j(b!Pa zKA|tHsAb^IkQysWUTYJfgSzBCpDM;89g9q zLG_|cHAP^{BXg(xg#<_WRaWHqoli0NT_k^t=+~fw?eO1KF&Ha&(Pf741w#Rwu>*GA zOo(3I*bXdlo%aecr>q{kLwu|LlZgF<;S>Y+F6UMD1%*GuKKwSAY|}lss035I#ahx> z0Dt1v27=1R_?utVm@rv;D4}Q=wxzTO5|-f?xr?hEB!@4jQ#^$G7=%ErpfiYeWN_#Y zE`tF9wv9)pfiI`TWN@>uuwU#8a(}i3<6wp+<1(;KBV!cep@toq4aG-MCuS*F3JAbP zfN#JK=lx?3kr|if&_`NvBBtCRz7+ulBnS#AnYbddWoBfJp#SqXRbueOM+QfZ$;Q400Q4PtlyyYhue zN_TV1{9N9VrXgep^|faj&Jr{RN)gR~Qfydu8!p{Gg$C)ZMYL*BCW1;KIEivP4yIOH+sCKUi`HIjsjrU; z^^y=JfVTkN5UugrGmO%R%1vb6-`eM#$;>p==k3?$`@TQkz?pUS-fOSD_S$Q&ec$J# zo8DPNC${lzWfILk=~b$Y7%1jY^W1PSxD0dXb_CCm-cO;r`lw*&A0(5?D&FX|&7!O2 zS0ro5I0@6pS$#A?WE^^KaZ0We<5gvOZ{FW{uVp7AmYs~s1=fpNEi>B7nQJX|Hy-N@ zL?*A-&1R?c%sZts{)Fmg=2GU_HJ$@O-A~8Exkng2@Ex(NjUS;}M^LTkOep;2B^pm< zT!VwK0L4@=rv1H|b7wR_aI5vF&O1j2Kls=X%Enh*D|_2&)fe`}InoFeqLSuW;U@Cz zNSdu1S-zuutMMb!-gq7%*nUm#FqYz$hQw9AV*^_4Fm4nNy<_9q3TKybmW6P#7MX{l z?J`QlgULfilY?EiBXk=1p&t*CigIYKfWZUc&a1Z>a$!Vy{FxI$LBBsEFc2BB=YI`x z#E!G&9lTuA|EhV8-bByw)bmkLZF@|MWL}EmJP#XDN%wgp|~G7&?oo98EZ}0yQuV6lGc;u zzBad-edlV5;83OM@?jHO9^NN2X_zRgUp+d6%Q@o(t3Dhet^Dg7&r#AE9LC?cT++h# zGz#+;JQP9WVZ}k#4G7Jq+q!YS8LeKTooPmEuOi3wkG=6Z|fVmRDKxwW3{W?BA;zP<{qR$l3#FfgxvYJF}LMGJJ#W)a7uB&o?%Yr8QYU-E#xK4cW~9te-P0-}EXd4D93=`?(aSgz*f zsu+tyRf!FX_}`)b5(EAbgmE(+gU}iOKmu;&&wJiWlyWY*378-|lwxm_#Sq(y?;4@!R}&Y&m8Na^#&FA?BMa%OTAT^c$n{e4=(47Q_2 zDxK3qliKB8sm7kzpL_cQ;jC+rH01kJMSZM4X3e!EAH4x$t%>tcWm+UEFh|)szL-6FF4dK zgtLY~7=L|ygxKU@zu1%~b21$=qb?q=i3j!XdT~|v@cOy=dN5w_w9tqQzO7C;?ZOc+ zIE&wn5}m3LFZcs4Bea01;p#$&t&>C|)#zQ;cwVEoB2!yoMPEaQ`vp&=ULUWfiBHz1btAaI7rb8yGJJM{9cZ*#0xBM6} z%+9@+(Lzg?t<_#{t+!gNTCHL7PGuOmW$HEd^s>;kcBR<*aMrW}lu70Mb!3}@)8?4@V!=TcfVwa~IV=yE+??O4-)e+Q>5wh8snbG2r3 z-+|u2*34`z^xi>D?@!eT*Jtro-~XUi^0M=Dt>nwl2M3{e<2GP<8vlPVo?;rLJJEHrBABj$YfWDh0t6@hM;c+xN0uO2XBZGfYOSO`- ztqAdJDzF!xvhn{d{xDxrXxv30ijX{honuchnG^pNGKvwYhQ~h&iI)9At_=FllgQ1y zOw-G~VVzk&B8U=k7}rx3_?|%|vx(<<7hYPZyT|wqg&PQ$cGZ*5@UUHg&a4LF$e$XT zVVJ4x^Y99AU1tg1>w^PU{y0oqad439u2Ilt0NV0jQtDNiBDmklYhAXwKC3_VnVN~_ zeE;DK>G?|)WEi*N&;*o~8;aw5U(FNB?b{fNwr<{WIXM35g2i4 zdiBGGxmUL%m&i*m_l5g~XJoQrH@n8!6L5Z36DHX_bHj{z32ErCJNTQ>;YxZYu%(5i zSr&#!Ns-P@B7G+_t-{l9t@;m<%ཧ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 Mk(a~L3Bhu>fPpg^# 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⁣zF8D6`F8i+f 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%0DX8D^FB$t75M5 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

    f_5#iPnN?PPWJm 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 XA@5-jg97$2)>}40X883xlo{6_Bg!Fi literal 0 HcmV?d00001 diff --git a/gource/liblzma-5.dll b/gource/liblzma-5.dll new file mode 100644 index 0000000000000000000000000000000000000000..468f0a3a720b02bf4858898191ff0697cd551698 GIT binary patch literal 154319 zcmd44eRx#WwLdk#Uxpgn(E5^8TQh~~44J?_aH6rG#`jp?Vzo7e8Az+G z2{S`DJs!nstG2eKuh&*@tF4!USWO6IK$JHXL2ebPwPzf$fGq~l&iC_K=bXs|>+QYI z^ZVmB59I8#U)NrH?X}lhd+mK%E?p9+3OfM+P1r z^W3E6LF2heb2@IE7wMdP%MEj{{z~MUtH1iyTauA4T^E^~`fB9HuSOE*&yIZMmTRv& zef;<%YQ3skn*)Js7mah@zE~0XJVJW{pZNILii#5h-wp->=T!s(M+5@(#~`7a*`B?I ze=Zdqv<>g3(zK2!-)nS`la^V(Kdb zuWQWZ{T{6d{M`@#i)Z&oD*|=@BL1zfRRkVIcRuWQdh)uiBogm8k%=I(?|$dJLhXUp z_S3JuI(aqTyBW6>dD!hc@htnr0{AnGT&UpU11MPjMU+2~*IB!Qj*30(G ze$wuZZax{4PNaht0_S`nU*G9XU!23DZT!=XbY@Y9=Zp27p1fJ$6DnBZ<(v60^39z$ zmxLxXuoUSW3*+#7^}zFWH{XJcLKBaA^|gK=-!zo||K(5F;}4u$5y+plC>YRAiUr~q z#^+pk@kO&$`mMU`7TtWd#axs6hBfgmWNPTkZu!%yze$AzJU0rNmhn+ z%A7A%1Pb954yH}K_<}N>JxY6QipusWb1>y7>kEGyTM@8Er-v%EOdds6oP0dpDevAYhqp?8ovdP+$bW>xhfM3`H|EdtLmLEAg(WYrt_Ut zFrb@G1JVyTskFS9FY~3X>?Lllc9y?iECSt?%?+<7%$>PWXs3w5jktq5;3(8&Hx+^H z`4QCUR&p{bNgt|2`P4IopQH2c_?ObJkxG*fmm+p83<5CZPhOTj6ih91j_MSco)B6B zSeyL}S~dj;O0cg$eCg%E@|WU!#bRDZ-s?~I+eg(}_Dn<-w##^6UMNt-FMuhKW{zVS zNFIUSsr+OA1U?NjQQK(FsXa@XMs1z*!&`y@XL(l;(*yAq<1NHX{vPI6<};v<`BO0k zUjryhE>z}U5HS(eUXgzl?Mkb|@G$*~fhDCMCu)0fV$YQofvKVS7og~;9t;MG6BQyz zv*#*%;wgwxW`A+w6fg2q%D%idl1tP^VrWO1+l!l!^*99>>sUxDob30%l(W&xIq^hR zB01Bm+b=5vMPLFrZOS%kBgKg?UV(|0sEwhsZKZ6>pE>7H#lUcXlwI|!9|QxX`R>k& z>^j|CYiNl+mEDp&URf1{YJ#$6R=cBH-08z-nEm<29`Y`iUWku~Ux_l;D=o2&m7MKW zat15W&23UoaTDs*&Hf}~NZ9?(v)v?)e#2ZV6g!~ImsfbqDRNo<4Wx3GmcdUZxi(p& ztZ89E9qTvDRf-^D{t~{2q*NJv%8Ew_n>B_-&IcGdiW&ixYm#*d&l>MN;yp#CKs-4h z^Km%%jCs#6NX4CG15O8mg-2ZeQ9i$KuI*IT=aqGNZI?3F>gEf|N(J=EL&~1es3yOo z+v6Ja=r&!Oz76P5!BDY!ZR4Vf;@V7;M{>CnoxBN zSudzx(Tk^Bv20Rw?(q+K&H(;ox z%PzHEzhrq8((|_=+8rO^4~7*)e_GIsR>PWA(~@16yj)qc(64pLdc(Q^F{@}tTcj6)h(0z zRd7~~nmj9lXI*+IWSFzUhB>oU>-|3JhoCd>Gn6iVBQID;9zejFsSk)F2a&nB3ZeG=UzuTORPz4xP$V^$jWzV;Co#h`HHsM~BCL;Dt7Ye*iSBP) z5lBr#u3-Ls5HRu}OCaBdBoWOXaBC)u%-e2Qqzx`^Xpw9!pF(&!<@Wp&sA44lESqnf z&AQNJ4XCObQ)hO4>KNzy2QiR7!;^XC{DDzOB@Gu|88N>NRH0jOS;j``V6erVn89E_ z6?oL?CMWy|{%u`=F`ZV=DLzVBM<72~#xOs?av~sM{c!of>4w$X$oXm=In2av}|M&IPu|AOA|EWIR+?<4H;ez;SAH#&+Wj0~O=<-W9DC@V3hjl@yp)X-i8;bV~4Pgl9k3kM$Xo3B!DpUKEbxF0p z90STEv z&UjQ>*%VUIp?R2>In3m0StzOylNzPWTdN!Pn|q`;S6(Ij3oNh-wap*pt`zx0=**H4 z<6noK__?Z3v~IxJicC^3s_Ls$>7DOMJTT~LPRjmTD;Gj@ue0*$Kp@j6Ly($?b$${% zV$KUg+`yv2o|~Ik__8ZSMxyRzSVt-Qv{l~;2AUgotmM>c*snw}Krp694{Dh#LWW(n z0eP0QM$ls6C|Pf~EMA3GQcw5Q=;{8T9$l4sGqWQ(YnC0-_4Ggxd~Qu3p)HFYtu1S- zHiCmKSl;`0hR(Al1oia6V(LdK{m;s{c3+>KJ`~dK>yL-mrp9-79TiNCHq4JU^cAXP zJ)kr{u!If&qzqs2i{lrS>yW^lZaxRuz%X-K<~4u{n$$Ae7_frP4f`8*s6Voc_{9wS zlxOdTyn#MwnPU*Er*AtU40MG~OwMny5+?-osH0`ZAq8UXW@MGl1BBy-=NHR<54BO? zORoYeArAUdZz%M?#ky@ZSo=W(>cMyZfia|Tk~lG}Wd=|}x8|G>ZZU@_2fi>r7$}T| zK9xf>r*hK; ztcKl%d*e@cqQ!hI0pS8t`0+6PmW@WwTYX5BwZeM5HUcCGd63S|Y?7JnI0E*|c13;DP z-&v{5IUy)Zvw=_}6ysZ~RAHEJs&`-3)4PM1@bkYp(>@FAb8PV?RGj*~(3a|1O;~+v zK>SJ|&*h(neRFLLWP`kh`F858LX(2Lh_~dRGN)sSZVGdhly!_s4`T2Ei8*~pnpNgS zjuG86|EN-9s|$BaeSkX#-QF;FDKjsS=Mte9dx+r=DL@i%j=^YfEx#JEZbnE5r#g=y z8fZCH)JCjCF2BNZ0&QZWGM`U^N{lHQVfp_HL#kR~Z+O6^egqChuaR@Vb%13stqUQ4K^`oJ~!}+8SZt7?LAo_7c~`3aR78Jm`?07j`-;_}Jvh z=N|u)>KdsMfOC!mr+Q&uvFO}IjQT17I9~oK#2&UD!|nu~cm)MC=Wl?OL)$VeF1vHl z6Pt7Y2dNoSi6^oPtM=*1w{lGp2IYebnBRBL}+E33`(yP$?me@A<=FWpyBIKtPT%uQ(r zOsus!^>+{yl&wf|iZZ96C@9Qotzjf;N5MYc!R}L0d zm+}7+J#7H-W9~ySz7=$|B?T#KlnR0;ysRwD(_mBBnqCuZ!pxsujkkJb9#YnM5oatB zk}akNfC{Rb(7^XPzeHr=DYjRx&#tKELSQ`>=EGcXSU;&@C=1!}t4hl}CaFCEKBAq~ zS|-L&E=|tIpEVtgpVy|$Ss1&fh=64R5Ws0RH8%96ztvGphLk-{SA{?|jww3aec@UP0c zIHo2)qbi}+nfH){5u?;(=v{r|kZmzz%=GKTG4%;T^84J(E`Rqb6CL6*Hse;#cLZ5EfB6`aWW6kmQBzbTg&y{coDbIe_COgu zy7mcWZg75jh=kRr%z@-5A+MkmM`Aye9?&u)8GeOEBuVJZ}%w6z2!jRmyqZGrP;}i|&LktA9D*;7?Q0 zRgi->VW!2(^pW^-^c+|bS=zAmVoS7t0o3D#MW9CSchLBjuFtC{GT-X{)C^}d1g1?3 zJ`DrUx|SRJ+9N=sJ>hPZ>laSkzpGMB-mKemsymHnztWmk4M5(JnoInL_6sZwgqo z$4*pZZD&Q^dIN<7Qo1!uDeIo4AP^1#?3vJq(tRPU=pje|K}cENWUQPWR(29~csfaT zf7d5by3P5f+hThO;@m0@hBO+)MuNh05?S3}KhQ>`9DbU>V6RAj1H5CLHM7fO#bY+H z%ZWf>ME|sr{R_RjEe)y3Q?=ar;PsF6MUI-h3ger+RGFKdX%I6(?K2E(tYM)))xq%ZmxUK7GW&Vh1o+=1tzC@XldpWhW zLjL+Chv^G#YWcfFIQ2pE-deIT-EKWZ>y?>A(!8asMP?-*q*vmXIiw6w*$5ikId zZp{aG-LGY;!8O3u8)f`4dR8mQBNh{$2jMLSEUNTt@9B03>zPrjX!8Mr4mb;7tiZ;G zxyJblLJ9lYD(D8&+jQ%^uwHp5d(>im6@0z}awdxC_JtsAkQQuBAh@0H8TOnYZE6N0 z>b1pP1l7zt5mpN!gY&__v)%~qQbADEuJ?@K7Hx4W^I1)>$idEJw+5v+fn>eTE}%?G zp|rjdFvynVEZdkcS_S(Bq3n$j-LCcSLMl*@JX*R>VxBU+UR(Goqb;sME^3vnFgace zIg1=JsX;Lw3hI91<<#x-u$=5ux#^9F!5}xq0>r909qXi^5Jr;(Q8ztI6aft|HBPT{ z5*S9{tBn8);zfjg?T`j>EbZXMUA=CgEfmsBUZhp0` zp|8b69TXRW5GPDn^2}?1>eX$-DuQTOgba%$@KyMs%r}?NUM%q&F*eii=dMKv#MrTX zl`JTbFGlLGZ4_Z4T7VS3!v(_JtIV9!%V2OwTU?0|Gpw5;2GqUE=@D)5KGbDc^8nsn zry)#ipI6TIsq5D27V8ED zksvuihwTxB5fAE9V5QU+at2#XHOl&k?6?@_&9EDpw~>aEuwt5**Tz86jZVjYfNRah zOq~uxrARu!qljMhB6@L-1e+Skw5%pIl5dTjj=_Bs9f!=~9QoH`Q6}?9yt_ztT>C?R z74ws->fhk5+Zv&&mhA3iPPam}P_k>oy4@1f%?rc2*^HT$sKuO}QwvG68G`PGHCT~q zV~ma$I_J|jz%0xvs3<^a?TEBQZ-^y7*)rt@m23bg z*sOIf0wgj{7@GV#40VYfTFhIZ`rXo4*y!?SgjHc(nf^SI9xxeT)!7V{+4PyR&suQGh{&BIzMcf z*P_$bvCegV8DKvbck1ceW1#USyv%6FvmMV4%!f{dI}q;Dt^2x3OpqTT z(=n)9y^G~>pKyFL%{Qd+4QayrUAYi%OC>GMhn68}vSEs#KBu_+b+6ahX6NSf;hLHK ztr)bMI;2R^=7!xZ)`A#jCB#;TtN}wf9fpOxZeJ85m8jqW8C;B~bJcYmOE3)k<|^nY zpjIq!RfUf!n8;k!B=vXQ94tIJJU*OgL#`z!^}4bt{O)sdP%EiufagAmAo?IRjVd%_ z{VA_1ci4a|x`iv3nMaQsb~_Qy8!_ZS1S~V;aEZvcZ6;sU&0JxH7zDOE#XXP-`$pKK zm3cQMW5}-5Qur$qV-cjr;>G%U$q0Gs|5Okyi+lmYzixtqVDApx=m7#?SOS1ynQXCP z9gO$M%XDiY8-?is&JZ^uq%FMIeXmHJqgyIgpzT}B+zAMcsNSe8(vZyB!Guz0VRW?2 z8%WbJjx(*x$F$CjUOpz4`WQA)VOmNJw7?pJhFFulC0%`N6a zV#YZc1LesHutoJdC;wdtP0P?Cj7k(L(apa3PXeOUP1IXm;&>ignMi})x-Rwi0?ds4 zj^j=qSAX)#mE<*KJ8ii1rt;EW*1`_wm;UtYPktBO)v`^HNFeIPR5VCE36rA+G5OQo zXo8Y_#eI&%{_6aXQ5*>d<_rs{DUd1^>=CUfz#VcHXu);}%+xK> z=jS!IU^pjl*Ei=|g4;nNB6#alCIsewqHu%PKNK@2Z&RBcY~vYrYe5LLbi)#6|=`8g4L z&kpqsNJiI10@2xZT@y>|lj_fprmR5fW{&(1UKwG(^Xyk`%02<6D(tRYQZ1Uoi?FvR ztDNz#k#erAR@RBwl+iNJ0W4+DZi95|tK+$*RzwDz&kS&*Vg&@1fR+`};@F;pMd_IskQnH9Dj4>JL{F$1gM7ZA1+k>wT-E<(<(N%;gvP8g zH}yMV_fb7&Q^OV-{lB{^h#C2&*>s7rs(RkQRscnE=e}35OVTec86tR;>BGpqq5}Xp z1AhWIT#g5lHz{)z{7Qa;=nr$OFsIib$N7?@DS`)bHr090dU={ye*A66!~87r-0^bh zZ3PYPc^ZY?_hI{|xz)J~aF5XaHvmXd;V^w3CT~JPdAzm{RVwSr+O>R|>mh8w39rT6 zU?A>MNqeN0Tu4RFNkEd{grJuGJ^n)R#5_G7>^wO~XbOx+jaa&tK=y7`whjV-oGA7W z-OR_ALs5sxb58A4XFc(Vt@?5EuSNYJ63o6p0^-@!d9%SBAZ?CqG55OG@&r^gwysPc zSPyv91<*je0DKr2Fd_T=7<{=%G&DO0$N9hu%RGE7?Cf%ZC{w6oxuBI zN{9V?cH`i*w&38j%U}}yfV~DJbgFYNCIY0yQ@!+(0el4hd)^}FQC6n5OP-I{cH_B{ z`#IPrfpNUW#BSMh3G3&zi;-Yhje7K5t@ld^V+(PmOr732cmo3oOEEGKtv8OS=FIEt z$k!uSI~th9>`wr)ww2@*&S!7pS1J;Pdqd1LZcfTYZp zYAyQ`qwFVZm&o(-+D?U+`|;Ayw}OBpJYDo`8p z3npNT>sih589~r0*Ni4HNMcafA-OqTg-z~!6k!g{IKM}RY#;Wy*r=BMB@yj63|PF@FsANyrUz?(@g^O>Phx;wG#a+>gO{*t!}P%0$|pD7u&Tg z^+&&phK*4rxE(FBccZL31n3rXy8%71UB-;f5C!!t)d>V)AY&v?swI%wMZE++E_&7j z^B}hk4>%9K3}=u-FlnG7qPIiKOv1>)3E)h>eP!JSESin^pJL9U2Ph`Ub8hy_0+U+i z&GJ$4ilh%6p=FCGmcN8$EAJK1O5^$i%sP*hIQUw&ibUg$taSzG36>Zb?Q675AG*>| z6baxd+N)iDa)&#z_H41Y07&c)x@{~DeNFEKBRgMu?W`iAgr>l&_T|GOnQe4 z47^ztRS0}|R9WY8g=(h{2R7t|6yT^B#8zZ; zweugN{4ocqRS8yHYvkgSId$}1F1uXA>-8|RRS@hd3csbdP#MLK$gU_E0Am?PP;Mc6sj<0{=7_pp<;%@umB#*P{jHC0bmjfEC7XOP+Imqdo%ov z-1fK!hxYp1_NLGWu*qw53TuO*7+$+@q-2X|5Q0C1GLId2jnz5N4V4;m*X!Z-+$GhD zx1wWk$XuJhU@I^$>1FcT2>Iw1Yqw-QHqNR-cZyQ&hk-B#)HU z`B_rcHe$?rq;{t~AFp-rG$!X&bgj1VWrVG!RtiZU*B1Ua-r%Qa*f(`1y9C($FAy~> ze`8kw(t9$B*#&`XP+P=)gLxN@boIUH9xVeC6lT?E=y|m2O$buJe*=_?QG=)rlNuZ( zgzdm~Ka)+t{^1;bEk?IVj*3VY6?V?Q236a$J76)SXa@NVELS%Vw3s_tq8`{WqSth2 z>Ft0)w4sg>iy`!X*A(}c68s>eJ;-cW-vmO&verh{S}*b+=qE-(Bl3ipirlZg5V@P$ z)Czy1AlK!_b{%jCQfoYf9h$l3NKU>JpH zR>)GiOFt<wQeNJ$}mlM|Y;duHzZ9!)O z=D|N)?Mhz|mw+XlSScnulzl$ZcI9TYA`;kHpj2)~n}l;S+P!B7pU!d=H)yS*o%8_a zqUR!=zhyKgB-SU_03aqLSJxZPgYE4%SCCwtip>PH5B6m(vxsHPN~kFBkxzPOMshQ% z5f71IMvXj8NaJ?ZuO-Kfh?i97J?p(J5oEc+&C=*4#k{Au5W`X!BR2Bfc!#}$>wVr} z*ySgp-%KsN%lriiiG03s%l{~!w_}LF4E|U0`QKms*Ydfi-!?+Nb}|!BuYA|GgJHkwrN$3n%c9`vCmCjYGbg?zH-Di7Z7#w&C>rtR^7v+icU}gG^ z_sn^r!fS%RGXJaeTQR}gOHS`gGSpfIVhF@{{Nb+~`|>sF2_TKX+u<9fE&3tit)|f6 z46L$b%oGF?cKdsVxf23M#bO8mvj7sT5GT^Nxv>FzPS=uW3^`u{kw6+8OkLf5eh||f zj>>cv`YJ-SInmcBT1=ix2dKt|-Maa9i}@PVI=ZA$Knw15Izhft!%0#my(Ty_eOp6y z5&k&o_d}^?**>j71F{ucC(6(6$nf-L!T_%T~gi<5c=@+Hk%tBTg_)+`Y@=jZFjzk1qRNS zoPw$8oT>F!{i04Y^Iic$z5n0uv=@wY*D6$3@o9) zOV3+7(SV$kf$b$>LS)(QyaR&vn+8LAInD<6Iyd8Fk5>r`0cWM7G19FOwc%_KYWfvw z0`Zb4GFwt%MlHiE1sGDp$nqXPbbbAl^dUmCb^d$~0JDD8=XRgK*57_E0da&oG4;>Zit5Kv?%qC`pQW&l4*a?nc_yKj=Tq%3@Y zS$Jt#_@T1!qopv!5_a491n3?!^6MNBLStAb!vJ8=7oTw8*-2nJSP)N9S~zGjw(O4x zH{21EBLE#tqZ&gfS%H~HM4R*KbHaq$C>wk%+xLVh;O5C%V$}$T!~yugzU>hq{7}CJ zqS9q~M{O~rjW)#f6vlzINlj#e^w5~pn<5E9JXk|0>6imjvL_yb@BshARldAtPn`5& z^}$Kw-`DrBS09!VSQlOY2v@Md-aWh%z`HlVJs}1&gm@p>xxjrNYEayF%q7M}IL7c_fZiD{w#KkHcDXJ$3AAlNgP9$cGg#7+ z%th{q*AyR@MUL7Fl(qNHvLH|x<+Z!9J-Z4>f1vYQa^Avz3Rx&2LOO< zfw^x>;L6zpung;HUB(2BkmNPrp4Vc*|F*BOCHhPfN3jU{?)Y8w|9-4h}Yze9_yRNn&M#RlT?~ZpG?MC}$pikv%BwAN6nBFT;nc zg%E!qX#7?*4i6BR-TRWD$XGoCXk2IGXtsQ@@z)#rsQP-yxhh)Wsh#lm-MXOG*)C#_ zIRJ~lb)yVl;4j0wua2r5j_shr?+ngaoE1G}6`)eg>YP%dy3*7=;&ka`Nn z0xZT;UHjYI*uw7Bxz`4%kebq z&yK;;oyMv61*FR7d`r_wrCwPTF0gjj?#K@xkA9)gi~OP zjNl#`k+CxfYua6`8T-*lrSAv4FK(kM`x?7;8NCmOg65!>{W&U9xn4HRUwSllCXcTz zd|zSb-8p$XdCXPiffW{y~sn+lBM`^H6;LS-E)530Sru?V3nvi5^J3q)aK> zVveizPO-=U^Sr!wz#xYHOCHv&Y@Sr0Bh+K40VfO~U5%?9M9{4VmFIteq2=<~DCgRp zr(h+|^rg%i{^Qd)Q9|S@LA6K;r6}xRrewLWq-oC209R9%Pg66H_eh$l?@pi{_gcVv8Yf# z0?@Z|_b-?BX(^ZHcuJB#vHkVn%@q_Oos$Pxb07AnusfAR`&FB%mAM;H%iLh3aIdde zxa`(D&sq32Ds$J55&GBpfEE+~!}dq2flJKy|CRogTsuPlDz#UVCzqlV(3l`cLV(cj zT?J;1y=3iP{CzIGO3QNp32KFw`85JKfAj>c@CFPny;%fW%xCq}zXV>9n!s73}bCfoCp6e#&qt1w2DJfdh|7Ztj*9S9LcjS=)w}R(XNMxx^a) z8pZvwu+DUDg8h%1i^0@n5#8AjS5uMoUcfv&L78VteBrqzu%FdApL~lWwTgSQTi{l@ z0(j-`c6iTX@vVnmbq0^Dk*6Qd&qwgXp0~OLi*TcS&fE%*MxaH@kiVr5Vw}2_#0MOj-qS=$N;dMiKyUUHt)OIs~pMeGA zLxg{d4Vt4$V7A_AF*km#vm+cgV zy~RG{@wgf)A!?|Vv>DbNf;M=Suz&SXCP_dvRnw>psSmW{eB({d3U?z&rRI2+Z{=+9 z?JtA0apU{|ohMM0vpq-Wu{&h>5^o6T3wxa=kTR=DPNT&e5&KZSP$i;(Y*lfnT|z6d zXUMZ?PGEJeDK&?~K~S>T3s~K;WU;cWFoeD4fb%eHEN%+~zr(Rm4m&Fk`ejrl_Os{( zwa?Yo2ed48CMwl!G=-8hAc(<1esum?B&;NV&R>d;qa zJ#Re(V7TSY`lzi+ZT1&NT|p56RA<WL(6hPf*e^J44GT-(CzbEot5Chx{Dup@^yefV9|3-jn zShpSx)oPhPGr9Zr5X9f}aj1mufVzF(CdLlV2!UAEIV*8ofHl3tNNdI%)W)@0H+$D2 zCeM@IBu)a~Vo4lo=);?C-^Gg9+%E(39na)6m zAL#T0A7C&a#$B8Y^eqZ9SV~Zlk3={x;}-f2sjuOJ1$n~+?ir9NH#~tqy|Ofc<(S`LChg-_ zgWl|`TRp4{#!013oyx>cjN1l+9rU@KCVUnK3-hKJ=ZP!KM)A+I8q${+paH(*MHKhsz_l^ac`~Yw!0wp5UCZI$=HslYh;V#iE>{x)LV; z0`cs5KfNZ{us8yc=Uh?FbAK{#YIEvg4gkk;)~?5sfTfvJ%Y2{3?0aN3L1c-LR_hTb zL>ut~b$+1H55)X{@&h8QaA|U0N6ir3U>Ct9I_}PZ*h?T&a`L(b(mtVLwh7L#&}?_c zfTqfdxla4T)u3l9Hi4|2$DpFR5@!;A5%h?&XZ!W!LIC%eX zaOrUHq2b`8e$Y&JA&81NMEvDH1++k3rr24A9d~`JcMU!;%{m`@f<%`LBaeGn)-(9T zsR{3K9z@qLMX&~x8+k5;q33en*dxV!c^m@*4s)t=)*nmqv!wefviN6uI~UJeM`088 z9JsbE!fAf1TKhvRWFB+9*%ZQc7n(r6ATroA3VvKL|I8W%L0HtX#Z9A~2|%*hBrb>a zB`wW|57rNHKOT0kRiO9>=j!)x2yFgXA2TTZP-SW_w-4Zv&6WYcg4YH?7H+#CwoCnL zanl&*!5L^5Cb+8KL*3K<5CF7C$j&3GVIMtx3QnPL{?M%`BxJZAbA||&B`4|8Lvr`W zd|Zt2QJk0$&;O_oNeu~qpkW8HC>y5&=Dz`#gs#`@aeqSN;E`uFDtkr{4yDgS_1m1l zjvkyeAZ*`0|5A8l80OJ&^O<=1nQr<>>OlyL132kFkXZZ?97;{q7A_QfkK}?$Dp<;C z2AdbRLJb*6o@v+@(9NkpNu--M{_e%X}|49d-cQP=gkwS4Q2Wr)@#@1v(lI_KXS4!xqkUR$H?Z7fpNh@; z)rR)lzZg*(UfxbsMQ^NuZvdrQI0r!Ma^xPTiJl@a}PKD4fyt3P8zj@5=b2>B+@A6Wyt?H5QN3J2|9^E#RSq3u5N*DNdvld zq|-uF@_cl(sc!BXp6L@$kMvCuo}aA~B$^V}g~S^4Q}`dKlP!P*N66P=S3Yeb&cPY> zPddmiL02LnVA$fg9MMX*G1fZmYUJS>VWrz8+h{ADKmd$#4lY}0=EaFtBO>&4E{Lr` z)zi;>Qia4LPVX7KpJj1CR0T(QIh572jmuSVbn!*EN+UY7;CE=g%&P1guwZcY&(n%9 zgQHjWVuD?qcmZ4ip=DS-XWIU>D!~6%2QbD?bJNq9NOG~*UaoywzCH~u--JPnB z%e;c63aVSYxV70jBc6W0GWBQ3bnb}lElym3CXj&q$xW!QIPq;%glrY_4gAF&O%H%u zOTraMz*!$GLD=4MX8oQ*`^9oR$hq?|VL3gk3Aa0AO3J0nKae$|+fOe>I-EDDOed`G z_u*lSdp=hRz zd7y~>1Szkg`;vbK?MwahP(M+x_41l3YSKgm1`p;e@Os_ciwi+$+;Lgx{4s|8ZSqna zLnH|BMr#M?F(LwrWlXnu``vBSEFl=e_T`%AadMv8K?h@T;nKxzMBpPHdeoGzu-1E| zAO*xFJ$Q;ZDo(r(SF57OhIMUir*vmxoIaZ%t^>GM)g`WAvY=ZFs--u-Kz_G3zlZQ5 zNFs!gW&j|VjViH5*MbJlgAp*`@nwab|Ay5TaAkOZEtHsu*u5HxP7(%)!b#UJp~5C^ z3f}n*=7A-w=*$)i1qN%`ST=tyPFR2T9zc>j)}wmpI2;y4--hU-i}?e{EEM2R>@GK= z26&9b7Iy(KTtUGbU4lKriL4&QN`iL_qjIOao|_?3DV`#gLKkMLVSasiaqEcMzm3}S z=KxX{E9kSbs+|sxV(WozU=i&h0TLNx=G|Od&FMH8Bh!E)asDI7)=54!BqZ85^y6+i3dl2Lm*(ZI(5O%GVtk40a9y` z%fI2AhBt8dr_nMlWPKWM#f1514+O9I!`c?;5J!16d5W^{7G@6zhMs=H!iB@nlE5WS z;Kw_BXws{LSQQdee#z$Ne(x}h9CqHj=Pk}V3!cM27Y8v}p6(UzJ;Th@?nI(t-cjq| zDRj6Bb!rPQ#b3DWC2xU-tL(>^s%3`o7eZ$%#eeXoR%r69djyZf24_1b`!*yfdsc_@ zHyme$4G-Bt|Kbmp##;7DP#?V3K2zXJ`%P@qf?^lL|* zjpSefcE(u_Mxbo#QOTZOE{}cA(SIkfejl|g z$ud_-5ubGvFxr8n4f`HG;>&5{09TVX%b|%le|gxIT~{*WSlsnRNb&>14G*vEZnsX8 zu=#a@qm8WaUQ`GjUaBLE$cuwRb6FwG5q!fh$Me!$Zx_Obg=taX!~T5-k%U4W%)>w@ z1A~d$s{&XLxT0EVcik6!Wqu7q3F3<{!B@5w)&dLKZfRVBM{?axu23D$4>6Q1R00+Q zL{zD0_1vFZH`lgicWc>MDDTVPkbqi|Ua0r@U5>}yAz&;Qh$Rg(lB9vTn3Hz`3n33R z6GMjesg~$lTJOmy2T@qd97JRSBf}LBT*AHj8f*^Buo6p%h1({Pz7zTWh&<@p9P%l* zI(O`BuD0k$#5wiXq!qqKA#6`#zu0O5wo^7>L?c+k8g@5lcf_>su9*Z8vK(fh(u+t~ z)yr+T2C!X)F|qDpbI7;^4`ASG zUj5KooOm|c{4^SDrk@thgCH_Kxi1kNT8_4GUtUvRapJAWlkJOX_pV{L7ScxNxA-`Y zXlDA7cM4syvCK3q#`%3{#Fq~D6(@ck707mQNq!`WWVuZ_qBD!=1?ct}L%{AL9}Zxe z?qFKoZHzMA6k^`69&SYxPC97WPWDp7_bIYJi4)|g%>*g%3R92$-MIUHR#EvdR}*K^ zFVP$=Ud>@G6GnN%{!h|4ypD?#zYyXqwHM>PII)f|7~X9_O0Jox3DA|`iU{A?Da~>b z79-C000=H%C*u-6_ddAXdDzIzPsE=D&|eK0u@MUqc!}MAkrl;}G|kFwAcR*~yj?i8zyf0pQDesnE9EFUSGk?(EwS7{NjF zHfqp&)(|cE?}5_X^X&pu zYoSt#-_ktY1cV@BDBfrL4lT@%6aA^iE#b=_=p8eiRnz z+)2O8jT4H(r2BrFjGii(CHtXUCKj+Rn1CS|*4CYmJ;I5uWiJCEa*c_wk~-b2mqVZ* z(7)jcC^|PzaH5ak*JFA6q3EZ>HwxsJ{S34t_6;nK*I~)Q*A%8>JVfz6Z8ahiCb~8@ z4)t5zSd^(7JmAY*Wa?vak3uepg^@Zjsg_@0sGPzLI9E=D{yi!l&COj#s-c94CU&4= zh=#8h>1VtDX+%Oa++!Y$^9IEm`&I`Nm{-RI_R%~O2#{cmfK0Um2_ zBT7YaClLGW9YOx~&)qqolsyOcDBA|^W5$$#vNR9*4!FzOUod$%lcusBAhgkWejAF3 zM_d$f&<@0Eh*Q{FFAqsNm7jqCy-M8GDf3dYP!_Hxg1ZY@nzbl~ztI^`OK_P;j^@lj zZV^{1{%~25P(Op_Mc{dFFl2vEgn3(JTlx;2K`xvVN!%;NN+pOv%q=2g=Fd7mq;6bC zbU9Ohf+D0SDWzrb^#m-==Z6yJoh(a=0V3`UAk5vL7I+qbE|f}ttGbB0)XYWoNJ*Zg z>??62KmwV#GXsLb*6Q7?+S^(sij;j3u1j$o6Cwcz^=j7HvzkL8hE*x=&ZDwexsVDZ z?R*9+79q=bV9AFikH|}v+}Dts z?(y*H9`9b%EeJyK+@i&P&^@>C8CIHGw8W3iExLa=xYQ4tO%ZH3d;*)G$or5Vo15Ow zAfkv!37WWZ#ou#S6fVV12aQedgm{))RP9IR77<5MDz_*y9IP7-HVy|lZ2aYa3mV1# z?Ro7SxX|wa5zY!c2#bu2_w@GU9GW)l?>Wc}>^zD`ZV~_TXD;f)UuU;y99njcOIch3 z_ycrp!!5QWNYOpd-9xd0=4%m>@hsb~r+MsdmtsxA%k7JAf=6TXo><`y+i$QJsnWN@ zW&fkfz6$GFX`epvW2U(K^!E8!cJ?{1am20j(Y<}nDeRVgR|o1TPJH$d9Zt(P^GBhy z%dblIP}o+Sr%?msln?Vq+63T0>}CE)BlcCqf{B#{%igKZ>)?o(EB<-y5`B99{v1Fq ztRG}5xFrot*|`@h9vRB*#I7)ug)gwjLm0I+$(yY!!5Dbu7c3<)c%U_7E0T%HFIwk? zU{*fl&1agUd;0J1A$Hg5?{3ngLv!Kl^V>hEAbj&Tt9Li6==QlM;67^_Xx`m|je)ru zwf3?Z=aXewl)G2JzgXLVd|pltgAEN#Slf=mT`L{S$+8xVGEBYQb$)f%uabQqlvaM; z36}(5`@-A*Vv9Qr7|dJwo{M!#bS@^7HrL(F zSNxEnO`c|FJHj1-Zc%j7rM+DEbKr2sik-;hG(Ct$(HgwE#{UN*czh{`r&LqzJ!|A? z;wXwe{)=u>#7nC4p7ruHaYn@+|EkQASfiH|^PZxgD05b0{^MX>?gY6WAxauTk9F>v z>u5g$Oe9=>asnQ8`SSqeNO|Nid+=g3L9ZE^K=4Z;BhjB`yM1T?8zrb&=gRh+{uF>K zK8^o|HQM08z@sR4<4omH2wTRaPn@JvQ|=YZhL)!P2E-C5LkMUKC&(*4g!BW{4MRq1 zzOtG+pwzW%3y()d*m3*X&){bb8gHewHuvLUT6L~McQN52 z*vxFh+;>j82BY01p8){S`RM@O-HZDd#uER&7Hf8ETw4}`GxaLSR2K%O+2dX$6gu7w zb9SqGey19X`>4_fM`Qn|OO7xIiBMPN$Uh2?H451@7GTiBbxM;$xnX z#IPTzMjG6MaggLE%ej{z;0tTW&tSFgehFkL?&~<`{@_FTFN{`PAO7gFV0fnc+uP+= zW+XTgF8{suMl16-u&auo4ht}16jhyke6Q=N{!|5 zJlw83PsyejW+d*at`K^#;;O{|UN@pgNFV3FP;gI?e4u`}zh`{^u=)Mf`wySr-u`r( z6`vzWqEHI3WF{^FLg$_XQz9?2yrXt0URCr+IYB#jJnsK}vbGOVl`yD)eYA;8RniaK z*Xx())=}sSW;sjGd#QWsvG3>Nb3n2X_2Np)Jcv+SPD)T}IOm{D$VV}$-iwgxQtySN%5G-Q#WdgF z)Cwv0vk2vy=8!t`M<9&$5|-Xd$PyptzFM+7e-z@&&a?k-)|-cb^>^3oL_sb&B5|f_ zxd5TUGyKKJ>}ch}lZ(k``jpw}(m=$u(3bYUxt_EEKIfh9y6XvUq91=YNd4cgC%Yh? zVU>!YFjuaBwVs^oW@+@Y#Js1!p5W-g_^Hgor6u9w$6Z}!{(+QdoLuaVdZx?!EI z!#Tm4f;@8APuym~#R&`KI*_zCPef3}i%bn_08EJ#aY+g0MlvGRPQYFzDwfn}CG4hy z>A^9EImIx~Mt$gsGYDeLZ@^Ic`_te*w(BnYFzK{h#(47{&`Rn1ab@4a=)k5nhOUo& zlPg7iKJ*O0(iZ*<@#IC{G^`t2<1oZHv6I0&AaY*n6BPvLxiqg8P6o~{%xG97A!^O;QucXuSm2yd5IZOpPe+T(@t>Yj9sV8( z=Ah?qI3iY9^>8L)Y7%G(!aRS?# z-NCyC^d~sZ_}xzTAx&+8!;;qf6Xvvz#H}21b;D+@_b$X3!G0PsStp8Opm~u1ZT?5# zQhS(*q&%-!(r+oQRZcD?Vf)i~n(3!SUo+YJD=7?V3rV= z>dejD0d+2k&_pslq*lN#$=~f}A2&03;ROD{F$Vplgop|{S%EVHC9IFo6E=B7_frHf z052`Mf&t#8Sk4xwcOnkM0-f@zEAlg-OL_9F?|UW*@a#e66%O(`>AR%2%Dq2sG>i^$ zfP*H(NG0qw-ZLUka|R|>)!S6Jb4_(#QoZ+V^s+>d7W3ki_vE3RV*X_evTL8ILcDy) z%pKnm`t&V#f2cf1VXhvPjMS&gg}DqH#JqFmxqHDV%Jk`yJm;T>!e@ALIfAAjv+-LP z5Yr%h7&T$%IAR9x&}w0Z;zw_AkrP%}K}_mJU>SlO9QmX_BlgEJt>O_8yYN|&HOjk7 z-By^j@Bwuzz@(_=e0wWB1s`E@XVzePEn(M|H3#eoS;|IJX8T`xqcWDhH4HQ0e<5Vg zeGlG>JaZ1C#hw$9G4WYw9K0VzTXvy)WyJnfQ?=}37TXo$q9R`f*0Nc|@bHnsAjzO~ ze-j>#i~o#hjy7=t0QiX_T)>9oC_(8TPrmTrBo7nt_S(u>5m|cRRP8j&ibliAk~TcV;1ZYe%k6YUAhSf5IAF2I+N+3c4yVcq&~5=U*rlyntW`? zXF26{V2S|I2f-btI+H;bXnJblJ};KMS2;%`T4Xc%Iv|p2y!O0j;K7!)_%whKtEUE<3dRFfQ?p(Lf5`C4?L)rI-xDM6_DZ*gv$a;9tQ4T^usL?Wg zNFtM`l%q$F(t3Z(2uLzq`vdsCFJJlnjNdSTjE#IokJWk?AwYb(Hx$4|>un}eu;@lv z{^)#G=9)B8=5TLRV>ZSwWdJ{hA98~dezX*Z;!R5N{JC-am_U>fhztvEOOR5|9F|h{ zaFwigrxyLnycLrD;)_Tr>@{B^-US6*s4_30MXua*ucERdnWAIGwKnw)#<)1pggR0k z%1*%Z2n}}-R389FFdy`b?cgA61wwD47N57_WOpI@mq3teZ^QK&P=?ZdV}|7$!#vY4 z&p>ft6}4UN{NN6uzRN)leQ2nR&Ru>-2aUomFguq&;q3UT60snl#8QPkF?f&KRbRj@ z6_`Re7u&z9O1CC}RXmd%&nbl^WK8M}sGqn);aKFt^#fJ7AkXDO!|)we-)>;~u=+NC zu)Z8}x%JWecZB~Zzu$+u0WQRt1D6p18gT9hZ{=EpwnyGC@LQ|Izm+(E#xQoJ`vs_J z`E`(;Uw~@BK+5hH5O&UzW&II;KGj)$r#s2fu4M4>>E16uX(RtN%+n>a^%6o2>o|;J zE*>V(SpQ%9Bypj`_Y}Cr*WZr89lpt4TO5&b2x!#x_^!?$> z>D-tD+GS>zqR_&g~vtX3w+mF_-oRe17S_ zmy??>55Z!H9o-ASL)VM4EP?+E>%{5%}a%ePqABYfOd@9i&K3B()rjezc6x#`hGUyHd>e+tKj z_`{u_yWkV4Ejp%xQdA`_938Fo-ozK2MEl@*ICQ1ax-~{~m~I|xk6S}xc>Zs(#@i+q zwd@9tmpi#&K5lB%dhzLKaMrD<91KVah+;x+!#kIlef(C%EUbsv$-|IxLn;gr7fdT| z_G{Unvb=YVt}D!921EqMPCZdGr3rqJ_<%EKMg)?4wR3=SC%zyXJPsP|vFV)^__T&u zDQQZOxX{V|M zcF%9;Dk-!8`aJKz@?`#L!1!n_`(=RQiaB6w@*yL9n+2*7&X{8*yC3D8zXCpf+8p@f z-3#b*#JxSA&!M0karfj|U=8J(YJ3|L)Dg&^hmzOx`-};zDTX8Trv!}2yAp7A zX>@WJpaf?T?*7Vu0{H-GVH^I$R}duy+;H0zGt6iFQr!M-bnZqenR_UetE4p&S@N$! zHHohvSI_@9gL6EI688J@^I5*7Vk6FHbuB`lcqb>%XRSv`@1Xq+L;~p9`H$}*gLzYp ztkliO0Gyo3IEo8RD71)$vhJBZPtnj4L*#Bv5$5Lke1B+s5j=EBD@!DfS&+00DY9j;vg9Gv#P zZGJU|bvkUCltWlp8zL>4)r*Il8dbUr*(@ zbRk!gSKNDs|4>>(JZf(=f;e<#Ps4ebK`?2qCh{p8aHP#n-A`HRUUQ9eB17q>>R`~p z2UkE{_$U*^uSk3aDNe3M5Hku{X`Qp=C~v>bRaS+cx%d5x`;3;jHdO?cr{N>UjOd{kwj@FdxvntRy zKVyX4bHn3mC41P47|J>y>GlW*r`4xmEdvS9!$>N#KfC<}MlHR@d37m@VVU3x z^&#IA^Y+KBpm!(F21r!5z}|AG?88zxkaamUkFJYh77II{2mj+iemG%R--2&Zv1=B+ zF#=r)?Df|;H%Xfp4Y&COdrtN)BaF|h9S>MW(?LlD4NYzHdX1~yu3zHP%kC2WjIifo zz1J<+ET03(2!qVUSMbg;6@6Pb|DmOCL)fst&~=jRzw5a{8c5tl9+UD@P`a?l<2IaL z?6>hYoCM4wX$}rtLvW>xtnHSJkur~c-ibGc&eF1XZLr}vv5|rqRTCW1!vJwd}x;^eJHF+P`qN&al z+^@s6XsRh`1xs1-NkeDfk6_w_;Ph$vm?0p|RaOx z6)Sm#vc=;Q{FRqMM8K5R(iD0PJS==6WgD`lr{D_)(hW2M1l>c@ch766^qW=X=)=0m>8<2)EU=|2KHCpx;Y_qI+WW-%ebYO$@ zQvvDczd)t5&w|H*r;G-ICj?S+hvkUxdg+FhX2;P!r@3>5?DvTzA#S4a)yx8NP6*d{Aaf$x_p zr*D0!a@;Xx&%-CqfBz`5dJJ!`GYayXyznB60~i^Z2F|$%fdt}^WD&2w@2bFG2Pn!q zJK<9HEPLFkkgst)kh2HbU7^mUrTkd})v@^u1rt|BnT%kGc_T1lKK8t|mL0Gj6ypSq z6bil5%?<9FDfZ1<5QEiHS#Ybo9bvIUT*?5pRT}Zs78-nmwSue;wYmE)-u)}c)GC=y z#ozs_Lb9)-WlzK#_ftAs;HAgwOJqx>6Xih`nc8j!@RMB?_goZT|GzO^=#cri529s7 ztfGQ71@-~1)!;B-;;>j?RVGZBr((2#t=#Pgm;Oe+u&;a(;{nmYmof_mKVgj1V!Sj6 zPKjFb=Je1g?C2Z|uD}(rgEO7Adw0vDG48vZcN_0i5gf^06^F-Py5-8NB|g?&JZ8R% zX;659k%HyS_xZls-QN+YO8Yy72Zao*9&)a-^SD+|hd>XPoSt@sO1sj>8c~x;uIh*V zA(P1;vj2?*%XasNtXoN~R-071&pG}8Udz?Nl_2M`_3kiwT#gQ>qgDPDDXw(sFBTNz zdi%hGv9V-NoO>KriEBa&VFbYiD8Bq+hs1trHevf4qhr`By9tRc$LGZaBo{nzu%PZZ z&jA_>d83l9Eo?{aav2bAt%f0AVgV8_u0}Nhd@Nl?YF;NtEAS>)QZ0KL3TeyI^N<7c zd9g4M=Neqr0EI`43i7d><5bi=Vq@M@LaUZO6(om`hQWv$o@I^05$s)hdQCOJyWF`O zmNq^8evG>usa+5|z3l)k`y^U&l}n!z;Uz4N9iovEM$`}^o%*CHM9ZNkTA+Pp#I`6n z!p0QXua=ejlI&Tn&bHf2LkK;u1HEv*E4OyIt}PxDmixi?Xz9~fX?kTB9#}sN!9{2^ zU4}bBjQ*k_1R=Zp4(zthUr?Vkx|hfm?a><}!+uys4AZd={0;O7vt8Mk<(=bz7q7vw z+9FqD9zZO|4zfLh^v^b?jR8_(az5Jo}q}OQ|DnaVGIxHBG3(H zxijbv0-V!!Elv~Z<{n;ku`{?hO@!m^?aF>9lzs!08AP?D?#05aoFDH4NF{1Yp6shs zB}xLRrb}i7k$(=?|IzA-ZeY+kbDme%0B>L6e&Qr3sNh*)01Ajls%5-=MRpXQ|vo681$VKUmd0-=Go$H`xtVb@Z6zIB{ol zEvEy#2<7@{QwVp4m0f${L_oLZswuO>?w-b$?psH>_x+}F`Ap1_ zaIX&k2Hds351&5gl@g3=JKX2&fNvckeH6vjP*X_|t|E{*l<1Hj+SIP1>)6F1WM zAw-~Meg{Z!l`g-;lKl?Co^7SYI!-or^k_j#XBlsu?fW<4V|Vn)gXdo^aE{hxx{X z=6_lp44CWSsv0i;9`|x^nWCTNmf&l2!}k3PS^GJ>yR zvKV&gC;$>>M^19>L+p;W?1Ey$Ds)6!wk3XM=x+Mv{Po>UuJ}+k_eda|f4F5D*a<13 z=Uzb%&NNM2g=Gu}XkGN^9(wwfi=TC~&I~=nuQtAl{b^iWt`d1&a+z|!z>Fm44_~nZf*mD)}x>Cey8Sq>yBsGH(==eGsod7nH@&MTK!BM2nI6n ze3^(aqOUB#dDeWXw-Y}_xIXUF-*A5k89J<=8QQ`Qzk%+^Y?NtG`g556@DRFdeHqlc zR^cH19=y?S*J=x67Z2N0chq(xDgi~8Ph~z>yO>WXz|1Oow`*awDiSzdfOz7sf5Vad z?jR?K!e=EC4M=&U_71#iYx_4;nK_8m3B_YM8iKPZHx!k^lum&4<2YX-$sP_ zw>ZG)-%z1#Y;Jfv5!`^+s)T*Vl)DpWe=UfE5Pghp*oNp))}`UZB!?GtFe2FBWQQ8! z=Kf|JXhR$JshAe~6Y?@P(XhFB(q_C*+M5WjLvls4*&h#XXl}^IgM;R__@unHwz;9- zx^!IJzN2#Ep}zk@XU{U7{R&geVNarAZ(`D(=HN5^>&7O6+t6LaXzTmeRiMc6!L`U4T-%J3s||U8 z1t9u29?3EdFEt0(PU`R9ScPE!#!=1oxJHbY`EI;_?U=-*cQMbKgByeB-`cSN3$OA1 z^+)2ZqPgKvBG?}{9Yj<$H*A__PaT7voN(Eyi=xewhLGHhqt*>f9)*n4?a*;1Q2q|V zJ&*_v0?>v7fG^%K5TDc^pLD1>xE{k953aXnPH1j8&>S4VZ6)zZd(qgD%?+E)_3?&1 z+IqZIp_RQy?Y#u=|Bt!1kB_Rl7XEXR0RjY0&}gGgHK}P$g!X1E?adUlImwwY0}}{B z6|HT#S1+YXTZ#$bORs^+3#W%;BO=FrtIi?5 zpx%}jmHfVIpP9)_NR+nEA3r{tbLO0V_FjAKwbxpEt+m&-uPfxiSo&CCb%C*x_i7bh z_R|L%GW^F(|NdafzM%F5?HSrWYk&tj4gHy>Yn_c}{&ek^HrUq{8Cov`M?Lxex4{TG z+{}`H-0=$zk zLcFj3MtOMw&&Tp~BEK8vU$bLuwNo@DNMahs(%;F8Y+fv%b^Cwsb@I+PtrvqOhs}~6 zo-KQK;=yjNOM7m;@=-%O!AAI9LL$2+>&$`!ruD9Wm%j^I|Hr$3F>W87D%t7ZB}N+h zNZ;(6N)2s4)0HZ&?Y%JP0mCUOXNXK|o4{!L-!MzwWMs^ey@vLz0I2=hI>`f_qf3}o z&|X97G(KMZt#1GQrnW2Stp9@cmFO9!^@8@i)y1^)?=<}{P~z&#=3jcZS@JAXk6()p ztUJEa-^Ja+=YIac)m-a;(cCawfbqXzmOR5uiZ>~z-Wc6~4J%gpjB{NE5Y4VwO5Z9f#v6*6{;n9?u70=yahl38+) zVG_I^vyPhnmw;XCwP#nz{D!u6>f6nd{-AU3#D=eKT>(Xv$(E1p)XPgI(zCJcRLqmH zU}vIXby;s~&odnvxtExAX31;JyV%Z&+Huo*jRz$?{K_`LvVGNb8Te;|1XJw{`e~!N z@Z@h_XkvbpS_8rWN(TG`LH|yf`r1A}kKi0dg@(l}dYKtHo=NTRE!k;mFYs%k2IJ`E zhRV@vsw?fwW||tc_Z$8JmJVv3Gpl-`OIl-ILn(p(9{b!q48}~JBMI~!@>tss{{~Zr z^^A3R7WgtOnd&m;wBUco@b5Qdwm&DsZfM8Ml0!V2f#`b6PGkr_VL5PQwEHzSs_GhVD9zl4qIyu^kfuf}gP+4D;@XW8b{zPrxz7 zc&PhFF`WpPJBf%Ef5a`O-B3DH`NmD_Xza;s(+^L5b3&{~=Pqc8n3)*#b8&OH9VfT& zOYNl9W6Duc@aLfaB~xpFE_*1B^nghlCEflWgbJM6)Q;xdQfg`+XnRfT0AOk^OyBA> z{V)0t#GXU|y(q1g9571uo7xV6WV&`jJ8Z(Lb|H+Ou-@VpkaA4_VC)S6%+HfuR9ejc zm9bq^u`9M~oaz6w_JQ@JVZ8}V);9l>rvDXF`%B3#5gN>JWZ^6RCpF%V)s9+Ei?G$+ z3R=%wf0lXvo_{X_JXo@g`Vf^y$n%_cdn*TV3wwTI z96QaZil1y~;ng!XFCdR$35h~V)thF>ni zKF60lV`%>i(*!It=i1U+{7(y&$b*tMwUa^`h6eM0DX1MZNts19zE=Ur^uKDvUe5s@ z?&NtT@Rad?A+yG`UI8)yHT|zC1X_Cm>h?qzA(Hs=9thC5N+c2#+P>2=x++~*RgUzBd0c8yJ;fb-#SMBYbNU7TQ z83*TZqbDYo9P^*l;)shUvSo-kZ{!JRC|_9DL<+b$F@Wf`TmYEK{{`R=wE`ewy5M-1 z#<9d5B_E(EX*-z^1too^wH+w@$F(l2ujFk7puZ1<$e*!V7pwkyS}H?(F%~5e3)pxcN_pn>!yYRlui5jLycP>pws+Wjz!+*??bZFdOmua=!sfKP&5|N zDCEMFm&;f~>i|jAvJhNwK=?8Le(;P4hnK|s`)NUo16l!n;y(bbpl{%T?x3IxCgjdS zX*)u70!|*P56CcL9XfZ+1&#N8(j1-Ob+80h*=tDGC&P$@JEIQn6zKvd@_Y9ag&m;? znK{HSz$H!XMfj+HU&-@E35bARX|Y4}J^Sj?X+g9~Uwv4V>5ioWKhA(NLNWz*lsX{O~upC;=HZ}M@c?GP;u zbWhfvg!rp)1X}M{t{;^#W+DzsL~9f%{V@%hafn}Ify&gLg!6M~=x)$~@bMqu1<)Ph zhqgmI#xD_iES=cwUMh_j6DfWi;AAqMfd2xWpN*$3@D=cXnE+Pu+A!D*Yp;UM)L`_> zN@e%P0jX>z6ycARbP8w(fDEf5%NYSodjfvDO!{=dBn-`eNP)G3d+mhmyO;U-XTdQ8 zH&J^VEl|b~>nz~BW1R$&eEu&LHhD7kmSU49wWqDa2xb|*ZhyD`u=XA_Uh*bv8;Q$r zxI6T&y=#^{sr5@-k9NR9-(ih2{Y>VOf2UG^p!c1k27#CN6jDU3c~65<8TbJJfZ&-o z5c>fj$V-e_S;$l& zwTsyaTn&m4W#+>%pMp7XH_^MWw%Tcw>=MmI8&FKo1GE*UcB0mqc`m(WYM~|x!MqGPz;pRI#t)Iato3n=f?1Hm7psF-7eB`bQU7GV zy@;)+%5Z$Fd$!9nv@==`qIQyV#<`^YQqsj}JDG>!z=?)`HSC*0hJ9I8(7w)O7;fRW zoWI1go9eknxGv<%{-&E2ab3vuYOag8F6MeQ*K4^h=DL*YwOp5RUCMPi*JWHAxGv|q znrj2sTez-v=i|C+7bm^gDopKsQ=8?}zMiYi%hP7%o7y)Dv{i-LcZx>Z;+PgMVvo6z zq%$G=tefQ0V=SgJEFofGn@>d0nCrc_%j9Ai^*mjaZeL9EcZhM9NFGVRuQxwNEyg2N z{0%#css?5y?K$_8>GeULVsbx2-&~hV1LVBLa`vaSBYNmdq4K^^;0Pzr@WqMfvD_6uA%7EQDZGOdtQe_gCgJ%s zCmbXEiEzW0j>&Gg@;zE-^w2Skg)463%H|m{a6~(D=h;OQNPs-oDjL7yb#*SMvPUYT zrI(sn{iXq_9N{qOefax?_XQ%gS=O`9@k-xfPCB_nUY=AhFBBJ1vj0hY{QSk@f^cpC z&AX#7eJSK%Uhz$A!Z2OgSTt}+s=Ndgb^CI%FyK`-e3Hl?N>nwn-A8im#wU{(CXpn4 ziIp>OP~w9*R5*sgPWI_=tFsG^2xU@y93s^YQN6`@EW~^ojrsIm%Xpuyf{ky{%Y@lJ z6+cOwKV!+B!dwOD+N>jdehGiSuD6MQs?H7-hY5ub2V#2L&(wpmI(u6ViMeiQ*QW|8l*G$q*BbK;QU_s&#tlAZnRi>A^t%ipQO5QWiWJ zeJ$VW+w`Wj!%-))Gwh4ZDpPjJ%MvqTywkQ+-H**!k)8` zpq&SNh z1$#~i7g-erf%={JjXX;rswN~4*%LWUHV0Y@uGU+`Ek+9q7V9k?yaV)Tr;j)8QRNS# z%M!2WpZDrzgX;Wt9nDIO`qVEw3r7$!hQATflfEomDz*lDnv(Hg*&{MMvBxDgM zsAXx}-G31BPsKk{-+s*giMn3!ZYz~b)|+qkm~*@aWHio8wB>$_rqui0he_Zp;LEXU z_)}DygIQqrVeILe`y17(q4pBYk$- zBrb=%4P+nW#K`o(m265ZX^+2mIT1Fmrsivg{W<#jYT?fZX*Ys}I4?l?UVPgPQsKu3-!G!`G%PYTaGyY1W2qhBpe(Py;@bLT`@gaenq7qT98aBepXSr>Hd(q1(bT(xhCVU_O+vWs@N759`PEs zSTTSN6GAh-2cje$!$`0b;vgaODf&yq|KcGl6u!+tVqOjscJl8?q#;rHsU$vM_G=N~ zA=4t_)I#bU^R2x5?j{EfvQf z#`oUbk=X3o_z7sBo!5|rI7kT20zG9RXXDy~^3ywcjyqz7ReLFYVsQvBtL&3PpV-DZ zaVq#w?RS(`BX&?tP1(jLY58P+0{r5H4{T`uN1SVlnYN%8f{C98Y>5~wj*{ja;G2uV zZJE%#9aZqLmENvtfW1}%6#7t2m0Wu~#>(-&*$64CW_m-!zbAfQKPBi+eIgJ`Xf}^Q zRf*2kc@s(G1`9dyMJnQ-aF=cpYNUaSCsm$ST}BLnid%&}E*54Jdnr49cs^xYI(W1c z&cB%5`J~!jC*_+c&m(pu)GSWcyiA_;)GU?XUL?yaLLMpp%ee}yg88c0)N5;4q}4$7 z9g*^mkk%Q0aSvTpfP#@Mdw~hg1{W-Hr$c;+cqI1u(6kfEjbE06tGMA#djVqFmoKfl zzfGq{FFDqylV!UI0~JbE0U>=VAS6dV0_5DpRaKIR29bO*yegJgLqQ>n+dFjIH*~vi==MHt>BgY@9hzqr z4dGYqHjEz6At%ytUt^Bd*A+c}hKk^6_;d95nGHvx#|s(;{Cfso@m!Ya@2PuymZZZOgZ)n8XAzO;e zG0h$imhUzL&xi{oqE}<|AZf$qnK-ZW)|-_x&qE&Qn+q$?YkV+zTw6&(i?3ZbeC{69%z<%omz4mP*Kw!UQ-cp}eBtH-AU-?JF`m;NYHyQC%nfn9FL@3?|a3U;a zgo%~3?^SpaFRlzSN#1dAejyc?qTz>aD9ulPfB+u*zKFM6@d=xyg#(0p-%^@ui1|?u zIp6b{b{!659;Hw#hrvtAjG$z)_!T!~2^GOE0GM#~z|*x(QKg|*chy;4T1Uv4*2bAA z;qtCv;B^xlm0tUp)eWX+evUuWE2=7wHhi2vD_W&xH0H-7GC!Z@X*z3Q9T6*m-W$rS z?yx=cbK$8oD?--EhBF3WkX2b$PuQM5BRq9_W#i>wo~;~j1iYge^|gxSz<&y*sT^r4 z%jzB2Bw{1K2T%oT^gDT*NTQ@v|MVS=`Xhf~VXbus-nNeDwJ~CeWtQB)?zBhLzDyao zP}KW6mqO!A>k8k>t8fyc%Sh20nm?02)AQA)MIm6Bavr@vD?S-?3893_bFDMwl5c;R zqoCBXi+a*3*sBDkSHXb98)VW$VRBXoa5766eR0z_aVw-EBjkUh#xXyGr1N=!N?MN^ z-Q*V$=azBr51fnxCQFL*5YEea_nHYa|oxnIC;BodWpOrmuM%pMRPhd%eE+tQz zNsIUP=BL)h^xVg2ul#K~oGzMjCVyLC8};`5g#uz9<^VZcs2;3vbXFnHETb^TD3Cmo zqk*AN?H)AoZAra0*)44*M=UlC^ zfjx#kYmX~O0j9^tU!KyC$mv#!f@jYcP0tQ5F7FG(R!(Hc5Bp|S7!++satQUA)H9zI zmwiK3&VmBie?BBwr4ayiJA#9)F`pVl1V@~rR(YNsoO)*LU@pFt3u+dPkq{;3O{-}` zUT0eQ_6-Y7*=#Kly*QQ8%&4y-QvOQFI%fPqbb7P0F{|MwVXReTCsKYkRxI+nB1CdX zxhb=2uI5r4&q5mul^??(5n|V1>|{>-$B0u{Ya-hm)cUoqXib?$3X)EZ#LNo{GhV6v zK*@#&Y$Xq)$FokyNT@9z8HVgpeW6_5}!^=z;+DODzGsHUu%i2mdc; zw&l9-!L}4UN&2%tUtKTD-ksJn#558WPPd|OX`}*f_-E+Lo>N*L6WISms)w92*%4ip zQ&XUCoc6RI~1}1jFoJGc(gEDB&?J_`Nr{H#bLXG8HV`V4$0r+$! zK968%8fpA7X!B^gJ zah6rtieUPTHHQQ!C`#YbF~^yMLJA`CMt7X(#~ZNMpxl)n|Sj{K44 zp}-3pCE$lqaaL>IBWq!|1gdtscTqs0zEkrLLQiB98zQ!^5-*#qB}u_1)LV&k9+`qK z#RMBFKcXnOClnjZi9d(NI;>J>)*vAFaGV5@fwjJd@xZRPeUD$#m^^({)UANKYWzTb zbX#t~T^Tm4*Xyi9b>)ZWk@I8T)PmxMSL^gg_DHr&0|!a~r@>ym*0su37OUuXj@#0! z<8<+)TP+$?O5e9~he%sd^$Y-X$4~|h1%4>V4VCv)RsMtC@-3c*t!-W?ysRqWUqke} zwk}D(XJ*i^-Yjx=h=y}k9%O|9^(x*orwa2bG{gV(+UE)qJVpotqN%lgt^U3Q*+3Eu zn+e;2e2g_6S(wJ=IleVP8x1KBUbTLWA|_N$ESM@~S;({s+T-7ZjX>qPckXk7(v$qu zgTH*Jko6lLvBRT0F1aOlw&PnTM48W)1Bus>F%mId1@Ed9-Zm0T ztNZhCmbUX)f~D2Vio0EiFN2+_$3x?#>{algoz~L>i@?9=<<|?04gd0?5Pld?y+Wn1 zgDOCYzNv9c!UAD9cFp4Q-GSa!_gb-m|4iZwMyuw>n;NsD@o8ppe4|Suy;-&pC+G5qOQQ|%4j;Pwqo+ut zQ^#*nV&U^OPv1!i!T~EKkNy!md3I=OFxwL(4d)Gf6JgQ}WN<4sOIzDSHX%ioc&Zyo zJb9v2$)*wM?iJYw#1Ma#p;iZNC+q)6dG%8zul8rkt13<{+YnC7cUN$ntPdHbw<<0Q zP3p}KuablNl??e{CMUZm9GKP#`Jj{vIDVALRbv(0p(faek?;6K-_|g1pGQK}GNA2z>!E`tW|C}H>4Nb@V~%`Z&CBhD}61AAhU0r5vcHQQXJ@=oEXkcjg{b2MV%D;xl5hTRDIs)3t^-!tb8soFSD#_1 zjG&ES|7}*^gaUo|e<^h!q*0u-g$pVp_#Y$og$8R1zPgX9!sSOpIiF)s1^acyaC-EQ zSy@dtmx+2YGh&Tvs0-OxA!>@Tw+}Z&cAMFQS>0r~Y^)6j;v^5YZ^)IR0%psVphV2H z3FD>zFK!)AsHO27DLf^;aP$IsC4u&`zDcxVK&zHXf@((Hob;!91r_Sp4-1B~=Wb2=VDGl3|Jq z^0A#9QP)ggl-~Rm^dQdNkg*Jr6w`S~EIu5sd%rxOGIIEL>8;{~GMfH)9~V5uj+Acv zZe75UQY7cY47D`e(;~m*AGcCM{)O$jMV>neovTs^*wegGyhs47EdPKh?oQAE=*Hle zm&?ZCX5k+=xW1lfjT8k9tAXG@q*C_w@>g7E;Egay(ouN1Fsu`@Z#%?7k2)Hr^Zofr zsOg;ETpCLjRg#Q9( zK&_{b%1$XeToD>v z98xS@Ed~j#!_8+zUpn829v|<;e;n;(1M{tVi^#UngHp9Dz6qNkhA3Bl5-pVPy^tj? zzofq{Bx$JDH|KfBcK08oJ}d)SE5FH&&*-Ttma<&S*bA2>fMqpI;nkQ2i@ANMia&Y~ zyGvCmWv1~9KV-|E8!s}Vgrg7p8gM^oSj^MXDNwyCPvu=4K`AA9l+|!CRcjA6ar;oB zOd0l+WD|hZMqMyfQ_anB2A5%GMn_2y1>s^U)n5UbTKPS_ftFN4N3y`~E%2@iv|6T(+;K z^y45Vf!%Q;0F3BsWYzE)#?cpzHLneh11(#8Wv2fa?E{QYGqg?vuGzRNsJ(**8IC^Y z3&Q{3M;#r*VJIvA3oA#f&?qN3w{R>5VeAX&@*Z4?c#rIVuyOowa#D6$1k1e?;e5)?T@?8jm ze5=X`b(AN?(Ho0=tIoCOmqrg~uQ{QEja7N*KV%sa3ARa{B$BYVSj5sjL83WdmQTX! zp3$41mF~n2Va77}f8i8gg5N(RCO|`iU$Trp$X_DQa@CFZM*ZbkeKvm<`IcCV#xAi! zx!xB%3Qh1n8|jlg`DF4E0%w3V@rAW6n;*PbC&M}Fx9wxSQg`Qag~{eqizo$4tab0p zh3`*Fk4SXi0`r6qwaTz@e3;Pe5Iz<7e4h=_C)u9e_-2rUP0!_!hqL|9G9OhO9NWC( zcfd&lFRD;BW$H}I-%Nke>ZXSr@=zh9?)4<8Wc&7_RO+lA#H3was5k#84};caMG<>t zVR;{tZ{`p@k-*C08x}m21&bre`z1imF~8%-NR73{1ncESZ`qXVTXliGa1;6PF8LJ) z4uq~LxQhVA!9!xNwlB}$eK@3@ZC##Eue8t%ax9WuamDZ0!Cweq@a)=RxsoF!&IKvf ztb%9=wQHCz3T-b>tv}rn+`Hg zh}LDYrVz!E$1^WzZKsAhLZoH$>q0i^lP}jN=CV+PjcQMPULmNkPGh_J;B05+*od>$XG}Dow{Y z$s8qPtn@sBBQn%eT_MmsBut)qL{NCSMZ>X|eX`YALIGWNymf}1nK$xTI+Paa>k@0BcFgkDgiysAN`-9hl+ypGeJpxENix zkw{JEpFOu&<&9yrE=Ow;Ya@wONzFUsa%TGF#dKYJc2VlEFT^SIjB=?ajY{Mca9L~Ch$b;jomVS94L_=)VB}? z&t^$?Vo?7L!5;^L38PU!&$r6GXUc$zaF=lz^62m&fT}G}v)*tKD_wXq`pAtJf z(a?WGKwKXTi!m?X6FWSHX#6F3XWbcm03tYMBNTHB*Uc?(Pht*%LVY^QnbK^}#zHNw&qrM7J1F1l6t&^XC*crw~C(Q1{S z>9mM^GpDMRZbAl-hFBw2q-jB?a<($-7cVJ`
    YtOR*NJ|ajm1d96$;W5+zpi(r! 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 literal 0 HcmV?d00001 diff --git a/gource/libpng16-16.dll b/gource/libpng16-16.dll new file mode 100644 index 0000000000000000000000000000000000000000..3c9163ebea82f51a399d7b63f412b8c1b99e29b5 GIT binary patch literal 231911 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

    &<%1Fn}TwVpG>=0(G=oO2`guC*y1IFjsW+x<2q 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≀TyBs1N~)+@wNnAc+NW+OE# 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 D=W|J1 literal 0 HcmV?d00001 diff --git a/gource/libstdc++-6.dll b/gource/libstdc++-6.dll new file mode 100644 index 0000000000000000000000000000000000000000..305b81b4a851e29a2b533e75a16e7d557e4b1122 GIT binary patch literal 1759933 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

    3$S&G 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 PtGrwWJu4ky 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 literal 0 HcmV?d00001 diff --git a/gource/libjpeg-8.dll b/gource/libjpeg-8.dll new file mode 100644 index 0000000000000000000000000000000000000000..cfeb9356db8c1f695e3b11af4f39a37409792c4a GIT binary patch literal 640953 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≀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

sqcqF@w8|`dJKH$mSX|7Glb}vK4A7`_gr*dBIND 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%0DvLNR5nO-k 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%0AHO5Y5v?9Uq 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 SKria%O`vw^mVeG7zW)R2L`Tm6 literal 0 HcmV?d00001 diff --git a/gource/libiconv-2.dll b/gource/libiconv-2.dll new file mode 100644 index 0000000000000000000000000000000000000000..d28ee1d74d15c291972e038ffb0f7ca4c415f670 GIT binary patch literal 1055522 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

fmpC0-`gaLs2H~5^b{dewG}2LfQ9VNh%9CY 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

- * The NBT format was created by Markus Persson, and the specification may be found at - * http://www.minecraft.net/docs/NBT.txt.