From 32a658bd1245407875e4cf6c426d19ca668107d1 Mon Sep 17 00:00:00 2001 From: Bob Date: Sun, 14 Jan 2024 18:56:25 +0100 Subject: [PATCH] reda! --- changelog | 12 +- src/main/java/com/hbm/blocks/ModBlocks.java | 3 + .../blocks/machine/MachineBigAssTank9000.java | 22 +- .../hbm/blocks/machine/MachineFluidTank.java | 22 +- .../hbm/blocks/machine/MachineRadarLarge.java | 98 + .../com/hbm/blocks/machine/SoyuzLauncher.java | 12 +- .../hbm/handler/nei/ConstructionHandler.java | 10 +- .../hbm/inventory/gui/GUIMachineRadarNT.java | 20 +- .../inventory/recipes/AssemblerRecipes.java | 3 +- src/main/java/com/hbm/items/ModItems.java | 2 +- src/main/java/com/hbm/main/ClientProxy.java | 1 + .../java/com/hbm/main/ResourceManager.java | 2 + .../hbm/render/item/ItemRenderLibrary.java | 6 +- .../render/tileentity/RenderRadarLarge.java | 58 + .../hbm/tileentity/TileEntityMachineBase.java | 25 + .../java/com/hbm/tileentity/TileMappings.java | 1 + .../machine/TileEntityMachineRadarLarge.java | 41 + .../machine/TileEntityMachineRadarNT.java | 41 +- .../machine/storage/TileEntityBarrel.java | 4 +- .../storage/TileEntityMachineFluidTank.java | 4 +- .../java/com/hbm/world/feature/BiomeCave.java | 4 +- .../java/com/hbm/world/feature/DeepLayer.java | 4 +- .../java/com/hbm/world/feature/OreCave.java | 4 +- .../java/com/hbm/world/feature/OreLayer.java | 3 +- .../com/hbm/world/feature/OreLayer3D.java | 5 +- .../com/hbm/world/feature/SchistStratum.java | 4 +- .../hbm/world/generator/DungeonToolbox.java | 8 - src/main/resources/assets/hbm/lang/de_DE.lang | 1 + src/main/resources/assets/hbm/lang/en_US.lang | 1 + .../hbm/models/machines/radar_large.obj | 2479 +++++++++++++++++ .../textures/models/machines/radar_large.png | Bin 0 -> 6403 bytes 31 files changed, 2832 insertions(+), 68 deletions(-) create mode 100644 src/main/java/com/hbm/blocks/machine/MachineRadarLarge.java create mode 100644 src/main/java/com/hbm/render/tileentity/RenderRadarLarge.java create mode 100644 src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarLarge.java create mode 100644 src/main/resources/assets/hbm/models/machines/radar_large.obj create mode 100644 src/main/resources/assets/hbm/textures/models/machines/radar_large.png diff --git a/changelog b/changelog index 15939683f..acd5b1383 100644 --- a/changelog +++ b/changelog @@ -1,10 +1,14 @@ +## Added +* Large Radar + * A giant version of the radar with 3x the scan range + ## Changed * Nuclear craters have been reworked * The fallout effect no longer creates dead grass, instead it converts the area into three new biomes, the outer crater, crater and inner crater * The entire crater is now slaked sellafite which now has texture variance to look more like debris, as well as getting darker towards the center * The biomes being overridden means that nukes are now a solution to thaumcraft taint. Yay! * There are now new ore variants for the block conversions which match the surrounding sellafite - * Berylliumm ore now has a 100% chance of being converted into emerald + * Beryllium ore now has a 100% chance of being converted into emerald * The watz now cools up to 20% of its current heat level instead of 10%, making reactors a lot cooler and therefore react faster, which means more energy and faster depletion rates * Mud production rates have been halved, to prevent currently working setups from exploding instantly * This is your reminder that you can achieve more power, mud and depletion by building larger watz powerplants, i.e. stacking more watz segments on top of each other. Your tiny poo reactors make me sick. @@ -15,6 +19,11 @@ * Removed the old mining drill, combustion generator, old watz core, structure marker, all old large reactor parts and CMB furnace for good * Chemical plants will now eject all their outputs within a single tick if possible, increasing the throughput of fast recipes with many outputs, like asphalt * Hitting CTRL + ALT when hovering over an item now displays a preview of that item. Useful if you want to get authentic renders for a wiki, or just like staring at things. +* 256k tanks and BAT9000s can now output comparator signals from their fluid ports +* Trenchmaster general damage multiplier has been halved, making it twice as strong +* Updated generation rules for layers like schist and hematite, they will now only replace things tagged as stone, just like most ores +* Mushroom clouds now have two additional outer condensation rings, those are not entirely finished and are still subject to change +* Small radars are now a tad cheaper ## Fixed * Fixed a rare crash caused by radars force-loading chunks conflicting with certain mods' chunk loading changes @@ -22,3 +31,4 @@ * Fixed trenchmaster helmet not having gas mask protection * Fixed large thermobaric artillery rocket still using the wrong slag block * Fixed some of the assembly templates having broken names due to using the wrong way of translating the output +* Fixed the soyuz launcher's NEI construction recipe showing the wrong amount of blocks diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index c7ecebe51..035491dc3 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -1046,6 +1046,7 @@ public class ModBlocks { public static Block soyuz_launcher; public static Block machine_radar; + public static Block machine_radar_large; public static Block radar_screen; public static Block machine_turbofan; @@ -2141,6 +2142,7 @@ public class ModBlocks { launch_pad = new LaunchPad(Material.iron).setBlockName("launch_pad").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":launch_pad"); machine_radar = new MachineRadar(Material.iron).setBlockName("machine_radar").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":machine_radar"); + machine_radar_large = new MachineRadarLarge(Material.iron).setBlockName("machine_radar_large").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); radar_screen = new MachineRadarScreen(Material.iron).setBlockName("radar_screen").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); machine_missile_assembly = new MachineMissileAssembly(Material.iron).setBlockName("machine_missile_assembly").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":machine_missile_assembly"); @@ -3473,6 +3475,7 @@ public class ModBlocks { GameRegistry.registerBlock(sat_dock, sat_dock.getUnlocalizedName()); GameRegistry.registerBlock(soyuz_capsule, soyuz_capsule.getUnlocalizedName()); GameRegistry.registerBlock(machine_radar, machine_radar.getUnlocalizedName()); + GameRegistry.registerBlock(machine_radar_large, machine_radar_large.getUnlocalizedName()); GameRegistry.registerBlock(radar_screen, radar_screen.getUnlocalizedName()); //Guide diff --git a/src/main/java/com/hbm/blocks/machine/MachineBigAssTank9000.java b/src/main/java/com/hbm/blocks/machine/MachineBigAssTank9000.java index 300f9b019..df23f7204 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineBigAssTank9000.java +++ b/src/main/java/com/hbm/blocks/machine/MachineBigAssTank9000.java @@ -129,13 +129,21 @@ public class MachineBigAssTank9000 extends BlockDummyable implements IPersistent @Override public int getComparatorInputOverride(World world, int x, int y, int z, int side) { - TileEntity te = world.getTileEntity(x, y, z); - - if(!(te instanceof TileEntityMachineBAT9000)) - return 0; - - TileEntityMachineBAT9000 tank = (TileEntityMachineBAT9000) te; - return tank.getComparatorPower(); + int meta = world.getBlockMetadata(x, y, z); + + if(meta >= 6) { + int[] pos = this.findCore(world, x, y, z); + if(pos == null) return 0; + TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]); + + if(!(te instanceof TileEntityMachineBAT9000)) + return 0; + + TileEntityMachineBAT9000 tank = (TileEntityMachineBAT9000) te; + return tank.getComparatorPower(); + } + + return 0; } @Override diff --git a/src/main/java/com/hbm/blocks/machine/MachineFluidTank.java b/src/main/java/com/hbm/blocks/machine/MachineFluidTank.java index 32274741c..edf93170f 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineFluidTank.java +++ b/src/main/java/com/hbm/blocks/machine/MachineFluidTank.java @@ -169,13 +169,21 @@ public class MachineFluidTank extends BlockDummyable implements IPersistentInfoP @Override public int getComparatorInputOverride(World world, int x, int y, int z, int side) { - TileEntity te = world.getTileEntity(x, y, z); - - if(!(te instanceof TileEntityMachineFluidTank)) - return 0; - - TileEntityMachineFluidTank tank = (TileEntityMachineFluidTank) te; - return tank.getComparatorPower(); + int meta = world.getBlockMetadata(x, y, z); + + if(meta >= 6) { + int[] pos = this.findCore(world, x, y, z); + if(pos == null) return 0; + TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]); + + if(!(te instanceof TileEntityMachineFluidTank)) + return 0; + + TileEntityMachineFluidTank tank = (TileEntityMachineFluidTank) te; + return tank.getComparatorPower(); + } + + return 0; } @Override diff --git a/src/main/java/com/hbm/blocks/machine/MachineRadarLarge.java b/src/main/java/com/hbm/blocks/machine/MachineRadarLarge.java new file mode 100644 index 000000000..40d42e249 --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/MachineRadarLarge.java @@ -0,0 +1,98 @@ +package com.hbm.blocks.machine; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.main.MainRegistry; +import com.hbm.tileentity.TileEntityProxyCombo; +import com.hbm.tileentity.machine.TileEntityMachineRadarLarge; +import com.hbm.tileentity.machine.TileEntityMachineRadarNT; + +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.ChatStyle; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class MachineRadarLarge extends BlockDummyable { + + public MachineRadarLarge(Material mat) { + super(mat); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + if(meta >= 12) return new TileEntityMachineRadarLarge(); + if(meta >= 6) return new TileEntityProxyCombo().power(); + return null; + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + + if(y < TileEntityMachineRadarNT.radarAltitude) { + if(world.isRemote) + player.addChatMessage(new ChatComponentText("[Radar] Error: Radar altitude not sufficient.").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.RED))); + return true; + } + + if(world.isRemote && !player.isSneaking()) { + int[] pos = this.findCore(world, x, y, z); + if(pos == null) return false; + FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, pos[0], pos[1], pos[2]); + return true; + } else if(!player.isSneaking()) { + return true; + } else { + return false; + } + } + + @Override + public int[] getDimensions() { + return new int[] {4, 0, 1, 1, 1, 1}; + } + + @Override + public int getOffset() { + return 1; + } + + @Override + public void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { + super.fillSpace(world, x, y, z, dir, o); + x += dir.offsetX * o; + z += dir.offsetZ * o; + this.makeExtra(world, x + 1, y, z); + this.makeExtra(world, x - 1, y, z); + this.makeExtra(world, x, y, z + 1); + this.makeExtra(world, x, y, z - 1); + } + + @Override + public boolean canProvidePower() { + return true; + } + + @Override + public int isProvidingWeakPower(IBlockAccess world, int x, int y, int z, int m) { + int meta = world.getBlockMetadata(x, y, z); + if(meta >= 6) { + ForgeDirection dir = ForgeDirection.getOrientation(m); + TileEntity tile = world.getTileEntity(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ); + if(tile instanceof TileEntityMachineRadarNT) { + TileEntityMachineRadarNT entity = (TileEntityMachineRadarNT) tile; + return entity.getRedPower(); + } + } + return 0; + } + + @Override + public int isProvidingStrongPower(IBlockAccess world, int x, int y, int z, int m) { + return isProvidingWeakPower(world, x, y, z, m); + } +} diff --git a/src/main/java/com/hbm/blocks/machine/SoyuzLauncher.java b/src/main/java/com/hbm/blocks/machine/SoyuzLauncher.java index 44aa51658..3a5b6445b 100644 --- a/src/main/java/com/hbm/blocks/machine/SoyuzLauncher.java +++ b/src/main/java/com/hbm/blocks/machine/SoyuzLauncher.java @@ -209,13 +209,15 @@ public class SoyuzLauncher extends BlockDummyable { } } - for(int l = 0; l < 10; l++) - world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.struct_launcher, 38))); - for(int l = 0; l < 8; l++) - world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.concrete_smooth, 41))); + for(int l = 0; l < 6; l++) + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.struct_launcher, 64))); + for(int l = 0; l < 4; l++) + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.concrete_smooth, 64))); for(int l = 0; l < 6; l++) world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.struct_scaffold, 64))); - world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.struct_scaffold, 53))); + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.struct_launcher, 30))); + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.struct_scaffold, 63))); + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.concrete_smooth, 38))); world.func_147453_f(x, y, z, p_149749_5_); } diff --git a/src/main/java/com/hbm/handler/nei/ConstructionHandler.java b/src/main/java/com/hbm/handler/nei/ConstructionHandler.java index e2e95fa22..91f46bd1d 100644 --- a/src/main/java/com/hbm/handler/nei/ConstructionHandler.java +++ b/src/main/java/com/hbm/handler/nei/ConstructionHandler.java @@ -83,12 +83,12 @@ public class ConstructionHandler extends NEIUniversalHandler { /* SOYUZ LAUNCHER */ ItemStack[] soysauce = new ItemStack[] { - new ItemStack(ModBlocks.struct_launcher, 60), - ItemStackUtil.addTooltipToStack(new ItemStack(ModBlocks.struct_launcher, 320), EnumChatFormatting.RED + "5x64"), - new ItemStack(ModBlocks.struct_scaffold, 53), + new ItemStack(ModBlocks.struct_launcher, 30), + ItemStackUtil.addTooltipToStack(new ItemStack(ModBlocks.struct_launcher, 384), EnumChatFormatting.RED + "6x64"), + new ItemStack(ModBlocks.struct_scaffold, 63), ItemStackUtil.addTooltipToStack(new ItemStack(ModBlocks.struct_scaffold, 384), EnumChatFormatting.RED + "6x64"), - new ItemStack(ModBlocks.concrete_smooth, 8), - ItemStackUtil.addTooltipToStack(new ItemStack(ModBlocks.concrete_smooth, 320), EnumChatFormatting.RED + "5x64"),}; + new ItemStack(ModBlocks.concrete_smooth, 38), + ItemStackUtil.addTooltipToStack(new ItemStack(ModBlocks.concrete_smooth, 320), EnumChatFormatting.RED + "4x64"),}; bufferedRecipes.put(soysauce, new ItemStack(ModBlocks.soyuz_launcher)); bufferedTools.put(soysauce, new ItemStack(ModBlocks.struct_soyuz_core)); diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineRadarNT.java b/src/main/java/com/hbm/inventory/gui/GUIMachineRadarNT.java index accefedf1..68fd71f77 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineRadarNT.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineRadarNT.java @@ -94,8 +94,8 @@ public class GUIMachineRadarNT extends GuiScreen { if(!radar.entries.isEmpty()) { for(RadarEntry m : radar.entries) { - int x = guiLeft + (int)((m.posX - radar.xCoord) / ((double) TileEntityMachineRadarNT.radarRange * 2 + 1) * (200D - 8D)) + 108; - int z = guiTop + (int)((m.posZ - radar.zCoord) / ((double) TileEntityMachineRadarNT.radarRange * 2 + 1) * (200D - 8D)) + 117; + int x = guiLeft + (int)((m.posX - radar.xCoord) / ((double) radar.getRange() * 2 + 1) * (200D - 8D)) + 108; + int z = guiTop + (int)((m.posZ - radar.zCoord) / ((double) radar.getRange() * 2 + 1) * (200D - 8D)) + 117; if(mouseX + 5 > x && mouseX - 4 <= x && mouseY + 5 > z && mouseY - 4 <= z) { @@ -107,8 +107,8 @@ public class GUIMachineRadarNT extends GuiScreen { } if(checkClick(mouseX, mouseY, 8, 17, 200, 200)) { - int tX = (int) ((lastMouseX - guiLeft - 108) * ((double) TileEntityMachineRadarNT.radarRange * 2 + 1) / 192D + radar.xCoord); - int tZ = (int) ((lastMouseY - guiTop - 117) * ((double) TileEntityMachineRadarNT.radarRange * 2 + 1) / 192D + radar.zCoord); + int tX = (int) ((lastMouseX - guiLeft - 108) * ((double) radar.getRange() * 2 + 1) / 192D + radar.xCoord); + int tZ = (int) ((lastMouseY - guiTop - 117) * ((double) radar.getRange() * 2 + 1) / 192D + radar.zCoord); this.func_146283_a(Arrays.asList(tX + " / " + tZ), lastMouseX, lastMouseY); } } @@ -190,8 +190,8 @@ public class GUIMachineRadarNT extends GuiScreen { if(!radar.entries.isEmpty()) { for(RadarEntry m : radar.entries) { - double x = (m.posX - radar.xCoord) / ((double) TileEntityMachineRadarNT.radarRange * 2 + 1) * (200D - 8D) - 4D; - double z = (m.posZ - radar.zCoord) / ((double) TileEntityMachineRadarNT.radarRange * 2 + 1) * (200D - 8D) - 4D; + double x = (m.posX - radar.xCoord) / ((double) radar.getRange() * 2 + 1) * (200D - 8D) - 4D; + double z = (m.posZ - radar.zCoord) / ((double) radar.getRange() * 2 + 1) * (200D - 8D) - 4D; int t = m.blipLevel; drawTexturedModalRectDouble(guiLeft + 108 + x, guiTop + 117 + z, 216, 8 * t, 8, 8); } @@ -226,8 +226,8 @@ public class GUIMachineRadarNT extends GuiScreen { if(!radar.entries.isEmpty()) { for(RadarEntry m : radar.entries) { - int x = guiLeft + (int) ((m.posX - radar.xCoord) / ((double) TileEntityMachineRadarNT.radarRange * 2 + 1) * (200D - 8D)) + 108; - int z = guiTop + (int) ((m.posZ - radar.zCoord) / ((double) TileEntityMachineRadarNT.radarRange * 2 + 1) * (200D - 8D)) + 117; + int x = guiLeft + (int) ((m.posX - radar.xCoord) / ((double) radar.getRange() * 2 + 1) * (200D - 8D)) + 108; + int z = guiTop + (int) ((m.posZ - radar.zCoord) / ((double) radar.getRange() * 2 + 1) * (200D - 8D)) + 117; if(lastMouseX + 5 > x && lastMouseX - 4 <= x && lastMouseY + 5 > z && lastMouseY - 4 <= z) { NBTTagCompound data = new NBTTagCompound(); @@ -239,8 +239,8 @@ public class GUIMachineRadarNT extends GuiScreen { } } - int tX = (int) ((lastMouseX - guiLeft - 108) * ((double) TileEntityMachineRadarNT.radarRange * 2 + 1) / 192D + radar.xCoord); - int tZ = (int) ((lastMouseY - guiTop - 117) * ((double) TileEntityMachineRadarNT.radarRange * 2 + 1) / 192D + radar.zCoord); + int tX = (int) ((lastMouseX - guiLeft - 108) * ((double) radar.getRange() * 2 + 1) / 192D + radar.xCoord); + int tZ = (int) ((lastMouseY - guiTop - 117) * ((double) radar.getRange() * 2 + 1) / 192D + radar.zCoord); NBTTagCompound data = new NBTTagCompound(); data.setInteger("launchPosX", tX); data.setInteger("launchPosZ", tZ); diff --git a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java index a8c0b40ae..2a0416386 100644 --- a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java @@ -361,7 +361,8 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModBlocks.ams_limiter, 1), new AStack[] {new ComparableStack(ModItems.board_copper, 6), new OreDictStack(STEEL.plate(), 24), new ComparableStack(ModBlocks.steel_scaffold, 20), new ComparableStack(ModItems.crystal_diamond, 1)}, 600); makeRecipe(new ComparableStack(ModBlocks.ams_emitter, 1), new AStack[] {new ComparableStack(ModItems.board_copper, 24), new OreDictStack(STEEL.plate(), 32), new ComparableStack(ModBlocks.steel_scaffold, 40), new ComparableStack(ModItems.crystal_redstone, 5), new ComparableStack(ModBlocks.machine_lithium_battery)}, 600); makeRecipe(new ComparableStack(ModBlocks.ams_base, 1), new AStack[] {new ComparableStack(ModItems.board_copper, 12), new OreDictStack(STEEL.plate(), 28), new ComparableStack(ModBlocks.steel_scaffold, 30), new ComparableStack(ModBlocks.steel_grate, 8), new ComparableStack(ModBlocks.barrel_steel, 2)}, 600); - makeRecipe(new ComparableStack(ModBlocks.machine_radar, 1), new AStack[] {new OreDictStack(STEEL.plate528(), 16), new OreDictStack(ANY_PLASTIC.ingot(), 8), new OreDictStack(ANY_RUBBER.ingot(), 8), new ComparableStack(ModItems.magnetron, 10), new ComparableStack(ModItems.motor, 3), new ComparableStack(ModItems.circuit_gold, 4), new ComparableStack(ModItems.coil_copper, 12), new ComparableStack(ModItems.crt_display, 4), },300); + makeRecipe(new ComparableStack(ModBlocks.machine_radar, 1), new AStack[] {new OreDictStack(STEEL.plate528(), 8), new OreDictStack(ANY_PLASTIC.ingot(), 8), new OreDictStack(ANY_RUBBER.ingot(), 8), new ComparableStack(ModItems.magnetron, 3), new ComparableStack(ModItems.motor, 1), new ComparableStack(ModItems.circuit_gold, 1), new ComparableStack(ModItems.coil_copper, 12), new ComparableStack(ModItems.crt_display, 4), },300); + makeRecipe(new ComparableStack(ModBlocks.machine_radar_large, 1), new AStack[] {new OreDictStack(STEEL.plateWelded(), 6), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 4), new OreDictStack(ANY_PLASTIC.ingot(), 16), new OreDictStack(ANY_RUBBER.ingot(), 16), new ComparableStack(ModItems.magnetron, 12), new ComparableStack(ModItems.motor_desh, 1), new ComparableStack(ModItems.circuit_gold, 2), new ComparableStack(ModItems.coil_copper, 32), new ComparableStack(ModItems.crt_display, 4), },600); makeRecipe(new ComparableStack(ModBlocks.machine_forcefield, 1), new AStack[] {new OreDictStack(ALLOY.plate528(), 8), new ComparableStack(ModItems.plate_desh, 4), new ComparableStack(ModItems.coil_gold_torus, 6), new ComparableStack(ModItems.coil_magnetized_tungsten, 12), new ComparableStack(ModItems.motor, 1), new ComparableStack(ModItems.upgrade_radius, 1), new ComparableStack(ModItems.upgrade_health, 1), new ComparableStack(ModItems.circuit_targeting_tier5, 1), new ComparableStack(ModBlocks.machine_transformer, 1), },1000); makeRecipe(new ComparableStack(ModItems.mp_thruster_10_kerosene, 1), new AStack[] {new ComparableStack(ModItems.seg_10, 1), new ComparableStack(ModBlocks.deco_pipe_quad, 1), new OreDictStack(W.ingot(), 4), new OreDictStack(STEEL.plate(), 4), },100); makeRecipe(new ComparableStack(ModItems.mp_thruster_10_solid, 1), new AStack[] {new ComparableStack(ModItems.seg_10, 1), new ComparableStack(ModItems.coil_tungsten, 1), new OreDictStack(DURA.ingot(), 4), new OreDictStack(STEEL.plate(), 4), },100); diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 12dafee58..d7c0bc745 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -4979,7 +4979,7 @@ public class ModItems { ArmorMaterial aMatTrench = EnumHelper.addArmorMaterial("HBM_TRENCH", 150, new int[] { 3, 8, 6, 3 }, 100); aMatTrench.customCraftingMaterial = ModItems.plate_iron; - trenchmaster_helmet = new ArmorTrenchmaster(aMatTrench, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png").setMod(0.25F).setThreshold(5.0F) + trenchmaster_helmet = new ArmorTrenchmaster(aMatTrench, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png").setMod(0.125F).setThreshold(5.0F) .addEffect(new PotionEffect(Potion.damageBoost.id, 20, 2)) .addEffect(new PotionEffect(Potion.digSpeed.id, 20, 1)) .addEffect(new PotionEffect(Potion.jump.id, 20, 1)) diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 9001d143a..fa962250c 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -242,6 +242,7 @@ public class ClientProxy extends ServerProxy { ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineEPress.class, new RenderEPress()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineRadGen.class, new RenderRadGen()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineRadarNT.class, new RenderRadar()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineRadarLarge.class, new RenderRadarLarge()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineRadarScreen.class, new RenderRadarScreen()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineSeleniumEngine.class, new RenderSelenium()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityReactorResearch.class, new RenderSmallReactor()); diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index b27890ada..9033ff37a 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -245,6 +245,7 @@ public class ResourceManager { public static final IModelCustom radar_body = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/radar_base.obj")); public static final IModelCustom radar_head = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/radar_head.obj")); public static final IModelCustom radar = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/radar.obj")); + public static final IModelCustom radar_large = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/radar_large.obj")); public static final IModelCustom radar_screen = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/radar_screen.obj")); //Forcefield @@ -661,6 +662,7 @@ public class ResourceManager { public static final ResourceLocation radar_head_tex = new ResourceLocation(RefStrings.MODID, "textures/models/radar_head.png"); public static final ResourceLocation radar_base_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/radar_base.png"); public static final ResourceLocation radar_dish_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/radar_dish.png"); + public static final ResourceLocation radar_large_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/radar_large.png"); public static final ResourceLocation radar_screen_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/radar_screen.png"); //Forcefield diff --git a/src/main/java/com/hbm/render/item/ItemRenderLibrary.java b/src/main/java/com/hbm/render/item/ItemRenderLibrary.java index afc1b518d..4b25b2f23 100644 --- a/src/main/java/com/hbm/render/item/ItemRenderLibrary.java +++ b/src/main/java/com/hbm/render/item/ItemRenderLibrary.java @@ -291,7 +291,9 @@ public class ItemRenderLibrary { GL11.glDisable(GL11.GL_CULL_FACE); GL11.glScaled(0.5, 0.5, 0.5); GL11.glTranslatef(0, 0, 3); + GL11.glShadeModel(GL11.GL_SMOOTH); bindTexture(ResourceManager.pumpjack_tex); ResourceManager.pumpjack.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); GL11.glEnable(GL11.GL_CULL_FACE); }}); @@ -338,7 +340,7 @@ public class ItemRenderLibrary { renderers.put(Item.getItemFromBlock(ModBlocks.machine_turbofan), new ItemRenderBase() { public void renderInventory() { GL11.glRotated(90, 0, 1, 0); - GL11.glScaled(2, 2, 2); + GL11.glScaled(2.25, 2.25, 2.25); } public void renderCommon() { GL11.glShadeModel(GL11.GL_SMOOTH); @@ -1137,7 +1139,9 @@ public class ItemRenderLibrary { public void renderCommon() { GL11.glScaled(0.25, 0.25, 0.25); GL11.glShadeModel(GL11.GL_SMOOTH); + GL11.glDisable(GL11.GL_CULL_FACE); bindTexture(ResourceManager.fracking_tower_tex); ResourceManager.fracking_tower.renderAll(); + GL11.glEnable(GL11.GL_CULL_FACE); GL11.glShadeModel(GL11.GL_FLAT); }}); diff --git a/src/main/java/com/hbm/render/tileentity/RenderRadarLarge.java b/src/main/java/com/hbm/render/tileentity/RenderRadarLarge.java new file mode 100644 index 000000000..ab6c3bfad --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderRadarLarge.java @@ -0,0 +1,58 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.ModBlocks; +import com.hbm.main.ResourceManager; +import com.hbm.render.item.ItemRenderBase; +import com.hbm.tileentity.machine.TileEntityMachineRadarNT; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.client.IItemRenderer; + +public class RenderRadarLarge extends TileEntitySpecialRenderer implements IItemRendererProvider { + + @Override + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_CULL_FACE); + GL11.glRotatef(180, 0F, 1F, 0F); + + bindTexture(ResourceManager.radar_large_tex); + ResourceManager.radar_large.renderPart("Radar"); + + TileEntityMachineRadarNT radar = (TileEntityMachineRadarNT) tileEntity; + GL11.glRotatef(radar.prevRotation + (radar.rotation - radar.prevRotation) * f, 0F, -1F, 0F); + + ResourceManager.radar_large.renderPart("Dish"); + + GL11.glPopMatrix(); + } + + @Override + public Item getItemForRenderer() { + return Item.getItemFromBlock(ModBlocks.machine_radar_large); + } + + @Override + public IItemRenderer getRenderer() { + return new ItemRenderBase( ) { + public void renderInventory() { + GL11.glTranslated(0, -5, 0); + GL11.glScaled(3, 3, 3); + } + public void renderCommonWithStack(ItemStack item) { + GL11.glRotated(180, 0, 1, 0); + GL11.glScaled(0.5, 0.5, 0.5); + bindTexture(ResourceManager.radar_large_tex); + ResourceManager.radar_large.renderPart("Radar"); + GL11.glRotated(System.currentTimeMillis() % 3600 * 0.1D, 0, -1, 0); + ResourceManager.radar_large.renderPart("Dish"); + }}; + } +} diff --git a/src/main/java/com/hbm/tileentity/TileEntityMachineBase.java b/src/main/java/com/hbm/tileentity/TileEntityMachineBase.java index bf1318f0f..f826dd3e3 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityMachineBase.java +++ b/src/main/java/com/hbm/tileentity/TileEntityMachineBase.java @@ -5,9 +5,11 @@ import com.hbm.packet.AuxGaugePacket; import com.hbm.packet.BufPacket; import com.hbm.packet.NBTPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.util.fauxpointtwelve.DirPos; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import io.netty.buffer.ByteBuf; +import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; @@ -221,4 +223,27 @@ public abstract class TileEntityMachineBase extends TileEntityLoadedBase impleme return Math.max(volume, 0); } + + public void updateRedstoneConnection(DirPos pos) { + + int x = pos.getX(); + int y = pos.getY(); + int z = pos.getZ(); + ForgeDirection dir = pos.getDir(); + Block block1 = worldObj.getBlock(x, y, z); + + block1.onNeighborChange(worldObj, x, y, z, xCoord, yCoord, zCoord); + block1.onNeighborBlockChange(worldObj, x, y, z, this.getBlockType()); + if(block1.isNormalCube(worldObj, x, y, z)) { + x += dir.offsetX; + y += dir.offsetY; + z += dir.offsetZ; + Block block2 = worldObj.getBlock(x, y, z); + + if(block2.getWeakChanges(worldObj, x, y, z)) { + block2.onNeighborChange(worldObj, x, y, z, xCoord, yCoord, zCoord); + block2.onNeighborBlockChange(worldObj, x, y, z, this.getBlockType()); + } + } + } } diff --git a/src/main/java/com/hbm/tileentity/TileMappings.java b/src/main/java/com/hbm/tileentity/TileMappings.java index 0a9afce70..407e28545 100644 --- a/src/main/java/com/hbm/tileentity/TileMappings.java +++ b/src/main/java/com/hbm/tileentity/TileMappings.java @@ -112,6 +112,7 @@ public class TileMappings { put(TileEntityMachineRadGen.class, "tileentity_radgen"); put(TileEntityMachineTransformer.class, "tileentity_transformer"); put(TileEntityMachineRadarNT.class, "tileentity_radar"); + put(TileEntityMachineRadarLarge.class, "tileentity_radar_large"); put(TileEntityMachineRadarScreen.class, "tileentity_radar_screen"); put(TileEntityBroadcaster.class, "tileentity_pink_cloud_broadcaster"); put(TileEntityMachineSeleniumEngine.class, "tileentity_selenium_engine"); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarLarge.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarLarge.java new file mode 100644 index 000000000..4fd6d497b --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarLarge.java @@ -0,0 +1,41 @@ +package com.hbm.tileentity.machine; + +import com.hbm.lib.Library; +import com.hbm.util.fauxpointtwelve.DirPos; + +import net.minecraft.util.AxisAlignedBB; + +public class TileEntityMachineRadarLarge extends TileEntityMachineRadarNT { + + @Override + public int getRange() { + return radarLargeRange; + } + + @Override + public DirPos[] getConPos() { + return new DirPos[] { + new DirPos(xCoord + 2, yCoord, zCoord, Library.POS_X), + new DirPos(xCoord - 2, yCoord, zCoord, Library.NEG_X), + new DirPos(xCoord, yCoord, zCoord + 2, Library.POS_Z), + new DirPos(xCoord, yCoord, zCoord - 2, Library.NEG_Z), + }; + } + + @Override + public AxisAlignedBB getRenderBoundingBox() { + + if(bb == null) { + bb = AxisAlignedBB.getBoundingBox( + xCoord - 5, + yCoord, + zCoord - 5, + xCoord + 6, + yCoord + 10, + zCoord + 6 + ); + } + + return bb; + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarNT.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarNT.java index 357779cc7..5d04f2aa6 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarNT.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarNT.java @@ -19,6 +19,8 @@ import com.hbm.items.ModItems; import com.hbm.items.tool.ItemCoordinateBase; import com.hbm.lib.Library; import com.hbm.main.MainRegistry; +import com.hbm.packet.AuxParticlePacketNT; +import com.hbm.packet.PacketDispatcher; import com.hbm.saveddata.SatelliteSavedData; import com.hbm.saveddata.satellites.Satellite; import com.hbm.saveddata.satellites.Satellite.Interfaces; @@ -30,6 +32,7 @@ import com.hbm.tileentity.IRadarCommandReceiver; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.Tuple.Triplet; import com.hbm.util.fauxpointtwelve.BlockPos; +import com.hbm.util.fauxpointtwelve.DirPos; import com.hbm.world.WorldUtil; import api.hbm.energy.IEnergyUser; @@ -37,10 +40,12 @@ import api.hbm.entity.IRadarDetectable; import api.hbm.entity.IRadarDetectableNT; import api.hbm.entity.IRadarDetectableNT.RadarScanParams; import api.hbm.entity.RadarEntry; +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; +import net.minecraft.block.Block; import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; @@ -54,6 +59,7 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraft.world.WorldServer; +import net.minecraftforge.common.util.ForgeDirection; /** * Now with SmЯt™ lag-free entity detection! (patent pending) @@ -82,6 +88,7 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I public static int maxPower = 100_000; public static int consumption = 500; public static int radarRange = 1_000; + public static int radarLargeRange = 3_000; public static int radarBuffer = 30; public static int radarAltitude = 55; public static int chunkLoadCap = 10; @@ -102,6 +109,7 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I maxPower = IConfigurableMachine.grab(obj, "L:powerCap", maxPower); consumption = IConfigurableMachine.grab(obj, "L:consumption", consumption); radarRange = IConfigurableMachine.grab(obj, "I:radarRange", radarRange); + radarLargeRange = IConfigurableMachine.grab(obj, "I:radarLargeRange", radarLargeRange); radarBuffer = IConfigurableMachine.grab(obj, "I:radarBuffer", radarBuffer); radarAltitude = IConfigurableMachine.grab(obj, "I:radarAltitude", radarAltitude); chunkLoadCap = IConfigurableMachine.grab(obj, "I:chunkLoadCap", chunkLoadCap); @@ -113,6 +121,7 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I writer.name("L:powerCap").value(maxPower); writer.name("L:consumption").value(consumption); writer.name("I:radarRange").value(radarRange); + writer.name("I:radarLargeRange").value(radarLargeRange); writer.name("I:radarBuffer").value(radarBuffer); writer.name("I:radarAltitude").value(radarAltitude); writer.name("B:generateChunks").value(generateChunks); @@ -126,6 +135,10 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I public String getName() { return "container.radar"; } + + public int getRange() { + return radarRange; + } @Override public void updateEntity() { @@ -136,14 +149,19 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I this.power = Library.chargeTEFromItems(slots, 9, power, maxPower); - if(worldObj.getTotalWorldTime() % 20 == 0) this.updateStandardConnections(worldObj, xCoord, yCoord, zCoord); + if(worldObj.getTotalWorldTime() % 20 == 0) { + for(DirPos pos : getConPos()) { + this.trySubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + } + } this.power = Library.chargeTEFromItems(slots, 0, power, maxPower); this.jammed = false; allocateTargets(); if(this.lastPower != getRedPower()) { - this.markDirty(); + this.markChanged(); + for(DirPos pos : getConPos()) this.updateRedstoneConnection(pos); } lastPower = getRedPower(); @@ -161,11 +179,11 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I int chunkLoads = 0; for(int i = 0; i < 100; i++) { int index = (int) (worldObj.getTotalWorldTime() % 400) * 100 + i; - int iX = (index % 200) * radarRange * 2 / 200; - int iZ = index / 200 * radarRange * 2 / 200; + int iX = (index % 200) * getRange() * 2 / 200; + int iZ = index / 200 * getRange() * 2 / 200; - int x = xCoord - radarRange + iX; - int z = zCoord - radarRange + iZ; + int x = xCoord - getRange() + iX; + int z = zCoord - getRange() + iZ; if(worldObj.getChunkProvider().chunkExists(x >> 4, z >> 4)) { this.map[index] = (byte) MathHelper.clamp_int(worldObj.getHeightValue(x, z), 50, 128); @@ -217,6 +235,15 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I } } + public DirPos[] getConPos() { + return new DirPos[] { + new DirPos(xCoord + 1, yCoord, zCoord, Library.POS_X), + new DirPos(xCoord - 1, yCoord, zCoord, Library.NEG_X), + new DirPos(xCoord, yCoord, zCoord + 1, Library.POS_Z), + new DirPos(xCoord, yCoord, zCoord - 1, Library.NEG_Z), + }; + } + @Override public void serialize(ByteBuf buf) { buf.writeLong(this.power); @@ -341,7 +368,7 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I /// PROXIMITY /// if(redMode) { - double maxRange = WeaponConfig.radarRange * Math.sqrt(2D); + double maxRange = this.getRange() * Math.sqrt(2D); int power = 0; for(int i = 0; i < entries.size(); i++) { diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java index 9ce319342..49db2fe90 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java @@ -97,8 +97,10 @@ public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcc if(!worldObj.isRemote) { byte comp = this.getComparatorPower(); //do comparator shenanigans - if(comp != this.lastRedstone) + if(comp != this.lastRedstone) { this.markDirty(); + for(DirPos pos : getConPos()) this.updateRedstoneConnection(pos); + } this.lastRedstone = comp; tank.setType(0, 1, slots); diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java index dc147cbbf..ebb5b49e1 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java @@ -131,8 +131,10 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements } byte comp = this.getComparatorPower(); //comparator shit - if(comp != this.lastRedstone) + if(comp != this.lastRedstone) { this.markDirty(); + for(DirPos pos : getConPos()) this.updateRedstoneConnection(pos); + } this.lastRedstone = comp; if(tank.getFill() > 0) { diff --git a/src/main/java/com/hbm/world/feature/BiomeCave.java b/src/main/java/com/hbm/world/feature/BiomeCave.java index 1dc57bd73..be98089b6 100644 --- a/src/main/java/com/hbm/world/feature/BiomeCave.java +++ b/src/main/java/com/hbm/world/feature/BiomeCave.java @@ -3,11 +3,11 @@ package com.hbm.world.feature; import java.util.Random; import com.hbm.blocks.BlockEnums.EnumBiomeType; -import com.hbm.world.generator.DungeonToolbox; import com.hbm.blocks.ModBlocks; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import net.minecraft.block.Block; +import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.biome.BiomeGenBase.TempCategory; @@ -96,7 +96,7 @@ public class BiomeCave { private static void handleBiome(World world, int x, int y, int z, EnumBiomeType type) { Block target = world.getBlock(x, y, z); - if(target.isNormalCube() && DungeonToolbox.allowedToReplace(target)) { + if(target.isNormalCube() && target.isReplaceableOreGen(world, x, y, z, Blocks.stone)) { boolean shouldGen = false; diff --git a/src/main/java/com/hbm/world/feature/DeepLayer.java b/src/main/java/com/hbm/world/feature/DeepLayer.java index 69216034d..18ddb5d57 100644 --- a/src/main/java/com/hbm/world/feature/DeepLayer.java +++ b/src/main/java/com/hbm/world/feature/DeepLayer.java @@ -3,11 +3,11 @@ package com.hbm.world.feature; import java.util.Random; import com.hbm.blocks.ModBlocks; -import com.hbm.world.generator.DungeonToolbox; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.gen.NoiseGeneratorPerlin; import net.minecraftforge.common.util.ForgeDirection; @@ -51,7 +51,7 @@ public class DeepLayer { Block target = world.getBlock(x, y, z); - if(target.isNormalCube() && target.getMaterial() == Material.rock && DungeonToolbox.allowedToReplace(target)) { + if(target.isNormalCube() && target.getMaterial() == Material.rock && target.isReplaceableOreGen(world, x, y, z, Blocks.stone)) { boolean lava = false; diff --git a/src/main/java/com/hbm/world/feature/OreCave.java b/src/main/java/com/hbm/world/feature/OreCave.java index 7f879866b..3679b8d4c 100644 --- a/src/main/java/com/hbm/world/feature/OreCave.java +++ b/src/main/java/com/hbm/world/feature/OreCave.java @@ -5,11 +5,11 @@ import java.util.Random; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.generic.BlockStalagmite; import com.hbm.inventory.RecipesCommon.MetaBlock; -import com.hbm.world.generator.DungeonToolbox; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.gen.NoiseGeneratorPerlin; import net.minecraftforge.common.MinecraftForge; @@ -104,7 +104,7 @@ public class OreCave { for(int y = yLevel - range; y <= yLevel + range; y++) { Block genTarget = world.getBlock(x, y, z); - if(genTarget.isNormalCube() && (genTarget.getMaterial() == Material.rock || genTarget.getMaterial() == Material.ground) && DungeonToolbox.allowedToReplace(genTarget)) { + if(genTarget.isNormalCube() && (genTarget.getMaterial() == Material.rock || genTarget.getMaterial() == Material.ground) && genTarget.isReplaceableOreGen(world, x, y, z, Blocks.stone)) { boolean shouldGen = false; boolean canGenFluid = event.rand.nextBoolean(); diff --git a/src/main/java/com/hbm/world/feature/OreLayer.java b/src/main/java/com/hbm/world/feature/OreLayer.java index aacf1c416..fb4b84543 100644 --- a/src/main/java/com/hbm/world/feature/OreLayer.java +++ b/src/main/java/com/hbm/world/feature/OreLayer.java @@ -3,7 +3,6 @@ package com.hbm.world.feature; import java.util.Random; import com.hbm.inventory.RecipesCommon.MetaBlock; -import com.hbm.world.generator.DungeonToolbox; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import net.minecraft.block.Block; @@ -100,7 +99,7 @@ public class OreLayer { if(event.rand.nextFloat() < density) { Block genTarget = world.getBlock(x, y, z); - if(genTarget.isReplaceableOreGen(world, x, y, z, target) && DungeonToolbox.allowedToReplace(genTarget)) { + if(genTarget.isReplaceableOreGen(world, x, y, z, target) && genTarget.isReplaceableOreGen(world, x, y, z, Blocks.stone)) { world.setBlock(x, y, z, ore.block, ore.meta, 2); } } diff --git a/src/main/java/com/hbm/world/feature/OreLayer3D.java b/src/main/java/com/hbm/world/feature/OreLayer3D.java index 50fba58b3..84b8f88b0 100644 --- a/src/main/java/com/hbm/world/feature/OreLayer3D.java +++ b/src/main/java/com/hbm/world/feature/OreLayer3D.java @@ -2,11 +2,10 @@ package com.hbm.world.feature; import java.util.Random; -import com.hbm.world.generator.DungeonToolbox; - import cpw.mods.fml.common.eventhandler.SubscribeEvent; import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.gen.NoiseGeneratorPerlin; import net.minecraftforge.common.MinecraftForge; @@ -76,7 +75,7 @@ public class OreLayer3D { if(nX * nY * nZ > threshold) { Block target = world.getBlock(x, y, z); - if(target.isNormalCube() && target.getMaterial() == Material.rock && DungeonToolbox.allowedToReplace(target)) { + if(target.isNormalCube() && target.getMaterial() == Material.rock && target.isReplaceableOreGen(world, x, y, z, Blocks.stone)) { world.setBlock(x, y, z, block, meta, 2); } } diff --git a/src/main/java/com/hbm/world/feature/SchistStratum.java b/src/main/java/com/hbm/world/feature/SchistStratum.java index d83ec528e..56ae0dbdb 100644 --- a/src/main/java/com/hbm/world/feature/SchistStratum.java +++ b/src/main/java/com/hbm/world/feature/SchistStratum.java @@ -3,11 +3,11 @@ package com.hbm.world.feature; import java.util.Random; import com.hbm.blocks.ModBlocks; -import com.hbm.world.generator.DungeonToolbox; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.gen.NoiseGeneratorPerlin; import net.minecraftforge.event.terraingen.DecorateBiomeEvent; @@ -52,7 +52,7 @@ public class SchistStratum { Block target = world.getBlock(x, y, z); - if(target.isNormalCube() && target.getMaterial() == Material.rock && DungeonToolbox.allowedToReplace(target)) { + if(target.isNormalCube() && target.getMaterial() == Material.rock && target.isReplaceableOreGen(world, x, y, z, Blocks.stone)) { world.setBlock(x, y, z, ModBlocks.stone_gneiss, 0, 2); } } diff --git a/src/main/java/com/hbm/world/generator/DungeonToolbox.java b/src/main/java/com/hbm/world/generator/DungeonToolbox.java index b5ab4499c..7e0a899f9 100644 --- a/src/main/java/com/hbm/world/generator/DungeonToolbox.java +++ b/src/main/java/com/hbm/world/generator/DungeonToolbox.java @@ -94,12 +94,4 @@ public class DungeonToolbox { genFlowers.func_150550_a(flower, meta); genFlowers.generate(world, rand, x, y, z); } - - public static boolean allowedToReplace(Block block) { - - if(block == Blocks.end_portal_frame) return false; - if(block == Blocks.bedrock) return false; - - return true; - } } diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 3ab0b70e1..5076c1fd6 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -4147,6 +4147,7 @@ tile.machine_press.name=Befeuerte Presse tile.machine_puf6_tank.name=Plutoniumhexafluorid-Tank tile.machine_pumpjack.name=Pferdekopfpumpe tile.machine_radar.name=Radar +tile.machine_radar_large.name=Großes Radar tile.machine_radgen.name=Strahlenbetriebener Generator tile.machine_reactor.name=Brutreaktor tile.machine_reactor_on.name=Brutreaktor diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index bf2b878be..e185542ef 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -5136,6 +5136,7 @@ tile.machine_press.name=Burner Press tile.machine_puf6_tank.name=Plutonium Hexafluoride Tank tile.machine_pumpjack.name=Pumpjack tile.machine_radar.name=Radar +tile.machine_radar_large.name=Large Radar tile.machine_radgen.name=Radiation-Powered Engine tile.machine_radiolysis.name=Radioisotope Thermoelectric Generator and Radiolysis Chamber tile.machine_reactor.name=Breeding Reactor diff --git a/src/main/resources/assets/hbm/models/machines/radar_large.obj b/src/main/resources/assets/hbm/models/machines/radar_large.obj new file mode 100644 index 000000000..0e7e4da41 --- /dev/null +++ b/src/main/resources/assets/hbm/models/machines/radar_large.obj @@ -0,0 +1,2479 @@ +# Blender v2.79 (sub 0) OBJ File: 'radar_large.blend' +# www.blender.org +o Dish +v -0.218750 5.500000 0.500000 +v 0.218750 5.500000 0.500000 +v -0.218750 5.500000 -0.500000 +v 0.218750 5.500000 -0.500000 +v 0.500000 5.500000 0.218750 +v 0.500000 5.500000 -0.218750 +v -0.500000 5.500000 0.218750 +v -0.500000 5.500000 -0.218750 +v -0.218750 7.000000 0.500000 +v 0.218750 7.000000 0.500000 +v -0.218750 7.000000 -0.500000 +v 0.218750 7.000000 -0.500000 +v 0.500000 7.000000 0.218750 +v 0.500000 7.000000 -0.218750 +v -0.500000 7.000000 0.218750 +v -0.500000 7.000000 -0.218750 +v -0.500000 7.000000 0.500000 +v -0.500000 6.500000 0.500000 +v -0.500000 7.000000 -0.500000 +v -0.500000 6.500000 -0.500000 +v -1.000000 7.000000 -0.500000 +v -1.000000 7.000000 0.500000 +v -1.000000 6.500000 0.500000 +v -1.000000 6.500000 -0.500000 +v -0.125000 7.375000 2.500000 +v -0.125000 7.125000 2.500000 +v -0.375000 7.375000 2.500000 +v -0.375000 7.125000 2.500000 +v 1.000000 7.000000 0.500000 +v 1.000000 6.500000 0.500000 +v 1.000000 7.000000 -0.500000 +v 1.000000 6.500000 -0.500000 +v 0.500000 7.000000 -0.500000 +v 0.500000 7.000000 0.500000 +v 0.500000 6.500000 0.500000 +v 0.500000 6.500000 -0.500000 +v 0.375000 7.375000 2.500000 +v 0.375000 7.125000 2.500000 +v 0.125000 7.375000 2.500000 +v 0.125000 7.125000 2.500000 +v -1.000000 7.250000 2.500000 +v 1.000000 7.250000 2.500000 +v -1.000000 7.000000 2.500000 +v 1.000000 7.000000 2.500000 +v -1.000000 7.000000 2.625000 +v -1.000000 7.250000 2.625000 +v 1.000000 7.250000 2.625000 +v 1.000000 7.000000 2.625000 +v -0.250000 7.125000 2.375000 +v 0.250000 7.125000 2.375000 +v -0.250000 7.375000 2.375000 +v 0.250000 7.375000 2.375000 +v -0.250000 7.375000 2.125000 +v -0.250000 7.125000 2.125000 +v 0.250000 7.125000 2.125000 +v 0.250000 7.375000 2.125000 +v -1.000000 7.500000 -1.500000 +v 1.000000 7.500000 -1.500000 +v -1.000000 9.500000 -1.500000 +v 1.000000 9.500000 -1.500000 +v -2.000000 7.500000 -1.250000 +v 2.000000 7.500000 -1.250000 +v -2.000000 9.500000 -1.250000 +v 2.000000 9.500000 -1.250000 +v -3.000000 7.500000 -0.500000 +v 3.000000 7.500000 -0.500000 +v -3.000000 9.500000 -0.500000 +v 3.000000 9.500000 -0.500000 +v -1.000000 7.000000 -1.250000 +v 1.000000 7.000000 -1.250000 +v -1.000000 10.000000 -1.250000 +v 1.000000 10.000000 -1.250000 +v -2.000000 7.000000 -1.000000 +v 2.000000 7.000000 -1.000000 +v -2.000000 10.000000 -1.000000 +v 2.000000 10.000000 -1.000000 +v -1.031250 7.500000 -1.468750 +v -0.968750 7.500000 -1.468750 +v -1.031250 7.500000 -1.531250 +v -0.968750 7.500000 -1.531250 +v -1.031250 9.500000 -1.468750 +v -0.968750 9.500000 -1.468750 +v -1.031250 9.500000 -1.531250 +v -0.968750 9.500000 -1.531250 +v -1.031250 10.000000 -1.281250 +v -1.031250 10.000000 -1.218750 +v -0.968750 10.000000 -1.218750 +v -0.968750 10.000000 -1.281250 +v -1.031250 7.000000 -1.281250 +v -1.031250 7.000000 -1.218750 +v -0.968750 7.000000 -1.218750 +v -0.968750 7.000000 -1.281250 +v -0.031250 7.500000 -1.468750 +v 0.031250 7.500000 -1.468750 +v -0.031250 7.500000 -1.531250 +v 0.031250 7.500000 -1.531250 +v -0.031250 9.500000 -1.468750 +v 0.031250 9.500000 -1.468750 +v -0.031250 9.500000 -1.531250 +v 0.031250 9.500000 -1.531250 +v -0.031250 10.000000 -1.281250 +v -0.031250 10.000000 -1.218750 +v 0.031250 10.000000 -1.218750 +v 0.031250 10.000000 -1.281250 +v -0.031250 7.000000 -1.281250 +v -0.031250 7.000000 -1.218750 +v 0.031250 7.000000 -1.218750 +v 0.031250 7.000000 -1.281250 +v 0.968750 7.500000 -1.468750 +v 1.031250 7.500000 -1.468750 +v 0.968750 7.500000 -1.531250 +v 1.031250 7.500000 -1.531250 +v 0.968750 9.500000 -1.468750 +v 1.031250 9.500000 -1.468750 +v 0.968750 9.500000 -1.531250 +v 1.031250 9.500000 -1.531250 +v 0.968750 10.000000 -1.281250 +v 0.968750 10.000000 -1.218750 +v 1.031250 10.000000 -1.218750 +v 1.031250 10.000000 -1.281250 +v 0.968750 7.000000 -1.281250 +v 0.968750 7.000000 -1.218750 +v 1.031250 7.000000 -1.218750 +v 1.031250 7.000000 -1.281250 +v -2.031250 7.500000 -1.218750 +v -1.968750 7.500000 -1.218750 +v -2.031250 7.500000 -1.281250 +v -1.968750 7.500000 -1.281250 +v -2.031250 9.500000 -1.218750 +v -1.968750 9.500000 -1.218750 +v -2.031250 9.500000 -1.281250 +v -1.968750 9.500000 -1.281250 +v -2.031250 10.000000 -1.031250 +v -2.031250 10.000000 -0.968750 +v -1.968750 10.000000 -0.968750 +v -1.968750 10.000000 -1.031250 +v -2.031250 7.000000 -1.031250 +v -2.031250 7.000000 -0.968750 +v -1.968750 7.000000 -0.968750 +v -1.968750 7.000000 -1.031250 +v 1.968750 7.500000 -1.218750 +v 2.031250 7.500000 -1.218750 +v 1.968750 7.500000 -1.281250 +v 2.031250 7.500000 -1.281250 +v 1.968750 9.500000 -1.218750 +v 2.031250 9.500000 -1.218750 +v 1.968750 9.500000 -1.281250 +v 2.031250 9.500000 -1.281250 +v 1.968750 10.000000 -1.031250 +v 1.968750 10.000000 -0.968750 +v 2.031250 10.000000 -0.968750 +v 2.031250 10.000000 -1.031250 +v 1.968750 7.000000 -1.031250 +v 1.968750 7.000000 -0.968750 +v 2.031250 7.000000 -0.968750 +v 2.031250 7.000000 -1.031250 +v -3.031250 7.500000 -0.468750 +v -2.968750 7.500000 -0.468750 +v -3.031250 7.500000 -0.531250 +v -2.968750 7.500000 -0.531250 +v -3.031250 9.500000 -0.468750 +v -2.968750 9.500000 -0.468750 +v -3.031250 9.500000 -0.531250 +v -2.968750 9.500000 -0.531250 +v 2.968750 7.500000 -0.468750 +v 3.031250 7.500000 -0.468750 +v 2.968750 7.500000 -0.531250 +v 3.031250 7.500000 -0.531250 +v 2.968750 9.500000 -0.468750 +v 3.031250 9.500000 -0.468750 +v 2.968750 9.500000 -0.531250 +v 3.031250 9.500000 -0.531250 +v -0.625000 6.750000 -1.750000 +v -0.625000 7.000000 -1.750000 +v -0.875000 6.750000 -1.750000 +v -0.875000 7.000000 -1.750000 +v 0.875000 6.750000 -1.750000 +v 0.875000 7.000000 -1.750000 +v 0.625000 6.750000 -1.750000 +v 0.625000 7.000000 -1.750000 +v -1.000000 8.531250 -2.218750 +v -1.000000 8.468750 -2.218750 +v -1.000000 8.531250 -2.281250 +v -1.000000 8.468750 -2.281250 +v 1.000000 8.531250 -2.218750 +v 1.000000 8.468750 -2.218750 +v 1.000000 8.531250 -2.281250 +v 1.000000 8.468750 -2.281250 +v -2.000000 8.531250 -2.031250 +v -2.000000 8.531250 -1.968750 +v -2.000000 8.468750 -1.968750 +v -2.000000 8.468750 -2.031250 +v 2.000000 8.531250 -2.031250 +v 2.000000 8.531250 -1.968750 +v 2.000000 8.468750 -1.968750 +v 2.000000 8.468750 -2.031250 +v 3.000000 8.531250 -1.281250 +v 3.000000 8.531250 -1.218750 +v 3.000000 8.468750 -1.218750 +v 3.000000 8.468750 -1.281250 +v -3.000000 8.531250 -1.281250 +v -3.000000 8.531250 -1.218750 +v -3.000000 8.468750 -1.218750 +v -3.000000 8.468750 -1.281250 +v -3.000000 8.531250 -1.218750 +v -3.000000 8.468750 -1.218750 +v -3.000000 9.500000 -0.531250 +v -3.000000 9.437500 -0.531250 +v -3.000000 8.531250 -1.218750 +v -3.000000 8.468750 -1.218750 +v -3.000000 7.562500 -0.531250 +v -3.000000 7.500000 -0.531250 +v -2.000000 8.531250 -1.968750 +v -2.000000 8.468750 -1.968750 +v -2.000000 9.500000 -1.281250 +v -2.000000 9.437500 -1.281250 +v -2.000000 8.531250 -1.968750 +v -2.000000 8.468750 -1.968750 +v -2.000000 7.562500 -1.281250 +v -2.000000 7.500000 -1.281250 +v -1.000000 8.531250 -2.218750 +v -1.000000 8.468750 -2.218750 +v -1.000000 9.500000 -1.531250 +v -1.000000 9.437500 -1.531250 +v -1.000000 8.531250 -2.218750 +v -1.000000 8.468750 -2.218750 +v -1.000000 7.562500 -1.531250 +v -1.000000 7.500000 -1.531250 +v 0.000000 8.531250 -2.218750 +v 0.000000 8.468750 -2.218750 +v 0.000000 9.500000 -1.531250 +v 0.000000 9.437500 -1.531250 +v 0.000000 8.531250 -2.218750 +v 0.000000 8.468750 -2.218750 +v 0.000000 7.562500 -1.531250 +v 0.000000 7.500000 -1.531250 +v 1.000000 8.531250 -2.218750 +v 1.000000 8.468750 -2.218750 +v 1.000000 9.500000 -1.531250 +v 1.000000 9.437500 -1.531250 +v 1.000000 8.531250 -2.218750 +v 1.000000 8.468750 -2.218750 +v 1.000000 7.562500 -1.531250 +v 1.000000 7.500000 -1.531250 +v 2.000000 8.531250 -1.968750 +v 2.000000 8.468750 -1.968750 +v 2.000000 9.500000 -1.281250 +v 2.000000 9.437500 -1.281250 +v 2.000000 8.531250 -1.968750 +v 2.000000 8.468750 -1.968750 +v 2.000000 7.562500 -1.281250 +v 2.000000 7.500000 -1.281250 +v 3.000000 8.531250 -1.218750 +v 3.000000 8.468750 -1.218750 +v 3.000000 9.500000 -0.531250 +v 3.000000 9.437500 -0.531250 +v 3.000000 8.531250 -1.218750 +v 3.000000 8.468750 -1.218750 +v 3.000000 7.562500 -0.531250 +v 3.000000 7.500000 -0.531250 +v 0.816250 7.000000 -1.687500 +v 0.878750 7.000000 -1.687500 +v 0.816250 7.000000 -1.750000 +v 0.878750 7.000000 -1.750000 +v 0.816250 8.500000 -2.218750 +v 0.878750 8.500000 -2.218750 +v 0.816250 8.500000 -2.281250 +v 0.878750 8.500000 -2.281250 +v -0.683750 7.000000 -1.687500 +v -0.621250 7.000000 -1.687500 +v -0.683750 7.000000 -1.750000 +v -0.621250 7.000000 -1.750000 +v -0.683750 8.500000 -2.218750 +v -0.621250 8.500000 -2.218750 +v -0.683750 8.500000 -2.281250 +v -0.621250 8.500000 -2.281250 +v 0.628750 7.000000 -1.687500 +v 0.691250 7.000000 -1.687500 +v 0.628750 7.000000 -1.750000 +v 0.691250 7.000000 -1.750000 +v 0.628750 8.500000 -2.218750 +v 0.691250 8.500000 -2.218750 +v 0.628750 8.500000 -2.281250 +v 0.691250 8.500000 -2.281250 +v -0.871250 7.000000 -1.687500 +v -0.808750 7.000000 -1.687500 +v -0.871250 7.000000 -1.750000 +v -0.808750 7.000000 -1.750000 +v -0.871250 8.500000 -2.218750 +v -0.808750 8.500000 -2.218750 +v -0.871250 8.500000 -2.281250 +v -0.808750 8.500000 -2.281250 +v -0.125000 7.249850 2.450611 +v 0.125000 7.249850 2.450611 +v -0.125000 7.491331 2.515315 +v 0.125000 7.491331 2.515315 +v -0.125000 7.991632 1.614094 +v -0.125000 7.267187 1.419980 +v 0.125000 7.267187 1.419980 +v 0.125000 7.991632 1.614094 +v -0.218750 7.375000 2.312500 +v 0.218750 7.375000 2.312500 +v -0.218750 7.375000 2.187500 +v 0.218750 7.375000 2.187500 +v 0.218750 7.562500 2.312500 +v -0.218750 7.562500 2.312500 +v 0.218750 7.562500 2.187500 +v -0.218750 7.562500 2.187500 +v -1.000000 7.500000 -1.500000 +v 1.000000 7.500000 -1.500000 +v -1.000000 9.500000 -1.500000 +v 1.000000 9.500000 -1.500000 +v -2.000000 7.500000 -1.250000 +v 2.000000 7.500000 -1.250000 +v -2.000000 9.500000 -1.250000 +v 2.000000 9.500000 -1.250000 +v -3.000000 7.500000 -0.500000 +v 3.000000 7.500000 -0.500000 +v -3.000000 9.500000 -0.500000 +v 3.000000 9.500000 -0.500000 +v -1.000000 7.000000 -1.250000 +v 1.000000 7.000000 -1.250000 +v -1.000000 10.000000 -1.250000 +v 1.000000 10.000000 -1.250000 +v -2.000000 7.000000 -1.000000 +v 2.000000 7.000000 -1.000000 +v -2.000000 10.000000 -1.000000 +v 2.000000 10.000000 -1.000000 +v -3.000000 8.531250 -1.218750 +v -3.000000 8.468750 -1.218750 +v -3.000000 9.500000 -0.531250 +v -3.000000 9.437500 -0.531250 +v -3.000000 8.531250 -1.218750 +v -3.000000 8.468750 -1.218750 +v -3.000000 7.562500 -0.531250 +v -3.000000 7.500000 -0.531250 +v -2.000000 8.531250 -1.968750 +v -2.000000 8.468750 -1.968750 +v -2.000000 9.500000 -1.281250 +v -2.000000 9.437500 -1.281250 +v -2.000000 8.531250 -1.968750 +v -2.000000 8.468750 -1.968750 +v -2.000000 7.562500 -1.281250 +v -2.000000 7.500000 -1.281250 +v -1.000000 8.531250 -2.218750 +v -1.000000 8.468750 -2.218750 +v -1.000000 9.500000 -1.531250 +v -1.000000 9.437500 -1.531250 +v -1.000000 8.531250 -2.218750 +v -1.000000 8.468750 -2.218750 +v -1.000000 7.562500 -1.531250 +v -1.000000 7.500000 -1.531250 +v 0.000000 8.531250 -2.218750 +v 0.000000 8.468750 -2.218750 +v 0.000000 9.500000 -1.531250 +v 0.000000 9.437500 -1.531250 +v 0.000000 8.531250 -2.218750 +v 0.000000 8.468750 -2.218750 +v 0.000000 7.562500 -1.531250 +v 0.000000 7.500000 -1.531250 +v 1.000000 8.531250 -2.218750 +v 1.000000 8.468750 -2.218750 +v 1.000000 9.500000 -1.531250 +v 1.000000 9.437500 -1.531250 +v 1.000000 8.531250 -2.218750 +v 1.000000 8.468750 -2.218750 +v 1.000000 7.562500 -1.531250 +v 1.000000 7.500000 -1.531250 +v 2.000000 8.531250 -1.968750 +v 2.000000 8.468750 -1.968750 +v 2.000000 9.500000 -1.281250 +v 2.000000 9.437500 -1.281250 +v 2.000000 8.531250 -1.968750 +v 2.000000 8.468750 -1.968750 +v 2.000000 7.562500 -1.281250 +v 2.000000 7.500000 -1.281250 +v 3.000000 8.531250 -1.218750 +v 3.000000 8.468750 -1.218750 +v 3.000000 9.500000 -0.531250 +v 3.000000 9.437500 -0.531250 +v 3.000000 8.531250 -1.218750 +v 3.000000 8.468750 -1.218750 +v 3.000000 7.562500 -0.531250 +v 3.000000 7.500000 -0.531250 +vt 0.708333 0.066667 +vt 0.681818 0.266667 +vt 0.681818 0.066667 +vt 0.602273 0.066667 +vt 0.575758 0.266667 +vt 0.575758 0.066667 +vt 0.734848 0.266667 +vt 0.734848 0.066667 +vt 0.628788 0.266667 +vt 0.628788 0.066667 +vt 0.761364 0.266667 +vt 0.761364 0.066667 +vt 0.655303 0.266667 +vt 0.655303 0.066667 +vt 0.787879 0.266667 +vt 0.787879 0.066667 +vt 0.592803 0.400000 +vt 0.575758 0.304167 +vt 0.619318 0.266667 +vt 0.863636 0.333333 +vt 0.893939 0.200000 +vt 0.893939 0.333333 +vt 0.924242 0.200000 +vt 0.954545 0.333333 +vt 0.924242 0.333333 +vt 0.924242 0.200000 +vt 0.946970 0.033333 +vt 0.954545 0.200000 +vt 0.984848 0.333333 +vt 0.962121 0.600000 +vt 0.954545 0.200000 +vt 0.984848 0.200000 +vt 0.901515 0.600000 +vt 0.916667 0.633333 +vt 0.901515 0.633333 +vt 0.916667 0.600000 +vt 0.946970 0.600000 +vt 0.931818 0.600000 +vt 0.871212 0.600000 +vt 0.863636 0.333333 +vt 0.893939 0.200000 +vt 0.893939 0.333333 +vt 0.954545 0.333333 +vt 0.924242 0.333333 +vt 0.946970 0.033333 +vt 0.977273 0.600000 +vt 0.962121 0.600000 +vt 0.984848 0.333333 +vt 0.984848 0.200000 +vt 0.901515 0.600000 +vt 0.916667 0.633333 +vt 0.901515 0.633333 +vt 0.946970 0.600000 +vt 0.931818 0.600000 +vt 0.871212 0.600000 +vt 0.818182 0.016667 +vt 0.833333 0.275000 +vt 0.818182 0.275000 +vt 0.795455 0.275000 +vt 0.810606 0.016667 +vt 0.810606 0.275000 +vt 0.810606 -0.000000 +vt 0.795455 0.016667 +vt 0.795455 -0.000000 +vt 0.795455 0.291667 +vt 0.810606 0.291667 +vt 0.787879 0.016667 +vt 0.787879 0.275000 +vt 0.772727 0.300000 +vt 0.742424 0.333333 +vt 0.742424 0.300000 +vt 0.742424 0.366667 +vt 0.772727 0.400000 +vt 0.742424 0.400000 +vt 0.772727 0.333333 +vt 0.772727 0.266667 +vt 0.787879 0.333333 +vt 0.772727 0.366667 +vt 0.727273 0.366667 +vt 0.727273 0.333333 +vt 0.727273 0.466667 +vt 0.606061 0.733333 +vt 0.606061 0.466667 +vt 0.787879 0.733333 +vt 0.727273 0.733333 +vt 0.545455 0.466667 +vt 0.787879 0.466667 +vt 0.848485 0.733333 +vt 0.545455 0.733333 +vt 0.484848 0.466667 +vt 0.606061 0.800000 +vt 0.545455 0.800000 +vt 0.727273 0.400000 +vt 0.787879 0.400000 +vt 0.606061 0.400000 +vt 0.727273 0.800000 +vt 0.484848 0.733333 +vt 0.787879 0.800000 +vt 0.545455 0.400000 +vt 0.848485 0.466667 +vt 0.859848 0.466667 +vt 0.863636 0.400000 +vt 0.863636 0.466667 +vt 0.848485 0.733333 +vt 0.852273 0.800000 +vt 0.848485 0.800000 +vt 0.859848 0.733333 +vt 0.852273 0.466667 +vt 0.848485 0.466667 +vt 0.856061 0.733333 +vt 0.856061 0.466667 +vt 0.852273 0.733333 +vt 0.852273 0.808333 +vt 0.856061 0.800000 +vt 0.856061 0.808333 +vt 0.863636 0.733333 +vt 0.859848 0.800000 +vt 0.856061 0.400000 +vt 0.852273 0.391667 +vt 0.856061 0.391667 +vt 0.852273 0.400000 +vt 0.859848 0.400000 +vt 0.859848 0.466667 +vt 0.863636 0.400000 +vt 0.863636 0.466667 +vt 0.848485 0.733333 +vt 0.852273 0.800000 +vt 0.848485 0.800000 +vt 0.859848 0.733333 +vt 0.852273 0.466667 +vt 0.848485 0.466667 +vt 0.856061 0.733333 +vt 0.856061 0.466667 +vt 0.852273 0.733333 +vt 0.852273 0.808333 +vt 0.856061 0.800000 +vt 0.856061 0.808333 +vt 0.863636 0.733333 +vt 0.859848 0.800000 +vt 0.856061 0.400000 +vt 0.852273 0.391667 +vt 0.856061 0.391667 +vt 0.852273 0.400000 +vt 0.859848 0.400000 +vt 0.859848 0.466667 +vt 0.863636 0.400000 +vt 0.863636 0.466667 +vt 0.848485 0.733333 +vt 0.852273 0.800000 +vt 0.848485 0.800000 +vt 0.859848 0.733333 +vt 0.852273 0.466667 +vt 0.848485 0.466667 +vt 0.856061 0.733333 +vt 0.856061 0.466667 +vt 0.852273 0.733333 +vt 0.852273 0.808333 +vt 0.856061 0.800000 +vt 0.856061 0.808333 +vt 0.863636 0.733333 +vt 0.859848 0.800000 +vt 0.856061 0.400000 +vt 0.852273 0.391667 +vt 0.856061 0.391667 +vt 0.852273 0.400000 +vt 0.859848 0.400000 +vt 0.859848 0.466667 +vt 0.863636 0.400000 +vt 0.863636 0.466667 +vt 0.848485 0.733333 +vt 0.852273 0.800000 +vt 0.848485 0.800000 +vt 0.859848 0.733333 +vt 0.852273 0.466667 +vt 0.848485 0.466667 +vt 0.856061 0.733333 +vt 0.856061 0.466667 +vt 0.852273 0.733333 +vt 0.852273 0.808333 +vt 0.856061 0.800000 +vt 0.856061 0.808333 +vt 0.863636 0.733333 +vt 0.859848 0.800000 +vt 0.856061 0.400000 +vt 0.852273 0.391667 +vt 0.856061 0.391667 +vt 0.852273 0.400000 +vt 0.859848 0.400000 +vt 0.859848 0.466667 +vt 0.863636 0.400000 +vt 0.863636 0.466667 +vt 0.848485 0.733333 +vt 0.852273 0.800000 +vt 0.848485 0.800000 +vt 0.859848 0.733333 +vt 0.852273 0.466667 +vt 0.848485 0.466667 +vt 0.856061 0.733333 +vt 0.856061 0.466667 +vt 0.852273 0.733333 +vt 0.852273 0.808333 +vt 0.856061 0.800000 +vt 0.856061 0.808333 +vt 0.863636 0.733333 +vt 0.859848 0.800000 +vt 0.856061 0.400000 +vt 0.852273 0.391667 +vt 0.856061 0.391667 +vt 0.852273 0.400000 +vt 0.859848 0.400000 +vt 0.863636 0.466667 +vt 0.859848 0.733333 +vt 0.859848 0.466667 +vt 0.852273 0.466667 +vt 0.848485 0.733333 +vt 0.848485 0.466667 +vt 0.856061 0.733333 +vt 0.856061 0.466667 +vt 0.852273 0.733333 +vt 0.863636 0.466667 +vt 0.859848 0.733333 +vt 0.859848 0.466667 +vt 0.852273 0.466667 +vt 0.848485 0.733333 +vt 0.848485 0.466667 +vt 0.856061 0.733333 +vt 0.856061 0.466667 +vt 0.852273 0.733333 +vt 0.856061 0.808333 +vt 0.852273 0.800000 +vt 0.856061 0.800000 +vt 0.852273 0.400000 +vt 0.856061 0.391667 +vt 0.856061 0.400000 +vt 0.852273 0.400000 +vt 0.856061 0.391667 +vt 0.856061 0.400000 +vt 0.856061 0.808333 +vt 0.852273 0.800000 +vt 0.856061 0.800000 +vt 0.901515 -0.000000 +vt 0.916667 0.033333 +vt 0.901515 0.033333 +vt 0.901515 -0.000000 +vt 0.916667 0.033333 +vt 0.901515 0.033333 +vt 0.871212 0.033333 +vt 0.886364 0.033333 +vt 0.871212 0.033333 +vt 0.886364 0.033333 +vt 0.977273 0.033333 +vt 0.977273 0.033333 +vt 0.606061 0.800000 +vt 0.727273 0.808333 +vt 0.606061 0.808333 +vt 0.606061 0.825000 +vt 0.727273 0.833333 +vt 0.606061 0.833333 +vt 0.727273 0.816667 +vt 0.606061 0.816667 +vt 0.727273 0.825000 +vt 0.545455 0.825000 +vt 0.787879 0.825000 +vt 0.787879 0.833333 +vt 0.484848 0.816667 +vt 0.545455 0.816667 +vt 0.545455 0.808333 +vt 0.545455 0.800000 +vt 0.848485 0.825000 +vt 0.848485 0.833333 +vt 0.787879 0.816667 +vt 0.727273 0.800000 +vt 0.787879 0.808333 +vt 0.848485 0.808333 +vt 0.852273 0.816667 +vt 0.848485 0.816667 +vt 0.787879 0.800000 +vt 0.481061 0.816667 +vt 0.484848 0.808333 +vt 0.484848 0.800000 +vt 0.545455 0.833333 +vt 0.484848 0.825000 +vt 0.803030 0.391667 +vt 0.848485 0.400000 +vt 0.803030 0.400000 +vt 0.803030 0.400000 +vt 0.848485 0.391667 +vt 0.848485 0.400000 +vt 0.803030 0.391667 +vt 0.848485 0.400000 +vt 0.803030 0.400000 +vt 0.803030 0.400000 +vt 0.848485 0.391667 +vt 0.848485 0.400000 +vt 0.803030 0.391667 +vt 0.848485 0.400000 +vt 0.803030 0.400000 +vt 0.803030 0.400000 +vt 0.848485 0.391667 +vt 0.848485 0.400000 +vt 0.803030 0.391667 +vt 0.848485 0.400000 +vt 0.803030 0.400000 +vt 0.803030 0.400000 +vt 0.848485 0.391667 +vt 0.848485 0.400000 +vt 0.803030 0.391667 +vt 0.848485 0.400000 +vt 0.803030 0.400000 +vt 0.803030 0.400000 +vt 0.848485 0.391667 +vt 0.848485 0.400000 +vt 0.803030 0.391667 +vt 0.848485 0.400000 +vt 0.803030 0.400000 +vt 0.803030 0.400000 +vt 0.848485 0.391667 +vt 0.848485 0.400000 +vt 0.803030 0.391667 +vt 0.848485 0.400000 +vt 0.803030 0.400000 +vt 0.803030 0.400000 +vt 0.848485 0.391667 +vt 0.848485 0.400000 +vt 0.484848 0.533333 +vt 0.481061 0.733333 +vt 0.481061 0.533333 +vt 0.473485 0.533333 +vt 0.469697 0.733333 +vt 0.469697 0.533333 +vt 0.477273 0.533333 +vt 0.477273 0.733333 +vt 0.473485 0.733333 +vt 0.484848 0.533333 +vt 0.481061 0.733333 +vt 0.481061 0.533333 +vt 0.473485 0.533333 +vt 0.469697 0.733333 +vt 0.469697 0.533333 +vt 0.477273 0.533333 +vt 0.477273 0.733333 +vt 0.473485 0.733333 +vt 0.484848 0.533333 +vt 0.481061 0.733333 +vt 0.481061 0.533333 +vt 0.473485 0.533333 +vt 0.469697 0.733333 +vt 0.469697 0.533333 +vt 0.477273 0.533333 +vt 0.477273 0.733333 +vt 0.473485 0.733333 +vt 0.484848 0.533333 +vt 0.481061 0.733333 +vt 0.481061 0.533333 +vt 0.473485 0.533333 +vt 0.469697 0.733333 +vt 0.469697 0.533333 +vt 0.477273 0.533333 +vt 0.477273 0.733333 +vt 0.473485 0.733333 +vt 0.924242 1.000000 +vt 0.939394 0.966667 +vt 0.939394 1.000000 +vt 0.939394 0.833333 +vt 0.924242 0.733333 +vt 0.939394 0.733333 +vt 0.924242 0.966667 +vt 0.939394 0.600000 +vt 0.924242 0.600000 +vt 0.863636 0.766667 +vt 0.924242 0.833333 +vt 0.863636 0.800000 +vt 1.000000 0.800000 +vt 1.000000 0.766667 +vt 0.731061 0.291667 +vt 0.704545 0.308333 +vt 0.704545 0.291667 +vt 0.742424 0.308333 +vt 0.742424 0.291667 +vt 0.731061 0.266667 +vt 0.704545 0.266667 +vt 0.693182 0.291667 +vt 0.693182 0.308333 +vt 0.704545 0.333333 +vt 0.731061 0.308333 +vt 0.731061 0.333333 +vt 0.606061 0.733333 +vt 0.727273 0.466667 +vt 0.606061 0.466667 +vt 0.787879 0.733333 +vt 0.727273 0.733333 +vt 0.545455 0.466667 +vt 0.848485 0.733333 +vt 0.787879 0.466667 +vt 0.484848 0.466667 +vt 0.545455 0.733333 +vt 0.606061 0.800000 +vt 0.727273 0.400000 +vt 0.606061 0.400000 +vt 0.727273 0.800000 +vt 0.484848 0.733333 +vt 0.545455 0.800000 +vt 0.787879 0.800000 +vt 0.545455 0.400000 +vt 0.848485 0.466667 +vt 0.787879 0.400000 +vt 0.848485 0.400000 +vt 0.803030 0.391667 +vt 0.803030 0.400000 +vt 0.803030 0.400000 +vt 0.848485 0.391667 +vt 0.803030 0.391667 +vt 0.848485 0.400000 +vt 0.803030 0.391667 +vt 0.803030 0.400000 +vt 0.803030 0.400000 +vt 0.848485 0.391667 +vt 0.803030 0.391667 +vt 0.848485 0.400000 +vt 0.803030 0.391667 +vt 0.803030 0.400000 +vt 0.803030 0.400000 +vt 0.848485 0.391667 +vt 0.803030 0.391667 +vt 0.848485 0.400000 +vt 0.803030 0.391667 +vt 0.803030 0.400000 +vt 0.803030 0.400000 +vt 0.848485 0.391667 +vt 0.803030 0.391667 +vt 0.848485 0.400000 +vt 0.803030 0.391667 +vt 0.803030 0.400000 +vt 0.803030 0.400000 +vt 0.848485 0.391667 +vt 0.803030 0.391667 +vt 0.848485 0.400000 +vt 0.803030 0.391667 +vt 0.803030 0.400000 +vt 0.803030 0.400000 +vt 0.848485 0.391667 +vt 0.803030 0.391667 +vt 0.848485 0.400000 +vt 0.803030 0.391667 +vt 0.803030 0.400000 +vt 0.803030 0.400000 +vt 0.848485 0.391667 +vt 0.803030 0.391667 +vt 0.708333 0.266667 +vt 0.602273 0.266667 +vt 0.636364 0.304167 +vt 0.636364 0.362500 +vt 0.619318 0.400000 +vt 0.575758 0.362500 +vt 0.592803 0.266667 +vt 0.863636 0.200000 +vt 0.931818 0.033333 +vt 0.977273 0.600000 +vt 0.886364 0.600000 +vt 0.863636 0.200000 +vt 0.931818 0.033333 +vt 0.916667 0.600000 +vt 0.886364 0.600000 +vt 0.833333 0.016667 +vt 0.742424 0.266667 +vt 0.787879 0.366667 +vt 0.863636 0.800000 +vt 0.848485 0.400000 +vt 0.863636 0.800000 +vt 0.848485 0.400000 +vt 0.863636 0.800000 +vt 0.848485 0.400000 +vt 0.863636 0.800000 +vt 0.848485 0.400000 +vt 0.863636 0.800000 +vt 0.848485 0.400000 +vt 0.863636 0.733333 +vt 0.863636 0.733333 +vt 0.852273 0.808333 +vt 0.852273 0.391667 +vt 0.852273 0.391667 +vt 0.852273 0.808333 +vt 0.916667 0.000000 +vt 0.916667 -0.000000 +vt 0.962121 0.033333 +vt 0.962121 0.033333 +vt 0.852273 0.808333 +vt 0.848485 0.800000 +vt 0.481061 0.808333 +vt 0.484848 0.833333 +vt 0.848485 0.391667 +vt 0.803030 0.391667 +vt 0.848485 0.391667 +vt 0.803030 0.391667 +vt 0.848485 0.391667 +vt 0.803030 0.391667 +vt 0.848485 0.391667 +vt 0.803030 0.391667 +vt 0.848485 0.391667 +vt 0.803030 0.391667 +vt 0.848485 0.391667 +vt 0.803030 0.391667 +vt 0.848485 0.391667 +vt 0.803030 0.391667 +vt 0.484848 0.733333 +vt 0.484848 0.733333 +vt 0.484848 0.733333 +vt 0.484848 0.733333 +vt 0.848485 0.391667 +vt 0.848485 0.400000 +vt 0.848485 0.391667 +vt 0.848485 0.400000 +vt 0.848485 0.391667 +vt 0.848485 0.400000 +vt 0.848485 0.391667 +vt 0.848485 0.400000 +vt 0.848485 0.391667 +vt 0.848485 0.400000 +vt 0.848485 0.391667 +vt 0.848485 0.400000 +vt 0.848485 0.391667 +vt 0.848485 0.400000 +vn 0.7071 0.0000 -0.7071 +vn -0.7071 0.0000 0.7071 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn -0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 0.7071 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn -0.9950 0.0000 -0.0995 +vn 0.0000 -0.9545 0.2983 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.9829 -0.1843 +vn -0.9545 0.0000 0.2983 +vn 0.9829 0.0000 -0.1843 +vn -0.9829 0.0000 -0.1843 +vn 0.9545 0.0000 0.2983 +vn -0.2425 0.0000 0.9701 +vn 0.2425 0.0000 0.9701 +vn -0.6000 0.0000 0.8000 +vn 0.6000 0.0000 0.8000 +vn 0.2182 -0.4364 0.8729 +vn -0.2182 0.4364 0.8729 +vn 0.0000 -0.4472 0.8944 +vn 0.0000 0.4472 0.8944 +vn 0.2182 0.4364 0.8729 +vn -0.2182 -0.4364 0.8729 +vn 0.5571 -0.3714 0.7428 +vn -0.5571 -0.3714 0.7428 +vn 0.5571 0.3714 0.7428 +vn -0.5571 0.3714 0.7428 +vn 0.0000 0.4472 -0.8944 +vn 0.0000 -0.4472 -0.8944 +vn 0.9950 0.0000 -0.0995 +vn 0.0000 -0.9806 -0.1961 +vn -0.6000 0.0000 -0.8000 +vn -0.2425 0.0000 -0.9701 +vn 0.2425 0.0000 -0.9701 +vn 0.6000 0.0000 -0.8000 +vn 0.0000 0.3338 0.9426 +vn 0.0000 -0.3338 -0.9426 +vn 0.0000 -0.2588 0.9659 +vn 0.0000 0.2588 -0.9659 +vn 0.0000 0.8743 0.4854 +vn 0.0000 -0.9999 -0.0168 +vn -0.2182 0.4364 -0.8729 +vn 0.2182 -0.4364 -0.8729 +vn -0.2182 -0.4364 -0.8729 +vn 0.2182 0.4364 -0.8729 +vn -0.5571 0.3714 -0.7428 +vn 0.5571 0.3714 -0.7428 +vn -0.5571 -0.3714 -0.7428 +vn 0.5571 -0.3714 -0.7428 +s off +f 4/1/1 14/2/1 6/3/1 +f 1/4/2 15/5/2 7/6/2 +f 11/7/3 4/1/3 3/8/3 +f 10/9/4 1/4/4 2/10/4 +f 16/11/5 3/8/5 8/12/5 +f 13/13/6 2/10/6 5/14/6 +f 14/2/7 5/14/7 6/3/7 +f 15/15/8 8/12/8 7/16/8 +f 10/17/9 14/18/9 11/19/9 +f 18/20/7 19/21/7 17/22/7 +f 21/23/8 23/24/8 22/25/8 +f 19/21/9 22/25/9 17/22/9 +f 33/26/10 179/27/10 36/28/10 +f 18/29/11 28/30/11 23/24/11 +f 18/29/12 24/31/12 20/32/12 +f 25/33/4 28/34/4 26/35/4 +f 17/22/13 27/36/13 25/33/13 +f 22/25/14 28/37/14 27/38/14 +f 17/22/15 26/39/15 18/20/15 +f 30/40/7 31/41/7 29/42/7 +f 33/26/8 35/43/8 34/44/8 +f 31/41/9 34/44/9 29/42/9 +f 21/23/10 175/45/10 24/31/10 +f 35/43/11 38/46/11 40/47/11 +f 30/48/12 36/28/12 32/49/12 +f 37/50/4 40/51/4 38/52/4 +f 34/44/13 37/50/13 29/42/13 +f 34/44/16 40/53/16 39/54/16 +f 29/42/17 38/55/17 30/40/17 +f 42/56/3 43/57/3 41/58/3 +f 45/59/4 47/60/4 46/61/4 +f 42/62/7 48/63/7 44/64/7 +f 43/65/8 46/61/8 41/66/8 +f 44/67/12 45/59/12 43/68/12 +f 41/58/9 47/60/9 42/56/9 +f 50/69/4 51/70/4 49/71/4 +f 53/72/3 55/73/3 54/74/3 +f 52/75/9 53/72/9 51/70/9 +f 49/71/12 55/76/12 50/69/12 +f 50/77/7 56/78/7 52/75/7 +f 51/70/8 54/79/8 49/80/8 +f 58/81/4 59/82/4 57/83/4 +f 58/81/18 64/84/18 60/85/18 +f 59/82/19 61/86/19 57/83/19 +f 62/87/20 68/88/20 64/84/20 +f 63/89/21 65/90/21 61/86/21 +f 63/89/22 71/91/22 75/92/22 +f 62/87/23 70/93/23 74/94/23 +f 60/85/24 71/91/24 59/82/24 +f 57/83/25 70/93/25 58/81/25 +f 61/86/26 69/95/26 57/83/26 +f 64/84/27 72/96/27 60/85/27 +f 63/89/28 75/92/28 67/97/28 +f 64/84/29 68/88/29 76/98/29 +f 61/86/30 65/90/30 73/99/30 +f 62/87/31 74/94/31 66/100/31 +f 77/101/25 91/102/25 78/103/25 +f 82/104/7 88/105/7 87/106/7 +f 78/103/4 81/107/4 77/101/4 +f 80/108/7 82/104/7 78/109/7 +f 77/101/8 83/110/8 79/111/8 +f 79/111/3 84/112/3 80/108/3 +f 87/113/9 85/114/9 86/115/9 +f 81/107/8 85/114/8 83/110/8 +f 83/110/32 88/105/32 84/112/32 +f 82/116/24 86/117/24 81/107/24 +f 89/118/12 91/119/12 90/120/12 +f 78/109/7 92/121/7 80/108/7 +f 77/101/8 89/118/8 90/122/8 +f 80/108/33 89/118/33 79/111/33 +f 93/123/25 107/124/25 94/125/25 +f 98/126/7 104/127/7 103/128/7 +f 94/125/4 97/129/4 93/123/4 +f 96/130/7 98/126/7 94/131/7 +f 93/123/8 99/132/8 95/133/8 +f 95/133/3 100/134/3 96/130/3 +f 103/135/9 101/136/9 102/137/9 +f 97/129/8 101/136/8 99/132/8 +f 99/132/32 104/127/32 100/134/32 +f 98/138/24 102/139/24 97/129/24 +f 105/140/12 107/141/12 106/142/12 +f 94/131/7 108/143/7 96/130/7 +f 93/123/8 105/140/8 106/144/8 +f 96/130/33 105/140/33 95/133/33 +f 109/145/25 123/146/25 110/147/25 +f 114/148/7 120/149/7 119/150/7 +f 110/147/4 113/151/4 109/145/4 +f 112/152/7 114/148/7 110/153/7 +f 109/145/8 115/154/8 111/155/8 +f 111/155/3 116/156/3 112/152/3 +f 119/157/9 117/158/9 118/159/9 +f 113/151/8 117/158/8 115/154/8 +f 115/154/32 120/149/32 116/156/32 +f 114/160/24 118/161/24 113/151/24 +f 121/162/12 123/163/12 122/164/12 +f 110/153/7 124/165/7 112/152/7 +f 109/145/8 121/162/8 122/166/8 +f 112/152/33 121/162/33 111/155/33 +f 125/167/25 139/168/25 126/169/25 +f 130/170/7 136/171/7 135/172/7 +f 126/169/4 129/173/4 125/167/4 +f 128/174/7 130/170/7 126/175/7 +f 125/167/8 131/176/8 127/177/8 +f 127/177/3 132/178/3 128/174/3 +f 135/179/9 133/180/9 134/181/9 +f 129/173/8 133/180/8 131/176/8 +f 131/176/32 136/171/32 132/178/32 +f 130/182/24 134/183/24 129/173/24 +f 137/184/12 139/185/12 138/186/12 +f 126/175/7 140/187/7 128/174/7 +f 125/167/8 137/184/8 138/188/8 +f 128/174/33 137/184/33 127/177/33 +f 141/189/25 155/190/25 142/191/25 +f 146/192/7 152/193/7 151/194/7 +f 142/191/4 145/195/4 141/189/4 +f 144/196/7 146/192/7 142/197/7 +f 141/189/8 147/198/8 143/199/8 +f 143/199/3 148/200/3 144/196/3 +f 151/201/9 149/202/9 150/203/9 +f 145/195/8 149/202/8 147/198/8 +f 147/198/32 152/193/32 148/200/32 +f 146/204/24 150/205/24 145/195/24 +f 153/206/12 155/207/12 154/208/12 +f 142/197/7 156/209/7 144/196/7 +f 141/189/8 153/206/8 154/210/8 +f 144/196/33 153/206/33 143/199/33 +f 158/211/4 161/212/4 157/213/4 +f 160/214/7 162/215/7 158/216/7 +f 157/213/8 163/217/8 159/218/8 +f 159/218/3 164/219/3 160/214/3 +f 166/220/4 169/221/4 165/222/4 +f 168/223/7 170/224/7 166/225/7 +f 165/222/8 171/226/8 167/227/8 +f 167/227/3 172/228/3 168/223/3 +f 161/229/9 164/230/9 163/231/9 +f 160/232/12 157/233/12 159/234/12 +f 168/235/12 165/236/12 167/237/12 +f 169/238/9 172/239/9 171/240/9 +f 173/241/3 176/242/3 174/243/3 +f 177/244/3 180/245/3 178/246/3 +f 19/21/34 173/247/34 174/248/34 +f 31/41/34 177/249/34 178/250/34 +f 24/31/35 173/251/35 20/32/35 +f 36/28/35 177/252/35 32/49/35 +f 19/21/9 176/242/9 21/23/9 +f 31/41/9 180/245/9 33/26/9 +f 182/253/4 185/254/4 181/255/4 +f 184/256/12 186/257/12 182/258/12 +f 181/255/9 187/259/9 183/260/9 +f 183/260/3 188/261/3 184/256/3 +f 182/258/12 192/262/12 184/256/12 +f 186/257/12 196/263/12 195/264/12 +f 192/262/36 201/265/36 189/266/36 +f 181/255/9 189/266/9 190/267/9 +f 184/256/37 189/266/37 183/260/37 +f 181/255/19 191/268/19 182/253/19 +f 195/264/12 200/269/12 199/270/12 +f 185/254/9 193/271/9 187/259/9 +f 187/259/38 196/263/38 188/261/38 +f 186/272/18 194/273/18 185/254/18 +f 198/274/7 200/275/7 197/276/7 +f 194/273/9 197/276/9 193/271/9 +f 193/271/39 200/269/39 196/263/39 +f 195/277/20 198/274/20 194/273/20 +f 204/278/8 202/279/8 201/265/8 +f 190/267/21 203/280/21 191/268/21 +f 191/281/12 204/282/12 192/262/12 +f 190/267/9 201/265/9 202/279/9 +f 205/283/7 208/284/7 206/285/7 +f 210/286/7 211/287/7 212/288/7 +f 213/289/7 216/290/7 214/291/7 +f 218/292/7 219/293/7 220/294/7 +f 221/295/7 224/296/7 222/297/7 +f 226/298/7 227/299/7 228/300/7 +f 229/301/7 232/302/7 230/303/7 +f 234/304/7 235/305/7 236/306/7 +f 237/307/7 240/308/7 238/309/7 +f 242/310/7 243/311/7 244/312/7 +f 245/313/7 248/314/7 246/315/7 +f 250/316/7 251/317/7 252/318/7 +f 253/319/7 256/320/7 254/321/7 +f 258/322/7 259/323/7 260/324/7 +f 262/325/40 265/326/40 261/327/40 +f 264/328/7 266/329/7 262/330/7 +f 263/331/8 265/326/8 267/332/8 +f 263/331/41 268/333/41 264/328/41 +f 270/334/40 273/335/40 269/336/40 +f 272/337/7 274/338/7 270/339/7 +f 271/340/8 273/335/8 275/341/8 +f 271/340/41 276/342/41 272/337/41 +f 278/343/40 281/344/40 277/345/40 +f 280/346/7 282/347/7 278/348/7 +f 279/349/8 281/344/8 283/350/8 +f 279/349/41 284/351/41 280/346/41 +f 286/352/40 289/353/40 285/354/40 +f 288/355/7 290/356/7 286/357/7 +f 287/358/8 289/353/8 291/359/8 +f 287/358/41 292/360/41 288/355/41 +f 294/361/42 295/362/42 293/363/42 +f 297/364/43 299/365/43 298/366/43 +f 296/367/44 297/364/44 295/362/44 +f 293/368/45 299/365/45 294/369/45 +f 294/370/7 300/371/7 296/372/7 +f 295/373/8 298/366/8 293/374/8 +f 305/375/9 308/376/9 306/377/9 +f 304/378/7 305/375/7 302/379/7 +f 302/380/4 306/377/4 301/381/4 +f 301/382/8 308/376/8 303/383/8 +f 303/384/3 307/385/3 304/386/3 +f 311/387/3 310/388/3 309/389/3 +f 316/390/38 310/388/38 312/391/38 +f 313/392/37 311/387/37 309/389/37 +f 320/393/39 314/394/39 316/390/39 +f 317/395/36 315/396/36 313/392/36 +f 315/396/46 323/397/46 311/387/46 +f 314/394/47 322/398/47 310/388/47 +f 323/397/32 312/391/32 311/387/32 +f 322/398/33 309/389/33 310/388/33 +f 321/399/48 313/392/48 309/389/48 +f 324/400/49 316/390/49 312/391/49 +f 315/396/50 319/401/50 327/402/50 +f 316/390/51 328/403/51 320/393/51 +f 313/392/52 325/404/52 317/395/52 +f 314/394/53 318/405/53 326/406/53 +f 332/407/8 329/408/8 330/409/8 +f 334/410/8 335/411/8 333/412/8 +f 340/413/8 337/414/8 338/415/8 +f 342/416/8 343/417/8 341/418/8 +f 348/419/8 345/420/8 346/421/8 +f 350/422/8 351/423/8 349/424/8 +f 356/425/8 353/426/8 354/427/8 +f 358/428/8 359/429/8 357/430/8 +f 364/431/8 361/432/8 362/433/8 +f 366/434/8 367/435/8 365/436/8 +f 372/437/8 369/438/8 370/439/8 +f 374/440/8 375/441/8 373/442/8 +f 380/443/8 377/444/8 378/445/8 +f 382/446/8 383/447/8 381/448/8 +f 4/1/1 12/449/1 14/2/1 +f 1/4/2 9/450/2 15/5/2 +f 11/7/3 12/449/3 4/1/3 +f 10/9/4 9/450/4 1/4/4 +f 16/11/5 11/7/5 3/8/5 +f 13/13/6 10/9/6 2/10/6 +f 14/2/7 13/13/7 5/14/7 +f 15/15/8 16/11/8 8/12/8 +f 11/19/9 16/451/9 15/452/9 +f 15/452/9 9/453/9 10/17/9 +f 10/17/9 13/454/9 14/18/9 +f 14/18/9 12/455/9 11/19/9 +f 11/19/9 15/452/9 10/17/9 +f 18/20/7 20/456/7 19/21/7 +f 21/23/8 24/31/8 23/24/8 +f 19/21/9 21/23/9 22/25/9 +f 33/26/10 180/457/10 179/27/10 +f 18/29/11 26/458/11 28/30/11 +f 18/29/12 23/24/12 24/31/12 +f 25/33/4 27/36/4 28/34/4 +f 17/22/13 22/25/13 27/36/13 +f 22/25/14 23/24/14 28/37/14 +f 17/22/15 25/459/15 26/39/15 +f 30/40/7 32/460/7 31/41/7 +f 33/26/8 36/28/8 35/43/8 +f 31/41/9 33/26/9 34/44/9 +f 21/23/10 176/461/10 175/45/10 +f 35/43/11 30/48/11 38/46/11 +f 30/48/12 35/43/12 36/28/12 +f 37/50/4 39/462/4 40/51/4 +f 34/44/13 39/462/13 37/50/13 +f 34/44/16 35/43/16 40/53/16 +f 29/42/17 37/463/17 38/55/17 +f 42/56/3 44/464/3 43/57/3 +f 45/59/4 48/63/4 47/60/4 +f 42/62/7 47/60/7 48/63/7 +f 43/65/8 45/59/8 46/61/8 +f 44/67/12 48/63/12 45/59/12 +f 41/58/9 46/61/9 47/60/9 +f 50/69/4 52/75/4 51/70/4 +f 53/72/3 56/78/3 55/73/3 +f 52/75/9 56/78/9 53/72/9 +f 49/71/12 54/465/12 55/76/12 +f 50/77/7 55/466/7 56/78/7 +f 51/70/8 53/72/8 54/79/8 +f 58/81/4 60/85/4 59/82/4 +f 58/81/18 62/87/18 64/84/18 +f 59/82/19 63/89/19 61/86/19 +f 62/87/20 66/100/20 68/88/20 +f 63/89/21 67/97/21 65/90/21 +f 63/89/22 59/82/22 71/91/22 +f 62/87/23 58/81/23 70/93/23 +f 60/85/24 72/96/24 71/91/24 +f 57/83/25 69/95/25 70/93/25 +f 61/86/26 73/99/26 69/95/26 +f 64/84/27 76/98/27 72/96/27 +f 77/101/25 90/122/25 91/102/25 +f 82/104/7 84/112/7 88/105/7 +f 78/103/4 82/116/4 81/107/4 +f 80/108/7 84/112/7 82/104/7 +f 77/101/8 81/107/8 83/110/8 +f 79/111/3 83/110/3 84/112/3 +f 87/113/9 88/105/9 85/114/9 +f 81/107/8 86/117/8 85/114/8 +f 83/110/32 85/114/32 88/105/32 +f 82/116/24 87/467/24 86/117/24 +f 89/118/12 92/121/12 91/119/12 +f 78/109/7 91/468/7 92/121/7 +f 77/101/8 79/111/8 89/118/8 +f 80/108/33 92/121/33 89/118/33 +f 93/123/25 106/144/25 107/124/25 +f 98/126/7 100/134/7 104/127/7 +f 94/125/4 98/138/4 97/129/4 +f 96/130/7 100/134/7 98/126/7 +f 93/123/8 97/129/8 99/132/8 +f 95/133/3 99/132/3 100/134/3 +f 103/135/9 104/127/9 101/136/9 +f 97/129/8 102/139/8 101/136/8 +f 99/132/32 101/136/32 104/127/32 +f 98/138/24 103/469/24 102/139/24 +f 105/140/12 108/143/12 107/141/12 +f 94/131/7 107/470/7 108/143/7 +f 93/123/8 95/133/8 105/140/8 +f 96/130/33 108/143/33 105/140/33 +f 109/145/25 122/166/25 123/146/25 +f 114/148/7 116/156/7 120/149/7 +f 110/147/4 114/160/4 113/151/4 +f 112/152/7 116/156/7 114/148/7 +f 109/145/8 113/151/8 115/154/8 +f 111/155/3 115/154/3 116/156/3 +f 119/157/9 120/149/9 117/158/9 +f 113/151/8 118/161/8 117/158/8 +f 115/154/32 117/158/32 120/149/32 +f 114/160/24 119/471/24 118/161/24 +f 121/162/12 124/165/12 123/163/12 +f 110/153/7 123/472/7 124/165/7 +f 109/145/8 111/155/8 121/162/8 +f 112/152/33 124/165/33 121/162/33 +f 125/167/25 138/188/25 139/168/25 +f 130/170/7 132/178/7 136/171/7 +f 126/169/4 130/182/4 129/173/4 +f 128/174/7 132/178/7 130/170/7 +f 125/167/8 129/173/8 131/176/8 +f 127/177/3 131/176/3 132/178/3 +f 135/179/9 136/171/9 133/180/9 +f 129/173/8 134/183/8 133/180/8 +f 131/176/32 133/180/32 136/171/32 +f 130/182/24 135/473/24 134/183/24 +f 137/184/12 140/187/12 139/185/12 +f 126/175/7 139/474/7 140/187/7 +f 125/167/8 127/177/8 137/184/8 +f 128/174/33 140/187/33 137/184/33 +f 141/189/25 154/210/25 155/190/25 +f 146/192/7 148/200/7 152/193/7 +f 142/191/4 146/204/4 145/195/4 +f 144/196/7 148/200/7 146/192/7 +f 141/189/8 145/195/8 147/198/8 +f 143/199/3 147/198/3 148/200/3 +f 151/201/9 152/193/9 149/202/9 +f 145/195/8 150/205/8 149/202/8 +f 147/198/32 149/202/32 152/193/32 +f 146/204/24 151/475/24 150/205/24 +f 153/206/12 156/209/12 155/207/12 +f 142/197/7 155/476/7 156/209/7 +f 141/189/8 143/199/8 153/206/8 +f 144/196/33 156/209/33 153/206/33 +f 158/211/4 162/477/4 161/212/4 +f 160/214/7 164/219/7 162/215/7 +f 157/213/8 161/212/8 163/217/8 +f 159/218/3 163/217/3 164/219/3 +f 166/220/4 170/478/4 169/221/4 +f 168/223/7 172/228/7 170/224/7 +f 165/222/8 169/221/8 171/226/8 +f 167/227/3 171/226/3 172/228/3 +f 161/229/9 162/479/9 164/230/9 +f 160/232/12 158/480/12 157/233/12 +f 168/235/12 166/481/12 165/236/12 +f 169/238/9 170/482/9 172/239/9 +f 173/241/3 175/483/3 176/242/3 +f 177/244/3 179/484/3 180/245/3 +f 19/21/34 20/456/34 173/247/34 +f 31/41/34 32/460/34 177/249/34 +f 24/31/35 175/485/35 173/251/35 +f 36/28/35 179/486/35 177/252/35 +f 19/21/9 174/243/9 176/242/9 +f 31/41/9 178/246/9 180/245/9 +f 182/253/4 186/272/4 185/254/4 +f 184/256/12 188/261/12 186/257/12 +f 181/255/9 185/254/9 187/259/9 +f 183/260/3 187/259/3 188/261/3 +f 182/258/12 191/281/12 192/262/12 +f 186/257/12 188/261/12 196/263/12 +f 192/262/36 204/282/36 201/265/36 +f 181/255/9 183/260/9 189/266/9 +f 184/256/37 192/262/37 189/266/37 +f 181/255/19 190/267/19 191/268/19 +f 195/264/12 196/263/12 200/269/12 +f 185/254/9 194/273/9 193/271/9 +f 187/259/38 193/271/38 196/263/38 +f 186/272/18 195/277/18 194/273/18 +f 198/274/7 199/487/7 200/275/7 +f 194/273/9 198/274/9 197/276/9 +f 193/271/39 197/276/39 200/269/39 +f 195/277/20 199/488/20 198/274/20 +f 204/278/8 203/489/8 202/279/8 +f 190/267/21 202/279/21 203/280/21 +f 191/281/12 203/490/12 204/282/12 +f 190/267/9 189/266/9 201/265/9 +f 205/283/7 207/491/7 208/284/7 +f 210/286/7 209/492/7 211/287/7 +f 213/289/7 215/493/7 216/290/7 +f 218/292/7 217/494/7 219/293/7 +f 221/295/7 223/495/7 224/296/7 +f 226/298/7 225/496/7 227/299/7 +f 229/301/7 231/497/7 232/302/7 +f 234/304/7 233/498/7 235/305/7 +f 237/307/7 239/499/7 240/308/7 +f 242/310/7 241/500/7 243/311/7 +f 245/313/7 247/501/7 248/314/7 +f 250/316/7 249/502/7 251/317/7 +f 253/319/7 255/503/7 256/320/7 +f 258/322/7 257/504/7 259/323/7 +f 262/325/40 266/505/40 265/326/40 +f 264/328/7 268/333/7 266/329/7 +f 263/331/8 261/327/8 265/326/8 +f 263/331/41 267/332/41 268/333/41 +f 270/334/40 274/506/40 273/335/40 +f 272/337/7 276/342/7 274/338/7 +f 271/340/8 269/336/8 273/335/8 +f 271/340/41 275/341/41 276/342/41 +f 278/343/40 282/507/40 281/344/40 +f 280/346/7 284/351/7 282/347/7 +f 279/349/8 277/345/8 281/344/8 +f 279/349/41 283/350/41 284/351/41 +f 286/352/40 290/508/40 289/353/40 +f 288/355/7 292/360/7 290/356/7 +f 287/358/8 285/354/8 289/353/8 +f 287/358/41 291/359/41 292/360/41 +f 294/361/42 296/367/42 295/362/42 +f 297/364/43 300/371/43 299/365/43 +f 296/367/44 300/371/44 297/364/44 +f 293/368/45 298/366/45 299/365/45 +f 294/370/7 299/365/7 300/371/7 +f 295/373/8 297/364/8 298/366/8 +f 305/375/9 307/385/9 308/376/9 +f 304/378/7 307/385/7 305/375/7 +f 302/380/4 305/375/4 306/377/4 +f 301/382/8 306/377/8 308/376/8 +f 303/384/3 308/376/3 307/385/3 +f 311/387/3 312/391/3 310/388/3 +f 316/390/38 314/394/38 310/388/38 +f 313/392/37 315/396/37 311/387/37 +f 320/393/39 318/405/39 314/394/39 +f 317/395/36 319/401/36 315/396/36 +f 315/396/46 327/402/46 323/397/46 +f 314/394/47 326/406/47 322/398/47 +f 323/397/32 324/400/32 312/391/32 +f 322/398/33 321/399/33 309/389/33 +f 321/399/48 325/404/48 313/392/48 +f 324/400/49 328/403/49 316/390/49 +f 332/407/8 331/509/8 329/408/8 +f 334/410/8 336/510/8 335/411/8 +f 340/413/8 339/511/8 337/414/8 +f 342/416/8 344/512/8 343/417/8 +f 348/419/8 347/513/8 345/420/8 +f 350/422/8 352/514/8 351/423/8 +f 356/425/8 355/515/8 353/426/8 +f 358/428/8 360/516/8 359/429/8 +f 364/431/8 363/517/8 361/432/8 +f 366/434/8 368/518/8 367/435/8 +f 372/437/8 371/519/8 369/438/8 +f 374/440/8 376/520/8 375/441/8 +f 380/443/8 379/521/8 377/444/8 +f 382/446/8 384/522/8 383/447/8 +o Radar +v -1.500000 0.000000 1.500000 +v 1.500000 0.000000 1.500000 +v -1.500000 0.000000 -1.500000 +v 1.500000 0.000000 -1.500000 +v -1.500000 1.000000 1.500000 +v 1.500000 1.000000 1.500000 +v -1.500000 1.000000 -1.500000 +v 1.500000 1.000000 -1.500000 +v -1.500000 4.500000 1.500000 +v 1.500000 4.500000 1.500000 +v -1.500000 4.500000 -1.500000 +v 1.500000 4.500000 -1.500000 +v -1.500000 5.000000 1.500000 +v 1.500000 5.000000 1.500000 +v -1.500000 5.000000 -1.500000 +v 1.500000 5.000000 -1.500000 +v -0.312500 5.000000 0.750000 +v 0.312500 5.000000 0.750000 +v -0.312500 5.000000 -0.750000 +v 0.312500 5.000000 -0.750000 +v 0.750000 5.000000 0.312500 +v 0.750000 5.000000 -0.312500 +v -0.750000 5.000000 0.312500 +v -0.750000 5.000000 -0.312500 +v -0.312500 5.500000 0.750000 +v 0.312500 5.500000 0.750000 +v -0.312500 5.500000 -0.750000 +v 0.312500 5.500000 -0.750000 +v 0.750000 5.500000 0.312500 +v 0.750000 5.500000 -0.312500 +v -0.750000 5.500000 0.312500 +v -0.750000 5.500000 -0.312500 +v -1.250000 5.875000 0.750000 +v 1.250000 5.875000 0.750000 +v -1.250000 5.875000 -0.750000 +v 1.250000 5.875000 -0.750000 +v 1.187500 5.000000 -0.687500 +v 1.312500 5.000000 -0.687500 +v 1.187500 5.000000 -0.812500 +v 1.312500 5.000000 -0.812500 +v 1.187500 6.000000 -0.812500 +v 1.187500 6.000000 -0.687500 +v 1.312500 6.000000 -0.687500 +v 1.312500 6.000000 -0.812500 +v 1.187500 5.000000 0.812500 +v 1.312500 5.000000 0.812500 +v 1.187500 5.000000 0.687500 +v 1.312500 5.000000 0.687500 +v 1.187500 6.000000 0.687500 +v 1.187500 6.000000 0.812500 +v 1.312500 6.000000 0.812500 +v 1.312500 6.000000 0.687500 +v -1.312500 5.000000 -0.687500 +v -1.187500 5.000000 -0.687500 +v -1.312500 5.000000 -0.812500 +v -1.187500 5.000000 -0.812500 +v -1.312500 6.000000 -0.812500 +v -1.312500 6.000000 -0.687500 +v -1.187500 6.000000 -0.687500 +v -1.187500 6.000000 -0.812500 +v -1.312500 5.000000 0.812500 +v -1.187500 5.000000 0.812500 +v -1.312500 5.000000 0.687500 +v -1.187500 5.000000 0.687500 +v -1.312500 6.000000 0.687500 +v -1.312500 6.000000 0.812500 +v -1.187500 6.000000 0.812500 +v -1.187500 6.000000 0.687500 +v -0.687500 5.000000 -1.187500 +v -0.687500 5.000000 -1.312500 +v -0.812500 5.000000 -1.187500 +v -0.812500 5.000000 -1.312500 +v -0.812500 6.000000 -1.187500 +v -0.687500 6.000000 -1.187500 +v -0.687500 6.000000 -1.312500 +v -0.812500 6.000000 -1.312500 +v 0.812500 5.000000 -1.187500 +v 0.812500 5.000000 -1.312500 +v 0.687500 5.000000 -1.187500 +v 0.687500 5.000000 -1.312500 +v 0.687500 6.000000 -1.187500 +v 0.812500 6.000000 -1.187500 +v 0.812500 6.000000 -1.312500 +v 0.687500 6.000000 -1.312500 +v -0.687500 5.000000 1.312500 +v -0.687500 5.000000 1.187500 +v -0.812500 5.000000 1.312500 +v -0.812500 5.000000 1.187500 +v -0.812500 6.000000 1.312500 +v -0.687500 6.000000 1.312500 +v -0.687500 6.000000 1.187500 +v -0.812500 6.000000 1.187500 +v 0.812500 5.000000 1.312500 +v 0.812500 5.000000 1.187500 +v 0.687500 5.000000 1.312500 +v 0.687500 5.000000 1.187500 +v 0.687500 6.000000 1.312500 +v 0.812500 6.000000 1.312500 +v 0.812500 6.000000 1.187500 +v 0.687500 6.000000 1.187500 +v 0.750000 5.875000 1.250000 +v 0.750000 5.875000 -1.250000 +v -0.750000 5.875000 1.250000 +v -0.750000 5.875000 -1.250000 +v -1.250000 5.750000 0.750000 +v 1.250000 5.750000 0.750000 +v -1.250000 5.750000 -0.750000 +v 1.250000 5.750000 -0.750000 +v 0.750000 5.750000 1.250000 +v 0.750000 5.750000 -1.250000 +v -0.750000 5.750000 1.250000 +v -0.750000 5.750000 -1.250000 +v -1.250000 5.500000 0.750000 +v 1.250000 5.500000 0.750000 +v -1.250000 5.500000 -0.750000 +v 1.250000 5.500000 -0.750000 +v 0.750000 5.500000 1.250000 +v 0.750000 5.500000 -1.250000 +v -0.750000 5.500000 1.250000 +v -0.750000 5.500000 -1.250000 +v -1.250000 5.375000 0.750000 +v 1.250000 5.375000 0.750000 +v -1.250000 5.375000 -0.750000 +v 1.250000 5.375000 -0.750000 +v 0.750000 5.375000 1.250000 +v 0.750000 5.375000 -1.250000 +v -0.750000 5.375000 1.250000 +v -0.750000 5.375000 -1.250000 +v -1.250000 1.000000 1.250000 +v -0.750000 1.000000 1.250000 +v -1.250000 1.000000 0.750000 +v -0.750000 1.000000 0.750000 +v -1.250000 4.500000 1.250000 +v -0.750000 4.500000 1.250000 +v -1.250000 4.500000 0.750000 +v -0.750000 4.500000 0.750000 +v 0.750000 1.000000 1.250000 +v 1.250000 1.000000 1.250000 +v 0.750000 1.000000 0.750000 +v 1.250000 1.000000 0.750000 +v 0.750000 4.500000 1.250000 +v 1.250000 4.500000 1.250000 +v 0.750000 4.500000 0.750000 +v 1.250000 4.500000 0.750000 +v -1.250000 1.000000 -0.750000 +v -0.750000 1.000000 -0.750000 +v -1.250000 1.000000 -1.250000 +v -0.750000 1.000000 -1.250000 +v -1.250000 4.500000 -0.750000 +v -0.750000 4.500000 -0.750000 +v -1.250000 4.500000 -1.250000 +v -0.750000 4.500000 -1.250000 +v 0.750000 1.000000 -0.750000 +v 1.250000 1.000000 -0.750000 +v 0.750000 1.000000 -1.250000 +v 1.250000 1.000000 -1.250000 +v 0.750000 4.500000 -0.750000 +v 1.250000 4.500000 -0.750000 +v 0.750000 4.500000 -1.250000 +v 1.250000 4.500000 -1.250000 +v -1.062500 1.000000 -0.750000 +v -0.937500 1.000000 0.750000 +v -1.062500 1.250000 -0.750000 +v -0.937500 1.250000 0.750000 +v -1.062500 2.500000 0.750000 +v -0.937500 2.500000 -0.750000 +v -1.062500 2.750000 0.750000 +v -0.937500 2.750000 -0.750000 +v -1.062500 2.750000 -0.750000 +v -0.937500 2.750000 0.750000 +v -1.062500 3.000000 -0.750000 +v -0.937500 3.000000 0.750000 +v -1.062500 4.250000 0.750000 +v -0.937500 4.250000 -0.750000 +v -1.062500 4.500000 0.750000 +v -0.937500 4.500000 -0.750000 +v 0.937500 4.500000 0.750000 +v 1.062500 4.500000 -0.750000 +v 0.937500 4.250000 0.750000 +v 1.062500 4.250000 -0.750000 +v 0.937500 3.000000 -0.750000 +v 1.062500 3.000000 0.750000 +v 0.937500 2.750000 -0.750000 +v 1.062500 2.750000 0.750000 +v 0.937500 2.750000 0.750000 +v 1.062500 2.750000 -0.750000 +v 0.937500 2.500000 0.750000 +v 1.062500 2.500000 -0.750000 +v 0.937500 1.250000 -0.750000 +v 1.062500 1.250000 0.750000 +v 0.937500 1.000000 -0.750000 +v 1.062500 1.000000 0.750000 +v 0.750000 1.000000 -1.062500 +v -0.750000 1.000000 -0.937500 +v 0.750000 1.250000 -1.062500 +v -0.750000 1.250000 -0.937500 +v -0.750000 2.500000 -1.062500 +v 0.750000 2.500000 -0.937500 +v -0.750000 2.750000 -1.062500 +v 0.750000 2.750000 -0.937500 +v 0.750000 2.750000 -1.062500 +v -0.750000 2.750000 -0.937500 +v 0.750000 3.000000 -1.062500 +v -0.750000 3.000000 -0.937500 +v -0.750000 4.250000 -1.062500 +v 0.750000 4.250000 -0.937500 +v -0.750000 4.500000 -1.062500 +v 0.750000 4.500000 -0.937500 +v -0.750000 4.500000 0.937500 +v 0.750000 4.500000 1.062500 +v -0.750000 4.250000 0.937500 +v 0.750000 4.250000 1.062500 +v 0.750000 3.000000 0.937500 +v -0.750000 3.000000 1.062500 +v 0.750000 2.750000 0.937500 +v -0.750000 2.750000 1.062500 +v -0.750000 2.750000 0.937500 +v 0.750000 2.750000 1.062500 +v -0.750000 2.500000 0.937500 +v 0.750000 2.500000 1.062500 +v 0.750000 1.250000 0.937500 +v -0.750000 1.250000 1.062500 +v 0.750000 1.000000 0.937500 +v -0.750000 1.000000 1.062500 +v -0.750000 5.375000 -1.250000 +v -0.750000 5.375000 1.250000 +v 0.750000 5.375000 -1.250000 +v 0.750000 5.375000 1.250000 +v 1.250000 5.375000 -0.750000 +v -1.250000 5.375000 -0.750000 +v 1.250000 5.375000 0.750000 +v -1.250000 5.375000 0.750000 +v -0.750000 5.500000 -1.250000 +v -0.750000 5.500000 1.250000 +v 0.750000 5.500000 -1.250000 +v 0.750000 5.500000 1.250000 +v 1.250000 5.500000 -0.750000 +v -1.250000 5.500000 -0.750000 +v 1.250000 5.500000 0.750000 +v -1.250000 5.500000 0.750000 +v -0.750000 5.750000 -1.250000 +v -0.750000 5.750000 1.250000 +v 0.750000 5.750000 -1.250000 +v 0.750000 5.750000 1.250000 +v 1.250000 5.750000 -0.750000 +v -1.250000 5.750000 -0.750000 +v 1.250000 5.750000 0.750000 +v -1.250000 5.750000 0.750000 +v -0.750000 5.875000 -1.250000 +v -0.750000 5.875000 1.250000 +v 0.750000 5.875000 -1.250000 +v 0.750000 5.875000 1.250000 +v 1.250000 5.875000 -0.750000 +v -1.250000 5.875000 -0.750000 +v 1.250000 5.875000 0.750000 +v -1.250000 5.875000 0.750000 +v -0.750000 1.000000 1.062500 +v 0.750000 1.000000 0.937500 +v -0.750000 1.250000 1.062500 +v 0.750000 1.250000 0.937500 +v 0.750000 2.500000 1.062500 +v -0.750000 2.500000 0.937500 +v 0.750000 2.750000 1.062500 +v -0.750000 2.750000 0.937500 +v -0.750000 2.750000 1.062500 +v 0.750000 2.750000 0.937500 +v -0.750000 3.000000 1.062500 +v 0.750000 3.000000 0.937500 +v 0.750000 4.250000 1.062500 +v -0.750000 4.250000 0.937500 +v 0.750000 4.500000 1.062500 +v -0.750000 4.500000 0.937500 +v 0.750000 4.500000 -0.937500 +v -0.750000 4.500000 -1.062500 +v 0.750000 4.250000 -0.937500 +v -0.750000 4.250000 -1.062500 +v -0.750000 3.000000 -0.937500 +v 0.750000 3.000000 -1.062500 +v -0.750000 2.750000 -0.937500 +v 0.750000 2.750000 -1.062500 +v 0.750000 2.750000 -0.937500 +v -0.750000 2.750000 -1.062500 +v 0.750000 2.500000 -0.937500 +v -0.750000 2.500000 -1.062500 +v -0.750000 1.250000 -0.937500 +v 0.750000 1.250000 -1.062500 +v -0.750000 1.000000 -0.937500 +v 0.750000 1.000000 -1.062500 +v 1.062500 1.000000 0.750000 +v 0.937500 1.000000 -0.750000 +v 1.062500 1.250000 0.750000 +v 0.937500 1.250000 -0.750000 +v 1.062500 2.500000 -0.750000 +v 0.937500 2.500000 0.750000 +v 1.062500 2.750000 -0.750000 +v 0.937500 2.750000 0.750000 +v 1.062500 2.750000 0.750000 +v 0.937500 2.750000 -0.750000 +v 1.062500 3.000000 0.750000 +v 0.937500 3.000000 -0.750000 +v 1.062500 4.250000 -0.750000 +v 0.937500 4.250000 0.750000 +v 1.062500 4.500000 -0.750000 +v 0.937500 4.500000 0.750000 +v -0.937500 4.500000 -0.750000 +v -1.062500 4.500000 0.750000 +v -0.937500 4.250000 -0.750000 +v -1.062500 4.250000 0.750000 +v -0.937500 3.000000 0.750000 +v -1.062500 3.000000 -0.750000 +v -0.937500 2.750000 0.750000 +v -1.062500 2.750000 -0.750000 +v -0.937500 2.750000 -0.750000 +v -1.062500 2.750000 0.750000 +v -0.937500 2.500000 -0.750000 +v -1.062500 2.500000 0.750000 +v -0.937500 1.250000 0.750000 +v -1.062500 1.250000 -0.750000 +v -0.937500 1.000000 0.750000 +v -1.062500 1.000000 -0.750000 +vt 0.000000 0.000000 +vt 0.181818 0.400000 +vt 0.000000 0.400000 +vt 0.181818 0.533333 +vt 0.000000 0.933333 +vt 0.000000 0.533333 +vt 0.181818 0.400000 +vt 0.000000 0.533333 +vt 0.000000 0.400000 +vt 0.181818 0.400000 +vt 0.000000 0.533333 +vt 0.000000 0.400000 +vt 0.181818 0.400000 +vt 0.000000 0.533333 +vt 0.000000 0.400000 +vt 0.181818 0.000000 +vt 0.363636 0.400000 +vt 0.181818 0.400000 +vt 0.363636 0.466667 +vt 0.181818 0.866667 +vt 0.181818 0.466667 +vt 0.363636 0.400000 +vt 0.181818 0.466667 +vt 0.181818 0.400000 +vt 0.363636 0.400000 +vt 0.181818 0.466667 +vt 0.181818 0.400000 +vt 0.363636 0.400000 +vt 0.181818 0.466667 +vt 0.181818 0.400000 +vt 0.674242 0.066667 +vt 0.636364 0.000000 +vt 0.674242 0.000000 +vt 0.522727 0.066667 +vt 0.484848 0.000000 +vt 0.522727 0.000000 +vt 0.712121 0.000000 +vt 0.560606 0.000000 +vt 0.750000 0.000000 +vt 0.712121 0.066667 +vt 0.598485 0.000000 +vt 0.560606 0.066667 +vt 0.598485 0.066667 +vt 0.787879 0.000000 +vt 0.750000 0.066667 +vt 0.511364 0.266667 +vt 0.484848 0.125000 +vt 0.549242 0.066667 +vt 0.378788 0.666667 +vt 0.371212 0.683333 +vt 0.371212 0.666667 +vt 0.378788 0.666667 +vt 0.371212 0.683333 +vt 0.371212 0.666667 +vt 0.393939 0.533333 +vt 0.386364 0.666667 +vt 0.386364 0.533333 +vt 0.378788 0.533333 +vt 0.371212 0.533333 +vt 0.363636 0.666667 +vt 0.363636 0.533333 +vt 0.393939 0.533333 +vt 0.386364 0.666667 +vt 0.386364 0.533333 +vt 0.378788 0.533333 +vt 0.371212 0.533333 +vt 0.363636 0.666667 +vt 0.363636 0.533333 +vt 0.378788 0.666667 +vt 0.371212 0.683333 +vt 0.371212 0.666667 +vt 0.378788 0.666667 +vt 0.371212 0.683333 +vt 0.371212 0.666667 +vt 0.393939 0.533333 +vt 0.386364 0.666667 +vt 0.386364 0.533333 +vt 0.378788 0.533333 +vt 0.371212 0.533333 +vt 0.363636 0.666667 +vt 0.363636 0.533333 +vt 0.393939 0.533333 +vt 0.386364 0.666667 +vt 0.386364 0.533333 +vt 0.378788 0.533333 +vt 0.371212 0.533333 +vt 0.363636 0.666667 +vt 0.363636 0.533333 +vt 0.378788 0.683333 +vt 0.371212 0.666667 +vt 0.378788 0.666667 +vt 0.378788 0.683333 +vt 0.371212 0.666667 +vt 0.378788 0.666667 +vt 0.371212 0.533333 +vt 0.363636 0.666667 +vt 0.363636 0.533333 +vt 0.386364 0.533333 +vt 0.378788 0.533333 +vt 0.393939 0.533333 +vt 0.386364 0.666667 +vt 0.371212 0.533333 +vt 0.363636 0.666667 +vt 0.363636 0.533333 +vt 0.386364 0.533333 +vt 0.378788 0.533333 +vt 0.393939 0.533333 +vt 0.386364 0.666667 +vt 0.378788 0.683333 +vt 0.371212 0.666667 +vt 0.378788 0.666667 +vt 0.378788 0.683333 +vt 0.371212 0.666667 +vt 0.378788 0.666667 +vt 0.371212 0.533333 +vt 0.363636 0.666667 +vt 0.363636 0.533333 +vt 0.386364 0.533333 +vt 0.378788 0.533333 +vt 0.393939 0.533333 +vt 0.386364 0.666667 +vt 0.371212 0.533333 +vt 0.363636 0.666667 +vt 0.363636 0.533333 +vt 0.386364 0.533333 +vt 0.378788 0.533333 +vt 0.393939 0.533333 +vt 0.386364 0.666667 +vt 0.454545 0.516667 +vt 0.484848 0.533333 +vt 0.454545 0.533333 +vt 0.454545 0.516667 +vt 0.484848 0.533333 +vt 0.454545 0.533333 +vt 0.363636 0.516667 +vt 0.363636 0.533333 +vt 0.363636 0.516667 +vt 0.454545 0.533333 +vt 0.363636 0.533333 +vt 0.484848 0.516667 +vt 0.484848 0.533333 +vt 0.454545 0.533333 +vt 0.484848 0.516667 +vt 0.484848 0.533333 +vt 0.363636 0.516667 +vt 0.363636 0.533333 +vt 0.363636 0.516667 +vt 0.363636 0.533333 +vt 0.454545 0.500000 +vt 0.484848 0.516667 +vt 0.454545 0.516667 +vt 0.454545 0.500000 +vt 0.484848 0.516667 +vt 0.454545 0.516667 +vt 0.363636 0.500000 +vt 0.363636 0.516667 +vt 0.363636 0.500000 +vt 0.454545 0.516667 +vt 0.363636 0.516667 +vt 0.484848 0.500000 +vt 0.484848 0.516667 +vt 0.454545 0.516667 +vt 0.484848 0.500000 +vt 0.484848 0.516667 +vt 0.363636 0.500000 +vt 0.363636 0.516667 +vt 0.363636 0.500000 +vt 0.363636 0.516667 +vt 0.454545 -0.000000 +vt 0.424242 0.466667 +vt 0.424242 -0.000000 +vt 0.393939 -0.000000 +vt 0.363636 0.466667 +vt 0.363636 -0.000000 +vt 0.484848 -0.000000 +vt 0.454545 0.466667 +vt 0.454545 -0.000000 +vt 0.424242 -0.000000 +vt 0.393939 0.466667 +vt 0.393939 -0.000000 +vt 0.363636 0.466667 +vt 0.363636 -0.000000 +vt 0.424242 0.466667 +vt 0.484848 -0.000000 +vt 0.454545 0.466667 +vt 0.393939 0.466667 +vt 0.424242 -0.000000 +vt 0.393939 0.466667 +vt 0.393939 -0.000000 +vt 0.484848 -0.000000 +vt 0.454545 0.466667 +vt 0.454545 -0.000000 +vt 0.393939 -0.000000 +vt 0.363636 0.466667 +vt 0.363636 -0.000000 +vt 0.454545 -0.000000 +vt 0.424242 0.466667 +vt 0.424242 -0.000000 +vt 0.393939 0.466667 +vt 0.484848 -0.000000 +vt 0.454545 0.466667 +vt 0.424242 0.466667 +vt 0.363636 0.466667 +vt 0.363636 -0.000000 +vt 0.454545 0.500000 +vt 0.363636 0.466667 +vt 0.363636 0.500000 +vt 0.363636 0.500000 +vt 0.454545 0.466667 +vt 0.363636 0.466667 +vt 0.454545 0.500000 +vt 0.363636 0.466667 +vt 0.363636 0.500000 +vt 0.363636 0.500000 +vt 0.454545 0.466667 +vt 0.363636 0.466667 +vt 0.363636 0.500000 +vt 0.454545 0.466667 +vt 0.363636 0.466667 +vt 0.454545 0.500000 +vt 0.363636 0.466667 +vt 0.363636 0.500000 +vt 0.363636 0.500000 +vt 0.454545 0.466667 +vt 0.363636 0.466667 +vt 0.454545 0.500000 +vt 0.363636 0.466667 +vt 0.363636 0.500000 +vt 0.454545 0.500000 +vt 0.363636 0.466667 +vt 0.363636 0.500000 +vt 0.363636 0.500000 +vt 0.454545 0.466667 +vt 0.363636 0.466667 +vt 0.454545 0.500000 +vt 0.363636 0.466667 +vt 0.363636 0.500000 +vt 0.363636 0.500000 +vt 0.454545 0.466667 +vt 0.363636 0.466667 +vt 0.363636 0.500000 +vt 0.454545 0.466667 +vt 0.363636 0.466667 +vt 0.454545 0.500000 +vt 0.363636 0.466667 +vt 0.363636 0.500000 +vt 0.363636 0.500000 +vt 0.454545 0.466667 +vt 0.363636 0.466667 +vt 0.454545 0.500000 +vt 0.363636 0.466667 +vt 0.363636 0.500000 +vt 0.454545 0.516667 +vt 0.363636 0.500000 +vt 0.363636 0.516667 +vt 0.454545 0.516667 +vt 0.363636 0.500000 +vt 0.363636 0.516667 +vt 0.484848 0.500000 +vt 0.484848 0.516667 +vt 0.484848 0.500000 +vt 0.454545 0.516667 +vt 0.484848 0.516667 +vt 0.363636 0.500000 +vt 0.363636 0.516667 +vt 0.454545 0.516667 +vt 0.363636 0.500000 +vt 0.363636 0.516667 +vt 0.484848 0.516667 +vt 0.454545 0.500000 +vt 0.484848 0.516667 +vt 0.454545 0.500000 +vt 0.454545 0.533333 +vt 0.363636 0.516667 +vt 0.363636 0.533333 +vt 0.454545 0.533333 +vt 0.363636 0.516667 +vt 0.363636 0.533333 +vt 0.484848 0.516667 +vt 0.484848 0.533333 +vt 0.484848 0.516667 +vt 0.454545 0.533333 +vt 0.484848 0.533333 +vt 0.363636 0.516667 +vt 0.363636 0.533333 +vt 0.454545 0.533333 +vt 0.363636 0.516667 +vt 0.363636 0.533333 +vt 0.484848 0.533333 +vt 0.454545 0.516667 +vt 0.484848 0.533333 +vt 0.454545 0.516667 +vt 0.363636 0.466667 +vt 0.454545 0.500000 +vt 0.363636 0.500000 +vt 0.454545 0.466667 +vt 0.363636 0.500000 +vt 0.363636 0.466667 +vt 0.363636 0.466667 +vt 0.454545 0.500000 +vt 0.363636 0.500000 +vt 0.454545 0.466667 +vt 0.363636 0.500000 +vt 0.363636 0.466667 +vt 0.454545 0.466667 +vt 0.363636 0.500000 +vt 0.363636 0.466667 +vt 0.363636 0.466667 +vt 0.454545 0.500000 +vt 0.363636 0.500000 +vt 0.454545 0.466667 +vt 0.363636 0.500000 +vt 0.363636 0.466667 +vt 0.363636 0.466667 +vt 0.454545 0.500000 +vt 0.363636 0.500000 +vt 0.363636 0.466667 +vt 0.454545 0.500000 +vt 0.363636 0.500000 +vt 0.454545 0.466667 +vt 0.363636 0.500000 +vt 0.363636 0.466667 +vt 0.363636 0.466667 +vt 0.454545 0.500000 +vt 0.363636 0.500000 +vt 0.454545 0.466667 +vt 0.363636 0.500000 +vt 0.363636 0.466667 +vt 0.454545 0.466667 +vt 0.363636 0.500000 +vt 0.363636 0.466667 +vt 0.363636 0.466667 +vt 0.454545 0.500000 +vt 0.363636 0.500000 +vt 0.454545 0.466667 +vt 0.363636 0.500000 +vt 0.363636 0.466667 +vt 0.363636 0.466667 +vt 0.454545 0.500000 +vt 0.363636 0.500000 +vt 0.181818 0.000000 +vt 0.181818 0.933333 +vt 0.181818 0.533333 +vt 0.181818 0.533333 +vt 0.181818 0.533333 +vt 0.363636 0.000000 +vt 0.363636 0.866667 +vt 0.363636 0.466667 +vt 0.363636 0.466667 +vt 0.363636 0.466667 +vt 0.636364 0.066667 +vt 0.484848 0.066667 +vt 0.787879 0.066667 +vt 0.575758 0.125000 +vt 0.575758 0.208333 +vt 0.549242 0.266667 +vt 0.484848 0.208333 +vt 0.511364 0.066667 +vt 0.378788 0.683333 +vt 0.378788 0.683333 +vt 0.393939 0.666667 +vt 0.393939 0.666667 +vt 0.378788 0.683333 +vt 0.378788 0.683333 +vt 0.393939 0.666667 +vt 0.393939 0.666667 +vt 0.371212 0.683333 +vt 0.371212 0.683333 +vt 0.393939 0.666667 +vt 0.393939 0.666667 +vt 0.371212 0.683333 +vt 0.371212 0.683333 +vt 0.393939 0.666667 +vt 0.393939 0.666667 +vt 0.484848 0.516667 +vt 0.484848 0.516667 +vt 0.454545 0.516667 +vt 0.454545 0.516667 +vt 0.484848 0.500000 +vt 0.484848 0.500000 +vt 0.454545 0.500000 +vt 0.454545 0.500000 +vt 0.484848 0.466667 +vt 0.484848 0.466667 +vt 0.484848 0.466667 +vt 0.484848 0.466667 +vt 0.454545 0.466667 +vt 0.454545 0.500000 +vt 0.454545 0.466667 +vt 0.454545 0.500000 +vt 0.454545 0.500000 +vt 0.454545 0.466667 +vt 0.454545 0.500000 +vt 0.454545 0.466667 +vt 0.454545 0.466667 +vt 0.454545 0.500000 +vt 0.454545 0.466667 +vt 0.454545 0.500000 +vt 0.454545 0.500000 +vt 0.454545 0.466667 +vt 0.454545 0.500000 +vt 0.454545 0.466667 +vt 0.454545 0.500000 +vt 0.454545 0.500000 +vt 0.484848 0.500000 +vt 0.484848 0.500000 +vt 0.454545 0.516667 +vt 0.454545 0.516667 +vt 0.484848 0.516667 +vt 0.484848 0.516667 +vt 0.454545 0.466667 +vt 0.454545 0.500000 +vt 0.454545 0.466667 +vt 0.454545 0.500000 +vt 0.454545 0.500000 +vt 0.454545 0.466667 +vt 0.454545 0.500000 +vt 0.454545 0.466667 +vt 0.454545 0.466667 +vt 0.454545 0.500000 +vt 0.454545 0.466667 +vt 0.454545 0.500000 +vt 0.454545 0.500000 +vt 0.454545 0.466667 +vt 0.454545 0.500000 +vt 0.454545 0.466667 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.7071 0.0000 -0.7071 +vn -0.7071 0.0000 0.7071 +vn -0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 0.7071 +s off +f 387/523/54 386/524/54 385/525/54 +f 390/526/55 391/527/55 389/528/55 +f 385/529/56 391/530/56 387/531/56 +f 387/532/57 392/533/57 388/534/57 +f 386/524/58 389/528/58 385/525/58 +f 388/535/59 390/536/59 386/537/59 +f 395/538/54 394/539/54 393/540/54 +f 398/541/55 399/542/55 397/543/55 +f 393/544/56 399/545/56 395/546/56 +f 395/547/57 400/548/57 396/549/57 +f 394/539/58 397/543/58 393/540/58 +f 396/550/59 398/551/59 394/552/59 +f 412/553/60 406/554/60 404/555/60 +f 409/556/61 407/557/61 401/558/61 +f 403/559/57 412/553/57 404/555/57 +f 402/560/58 409/556/58 401/558/58 +f 408/561/62 411/562/62 403/559/62 +f 405/563/63 410/564/63 402/560/63 +f 406/554/59 413/565/59 405/563/59 +f 407/566/56 416/567/56 408/561/56 +f 410/568/55 414/569/55 411/570/55 +f 435/571/55 433/572/55 434/573/55 +f 427/574/55 425/575/55 426/576/55 +f 423/577/57 428/578/57 424/579/57 +f 422/580/58 426/576/58 421/581/58 +f 424/579/59 427/574/59 422/580/59 +f 421/581/56 425/582/56 423/583/56 +f 431/584/57 436/585/57 432/586/57 +f 430/587/58 434/573/58 429/588/58 +f 432/586/59 435/571/59 430/587/59 +f 429/588/56 433/589/56 431/590/56 +f 451/591/55 449/592/55 450/593/55 +f 443/594/55 441/595/55 442/596/55 +f 439/597/57 444/598/57 440/599/57 +f 438/600/58 442/596/58 437/601/58 +f 440/599/59 443/594/59 438/600/59 +f 437/601/56 441/602/56 439/603/56 +f 447/604/57 452/605/57 448/606/57 +f 446/607/58 450/593/58 445/608/58 +f 448/606/59 451/591/59 446/607/59 +f 445/608/56 449/609/56 447/610/56 +f 467/611/55 465/612/55 466/613/55 +f 459/614/55 457/615/55 458/616/55 +f 455/617/56 460/618/56 456/619/56 +f 454/620/59 458/616/59 453/621/59 +f 456/622/57 459/623/57 454/620/57 +f 453/621/58 457/615/58 455/617/58 +f 463/624/56 468/625/56 464/626/56 +f 462/627/59 466/613/59 461/628/59 +f 464/629/57 467/630/57 462/627/57 +f 461/628/58 465/612/58 463/624/58 +f 483/631/55 481/632/55 482/633/55 +f 475/634/55 473/635/55 474/636/55 +f 471/637/56 476/638/56 472/639/56 +f 470/640/59 474/636/59 469/641/59 +f 472/642/57 475/643/57 470/640/57 +f 469/641/58 473/635/58 471/637/58 +f 479/644/56 484/645/56 480/646/56 +f 478/647/59 482/633/59 477/648/59 +f 480/649/57 483/650/57 478/647/57 +f 477/648/58 481/632/58 479/644/58 +f 492/651/60 486/652/60 420/653/60 +f 489/654/61 487/655/61 417/656/61 +f 490/657/59 420/653/59 418/658/59 +f 495/659/58 485/660/58 487/661/58 +f 485/660/63 490/662/63 418/663/63 +f 488/664/62 491/665/62 419/666/62 +f 491/667/56 417/656/56 419/668/56 +f 494/669/57 488/664/57 486/670/57 +f 508/671/60 502/672/60 500/673/60 +f 505/674/61 503/675/61 497/676/61 +f 506/677/59 500/673/59 498/678/59 +f 511/679/58 501/680/58 503/681/58 +f 501/680/63 506/682/63 498/683/63 +f 504/684/62 507/685/62 499/686/62 +f 507/687/56 497/676/56 499/688/56 +f 510/689/57 504/684/57 502/690/57 +f 524/691/59 526/692/59 522/693/59 +f 521/694/56 527/695/56 523/696/56 +f 516/697/59 518/698/59 514/699/59 +f 513/700/56 519/701/56 515/702/56 +f 515/702/57 520/703/57 516/704/57 +f 514/699/58 517/705/58 513/700/58 +f 523/706/57 528/707/57 524/691/57 +f 522/693/58 525/708/58 521/694/58 +f 540/709/59 542/710/59 538/711/59 +f 537/712/56 543/713/56 539/714/56 +f 532/715/59 534/716/59 530/717/59 +f 529/718/56 535/719/56 531/720/56 +f 531/720/57 536/721/57 532/715/57 +f 530/722/58 533/723/58 529/718/58 +f 539/714/57 544/724/57 540/709/57 +f 538/711/58 541/725/58 537/726/58 +f 550/727/59 548/728/59 546/729/59 +f 547/730/59 549/731/59 545/732/59 +f 558/733/59 556/734/59 554/735/59 +f 555/736/59 557/737/59 553/738/59 +f 566/739/56 564/740/56 568/741/56 +f 563/742/56 565/743/56 567/744/56 +f 574/745/56 572/746/56 576/747/56 +f 571/748/56 573/749/56 575/750/56 +f 582/751/58 580/752/58 578/753/58 +f 579/754/58 581/755/58 577/756/58 +f 590/757/58 588/758/58 586/759/58 +f 587/760/58 589/761/58 585/762/58 +f 598/763/57 596/764/57 600/765/57 +f 595/766/57 597/767/57 599/768/57 +f 606/769/57 604/770/57 608/771/57 +f 603/772/57 605/773/57 607/774/57 +f 617/775/58 611/776/58 619/777/58 +f 624/778/59 614/779/59 622/780/59 +f 614/781/63 617/775/63 622/782/63 +f 615/783/62 620/784/62 623/785/62 +f 620/784/57 610/786/57 618/787/57 +f 621/788/56 615/789/56 623/790/56 +f 618/791/60 616/792/60 624/778/60 +f 619/793/61 613/794/61 621/788/61 +f 633/795/58 627/796/58 635/797/58 +f 640/798/59 630/799/59 638/800/59 +f 630/801/63 633/795/63 638/802/63 +f 631/803/62 636/804/62 639/805/62 +f 636/804/57 626/806/57 634/807/57 +f 637/808/56 631/809/56 639/810/56 +f 634/811/60 632/812/60 640/798/60 +f 635/813/61 629/814/61 637/808/61 +f 644/815/58 646/816/58 642/817/58 +f 645/818/58 643/819/58 641/820/58 +f 652/821/58 654/822/58 650/823/58 +f 653/824/58 651/825/58 649/826/58 +f 660/827/57 662/828/57 664/829/57 +f 661/830/57 659/831/57 663/832/57 +f 668/833/57 670/834/57 672/835/57 +f 669/836/57 667/837/57 671/838/57 +f 676/839/59 678/840/59 674/841/59 +f 677/842/59 675/843/59 673/844/59 +f 684/845/59 686/846/59 682/847/59 +f 685/848/59 683/849/59 681/850/59 +f 692/851/56 694/852/56 696/853/56 +f 693/854/56 691/855/56 695/856/56 +f 700/857/56 702/858/56 704/859/56 +f 701/860/56 699/861/56 703/862/56 +f 387/523/54 388/863/54 386/524/54 +f 390/526/55 392/864/55 391/527/55 +f 385/529/56 389/865/56 391/530/56 +f 387/532/57 391/866/57 392/533/57 +f 386/524/58 390/526/58 389/528/58 +f 388/535/59 392/867/59 390/536/59 +f 395/538/54 396/868/54 394/539/54 +f 398/541/55 400/869/55 399/542/55 +f 393/544/56 397/870/56 399/545/56 +f 395/547/57 399/871/57 400/548/57 +f 394/539/58 398/541/58 397/543/58 +f 396/550/59 400/872/59 398/551/59 +f 412/553/60 414/873/60 406/554/60 +f 409/556/61 415/874/61 407/557/61 +f 403/559/57 411/562/57 412/553/57 +f 402/560/58 410/564/58 409/556/58 +f 408/561/62 416/567/62 411/562/62 +f 405/563/63 413/565/63 410/564/63 +f 406/554/59 414/873/59 413/565/59 +f 407/566/56 415/875/56 416/567/56 +f 411/570/55 416/876/55 415/877/55 +f 415/877/55 409/878/55 410/568/55 +f 410/568/55 413/879/55 414/569/55 +f 414/569/55 412/880/55 411/570/55 +f 411/570/55 415/877/55 410/568/55 +f 435/571/55 436/881/55 433/572/55 +f 427/574/55 428/882/55 425/575/55 +f 423/577/57 425/883/57 428/578/57 +f 422/580/58 427/574/58 426/576/58 +f 424/579/59 428/578/59 427/574/59 +f 421/581/56 426/576/56 425/582/56 +f 431/584/57 433/884/57 436/585/57 +f 430/587/58 435/571/58 434/573/58 +f 432/586/59 436/585/59 435/571/59 +f 429/588/56 434/573/56 433/589/56 +f 451/591/55 452/885/55 449/592/55 +f 443/594/55 444/886/55 441/595/55 +f 439/597/57 441/887/57 444/598/57 +f 438/600/58 443/594/58 442/596/58 +f 440/599/59 444/598/59 443/594/59 +f 437/601/56 442/596/56 441/602/56 +f 447/604/57 449/888/57 452/605/57 +f 446/607/58 451/591/58 450/593/58 +f 448/606/59 452/605/59 451/591/59 +f 445/608/56 450/593/56 449/609/56 +f 467/611/55 468/889/55 465/612/55 +f 459/614/55 460/890/55 457/615/55 +f 455/617/56 457/615/56 460/618/56 +f 454/620/59 459/623/59 458/616/59 +f 456/622/57 460/891/57 459/623/57 +f 453/621/58 458/616/58 457/615/58 +f 463/624/56 465/612/56 468/625/56 +f 462/627/59 467/630/59 466/613/59 +f 464/629/57 468/892/57 467/630/57 +f 461/628/58 466/613/58 465/612/58 +f 483/631/55 484/893/55 481/632/55 +f 475/634/55 476/894/55 473/635/55 +f 471/637/56 473/635/56 476/638/56 +f 470/640/59 475/643/59 474/636/59 +f 472/642/57 476/895/57 475/643/57 +f 469/641/58 474/636/58 473/635/58 +f 479/644/56 481/632/56 484/645/56 +f 478/647/59 483/650/59 482/633/59 +f 480/649/57 484/896/57 483/650/57 +f 477/648/58 482/633/58 481/632/58 +f 492/651/60 494/897/60 486/652/60 +f 489/654/61 495/898/61 487/655/61 +f 490/657/59 492/651/59 420/653/59 +f 495/659/58 493/899/58 485/660/58 +f 485/660/63 493/899/63 490/662/63 +f 488/664/62 496/900/62 491/665/62 +f 491/667/56 489/654/56 417/656/56 +f 494/669/57 496/900/57 488/664/57 +f 508/671/60 510/901/60 502/672/60 +f 505/674/61 511/902/61 503/675/61 +f 506/677/59 508/671/59 500/673/59 +f 511/679/58 509/903/58 501/680/58 +f 501/680/63 509/903/63 506/682/63 +f 504/684/62 512/904/62 507/685/62 +f 507/687/56 505/674/56 497/676/56 +f 510/689/57 512/904/57 504/684/57 +f 524/691/59 528/707/59 526/692/59 +f 521/694/56 525/708/56 527/695/56 +f 516/697/59 520/905/59 518/698/59 +f 513/700/56 517/705/56 519/701/56 +f 515/702/57 519/701/57 520/703/57 +f 514/699/58 518/698/58 517/705/58 +f 523/706/57 527/906/57 528/707/57 +f 522/693/58 526/692/58 525/708/58 +f 540/709/59 544/724/59 542/710/59 +f 537/712/56 541/907/56 543/713/56 +f 532/715/59 536/721/59 534/716/59 +f 529/718/56 533/723/56 535/719/56 +f 531/720/57 535/719/57 536/721/57 +f 530/722/58 534/908/58 533/723/58 +f 539/714/57 543/713/57 544/724/57 +f 538/711/58 542/710/58 541/725/58 +f 550/727/59 552/909/59 548/728/59 +f 547/730/59 551/910/59 549/731/59 +f 558/733/59 560/911/59 556/734/59 +f 555/736/59 559/912/59 557/737/59 +f 566/739/56 562/913/56 564/740/56 +f 563/742/56 561/914/56 565/743/56 +f 574/745/56 570/915/56 572/746/56 +f 571/748/56 569/916/56 573/749/56 +f 582/751/58 584/917/58 580/752/58 +f 579/754/58 583/918/58 581/755/58 +f 590/757/58 592/919/58 588/758/58 +f 587/760/58 591/920/58 589/761/58 +f 598/763/57 594/921/57 596/764/57 +f 595/766/57 593/922/57 597/767/57 +f 606/769/57 602/923/57 604/770/57 +f 603/772/57 601/924/57 605/773/57 +f 617/775/58 609/925/58 611/776/58 +f 624/778/59 616/792/59 614/779/59 +f 614/781/63 609/925/63 617/775/63 +f 615/783/62 612/926/62 620/784/62 +f 620/784/57 612/926/57 610/786/57 +f 621/788/56 613/794/56 615/789/56 +f 618/791/60 610/927/60 616/792/60 +f 619/793/61 611/928/61 613/794/61 +f 633/795/58 625/929/58 627/796/58 +f 640/798/59 632/812/59 630/799/59 +f 630/801/63 625/929/63 633/795/63 +f 631/803/62 628/930/62 636/804/62 +f 636/804/57 628/930/57 626/806/57 +f 637/808/56 629/814/56 631/809/56 +f 634/811/60 626/931/60 632/812/60 +f 635/813/61 627/932/61 629/814/61 +f 644/815/58 648/933/58 646/816/58 +f 645/818/58 647/934/58 643/819/58 +f 652/821/58 656/935/58 654/822/58 +f 653/824/58 655/936/58 651/825/58 +f 660/827/57 658/937/57 662/828/57 +f 661/830/57 657/938/57 659/831/57 +f 668/833/57 666/939/57 670/834/57 +f 669/836/57 665/940/57 667/837/57 +f 676/839/59 680/941/59 678/840/59 +f 677/842/59 679/942/59 675/843/59 +f 684/845/59 688/943/59 686/846/59 +f 685/848/59 687/944/59 683/849/59 +f 692/851/56 690/945/56 694/852/56 +f 693/854/56 689/946/56 691/855/56 +f 700/857/56 698/947/56 702/858/56 +f 701/860/56 697/948/56 699/861/56 diff --git a/src/main/resources/assets/hbm/textures/models/machines/radar_large.png b/src/main/resources/assets/hbm/textures/models/machines/radar_large.png new file mode 100644 index 0000000000000000000000000000000000000000..e59f207233e41bfb71ab00622da25d62e1e7acd6 GIT binary patch literal 6403 zcmZ8`bzD>N*Z;^(VvLZEkpdzmAVX>}T3Sp5Mkqt2b2LL5NkNg6kdP3O6lq3CgM^?U zF&ZW*F@D$Y_xU}4Jp1GBzV7|RIp=-i{W&+<#7KvphLZ*a0@3T~qRc=bG6-<*3!w(C z(EMjHz#pZDhTd%m@C$(0M}a`>je02LZQsnTtRa_KU2lAgg;sUb)+_CNw{9z`Tu>Xe z|7)u62+CbvR_Ur%%Ikj^{GK7KY$|@@LeIHsk6a-0ngP)6G>M04)khZB<8bxSZV%BZo%a^4F$Su7}UokD04OLktfPkb|kbg z#9xrXLA(CyJp^|s)0dY&($9C^Qe~?JTTJ<^K{T#2Qo@PM@@Lp7-^{A(kehVy^$@u+ zotuyW6hu8vDLOJf;pB`@Tk);jVMYhbecZ5E#ADlTEeJ7+yeBA`@Og4cQwNq29j$Yz zLmvdU#SiH8mWJ7FfoD2x$gAgsWNj=$N1ZCP>%!AS#N`{#A)z#r*awCG)POit0#NByaE6Ci<80zIAY{gn5L(wZ^c#^w252ig&fyJA zqt)h{u?{3O_xAMvEc!ZvjQ>o5Cf&nCWBwA^nB0OQR4GfLzJH-HNPodE=)CRO=i37s zGf$RhK0l4$TAcdvqoe#`o#$n3^M~#T$k5(=eT8)hr8);iKIQ2tSel+90-*x1-e?mNc^{ZBf!@CZ7Jp08`YZk9C?w338fWoZBY!_r5C$S~C? z*9)BG@~Y>IEBD>$qto-~gglIVq*8TFO+iPU*r%ErA#E*2Jt#UA{;i5dkmM(3aAOc% z4Ea43z38N+aVTM;RLopoL5ueqasCYY{hlq;-xYDRajDbn5H!9b!J&fMB$H+hkRmt^ z@n~(VCPlB@pd8Wqnz@fvd6(7cnG{U1CRD8$u1JIk3>*m~;&fxs_eHE)e%>t~Em~vn z*be2m<)y1s@yqJDGKoOBFti|4SLPL__W zq(PEwFIp75aEUBMmV3=}p88>}3jciXfCX$mV0Z{b`L-tPs0dwIl5PIpXf4W)(mLqx zGD@ozO*Qxhn~V{Na{ID3NDkx@c~@ARscZUG6)>oZ=gK>R`Xw^?urjPk>Qd%al_>Eo z`3WW;I$*Le!eb>46e9KYSioF3C~b3jM@Q9YU35K0>BpaS#O>#mB@yVC=m&VSCrdkp z5FO&#-?BdQI5Zv<&W%#sOixI25LW?fMA7WsH_=_n?2yZkF}0X}%4aI6SAse|zguY) zf3~Uklk)V#OM#%hx9?(87gth5!RVV%cDo>E^D1u459rJmYo<+qEn|&Af0-J;&^xec zVYAkO>viX)4uRGBNZghH3ez!ND#+-2;+jY9k!Jk`Y4X0{< zb=Yur=hDhfnIkWmYIT%u$#=aok9O~Qi!JbCr^SPZBDG)`9u4k4Knk>d@&vq-eI{cm z_LHf`IP!qIy?n&1m{r|GC%3f1Raxa>t_AlUnw=y1IId8Cm{5 zO0tOifQ9-Uz^kV=xIQ`9O$BEvRg!{#SnibFN)P) za|d)S?gJw#Me|H)YO?pE5aZf?=mr90f`x(vu+Y>*#}O0f;nHCsm!=NE!+P=viFX+U zVgqB>(l*{XIz|2TJQabt!=?|o|EweJKjwVq?3^gOOBGU5Y`MXr`JP=5K<>@|e+%U9 z<@^J9QCu8%vejKiQ#pB*OJg9jG^nM_cxC^4Qa;XfvXZuElpjI{vAIuo9>lk#`yQqO zp`h#z-y32AN{l|W8tERDQrEDUHj{YR>d`4P$M)71n)sh#I1c6^AW8RKIWki>#lkYy zM#f>yYlnvLbeyO@gYEY_LKzW8G8yT%mJRO0woSFQcl67})9VEb<=zomafN#K?Q5Qc z%hRX^8~9{GQ2X$LX6^hpnV&z)yKhc?G$Zu*EOO@p(gZGMu8sa@Wxs}?^Tv9&Me1lB zW-XwEK#t`h-Djz7%;fXrmag}TI7U1Yj~eGg?O>_m{sW#PV%mFVbfBrZIh9l=Q15T) z`#sC>TOFde7&P)nj)k-+s|Tf@o%OxCYWw_o{Mn(;oGywnNVQK@nOEd!z~A9WknH~y z0`gg|eKq#Dwms!#Y3|7v6Qib`a+v>M;#Q!N*Ut&2xwj&r!Ju*dk!OtQ5X<7p!3O!R zc{C=Dg6e~ z**FY4qY7le^M5v&t#`Atr!hHHO!Rq^lB}^0-!w>Y8R+KCnqf5A-6;VA z_qv<=#6nuAA^pf(XEmCJAq~|8>jhwe9FwcfK& z8a$bqMl$Q^wty9IJp#67lqM_nLhetl!QWvIPWGZymyGYy}}2AIwX1(*|WM3Y<0-6 zHM*3!h<7>d8WuX$Td7-pCXw)+KkUC@XF4v~)ss(vAHap;WX}HXTu>+yuV2JJG2ZQO z$-J|ucbM{x@3FIU1#3fq`G0ZQ-78@e+gnBGszAbxXPMO~g1jbzN$(%FT2pKO8!k2d z6F`L<>Q$dU;c`f4 zY$YVP7pm`vvBw#45x)k#V@~4+b~~xz!&H`+$4dyL$@5Nzvr8Z#N%x14>qwOEVP^vO zk_Vkx+&@d`6jKxT*Ty>4T1Ef-^cP47JSMSqylg3T<3MzF%*io!)oAXEOkX(<+OQIO z`N7tH!Xpt2V;XF*_AtS8VLmT&fkg8)x30WVs|e33q-Io&u1>_OZd?BTWqROyruHFV zyhKN}TG1+3Rjhk{r8zVk*LDvz)K<#_3M&7{NOhEW6kl%qGQNH6GFtGZ~0%&1q`Y*Gjmyt%>Mho%`rEEOf@2AjAdJjEJq7?4QYsF)kB;zoh8|1$FB1tRf=g?8zUElz2tU#y+*?%kYO|HpLBMFy%WrYKs4=6OFNO~c1va@y&)#m# z3l&9wc^7FO;>!PVlPLXS9eEp5iJ|Vu)J(pfa5Hgv+2Lbz^P|6fHw_C+6o?iPrFh{N z8_3%Zm4PS^-9_$pI}7c*DL*;c5K2<)_mC=QrNR${EG|L{-&5R4V`F6>=qhjc{N{QY-v;y^)-m$QG7aJ{4mX5IJAPRevb zwST{I*cmQ)^Yf#|ckIP~tQYPcv?2Y>I zG)8cf+vc+|c$5kTQGS4+6$$6#aeWEEGGCkjj)E6O zYn^opV$DB3Ig6BzoH9^}0$x=;*U_T-_dL$y*H2lrV#Rk{afrkqGHAunhe=ED$iLHg zzUG|HZ>yvD-kdkLFi|8nwRS6aqPi7t21CjSKn3741h{!J0AA=oBut~2kRU11LDPL>+ofy=Of7bc ztu@Q$oAm3Gikoj4+@{@Xcu_Bwyr4{&rmCu3foRjCYrRSeF{Om7IPG;LsCAN{hVt1k z_mqi(*l(%NP?#LH!o?FYp^UIFNx8{D~}2!D#})F-6fzY72FT|JfUr3BSp|{Mu9fY1@&$e>qr&i)Aj|RH_}1xZ*~!kxi( z=sr7dc_tMuN5nUqU_C-{s>7DnMt=Iw15UxDQQ@=f2*HTFO|in`?cazRWrlxqydJT~ zi2*z3`I(o*@}ic^xWC(ha`)Lm!6~oC?Q+|giU@x9nvT>jb8*HCm97b8CYN0dt(aMZpOGjS!w-ru#mpSLS*=HWS$vQ#$}7Z_iOUWQ>LmtxD$%=7>?4=A=!5-gCaP2O zIpo!@zvg@Hn?0I8Jf864#S08y`z^TUMZx8WYP@jC0laZ{jC@=1c%@yo@u;p1Cv33& zN3%(}Fp!NxB~tQCg)eD{l9OR^WfBWpuCA{yHrlRHg1NOH8nWn&aBCwVC16G)=4bd& z%(2fe5`dctNDe}5X{e$jZ<&tv=l$B^$=klHPZ4HHL+W@MJbU0{ALK*i{+3A3PnqiB zI)p=4CGB0;2U-DpPh%EhrM|-5hbZTBmKN@;)zEoBo2?Sm%OW2ONQ!g0*oymGzLV@S z`|!e)reCg&t_aJ}{x;t}ILz{6BK<9(F2@KeCJ8plT+zF%tq2|n?aQH6 zoMfaADlMO`<&oBY#Y;)=jdkbv1I9w(Uk!nNfNk%(P>qLZWFw21#TVy)4G*XLBh2JL z9+`7)yHsn*6(^=b-LSu^SW!7=^0B$_$d<*Za#GO1z(7EPl-#Z7NH9?*8sU#+?WY%+ zmf=cU3W|gvi1C>ULmH;NHjtirOq$xKi^ltona1srDkpzKL}wO?vl|g<>d*EV{VWX# zK*mYnu&Mzs=9hlZ&|IWktr#stFo{sr%F9dJ|%LL?iI(wB|U=f*2 zC9l%Nu)*KIe-H2YogKR|T3g$Z+-ATg;sC0@v2=gJy(}lC;N-9VF_Yhk{TW0oE@S80C`R3@9wog**E(AFwP%y6|I}g~~kG`jJRg~5M{*iJ2N#?D<=|%O;pP6VC zYO=h2cJ9geRT-cgOMc-bdBFX}rp(&{uy^8%9yC=i+U~?7Klq83^ar$0XUy`x|H3Oqn@uM@*37Zti{mHWLVte zquD7>3!ZTKxN!HNdTW_@!!I5?OH5a(=p9^N7bgojIPj9$JeN&66|0_=xq5Bs?6if| zFl`4oF$GUL{w2Dt_c$a3?+x5ogWkT*GJRqC8OQ$0mZkTCf?Fl#tq=LNOTbqRke-$i KszSpi?Ee9C