diff --git a/changelog b/changelog index 64f839ba2..f8da5b198 100644 --- a/changelog +++ b/changelog @@ -1,26 +1,6 @@ ## Changed -* Updated boxducts - * All boxducts are now way cleaner, only having bolts on intersections, with straight parts only having very light seams - * Intersections now have unique textures for each size - * Copper boxducts now have a much nicer color gradient - * Exhaust pipes now have a more rusted appearance -* Added an alternate recipe for blank upgrades using integrated circuits and polymer instead of analog circuits -* Update the soyuz and orbital module recipes - * Simplified the recipes, fewer microcrafting parts - * Both now use low-density elements which are made from aluminium/titanium, fiberglass and hard plastic - * Both now make use of more advanced electronics, although in smaller numbers -* Removed the recipes for the satellite deco blocks, those will be phased out soon. Existing deco blocks can still be crafted back into functional satellites -* Moved the satellite recipes to the welder, the attachment is now welded onto the common satellite body -* Simplified the satellite recipes, adjusted cost based on utility (depth scanner, death ray and resonator are more expensive than the mapper/radar) -* CTRL + ALT view now shows the item's internal name and domain -* Adjusted Mekanism compat - * Decreased crafting complexity and time for the digiminer assembler recipe - * Replaced recipes for the wind turbine and atomic disassembler - * Added a config option for toggling Mekanism compat -* Added recipe caching to the combinator funnel, meaning it no longer has to iterate over the entire recipe list all the time for compression/automation, this should improve performance by a fair bit -* Diodes now use silicon nuggets instead of nether quartz -* Aluminium wire's coloring is now consistent with the ingot +* Changed bedrock ore processing time in the electrolyzer to 60 ticks ## Fixed -* Fixed crash caused by PRISM updating unloaded worlds -* Hopefully fixed another crash caused by PRISM (reproduction was unreliable and sporadic, not confirmed) \ No newline at end of file +* Fixed issue where the NEI universal handler can not correctly display more than 4 outputs (now supports up to 8, which should cover all possible electrolyzer cases too) +* Fixed the metal electrolysis duration variable not being part of the config \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 0219489fa..15c0ea27c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ mod_version=1.0.27 # Empty build number makes a release type -mod_build_number=5000 +mod_build_number=5020 credits=HbMinecraft,\ \ rodolphito (explosion algorithms),\ diff --git a/src/main/java/api/hbm/energymk2/IEnergyProviderMK2.java b/src/main/java/api/hbm/energymk2/IEnergyProviderMK2.java index 6464995a0..c264d0120 100644 --- a/src/main/java/api/hbm/energymk2/IEnergyProviderMK2.java +++ b/src/main/java/api/hbm/energymk2/IEnergyProviderMK2.java @@ -2,6 +2,7 @@ package api.hbm.energymk2; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; +import com.hbm.util.Compat; import api.hbm.energymk2.Nodespace.PowerNode; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; @@ -24,7 +25,7 @@ public interface IEnergyProviderMK2 extends IEnergyHandlerMK2 { public default void tryProvide(World world, int x, int y, int z, ForgeDirection dir) { - TileEntity te = world.getTileEntity(x, y, z); + TileEntity te = Compat.getTileStandard(world, x, y, z); boolean red = false; if(te instanceof IEnergyConductorMK2) { diff --git a/src/main/java/api/hbm/energymk2/IEnergyReceiverMK2.java b/src/main/java/api/hbm/energymk2/IEnergyReceiverMK2.java index 11e55bedc..5ec931234 100644 --- a/src/main/java/api/hbm/energymk2/IEnergyReceiverMK2.java +++ b/src/main/java/api/hbm/energymk2/IEnergyReceiverMK2.java @@ -2,6 +2,7 @@ package api.hbm.energymk2; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; +import com.hbm.util.Compat; import api.hbm.energymk2.Nodespace.PowerNode; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; @@ -30,7 +31,7 @@ public interface IEnergyReceiverMK2 extends IEnergyHandlerMK2 { public default void trySubscribe(World world, int x, int y, int z, ForgeDirection dir) { - TileEntity te = world.getTileEntity(x, y, z); + TileEntity te = Compat.getTileStandard(world, x, y, z); boolean red = false; if(te instanceof IEnergyConductorMK2) { diff --git a/src/main/java/api/hbm/fluid/IFluidConnector.java b/src/main/java/api/hbm/fluid/IFluidConnector.java index a9c900635..a6db68c2c 100644 --- a/src/main/java/api/hbm/fluid/IFluidConnector.java +++ b/src/main/java/api/hbm/fluid/IFluidConnector.java @@ -3,6 +3,7 @@ package api.hbm.fluid; import com.hbm.inventory.fluid.FluidType; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; +import com.hbm.util.Compat; import api.hbm.tile.ILoadedTile; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; @@ -45,7 +46,7 @@ public interface IFluidConnector extends ILoadedTile { */ public default void trySubscribe(FluidType type, World world, int x, int y, int z, ForgeDirection dir) { - TileEntity te = world.getTileEntity(x, y, z); + TileEntity te = Compat.getTileStandard(world, x, y, z); boolean red = false; if(te instanceof IFluidConductor) { diff --git a/src/main/java/api/hbm/fluid/IFluidUser.java b/src/main/java/api/hbm/fluid/IFluidUser.java index a0b5a47f0..4c98dfd14 100644 --- a/src/main/java/api/hbm/fluid/IFluidUser.java +++ b/src/main/java/api/hbm/fluid/IFluidUser.java @@ -4,6 +4,7 @@ import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; +import com.hbm.util.Compat; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.nbt.NBTTagCompound; @@ -71,7 +72,7 @@ public interface IFluidUser extends IFluidConnector { public static IPipeNet getPipeNet(World world, int x, int y, int z, FluidType type) { - TileEntity te = world.getTileEntity(x, y, z); + TileEntity te = Compat.getTileStandard(world, x, y, z); if(te instanceof IFluidConductor) { IFluidConductor con = (IFluidConductor) te; diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 7488f693f..936519c91 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -526,7 +526,6 @@ public class ModBlocks { public static Block lox_barrel; public static Block taint_barrel; public static Block crashed_balefire; - public static Block rejuvinator; public static Block fireworks; public static Block dynamite; public static Block tnt; @@ -591,6 +590,7 @@ public class ModBlocks { public static Block spikes; public static Block charger; + public static Block floodlight; public static Block tesla; @@ -791,6 +791,7 @@ public class ModBlocks { public static Block crane_boxer; public static Block crane_unboxer; public static Block crane_splitter; + public static Block crane_partitioner; public static Block drone_waypoint; public static Block drone_crate; @@ -1098,7 +1099,6 @@ public class ModBlocks { public static Block rbmk_loader; public static Block rbmk_steam_inlet; public static Block rbmk_steam_outlet; - public static Block rbmk_heatex; public static Block pribris; public static Block pribris_burning; public static Block pribris_radiating; @@ -1491,6 +1491,7 @@ public class ModBlocks { spotlight_halogen = new Spotlight(Material.iron, 32, LightType.HALOGEN, true).setBlockName("spotlight_halogen").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":flood_lamp"); spotlight_halogen_off = new Spotlight(Material.iron, 32, LightType.HALOGEN, false).setBlockName("spotlight_halogen_off").setBlockTextureName(RefStrings.MODID + ":flood_lamp_off"); spotlight_beam = new SpotlightBeam().setBlockName("spotlight_beam"); + floodlight = new Floodlight(Material.iron).setBlockName("floodlight").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); reinforced_stone = new BlockGeneric(Material.rock).setBlockName("reinforced_stone").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_stone"); concrete_smooth = new BlockRadResistant(Material.rock).setBlockName("concrete_smooth").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(140.0F).setBlockTextureName(RefStrings.MODID + ":concrete"); @@ -1911,6 +1912,7 @@ public class ModBlocks { crane_boxer = new CraneBoxer().setBlockName("crane_boxer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); crane_unboxer = new CraneUnboxer().setBlockName("crane_unboxer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); crane_splitter = new CraneSplitter().setBlockName("crane_splitter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":crane_side"); + crane_partitioner = new CranePartitioner().setBlockName("crane_partitioner").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":crane_partitioner_side"); fan = new MachineFan().setBlockName("fan").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); piston_inserter = new PistonInserter().setBlockName("piston_inserter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); @@ -2125,7 +2127,6 @@ public class ModBlocks { rbmk_loader = new RBMKLoader(Material.iron).setBlockName("rbmk_loader").setCreativeTab(MainRegistry.machineTab).setHardness(50.0F).setResistance(60.0F).setBlockTextureName(RefStrings.MODID + ":rbmk_loader"); rbmk_steam_inlet = new RBMKInlet(Material.iron).setBlockName("rbmk_steam_inlet").setCreativeTab(MainRegistry.machineTab).setHardness(50.0F).setResistance(60.0F).setBlockTextureName(RefStrings.MODID + ":rbmk_steam_inlet"); rbmk_steam_outlet = new RBMKOutlet(Material.iron).setBlockName("rbmk_steam_outlet").setCreativeTab(MainRegistry.machineTab).setHardness(50.0F).setResistance(60.0F).setBlockTextureName(RefStrings.MODID + ":rbmk_steam_outlet"); - rbmk_heatex = new RBMKHeatex(Material.iron).setBlockName("rbmk_heatex").setCreativeTab(null).setHardness(50.0F).setResistance(60.0F).setBlockTextureName(RefStrings.MODID + ":rbmk_heatex"); pribris = new RBMKDebris().setBlockName("pribris").setCreativeTab(MainRegistry.machineTab).setHardness(50.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_debris"); pribris_burning = new RBMKDebrisBurning().setBlockName("pribris_burning").setCreativeTab(MainRegistry.machineTab).setHardness(50.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_debris_burning"); pribris_radiating = new RBMKDebrisRadiating().setBlockName("pribris_radiating").setCreativeTab(MainRegistry.machineTab).setHardness(50.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_debris_radiating"); @@ -2629,6 +2630,7 @@ public class ModBlocks { GameRegistry.registerBlock(spotlight_halogen, spotlight_halogen.getUnlocalizedName()); GameRegistry.registerBlock(spotlight_halogen_off, spotlight_halogen_off.getUnlocalizedName()); GameRegistry.registerBlock(spotlight_beam, spotlight_beam.getUnlocalizedName()); + register(floodlight); //Reinforced Blocks GameRegistry.registerBlock(asphalt, ItemBlockBlastInfo.class, asphalt.getUnlocalizedName()); @@ -2717,6 +2719,7 @@ public class ModBlocks { //Charger GameRegistry.registerBlock(charger, charger.getUnlocalizedName()); + //GameRegistry.registerBlock(floodlight, floodlight.getUnlocalizedName()); //Decoration Blocks GameRegistry.registerBlock(block_meteor, block_meteor.getUnlocalizedName()); @@ -2892,7 +2895,6 @@ public class ModBlocks { GameRegistry.registerBlock(therm_endo, therm_endo.getUnlocalizedName()); GameRegistry.registerBlock(therm_exo, therm_exo.getUnlocalizedName()); GameRegistry.registerBlock(emp_bomb, emp_bomb.getUnlocalizedName()); - //GameRegistry.registerBlock(rejuvinator, rejuvinator.getUnlocalizedName()); GameRegistry.registerBlock(det_cord, det_cord.getUnlocalizedName()); GameRegistry.registerBlock(det_charge, det_charge.getUnlocalizedName()); GameRegistry.registerBlock(det_nuke, det_nuke.getUnlocalizedName()); @@ -3110,7 +3112,6 @@ public class ModBlocks { register(rbmk_loader); register(rbmk_steam_inlet); register(rbmk_steam_outlet); - GameRegistry.registerBlock(rbmk_heatex, rbmk_heatex.getUnlocalizedName()); GameRegistry.registerBlock(pribris, pribris.getUnlocalizedName()); GameRegistry.registerBlock(pribris_burning, pribris_burning.getUnlocalizedName()); GameRegistry.registerBlock(pribris_radiating, pribris_radiating.getUnlocalizedName()); @@ -3162,6 +3163,7 @@ public class ModBlocks { register(conveyor_chute); register(conveyor_lift); register(crane_splitter); + register(crane_partitioner); register(drone_waypoint); register(drone_crate); register(drone_waypoint_request); diff --git a/src/main/java/com/hbm/blocks/machine/Floodlight.java b/src/main/java/com/hbm/blocks/machine/Floodlight.java new file mode 100644 index 000000000..5c979550c --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/Floodlight.java @@ -0,0 +1,86 @@ +package com.hbm.blocks.machine; + +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.NetworkManager; +import net.minecraft.network.Packet; +import net.minecraft.network.play.server.S35PacketUpdateTileEntity; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class Floodlight extends BlockContainer { + + public Floodlight(Material mat) { + super(mat); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityFloodlight(); + } + + @Override public int getRenderType() { return -1; } + @Override public boolean isOpaqueCube() { return false; } + @Override public boolean renderAsNormalBlock() { return false; } + + //only method that respects sides, called first for orientation + @Override + public int onBlockPlaced(World world, int x, int y, int z, int side, float fX, float fY, float fZ, int meta) { + return side; + } + + //only method with player param, called second for variable rotation + @Override + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack) { + int meta = world.getBlockMetadata(x, y, z); + + int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; + float rotation = player.rotationPitch; + + if(meta == 0 || meta == 1) { + if(i == 0 || i == 2) world.setBlockMetadataWithNotify(x, y, z, meta + 6, 3); + if(meta == 1) if(i == 0 || i == 1) rotation = 180F - rotation; + if(meta == 0) if(i == 0 || i == 3) rotation = 180F - rotation; + } + + TileEntity tile = world.getTileEntity(x, y, z); + + if(tile instanceof TileEntityFloodlight) { + TileEntityFloodlight floodlight = (TileEntityFloodlight) tile; + floodlight.rotation = -Math.round(rotation / 5F) * 5F; + } + } + + public static class TileEntityFloodlight extends TileEntity { + + public float rotation; + + @Override + public Packet getDescriptionPacket() { + NBTTagCompound nbt = new NBTTagCompound(); + this.writeToNBT(nbt); + return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 0, nbt); + } + + @Override + public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) { + this.readFromNBT(pkt.func_148857_g()); + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + this.rotation = nbt.getFloat("rotation"); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setFloat("rotation", rotation); + } + } +} diff --git a/src/main/java/com/hbm/blocks/machine/MachineOreSlopper.java b/src/main/java/com/hbm/blocks/machine/MachineOreSlopper.java index 42691c524..8fa11d0ac 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineOreSlopper.java +++ b/src/main/java/com/hbm/blocks/machine/MachineOreSlopper.java @@ -1,12 +1,15 @@ package com.hbm.blocks.machine; import com.hbm.blocks.BlockDummyable; +import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityMachineOreSlopper; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; public class MachineOreSlopper extends BlockDummyable { @@ -17,6 +20,7 @@ public class MachineOreSlopper extends BlockDummyable { @Override public TileEntity createNewTileEntity(World world, int meta) { if(meta >= 12) return new TileEntityMachineOreSlopper(); + if(meta >= 6) return new TileEntityProxyCombo().inventory().power().fluid(); return null; } @@ -32,6 +36,40 @@ public class MachineOreSlopper extends BlockDummyable { @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + + this.bounding.clear(); + //Base + this.bounding.add(AxisAlignedBB.getBoundingBox(-3.5, 0, -1.5, 3.5, 1, 1.5)); + //Slop bucket + this.bounding.add(AxisAlignedBB.getBoundingBox(0.5, 1, -1.5, 3.5, 3.25, 1.5)); + //Shredder + this.bounding.add(AxisAlignedBB.getBoundingBox(-2.25, 1, -1.5, 0.25, 3.25, -0.75)); + this.bounding.add(AxisAlignedBB.getBoundingBox(-2.25, 1, 0.75, 0.25, 3.25, 1.5)); + this.bounding.add(AxisAlignedBB.getBoundingBox(-2.25, 1, -1.5, -2, 3.25, 1.5)); + this.bounding.add(AxisAlignedBB.getBoundingBox(0, 1, -1.5, 0.25, 3.25, 1.5)); + this.bounding.add(AxisAlignedBB.getBoundingBox(-2, 1, -0.75, 0, 2, 0.75)); + //Outlet + this.bounding.add(AxisAlignedBB.getBoundingBox(-3.25, 1, -1, -2.25, 3, 1)); + return standardOpenBehavior(world, x, y, z, player, side); } + + @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; + + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + + this.makeExtra(world, x + dir.offsetX * 3, y, z + dir.offsetZ * 3); + this.makeExtra(world, x - dir.offsetX * 3, y, z - dir.offsetZ * 3); + this.makeExtra(world, x + rot.offsetX, y, z + rot.offsetZ); + this.makeExtra(world, x - rot.offsetX, y, z - rot.offsetZ); + this.makeExtra(world, x + dir.offsetX * 2 + rot.offsetX, y, z + dir.offsetZ * 2 + rot.offsetZ); + this.makeExtra(world, x + dir.offsetX * 2 - rot.offsetX, y, z + dir.offsetZ * 2 - rot.offsetZ); + this.makeExtra(world, x - dir.offsetX * 2 + rot.offsetX, y, z - dir.offsetZ * 2 + rot.offsetZ); + this.makeExtra(world, x - dir.offsetX * 2 - rot.offsetX, y, z - dir.offsetZ * 2 - rot.offsetZ); + } } diff --git a/src/main/java/com/hbm/blocks/machine/MachineSolarBoiler.java b/src/main/java/com/hbm/blocks/machine/MachineSolarBoiler.java index d3df9c320..b4a9479ce 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineSolarBoiler.java +++ b/src/main/java/com/hbm/blocks/machine/MachineSolarBoiler.java @@ -1,15 +1,23 @@ package com.hbm.blocks.machine; +import java.util.ArrayList; +import java.util.List; + import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ILookOverlay; +import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntitySolarBoiler; +import com.hbm.util.I18nUtil; import net.minecraft.block.material.Material; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; import net.minecraftforge.common.util.ForgeDirection; -public class MachineSolarBoiler extends BlockDummyable { +public class MachineSolarBoiler extends BlockDummyable implements ILookOverlay { public MachineSolarBoiler(Material mat) { super(mat); @@ -45,4 +53,28 @@ public class MachineSolarBoiler extends BlockDummyable { this.makeExtra(world, x, y + 2, z); } + + @Override + public void printHook(Pre event, World world, int x, int y, int z) { + int[] pos = findCore(world, x, y, z); + + if(pos == null) + return; + + TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]); + + if(!(te instanceof TileEntitySolarBoiler)) + return; + + TileEntitySolarBoiler boiler = (TileEntitySolarBoiler) te; + + List text = new ArrayList<>(); + + FluidTank[] tanks = boiler.getAllTanks(); + + for(int i = 0; i < tanks.length; i++) + text.add((i < 1 ? (EnumChatFormatting.GREEN + "-> ") : (EnumChatFormatting.RED + "<- ")) + EnumChatFormatting.RESET + tanks[i].getTankType().getLocalizedName() + ": " + tanks[i].getFill() + "/" + tanks[i].getMaxFill() + "mB"); + + ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); + } } diff --git a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKHeatex.java b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKHeatex.java deleted file mode 100644 index af1e1eaee..000000000 --- a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKHeatex.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.hbm.blocks.machine.rbmk; - -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; - -public class RBMKHeatex extends BlockContainer { - - public RBMKHeatex(Material mat) { - super(mat); - } - - @Override - public TileEntity createNewTileEntity(World world, int meta) { - return null; - } -} diff --git a/src/main/java/com/hbm/blocks/network/BlockCableGauge.java b/src/main/java/com/hbm/blocks/network/BlockCableGauge.java index 67da0e324..bc31744fd 100644 --- a/src/main/java/com/hbm/blocks/network/BlockCableGauge.java +++ b/src/main/java/com/hbm/blocks/network/BlockCableGauge.java @@ -143,6 +143,7 @@ public class BlockCableGauge extends BlockContainer implements IBlockMultiPass, } @Override + @Optional.Method(modid = "OpenComputers") public String getComponentName() { return "ntm_power_gauge"; } diff --git a/src/main/java/com/hbm/blocks/network/CranePartitioner.java b/src/main/java/com/hbm/blocks/network/CranePartitioner.java new file mode 100644 index 000000000..415ed34aa --- /dev/null +++ b/src/main/java/com/hbm/blocks/network/CranePartitioner.java @@ -0,0 +1,237 @@ +package com.hbm.blocks.network; + +import java.util.ArrayList; +import java.util.Comparator; +import java.util.List; +import java.util.Random; + +import com.hbm.blocks.ITooltipProvider; +import com.hbm.entity.item.EntityMovingItem; +import com.hbm.inventory.recipes.CrystallizerRecipes; +import com.hbm.lib.RefStrings; +import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.InventoryUtil; + +import api.hbm.conveyor.IConveyorBelt; +import api.hbm.conveyor.IConveyorItem; +import api.hbm.conveyor.IConveyorPackage; +import api.hbm.conveyor.IEnterableBlock; +import cpw.mods.fml.client.registry.RenderingRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.MathHelper; +import net.minecraft.util.Vec3; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class CranePartitioner extends BlockContainer implements IConveyorBelt, IEnterableBlock, ITooltipProvider { + + @SideOnly(Side.CLIENT) public IIcon iconTop; + @SideOnly(Side.CLIENT) public IIcon iconBack; + @SideOnly(Side.CLIENT) public IIcon iconBelt; + @SideOnly(Side.CLIENT) public IIcon iconInner; + @SideOnly(Side.CLIENT) public IIcon iconInnerSide; + + public CranePartitioner() { + super(Material.iron); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + super.registerBlockIcons(iconRegister); + this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":crane_top"); + this.iconBack = iconRegister.registerIcon(RefStrings.MODID + ":crane_partitioner_back"); + this.iconBelt = iconRegister.registerIcon(RefStrings.MODID + ":crane_splitter_belt"); + this.iconInner = iconRegister.registerIcon(RefStrings.MODID + ":crane_splitter_inner"); + this.iconInnerSide = iconRegister.registerIcon(RefStrings.MODID + ":crane_splitter_inner_side"); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityCranePartitioner(); + } + + @Override + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; + if(i == 0) world.setBlockMetadataWithNotify(x, y, z, 2, 2); + if(i == 1) world.setBlockMetadataWithNotify(x, y, z, 5, 2); + if(i == 2) world.setBlockMetadataWithNotify(x, y, z, 3, 2); + if(i == 3) world.setBlockMetadataWithNotify(x, y, z, 4, 2); + } + + @Override + public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { + this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.75F, 1.0F); + } + + public static int renderID = RenderingRegistry.getNextAvailableRenderId(); + + @Override public int getRenderType() { return renderID; } + @Override public boolean isOpaqueCube() { return false; } + @Override public boolean renderAsNormalBlock() { return false; } + + @Override public boolean canItemEnter(World world, int x, int y, int z, ForgeDirection dir, IConveyorItem entity) { return getTravelDirection(world, x, y, z, null) == dir; } + @Override public boolean canPackageEnter(World world, int x, int y, int z, ForgeDirection dir, IConveyorPackage entity) { return false; } + @Override public void onPackageEnter(World world, int x, int y, int z, ForgeDirection dir, IConveyorPackage entity) { } + + @Override + public boolean canItemStay(World world, int x, int y, int z, Vec3 itemPos) { + return true; + } + + @Override + public Vec3 getTravelLocation(World world, int x, int y, int z, Vec3 itemPos, double speed) { + ForgeDirection dir = this.getTravelDirection(world, x, y, z, itemPos); + Vec3 snap = this.getClosestSnappingPosition(world, x, y, z, itemPos); + Vec3 dest = Vec3.createVectorHelper(snap.xCoord - dir.offsetX * speed, snap.yCoord - dir.offsetY * speed, snap.zCoord - dir.offsetZ * speed); + Vec3 motion = Vec3.createVectorHelper((dest.xCoord - itemPos.xCoord), (dest.yCoord - itemPos.yCoord), (dest.zCoord - itemPos.zCoord)); + double len = motion.lengthVector(); + Vec3 ret = Vec3.createVectorHelper(itemPos.xCoord + motion.xCoord / len * speed, itemPos.yCoord + motion.yCoord / len * speed, itemPos.zCoord + motion.zCoord / len * speed); + return ret; + } + + @Override + public Vec3 getClosestSnappingPosition(World world, int x, int y, int z, Vec3 itemPos) { + ForgeDirection dir = this.getTravelDirection(world, x, y, z, itemPos); + itemPos.xCoord = MathHelper.clamp_double(itemPos.xCoord, x, x + 1); + itemPos.zCoord = MathHelper.clamp_double(itemPos.zCoord, z, z + 1); + double posX = x + 0.5; + double posZ = z + 0.5; + if(dir.offsetX != 0) posX = itemPos.xCoord; + if(dir.offsetZ != 0) posZ = itemPos.zCoord; + return Vec3.createVectorHelper(posX, y + 0.25, posZ); + } + + public ForgeDirection getTravelDirection(World world, int x, int y, int z, Vec3 itemPos) { + int meta = world.getBlockMetadata(x, y, z); + return ForgeDirection.getOrientation(meta); + } + + @Override + public void onItemEnter(World world, int x, int y, int z, ForgeDirection dir, IConveyorItem entity) { + TileEntityCranePartitioner partitioner = (TileEntityCranePartitioner) world.getTileEntity(x, y, z); + ItemStack stack = entity.getItemStack(); + ItemStack remainder = null; + if(CrystallizerRecipes.getAmount(stack) > 0) { + remainder = InventoryUtil.tryAddItemToInventory(partitioner, 0, 8, stack); + } else { + remainder = InventoryUtil.tryAddItemToInventory(partitioner, 9, 17, stack); + } + if(remainder != null) { + EntityItem item = new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, remainder.copy()); + world.spawnEntityInWorld(item); + } + } + + public static class TileEntityCranePartitioner extends TileEntityMachineBase { + + public TileEntityCranePartitioner() { + super(18); + } + + @Override public String getName() { return "container.partitioner"; } + + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + + List stacks = new ArrayList(); + for(int i = 0; i < 9; i++) if(slots[i] != null) stacks.add(slots[i]); + stacks.sort(stackSizeComparator); + boolean markDirty = false; + + for(ItemStack stack : stacks) { + int amount = CrystallizerRecipes.getAmount(stack); + while(stack.stackSize >= amount) { + ItemStack entityStack = stack.copy(); + entityStack.stackSize = amount; + stack.stackSize -= amount; + EntityMovingItem item = new EntityMovingItem(worldObj); + item.setItemStack(entityStack); + item.setPosition(xCoord + 0.5, yCoord + 0.25, zCoord + 0.5); + worldObj.spawnEntityInWorld(item); + } + } + + for(int i = 0; i < 9; i++) if(slots[i] != null && slots[i].stackSize <= 0) slots[i] = null; + if(markDirty) this.markDirty(); + } + } + + public static Comparator stackSizeComparator = new Comparator() { + + @Override + public int compare(ItemStack o1, ItemStack o2) { + return (int) Math.signum(o1.stackSize - o2.stackSize); + } + }; + + @Override + public boolean canExtractItem(int slot, ItemStack stack, int side) { + return slot >= 9; + } + + @Override + public boolean isItemValidForSlot(int i, ItemStack stack) { + return i <= 8 && CrystallizerRecipes.getAmount(stack) >= 1; + } + + @Override + public int[] getAccessibleSlotsFromSide(int side) { + return new int[] { 0, 1, 2, 3, 4, 5, 6 ,7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 }; + } + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { + this.addStandardInfo(stack, player, list, ext); + } + + private final Random dropRandom = new Random(); + + @Override + public void breakBlock(World world, int x, int y, int z, Block block, int meta) { + TileEntity tile = world.getTileEntity(x, y, z); + if(tile instanceof IInventory) { + IInventory battery = (IInventory) tile; + for(int i = 0; i < battery.getSizeInventory(); ++i) { + ItemStack itemstack = battery.getStackInSlot(i); + if(itemstack != null) { + float f = this.dropRandom.nextFloat() * 0.8F + 0.1F; + float f1 = this.dropRandom.nextFloat() * 0.8F + 0.1F; + float f2 = this.dropRandom.nextFloat() * 0.8F + 0.1F; + while(itemstack.stackSize > 0) { + int j1 = this.dropRandom.nextInt(21) + 10; + if(j1 > itemstack.stackSize) j1 = itemstack.stackSize; + itemstack.stackSize -= j1; + EntityItem entityitem = new EntityItem(world, x + f, y + f1, z + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + if(itemstack.hasTagCompound()) entityitem.getEntityItem().setTagCompound((NBTTagCompound) itemstack.getTagCompound().copy()); + float f3 = 0.05F; + entityitem.motionX = (float) this.dropRandom.nextGaussian() * f3; + entityitem.motionY = (float) this.dropRandom.nextGaussian() * f3 + 0.2F; + entityitem.motionZ = (float) this.dropRandom.nextGaussian() * f3; + world.spawnEntityInWorld(entityitem); + } + } + } + world.func_147453_f(x, y, z, block); + } + super.breakBlock(world, x, y, z, block, meta); + } +} diff --git a/src/main/java/com/hbm/blocks/network/FluidDuctGauge.java b/src/main/java/com/hbm/blocks/network/FluidDuctGauge.java index 613337412..2c60fbc59 100644 --- a/src/main/java/com/hbm/blocks/network/FluidDuctGauge.java +++ b/src/main/java/com/hbm/blocks/network/FluidDuctGauge.java @@ -153,6 +153,7 @@ public class FluidDuctGauge extends FluidDuctBase implements IBlockMultiPass, IL this.deltaLastSecond = Math.max(nbt.getLong("deltaS"), 0); } + @Optional.Method(modid = "OpenComputers") public String getComponentName() { return "ntm_fluid_gauge"; } diff --git a/src/main/java/com/hbm/config/GeneralConfig.java b/src/main/java/com/hbm/config/GeneralConfig.java index 321d349e1..a4a0db045 100644 --- a/src/main/java/com/hbm/config/GeneralConfig.java +++ b/src/main/java/com/hbm/config/GeneralConfig.java @@ -36,6 +36,7 @@ public class GeneralConfig { public static boolean enableSteamParticles = true; public static boolean enableSoundExtension = true; public static boolean enableMekanismChanges = true; + public static int normalSoundChannels = 200; public static int hintPos = 0; public static boolean enableExpensiveMode = false; @@ -105,6 +106,9 @@ public class GeneralConfig { enableSteamParticles = config.get(CATEGORY_GENERAL, "1.38_enableSteamParticles", true, "If disabled, auxiliary cooling towers and large cooling towers will not emit steam particles when in use.").getBoolean(true); enableSoundExtension = config.get(CATEGORY_GENERAL, "1.39_enableSoundExtension", true, "If enabled, will change the limit for how many sounds can play at once.").getBoolean(true); enableMekanismChanges = config.get(CATEGORY_GENERAL, "1.40_enableMekanismChanges", true, "If enabled, will change some of Mekanism's recipes.").getBoolean(true); + normalSoundChannels = CommonConfig.createConfigInt(config, CATEGORY_GENERAL, "1.41_normalSoundChannels", + "The amount of channels to create while 1.39_enableSoundExtension is enabled.\n" + + "Note that a value below 28 or above 200 can cause buggy sounds and issues with other mods running out of sound memory.", 100); enableExpensiveMode = config.get(CATEGORY_GENERAL, "1.99_enableExpensiveMode", false, "It does what the name implies.").getBoolean(false); diff --git a/src/main/java/com/hbm/config/WorldConfig.java b/src/main/java/com/hbm/config/WorldConfig.java index f3f3e51c9..c69d5b6f4 100644 --- a/src/main/java/com/hbm/config/WorldConfig.java +++ b/src/main/java/com/hbm/config/WorldConfig.java @@ -33,6 +33,7 @@ public class WorldConfig { public static int bedrockOilSpawn = 200; public static int meteoriteSpawn = 500; + public static boolean newBedrockOres = true; public static int bedrockIronSpawn = 100; public static int bedrockCopperSpawn = 200; public static int bedrockBoraxSpawn = 50; @@ -154,6 +155,7 @@ public class WorldConfig { bedrockOilSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.22_bedrockOilSpawnRate", "Spawns a bedrock oil node every nTH chunk", 200); meteoriteSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.23_meteoriteSpawnRate", "Spawns a fallen meteorite every nTH chunk", 200); + newBedrockOres = CommonConfig.createConfigBool(config, CATEGORY_OREGEN, "2.NB_newBedrockOres", "Enables the newer genreric bedrock ores", true); bedrockIronSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B00_bedrockIronWeight", "Spawn weight for iron bedrock ore", 100); bedrockCopperSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B01_bedrockCopperWeight", "Spawn weight for copper bedrock ore", 200); bedrockBoraxSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B02_bedrockBoraxWeight", "Spawn weight for borax bedrock ore", 50); diff --git a/src/main/java/com/hbm/crafting/PowderRecipes.java b/src/main/java/com/hbm/crafting/PowderRecipes.java index 7b08746dd..e611acb8f 100644 --- a/src/main/java/com/hbm/crafting/PowderRecipes.java +++ b/src/main/java/com/hbm/crafting/PowderRecipes.java @@ -33,6 +33,7 @@ public class PowderRecipes { CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_semtex_mix, 1), new Object[] { ModItems.solid_fuel, ModItems.ballistite, KNO.dust() }); CraftingManager.addShapelessAuto(new ItemStack(Items.clay_ball, 4), new Object[] { KEY_SAND, ModItems.dust, ModItems.dust, Fluids.WATER.getDict(1_000) }); CraftingManager.addShapelessAuto(new ItemStack(Items.clay_ball, 4), new Object[] { Blocks.clay }); //clay uncrafting because placing and breaking it isn't worth anyone's time + CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_cement, 4), new Object[] { LIMESTONE.dust(), Items.clay_ball, Items.clay_ball, Items.clay_ball }); //Other CraftingManager.addShapelessAuto(new ItemStack(ModItems.ingot_steel_dusted, 1), new Object[] { STEEL.ingot(), COAL.dust() }); @@ -67,6 +68,7 @@ public class PowderRecipes { CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_flux, 2), new Object[] { COAL.dust(), KEY_SAND }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_flux, 4), new Object[] { F.dust(), KEY_SAND }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_flux, 8), new Object[] { PB.dust(), S.dust(), KEY_SAND }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_flux, 12), new Object[] { LIMESTONE.dust(), KEY_SAND }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_flux, 12), new Object[] { CA.dust(), KEY_SAND }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_flux, 16), new Object[] { BORAX.dust(), KEY_SAND }); diff --git a/src/main/java/com/hbm/crafting/ToolRecipes.java b/src/main/java/com/hbm/crafting/ToolRecipes.java index 28652267a..0c4af1770 100644 --- a/src/main/java/com/hbm/crafting/ToolRecipes.java +++ b/src/main/java/com/hbm/crafting/ToolRecipes.java @@ -131,7 +131,7 @@ public class ToolRecipes { CraftingManager.addShapelessAuto(new ItemStack(ModBlocks.geiger), new Object[] { ModItems.geiger_counter }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.digamma_diagnostic), new Object[] { ModItems.geiger_counter, PO210.billet(), ASBESTOS.ingot() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.pollution_detector, 1), new Object[] { "SFS", "SCS", " S ", 'S', STEEL.plate(), 'F', ModItems.filter_coal, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.VACUUM_TUBE) }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.ore_density_scanner, 1), new Object[] { "VVV", "CSC", "GGG", " S ", 'V', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.VACUUM_TUBE), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CAPACITOR), 'S', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CONTROLLER_CHASSIS), 'G', GOLD.plate() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.ore_density_scanner, 1), new Object[] { "VVV", "CSC", "GGG", 'V', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.VACUUM_TUBE), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CAPACITOR), 'S', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CONTROLLER_CHASSIS), 'G', GOLD.plate() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.defuser, 1), new Object[] { " PS", "P P", " P ", 'P', ANY_PLASTIC.ingot(), 'S', STEEL.plate() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.coltan_tool, 1), new Object[] { "ACA", "CXC", "ACA", 'A', ALLOY.ingot(), 'C', CINNABAR.crystal(), 'X', Items.compass }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.reacher, 1), new Object[] { "BIB", "P P", "B B", 'B', W.bolt(), 'I', W.ingot(), 'P', ANY_RUBBER.ingot() }); diff --git a/src/main/java/com/hbm/entity/item/EntityDeliveryDrone.java b/src/main/java/com/hbm/entity/item/EntityDeliveryDrone.java index 8d1f1a01a..4e215b4ed 100644 --- a/src/main/java/com/hbm/entity/item/EntityDeliveryDrone.java +++ b/src/main/java/com/hbm/entity/item/EntityDeliveryDrone.java @@ -4,8 +4,10 @@ import com.hbm.entity.logic.IChunkLoader; import com.hbm.inventory.FluidStack; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; +import com.hbm.items.ModItems; import com.hbm.main.MainRegistry; +import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; @@ -29,6 +31,30 @@ public class EntityDeliveryDrone extends EntityDroneBase implements IInventory, super(world); } + @Override + public boolean hitByEntity(Entity attacker) { + + if(attacker instanceof EntityPlayer && !worldObj.isRemote) { + this.setDead(); + for (ItemStack stack : slots) { + if(stack != null) + this.entityDropItem(stack, 1F); + } + int meta = 0; + + //whether it is an express drone + if(this.dataWatcher.getWatchableObjectByte(11) == 1) + meta = 2; + + if(chunkLoading) + meta += 1; + + this.entityDropItem(new ItemStack(ModItems.drone, 1, meta), 1F); + } + + return false; + } + @Override protected void entityInit() { super.entityInit(); @@ -53,7 +79,7 @@ public class EntityDeliveryDrone extends EntityDroneBase implements IInventory, @Override public double getSpeed() { - return this.dataWatcher.getWatchableObjectByte(11) == 1 ? 0.375 : 0.125; + return this.dataWatcher.getWatchableObjectByte(11) == 1 ? 0.375 * 3 : 0.375; } @Override diff --git a/src/main/java/com/hbm/entity/item/EntityDroneBase.java b/src/main/java/com/hbm/entity/item/EntityDroneBase.java index 5cc0e4e97..f7d12a9e2 100644 --- a/src/main/java/com/hbm/entity/item/EntityDroneBase.java +++ b/src/main/java/com/hbm/entity/item/EntityDroneBase.java @@ -112,7 +112,9 @@ public abstract class EntityDroneBase extends Entity { this.motionZ = dist.zCoord * speed; } } - + if(isCollidedHorizontally){ + motionY += 1; + } this.moveEntity(motionX, motionY, motionZ); } } diff --git a/src/main/java/com/hbm/entity/item/EntityRequestDrone.java b/src/main/java/com/hbm/entity/item/EntityRequestDrone.java index 0b5294516..9a63c5dfd 100644 --- a/src/main/java/com/hbm/entity/item/EntityRequestDrone.java +++ b/src/main/java/com/hbm/entity/item/EntityRequestDrone.java @@ -13,10 +13,13 @@ import com.hbm.tileentity.network.TileEntityDroneProvider; import com.hbm.tileentity.network.TileEntityDroneRequester; import com.hbm.util.fauxpointtwelve.BlockPos; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; import net.minecraft.world.World; @@ -30,6 +33,25 @@ public class EntityRequestDrone extends EntityDroneBase { UNLOAD, DOCK } + @Override + public void setTarget(double x, double y, double z) { + this.targetX = x; + this.targetY = y + 1; + this.targetZ = z; + } + + @Override + public boolean hitByEntity(Entity attacker) { + + if(attacker instanceof EntityPlayer && !worldObj.isRemote) { + this.setDead(); + if(heldItem != null) + this.entityDropItem(heldItem, 1F); + this.entityDropItem(new ItemStack(ModItems.drone, 1, EnumDroneType.REQUEST.ordinal()), 1F); + } + + return false; + } public EntityRequestDrone(World world) { super(world); } @@ -61,78 +83,114 @@ public class EntityRequestDrone extends EntityDroneBase { } else if(next instanceof AStack && heldItem == null) { AStack aStack = (AStack) next; - TileEntity tile = worldObj.getTileEntity((int) Math.floor(posX), (int) Math.floor(posY - 1), (int) Math.floor(posZ)); - - if(tile instanceof TileEntityDroneProvider) { - TileEntityDroneProvider provider = (TileEntityDroneProvider) tile; - - for(int i = 0; i < provider.slots.length; i++) { - ItemStack stack = provider.slots[i]; - - if(stack != null && aStack.matchesRecipe(stack, true)) { - this.heldItem = stack.copy(); - this.setAppearance(1); - worldObj.playSoundEffect(posX, posY, posZ, "hbm:item.unpack", 0.5F, 0.75F); - provider.slots[i] = null; - provider.markDirty(); - break; + //to make DAMN sure this fuckin idiot doesnt miss the dock + Vec3 pos = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + Vec3 nextPos = Vec3.createVectorHelper(this.posX, this.posY - 4, this.posZ); + MovingObjectPosition mop = this.worldObj.rayTraceBlocks(pos, nextPos); + + if (mop != null && mop.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) { + + TileEntity tile = worldObj.getTileEntity(mop.blockX, mop.blockY, mop.blockZ); + if (tile instanceof TileEntityDroneProvider) { + TileEntityDroneProvider provider = (TileEntityDroneProvider) tile; + + for (int i = 0; i < provider.slots.length; i++) { + ItemStack stack = provider.slots[i]; + + if (stack != null && aStack.matchesRecipe(stack, true)) { + this.heldItem = stack.copy(); + this.setAppearance(1); + worldObj.playSoundEffect(posX, posY, posZ, "hbm:item.unpack", 0.5F, 0.75F); + provider.slots[i] = null; + provider.markDirty(); + break; + } } } } nextActionTimer = 5; } else if(next == DroneProgram.UNLOAD && this.heldItem != null) { - - TileEntity tile = worldObj.getTileEntity((int) Math.floor(posX), (int) Math.floor(posY - 1), (int) Math.floor(posZ)); - if(tile instanceof TileEntityDroneRequester) { - TileEntityDroneRequester requester = (TileEntityDroneRequester) tile; - - for(int i = 9; i < 18; i++) { - ItemStack stack = requester.slots[i]; - if(stack != null && stack.getItem() == heldItem.getItem() && stack.getItemDamage() == heldItem.getItemDamage()) { - int toTransfer = Math.min(stack.getMaxStackSize() - stack.stackSize, heldItem.stackSize); - requester.slots[i].stackSize += toTransfer; - this.heldItem.stackSize -= toTransfer; + Vec3 pos = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + Vec3 nextPos = Vec3.createVectorHelper(this.posX, this.posY - 4, this.posZ); + MovingObjectPosition mop = this.worldObj.rayTraceBlocks(pos, nextPos); + + if (mop != null && mop.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) { + + TileEntity tile = worldObj.getTileEntity(mop.blockX, mop.blockY, mop.blockZ); + if (tile instanceof TileEntityDroneRequester) { + TileEntityDroneRequester requester = (TileEntityDroneRequester) tile; + + for (int i = 9; i < 18; i++) { + ItemStack stack = requester.slots[i]; + if (stack != null && stack.getItem() == heldItem.getItem() && stack.getItemDamage() == heldItem.getItemDamage()) { + int toTransfer = Math.min(stack.getMaxStackSize() - stack.stackSize, heldItem.stackSize); + requester.slots[i].stackSize += toTransfer; + this.heldItem.stackSize -= toTransfer; + } } - } - - if(this.heldItem.stackSize <= 0) this.heldItem = null; - - if(this.heldItem != null) for(int i = 9; i < 18; i++) { - if(requester.slots[i] == null) { - requester.slots[i] = this.heldItem.copy(); - this.heldItem = null; - break; + + if (this.heldItem.stackSize <= 0) this.heldItem = null; + + if (this.heldItem != null) for (int i = 9; i < 18; i++) { + if (requester.slots[i] == null) { + requester.slots[i] = this.heldItem.copy(); + this.heldItem = null; + break; + } } + + if (this.heldItem == null) { + this.setAppearance(0); + worldObj.playSoundEffect(posX, posY, posZ, "hbm:item.unpack", 0.5F, 0.75F); + } + + requester.markDirty(); } - - if(this.heldItem == null) { - this.setAppearance(0); - worldObj.playSoundEffect(posX, posY, posZ, "hbm:item.unpack", 0.5F, 0.75F); - } - - requester.markDirty(); } nextActionTimer = 5; } else if(next == DroneProgram.DOCK) { - - TileEntity tile = worldObj.getTileEntity((int) Math.floor(posX), (int) Math.floor(posY - 1), (int) Math.floor(posZ)); - if(tile instanceof TileEntityDroneDock) { - TileEntityDroneDock dock = (TileEntityDroneDock) tile; - - for(int i = 0; i < dock.slots.length; i++) { - if(dock.slots[i] == null) { - this.setDead(); - dock.slots[i] = new ItemStack(ModItems.drone, 1, EnumDroneType.REQUEST.ordinal()); - this.worldObj.playSoundEffect(dock.xCoord + 0.5, dock.yCoord + 0.5, dock.zCoord + 0.5, "hbm:block.storageClose", 2.0F, 1.0F); - break; + Vec3 pos = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + Vec3 nextPos = Vec3.createVectorHelper(this.posX, this.posY - 4, this.posZ); + MovingObjectPosition mop = this.worldObj.rayTraceBlocks(pos, nextPos); + + if (mop != null && mop.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) { + + TileEntity tile = worldObj.getTileEntity(mop.blockX, mop.blockY, mop.blockZ); + if (tile instanceof TileEntityDroneDock) { + TileEntityDroneDock dock = (TileEntityDroneDock) tile; + ItemStack drone = new ItemStack(ModItems.drone, 1, EnumDroneType.REQUEST.ordinal()); + for (int i = 0; i < dock.slots.length; i++) { + if (dock.slots[i] == null) { + this.setDead(); + if(heldItem != null){ + if(i != 9 && dock.slots[i + 1] == null){ + dock.slots[i + 1] = heldItem.copy(); + } + } + dock.slots[i] = drone.copy(); + this.worldObj.playSoundEffect(dock.xCoord + 0.5, dock.yCoord + 0.5, dock.zCoord + 0.5, "hbm:block.storageClose", 2.0F, 1.0F); + break; + } else if (dock.slots[i].isItemEqual(drone) && dock.slots[i].stackSize < 64){ + this.setDead(); + if(heldItem != null){ + if(i != 9 && dock.slots[i + 1] == null){ + dock.slots[i + 1] = heldItem.copy(); + } + } + dock.slots[i].stackSize++; + this.worldObj.playSoundEffect(dock.xCoord + 0.5, dock.yCoord + 0.5, dock.zCoord + 0.5, "hbm:block.storageClose", 2.0F, 1.0F); + break; + } } } } - - if(!this.isDead) { + if (!this.isDead) { this.setDead(); + if(heldItem != null) + this.entityDropItem(heldItem, 1F); this.entityDropItem(new ItemStack(ModItems.drone, 1, EnumDroneType.REQUEST.ordinal()), 1F); } + } } } @@ -141,7 +199,7 @@ public class EntityRequestDrone extends EntityDroneBase { @Override public double getSpeed() { - return 0.5D; + return 0.6D; } @Override diff --git a/src/main/java/com/hbm/entity/logic/EntityNukeExplosionMK5.java b/src/main/java/com/hbm/entity/logic/EntityNukeExplosionMK5.java index dee4a3d91..3dc6451a8 100644 --- a/src/main/java/com/hbm/entity/logic/EntityNukeExplosionMK5.java +++ b/src/main/java/com/hbm/entity/logic/EntityNukeExplosionMK5.java @@ -60,7 +60,7 @@ public class EntityNukeExplosionMK5 extends EntityExplosionChunkloading { ((EntityPlayer)player).triggerAchievement(MainRegistry.achManhattan); } - if(!worldObj.isRemote && fallout && explosion != null && this.ticksExisted < 10) { + if(!worldObj.isRemote && fallout && explosion != null && this.ticksExisted < 10 && strength >= 75) { radiate(2_500_000F / (this.ticksExisted * 5 + 1), this.length * 2); } diff --git a/src/main/java/com/hbm/entity/mob/EntityCreeperNuclear.java b/src/main/java/com/hbm/entity/mob/EntityCreeperNuclear.java index 1051c9222..ca78f32a9 100644 --- a/src/main/java/com/hbm/entity/mob/EntityCreeperNuclear.java +++ b/src/main/java/com/hbm/entity/mob/EntityCreeperNuclear.java @@ -64,7 +64,6 @@ public class EntityCreeperNuclear extends EntityCreeper { @Override protected void dropFewItems(boolean p_70628_1_, int p_70628_2_) { - super.dropFewItems(p_70628_1_, p_70628_2_); if(rand.nextInt(3) == 0) diff --git a/src/main/java/com/hbm/handler/CompatHandler.java b/src/main/java/com/hbm/handler/CompatHandler.java index 552acfe33..ec0250c81 100644 --- a/src/main/java/com/hbm/handler/CompatHandler.java +++ b/src/main/java/com/hbm/handler/CompatHandler.java @@ -67,6 +67,7 @@ public class CompatHandler { * @return String */ @Override + @Optional.Method(modid = "OpenComputers") default String getComponentName() { return "ntm_null"; } @@ -77,6 +78,7 @@ public class CompatHandler { * @return If the side should be able to connect. */ @Override + @Optional.Method(modid = "OpenComputers") default boolean canConnectNode(ForgeDirection side) { return true; } @@ -85,9 +87,11 @@ public class CompatHandler { * Function to give more information when analyzing the block. Multiple entries in the array will be sent to the user in the order of the array. * @return Additional text to add in the form of lang entries (ex: "analyze.basic2"). */ + @Optional.Method(modid = "OpenComputers") default String[] getExtraInfo() {return new String[] {"analyze.noInfo"};} @Override + @Optional.Method(modid = "OpenComputers") default Node[] onAnalyze(EntityPlayer player, int side, float hitX, float hitY, float hitZ) { player.addChatComponentMessage(new ChatComponentTranslation("analyze.basic1").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.GOLD))); player.addChatComponentMessage(new ChatComponentTranslation("analyze.basic2").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW))); @@ -99,7 +103,7 @@ public class CompatHandler { player.addChatComponentMessage(new ChatComponentTranslation(info).setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW))); } TileEntity te = (TileEntity) this; - if(Array.getLength(this.methods()) == 0 && te instanceof TileEntityProxyCombo || this.getComponentName().equals("ntm_null")) + if((Array.getLength(this.methods()) == 0 && te instanceof TileEntityProxyCombo) || this.getComponentName().equals("ntm_null")) player.addChatComponentMessage(new ChatComponentTranslation("analyze.error").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.RED))); return null; } @@ -109,6 +113,7 @@ public class CompatHandler { * @return Array of methods to expose to the computer. */ @Override + @Optional.Method(modid = "OpenComputers") default String[] methods() {return new String[0];} /** @@ -116,6 +121,7 @@ public class CompatHandler { * @return Data to the computer as a return from the function. */ @Override + @Optional.Method(modid = "OpenComputers") default Object[] invoke(String method, Context context, Arguments args) throws Exception {return null;} } } diff --git a/src/main/java/com/hbm/handler/nei/NEIUniversalHandler.java b/src/main/java/com/hbm/handler/nei/NEIUniversalHandler.java index df241808f..996e1dc27 100644 --- a/src/main/java/com/hbm/handler/nei/NEIUniversalHandler.java +++ b/src/main/java/com/hbm/handler/nei/NEIUniversalHandler.java @@ -234,6 +234,28 @@ public abstract class NEIUniversalHandler extends TemplateRecipeHandler implemen {102, 24 + 9}, {120, 24 + 9} }; + case 5: return new int[][] { + {102, 24 - 9}, {120, 24 - 9}, + {102, 24 + 9}, {120, 24 + 9}, + {138, 24}, + }; + case 6: return new int[][] { + {102, 6}, {120, 6}, + {102, 24}, {120, 24}, + {102, 32}, {120, 32}, + }; + case 7: return new int[][] { + {102, 6}, {120, 6}, + {102, 24}, {120, 24}, + {102, 32}, {120, 32}, + {138, 24}, + }; + case 8: return new int[][] { + {102, 6}, {120, 6}, + {102, 24}, {120, 24}, + {102, 32}, {120, 32}, + {138, 24}, {138, 32}, + }; } return new int[count][2]; diff --git a/src/main/java/com/hbm/inventory/OreDictManager.java b/src/main/java/com/hbm/inventory/OreDictManager.java index c4035c989..e7cb21db8 100644 --- a/src/main/java/com/hbm/inventory/OreDictManager.java +++ b/src/main/java/com/hbm/inventory/OreDictManager.java @@ -168,6 +168,8 @@ public class OreDictManager { public static final DictFrame BBRONZE = new DictFrame("BismuthBronze"); /** ARSENIC BRONZE */ public static final DictFrame ABRONZE = new DictFrame("ArsenicBronze"); + /** BISMUTH STRONTIUM CALCIUM COPPER OXIDE */ + public static final DictFrame BSCCO = new DictFrame("BSCCO"); /** LEAD */ public static final DictFrame PB = new DictFrame("Lead"); public static final DictFrame BI = new DictFrame("Bismuth"); @@ -229,6 +231,7 @@ public class OreDictManager { public static final DictFrame VOLCANIC = new DictFrame("Volcanic"); public static final DictFrame HEMATITE = new DictFrame("Hematite"); public static final DictFrame MALACHITE = new DictFrame("Malachite"); + public static final DictFrame LIMESTONE = new DictFrame("Limestone"); public static final DictFrame SLAG = new DictFrame("Slag"); /* * HAZARDS, MISC @@ -280,6 +283,7 @@ public class OreDictManager { /* * FISSION FRAGMENTS */ + public static final DictFrame SR = new DictFrame("Strontium"); public static final DictFrame SR90 = new DictFrame("Strontium90", "Sr90"); public static final DictFrame I131 = new DictFrame("Iodine131", "I131"); public static final DictFrame XE135 = new DictFrame("Xenon135", "Xe135"); @@ -375,6 +379,7 @@ public class OreDictManager { CDALLOY .ingot(ingot_cdalloy) .block(block_cdalloy); BBRONZE .ingot(ingot_bismuth_bronze); ABRONZE .ingot(ingot_arsenic_bronze); + BSCCO .ingot(ingot_bscco); PB .nugget(nugget_lead) .ingot(ingot_lead) .dust(powder_lead) .plate(plate_lead) .block(block_lead) .ore(ore_lead); BI .nugget(nugget_bismuth) .billet(billet_bismuth) .ingot(ingot_bismuth) .dust(powder_bismuth) .block(block_bismuth); AS .nugget(nugget_arsenic) .ingot(ingot_arsenic); @@ -427,6 +432,7 @@ public class OreDictManager { VOLCANIC .gem(gem_volcanic) .ore(DictFrame.fromOne(ore_basalt, EnumBasaltOreType.GEM)); HEMATITE .ore(fromOne(stone_resource, EnumStoneType.HEMATITE)); MALACHITE .ore(fromOne(stone_resource, EnumStoneType.MALACHITE)); + LIMESTONE .dust(powder_limestone) .ore(fromOne(stone_resource, EnumStoneType.LIMESTONE)); SLAG .block(block_slag); /* @@ -472,6 +478,7 @@ public class OreDictManager { /* * FISSION FRAGMENTS */ + SR .hot(1F) .hydro(1F) .dust(powder_strontium); SR90 .rad(HazardRegistry.sr90) .hot(1F) .hydro(1F) .dustSmall(powder_sr90_tiny) .dust(powder_sr90) .ingot(ingot_sr90) .billet(billet_sr90) .nugget(nugget_sr90); I131 .rad(HazardRegistry.i131) .hot(1F) .dustSmall(powder_i131_tiny) .dust(powder_i131); XE135 .rad(HazardRegistry.xe135) .hot(10F) .dustSmall(powder_xe135_tiny) .dust(powder_xe135); diff --git a/src/main/java/com/hbm/inventory/container/ContainerOreSlopper.java b/src/main/java/com/hbm/inventory/container/ContainerOreSlopper.java index 1b74dc8f8..74d4e94fa 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerOreSlopper.java +++ b/src/main/java/com/hbm/inventory/container/ContainerOreSlopper.java @@ -1,12 +1,17 @@ package com.hbm.inventory.container; import com.hbm.inventory.SlotCraftingOutput; +import com.hbm.items.ModItems; +import com.hbm.items.machine.IItemFluidIdentifier; +import com.hbm.items.machine.ItemMachineUpgrade; import com.hbm.tileentity.machine.TileEntityMachineOreSlopper; +import api.hbm.energymk2.IBatteryItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; public class ContainerOreSlopper extends Container { @@ -29,8 +34,8 @@ public class ContainerOreSlopper extends Container { this.addSlotToContainer(new SlotCraftingOutput(player.player, slopper, 7, 134, 54)); this.addSlotToContainer(new SlotCraftingOutput(player.player, slopper, 8, 152, 54)); //Upgrades - this.addSlotToContainer(new Slot(slopper, 0, 62, 72)); - this.addSlotToContainer(new Slot(slopper, 0, 80, 72)); + this.addSlotToContainer(new Slot(slopper, 9, 62, 72)); + this.addSlotToContainer(new Slot(slopper, 10, 80, 72)); for(int i = 0; i < 3; i++) { for(int j = 0; j < 9; j++) { @@ -43,6 +48,52 @@ public class ContainerOreSlopper extends Container { } } + @Override + public ItemStack transferStackInSlot(EntityPlayer player, int par2) { + ItemStack var3 = null; + Slot var4 = (Slot) this.inventorySlots.get(par2); + + if(var4 != null && var4.getHasStack()) { + ItemStack var5 = var4.getStack(); + var3 = var5.copy(); + + if(par2 <= 10) { + if(!this.mergeItemStack(var5, 11, this.inventorySlots.size(), true)) { + return null; + } + } else { + + if(var3.getItem() == ModItems.bedrock_ore_base) { + if(!this.mergeItemStack(var5, 2, 3, false)) { + return null; + } + } else if(var3.getItem() instanceof ItemMachineUpgrade) { + if(!this.mergeItemStack(var5, 9, 11, false)) { + return null; + } + } else if(var3.getItem() instanceof IItemFluidIdentifier) { + if(!this.mergeItemStack(var5, 1, 2, false)) { + return null; + } + } else if(var3.getItem() instanceof IBatteryItem || var3.getItem() == ModItems.battery_creative) { + if(!this.mergeItemStack(var5, 0, 1, false)) { + return null; + } + } else { + return null; + } + } + + if(var5.stackSize == 0) { + var4.putStack((ItemStack) null); + } else { + var4.onSlotChanged(); + } + } + + return var3; + } + @Override public boolean canInteractWith(EntityPlayer player) { return slopper.isUseableByPlayer(player); diff --git a/src/main/java/com/hbm/inventory/fluid/Fluids.java b/src/main/java/com/hbm/inventory/fluid/Fluids.java index 5c57e8e45..e159b960e 100644 --- a/src/main/java/com/hbm/inventory/fluid/Fluids.java +++ b/src/main/java/com/hbm/inventory/fluid/Fluids.java @@ -494,6 +494,7 @@ public class Fluids { metaOrder.add(SEEDSLURRY); metaOrder.add(COLLOID); metaOrder.add(VITRIOL); + metaOrder.add(SLOP); metaOrder.add(IONGEL); metaOrder.add(PEROXIDE); metaOrder.add(SULFURIC_ACID); diff --git a/src/main/java/com/hbm/inventory/gui/GUIAnvil.java b/src/main/java/com/hbm/inventory/gui/GUIAnvil.java index 8716f753c..2b9bbe7ea 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIAnvil.java +++ b/src/main/java/com/hbm/inventory/gui/GUIAnvil.java @@ -354,7 +354,7 @@ public class GUIAnvil extends GuiContainer { for(AStack stack : recipe.input) { if(stack instanceof ComparableStack) { ItemStack input = ((ComparableStack) stack).toStack(); - list.add(input.getDisplayName().toLowerCase(Locale.US)); + try { list.add(input.getDisplayName().toLowerCase(Locale.US)); } catch(Exception ex) { list.add("I AM ERROR"); } } else if(stack instanceof OreDictStack) { OreDictStack input = (OreDictStack) stack; @@ -362,9 +362,8 @@ public class GUIAnvil extends GuiContainer { if(ores.size() > 0) { for(ItemStack ore : ores) { - list.add(ore.getDisplayName().toLowerCase(Locale.US)); + try { list.add(ore.getDisplayName().toLowerCase(Locale.US)); } catch(Exception ex) { list.add("I AM ERROR"); } } - } } } diff --git a/src/main/java/com/hbm/inventory/gui/GUIOreSlopper.java b/src/main/java/com/hbm/inventory/gui/GUIOreSlopper.java index 26f4937fc..59458ad6c 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIOreSlopper.java +++ b/src/main/java/com/hbm/inventory/gui/GUIOreSlopper.java @@ -23,12 +23,21 @@ public class GUIOreSlopper extends GuiInfoContainer { this.xSize = 176; this.ySize = 204; } + + @Override + public void drawScreen(int mouseX, int mouseY, float f) { + super.drawScreen(mouseX, mouseY, f); + + slopper.tanks[0].renderTankInfo(this, mouseX, mouseY, guiLeft + 26, guiTop + 18, 34, 52); + slopper.tanks[1].renderTankInfo(this, mouseX, mouseY, guiLeft + 116, guiTop + 18, 16, 52); + this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 8, guiTop + 18, 16, 52, slopper.power, slopper.maxPower); + } @Override protected void drawGuiContainerForegroundLayer( int i, int j) { String name = this.slopper.hasCustomInventoryName() ? this.slopper.getInventoryName() : I18n.format(this.slopper.getInventoryName()); - this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); + this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2 - 9, 6, 4210752); this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); } @@ -37,5 +46,17 @@ public class GUIOreSlopper extends GuiInfoContainer { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); Minecraft.getMinecraft().getTextureManager().bindTexture(texture); drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + int i = (int) (slopper.progress * 35); + drawTexturedModalRect(guiLeft + 62, guiTop + 52 - i, 176, 34 - i, 34, i); + + int j = (int) (slopper.power * 52 / slopper.maxPower); + drawTexturedModalRect(guiLeft + 8, guiTop + 70 - j, 176, 86 - j, 16, j); + + if(slopper.power >= slopper.consumption) + drawTexturedModalRect(guiLeft + 12, guiTop + 4, 202, 34, 9, 12); + + slopper.tanks[0].renderTank(guiLeft + 26, guiTop + 70, this.zLevel, 16, 52); + slopper.tanks[1].renderTank(guiLeft + 116, guiTop + 70, this.zLevel, 16, 52); } } diff --git a/src/main/java/com/hbm/inventory/material/Mats.java b/src/main/java/com/hbm/inventory/material/Mats.java index 60740f7df..d294972a9 100644 --- a/src/main/java/com/hbm/inventory/material/Mats.java +++ b/src/main/java/com/hbm/inventory/material/Mats.java @@ -90,7 +90,7 @@ public class Mats { public static final NTMMaterial MAT_PB209 = makeSmeltable(8209, PB209, 0x7B535D).setShapes(NUGGET, BILLET, INGOT, DUST).m(); public static final NTMMaterial MAT_SCHRABIDIUM = makeSmeltable(12626, SA326, 0x32FFFF, 0x005C5C, 0x32FFFF).setShapes(NUGGET, WIRE, BILLET, INGOT, DUST, DENSEWIRE, PLATE, CASTPLATE, BLOCK).m(); public static final NTMMaterial MAT_SOLINIUM = makeSmeltable(12627, SA327, 0xA2E6E0, 0x00433D, 0x72B6B0).setShapes(NUGGET, BILLET, INGOT, BLOCK).m(); - public static final NTMMaterial MAT_SCHRABIDATE = makeSmeltable(12600, SBD, 0x77C0D7, 0x39005E, 0x6589B4).setShapes(INGOT, DUST, DENSEWIRE, BLOCK).m(); + public static final NTMMaterial MAT_SCHRABIDATE = makeSmeltable(12600, SBD, 0x77C0D7, 0x39005E, 0x6589B4).setShapes(INGOT, DUST, DENSEWIRE, CASTPLATE, BLOCK).m(); public static final NTMMaterial MAT_SCHRARANIUM = makeSmeltable(12601, SRN, 0x2B3227, 0x2B3227, 0x24AFAC).setShapes(INGOT, BLOCK).m(); public static final NTMMaterial MAT_GHIORSIUM = makeSmeltable(12836, GH336, 0xF4EFE1, 0x2A3306, 0xC6C6A1).setShapes(NUGGET, BILLET, INGOT, BLOCK).m(); @@ -111,6 +111,7 @@ public class Mats { public static final NTMMaterial MAT_BORON = makeSmeltable(500, B, 0xBDC8D2, 0x29343E, 0xAD72AE).setShapes(DUSTTINY, INGOT, DUST, BLOCK).m(); public static final NTMMaterial MAT_ZIRCONIUM = makeSmeltable(4000, ZR, 0xE3DCBE, 0x3E3719, 0xADA688).setShapes(NUGGET, WIRE, DUSTTINY, BILLET, INGOT, DUST, CASTPLATE, WELDEDPLATE, BLOCK).m(); public static final NTMMaterial MAT_SODIUM = makeSmeltable(1100, NA, 0xD3BF9E, 0x3A5A6B, 0x7E9493).setShapes(DUST).m(); + public static final NTMMaterial MAT_STRONTIUM = makeSmeltable(3800, SR, 0xF1E8BA, 0x271E00, 0xCAC193).setShapes(DUST).m(); public static final NTMMaterial MAT_CALCIUM = makeSmeltable(2000, CA, 0xCFCFA6, 0x747F6E, 0xB7B784).setShapes(INGOT, DUST).m(); public static final NTMMaterial MAT_LITHIUM = makeSmeltable(300, LI, 0xFFFFFF, 0x818181, 0xD6D6D6).setShapes(INGOT, DUST, BLOCK).m(); public static final NTMMaterial MAT_CADMIUM = makeSmeltable(4800, CD, 0xFFFADE, 0x350000, 0xA85600).setShapes(INGOT, DUST).m(); @@ -130,6 +131,7 @@ public class Mats { public static final NTMMaterial MAT_CDALLOY = makeSmeltable(_AS + 13, CDALLOY, 0xF7DF8F, 0x604308, 0xFBD368).setShapes(INGOT, CASTPLATE, WELDEDPLATE, HEAVY_COMPONENT).m(); public static final NTMMaterial MAT_BBRONZE = makeSmeltable(_AS + 16, BBRONZE, 0xE19A69, 0x485353, 0x987D65).setShapes(INGOT, CASTPLATE).m(); public static final NTMMaterial MAT_ABRONZE = makeSmeltable(_AS + 17, ABRONZE, 0xDB9462, 0x203331, 0x77644D).setShapes(INGOT, CASTPLATE).m(); + public static final NTMMaterial MAT_BSCCO = makeSmeltable(_AS + 18, BSCCO, 0x767BF1, 0x000000, 0x5E62C0).setShapes(INGOT, DENSEWIRE).m(); public static final NTMMaterial MAT_MAGTUNG = makeSmeltable(_AS + 8, MAGTUNG, 0x22A2A2, 0x0F0F0F, 0x22A2A2).setShapes(WIRE, INGOT, DUST, DENSEWIRE, BLOCK).m(); public static final NTMMaterial MAT_CMB = makeSmeltable(_AS + 9, CMB, 0x6F6FB4, 0x000011, 0x6F6FB4).setShapes(INGOT, DUST, PLATE, CASTPLATE, WELDEDPLATE, BLOCK).m(); public static final NTMMaterial MAT_DNT = makeSmeltable(_AS + 15, DNT, 0x7582B9, 0x16000E, 0x455289).setShapes(INGOT, DUST, DENSEWIRE, BLOCK).m(); diff --git a/src/main/java/com/hbm/inventory/recipes/ArcFurnaceRecipes.java b/src/main/java/com/hbm/inventory/recipes/ArcFurnaceRecipes.java index e99642cfa..bc46fe648 100644 --- a/src/main/java/com/hbm/inventory/recipes/ArcFurnaceRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ArcFurnaceRecipes.java @@ -35,8 +35,10 @@ import net.minecraft.item.crafting.FurnaceRecipes; import net.minecraftforge.oredict.OreDictionary; public class ArcFurnaceRecipes extends SerializableRecipe { - + public static HashMap recipes = new HashMap(); + public static HashMap fastCacheSolid = new HashMap(); + public static HashMap fastCacheLiquid = new HashMap(); @Override public void registerDefaults() { @@ -56,11 +58,11 @@ public class ArcFurnaceRecipes extends SerializableRecipe { for(BedrockOreType type : BedrockOreType.values()) { recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SULFURIC_BYPRODUCT, type)), new ArcFurnaceRecipe().solid(ItemBedrockOreNew.make(BedrockOreGrade.SULFURIC_ARC, type, 2))); - recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SULFURIC_ROASTED, type)), new ArcFurnaceRecipe().solid(ItemBedrockOreNew.make(BedrockOreGrade.SULFURIC_ARC, type, 3))); + recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SULFURIC_ROASTED, type)), new ArcFurnaceRecipe().solid(ItemBedrockOreNew.make(BedrockOreGrade.SULFURIC_ARC, type, 4))); recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SOLVENT_BYPRODUCT, type)), new ArcFurnaceRecipe().solid(ItemBedrockOreNew.make(BedrockOreGrade.SOLVENT_ARC, type, 2))); - recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SOLVENT_ROASTED, type)), new ArcFurnaceRecipe().solid(ItemBedrockOreNew.make(BedrockOreGrade.SOLVENT_ARC, type, 3))); + recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SOLVENT_ROASTED, type)), new ArcFurnaceRecipe().solid(ItemBedrockOreNew.make(BedrockOreGrade.SOLVENT_ARC, type, 4))); recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.RAD_BYPRODUCT, type)), new ArcFurnaceRecipe().solid(ItemBedrockOreNew.make(BedrockOreGrade.RAD_ARC, type, 2))); - recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.RAD_ROASTED, type)), new ArcFurnaceRecipe().solid(ItemBedrockOreNew.make(BedrockOreGrade.RAD_ARC, type, 3))); + recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.RAD_ROASTED, type)), new ArcFurnaceRecipe().solid(ItemBedrockOreNew.make(BedrockOreGrade.RAD_ARC, type, 4))); recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_FIRST, type)), new ArcFurnaceRecipe().fluidNull(ItemBedrockOreNew.toFluid(type.primary1, MaterialShapes.INGOT.q(5)), ItemBedrockOreNew.toFluid(type.primary2, MaterialShapes.INGOT.q(2)))); recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_SECOND, type)), new ArcFurnaceRecipe().fluidNull(ItemBedrockOreNew.toFluid(type.primary1, MaterialShapes.INGOT.q(2)), ItemBedrockOreNew.toFluid(type.primary2, MaterialShapes.INGOT.q(5)))); @@ -149,15 +151,24 @@ public class ArcFurnaceRecipes extends SerializableRecipe { } } + ComparableStack cacheKey = new ComparableStack(stack).makeSingular(); + if(!liquid && fastCacheSolid.containsKey(cacheKey)) return fastCacheSolid.get(cacheKey); + if(liquid && fastCacheLiquid.containsKey(cacheKey)) return fastCacheLiquid.get(cacheKey); + for(Entry entry : recipes.entrySet()) { if(entry.getKey().matchesRecipe(stack, true)) { ArcFurnaceRecipe rec = entry.getValue(); if((liquid && rec.fluidOutput != null) || (!liquid && rec.solidOutput != null)) { + if(!liquid) fastCacheSolid.put(cacheKey, rec); + if(liquid) fastCacheLiquid.put(cacheKey, rec); return rec; } } } + if(!liquid) fastCacheSolid.put(cacheKey, null); + if(liquid) fastCacheLiquid.put(cacheKey, null); + return null; } @@ -199,6 +210,8 @@ public class ArcFurnaceRecipes extends SerializableRecipe { @Override public void deleteRecipes() { recipes.clear(); + fastCacheSolid.clear(); + fastCacheLiquid.clear(); } @Override diff --git a/src/main/java/com/hbm/inventory/recipes/ArcWelderRecipes.java b/src/main/java/com/hbm/inventory/recipes/ArcWelderRecipes.java index 7bc108bfa..2dacf92dd 100644 --- a/src/main/java/com/hbm/inventory/recipes/ArcWelderRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ArcWelderRecipes.java @@ -42,6 +42,8 @@ public class ArcWelderRecipes extends SerializableRecipe { new OreDictStack(AL.plate(), 4), new OreDictStack(FIBER.ingot(), 4), new OreDictStack(ANY_HARDPLASTIC.ingot()))); recipes.add(new ArcWelderRecipe(DictFrame.fromOne(ModItems.part_generic, EnumPartType.LDE), 200, 10_000L, new OreDictStack(TI.plate(), 2), new OreDictStack(FIBER.ingot(), 4), new OreDictStack(ANY_HARDPLASTIC.ingot()))); + recipes.add(new ArcWelderRecipe(DictFrame.fromOne(ModItems.part_generic, EnumPartType.HDE), 600, 25_000_000L, new FluidStack(Fluids.STELLAR_FLUX, 4_000), + new OreDictStack(ANY_BISMOIDBRONZE.plateCast(), 2), new OreDictStack(CMB.plateWelded(), 1), new ComparableStack(ModItems.ingot_cft))); //Dense Wires recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.wire_dense, 1, Mats.MAT_ALLOY.id), 100, 10_000L, diff --git a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java index 3ede78d79..2464b3b7e 100644 --- a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java @@ -466,6 +466,13 @@ public class AssemblerRecipes extends SerializableRecipe { new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ANALOG) }, 300); + makeRecipe(new ComparableStack(ModBlocks.machine_ore_slopper, 1), new AStack[] { + new OreDictStack(STEEL.plateCast(), 6), + new OreDictStack(TI.plate(), 8), + new OreDictStack(CU.pipe(), 3), + new ComparableStack(ModItems.motor, 3), + new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ANALOG) + }, 200); makeRecipe(new ComparableStack(ModItems.drillbit, 1, EnumDrillType.STEEL.ordinal()), new AStack[] { new OreDictStack(STEEL.ingot(), 12), new OreDictStack(W.ingot(), 4) @@ -632,18 +639,12 @@ public class AssemblerRecipes extends SerializableRecipe { }, 1200); makeRecipe(new ComparableStack(ModItems.sat_gerald, 1), new AStack[] { - new ComparableStack(ModItems.burnt_bark, 1), - new ComparableStack(ModItems.combine_scrap, 1), - new ComparableStack(ModItems.crystal_horn, 1), - new ComparableStack(ModItems.crystal_charred, 1), - new ComparableStack(ModBlocks.pink_log, 1), - new ComparableStack(ModItems.mp_warhead_15_balefire, 1), - new ComparableStack(ModBlocks.det_nuke, 16), - new OreDictStack(STAR.ingot(), 32), - new ComparableStack(ModItems.coin_creeper, 1), - new ComparableStack(ModItems.coin_radiation, 1), - new ComparableStack(ModItems.coin_maskman, 1), - new ComparableStack(ModItems.coin_worm, 1), + new OreDictStack(SBD.plateCast(), 128), + new OreDictStack(BSCCO.wireDense(), 128), + new ComparableStack(ModBlocks.det_nuke, 64), + new ComparableStack(ModItems.part_generic, 256, EnumPartType.HDE), + new ComparableStack(ModItems.circuit, 64, EnumCircuitType.CONTROLLER_QUANTUM), + new ComparableStack(ModItems.coin_ufo, 1), }, 1200, ModItems.journal_bj); makeRecipe(new ComparableStack(ModBlocks.vault_door, 1), new AStack[] { @@ -1077,8 +1078,8 @@ public class AssemblerRecipes extends SerializableRecipe { new OreDictStack(ANY_RESISTANTALLOY.plateWelded(), 16), new OreDictStack(ANY_BISMOIDBRONZE.plateCast(), 16), new OreDictStack(SBD.wireDense(), 32), - new ComparableStack(ModItems.circuit, 64, EnumCircuitType.ADVANCED), new ComparableStack(ModItems.circuit, 32, EnumCircuitType.BISMOID), + new ComparableStack(ModItems.circuit, 16, EnumCircuitType.QUANTUM), }, 600); makeRecipe(new ComparableStack(ModBlocks.machine_icf_press, 1), new AStack[] { new OreDictStack(GOLD.plateCast(), 8), diff --git a/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java b/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java index a3aaea30c..7464c71b4 100644 --- a/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java @@ -518,9 +518,9 @@ public class CentrifugeRecipes extends SerializableRecipe { recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.BASE_ROASTED, type)), new ItemStack[] {ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY, type), new ItemStack(Blocks.gravel)}); recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.BASE_WASHED, type)), new ItemStack[] {ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY, type), ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY, type), new ItemStack(Blocks.gravel)}); - recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_SULFURIC, type)), new ItemStack[] {ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_NOSULFURIC, type), ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_NOSULFURIC, type), ItemBedrockOreNew.make(BedrockOreGrade.SULFURIC_BYPRODUCT, type)}); - recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_SOLVENT, type)), new ItemStack[] {ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_NOSOLVENT, type), ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_NOSOLVENT, type), ItemBedrockOreNew.make(BedrockOreGrade.SOLVENT_BYPRODUCT, type)}); - recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_RAD, type)), new ItemStack[] {ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_NORAD, type), ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_NORAD, type), ItemBedrockOreNew.make(BedrockOreGrade.RAD_BYPRODUCT, type)}); + recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_SULFURIC, type)), new ItemStack[] {ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_NOSULFURIC, type, 2), ItemBedrockOreNew.make(BedrockOreGrade.SULFURIC_BYPRODUCT, type, 2)}); + recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_SOLVENT, type)), new ItemStack[] {ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_NOSOLVENT, type, 2), ItemBedrockOreNew.make(BedrockOreGrade.SULFURIC_BYPRODUCT, type, 2), ItemBedrockOreNew.make(BedrockOreGrade.SOLVENT_BYPRODUCT, type, 2)}); + recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_RAD, type)), new ItemStack[] {ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_NORAD, type, 2), ItemBedrockOreNew.make(BedrockOreGrade.SULFURIC_BYPRODUCT, type, 2), ItemBedrockOreNew.make(BedrockOreGrade.SOLVENT_BYPRODUCT, type, 2), ItemBedrockOreNew.make(BedrockOreGrade.RAD_BYPRODUCT, type, 2)}); recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY, type)), new ItemStack[] {ItemBedrockOreNew.extract(type.primary1), ItemBedrockOreNew.extract(type.primary2)}); recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_ROASTED, type)), new ItemStack[] {ItemBedrockOreNew.extract(type.primary1), ItemBedrockOreNew.extract(type.primary2), ItemBedrockOreNew.make(BedrockOreGrade.CRUMBS, type)}); @@ -530,20 +530,9 @@ public class CentrifugeRecipes extends SerializableRecipe { recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_FIRST, type)), new ItemStack[] {ItemBedrockOreNew.extract(type.primary1), ItemBedrockOreNew.extract(type.primary1), ItemBedrockOreNew.extract(type.primary2), ItemBedrockOreNew.make(BedrockOreGrade.CRUMBS, type, 2)}); recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_SECOND, type)), new ItemStack[] {ItemBedrockOreNew.extract(type.primary1), ItemBedrockOreNew.extract(type.primary2), ItemBedrockOreNew.extract(type.primary2), ItemBedrockOreNew.make(BedrockOreGrade.CRUMBS, type, 2)}); - recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SULFURIC_BYPRODUCT, type)), new ItemStack[] {ItemBedrockOreNew.extract(type.byproductAcid1), ItemBedrockOreNew.extract(type.byproductAcid2), ItemBedrockOreNew.extract(type.byproductAcid3), ItemBedrockOreNew.make(BedrockOreGrade.CRUMBS, type)}); - recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SULFURIC_ROASTED, type)), new ItemStack[] {ItemBedrockOreNew.extract(type.byproductAcid1), ItemBedrockOreNew.extract(type.byproductAcid2), ItemBedrockOreNew.extract(type.byproductAcid3), ItemBedrockOreNew.make(BedrockOreGrade.CRUMBS, type)}); - recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SULFURIC_ARC, type)), new ItemStack[] {ItemBedrockOreNew.extract(type.byproductAcid1), ItemBedrockOreNew.extract(type.byproductAcid2), ItemBedrockOreNew.extract(type.byproductAcid3), ItemBedrockOreNew.make(BedrockOreGrade.CRUMBS, type)}); - recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SULFURIC_WASHED, type)), new ItemStack[] {ItemBedrockOreNew.extract(type.byproductAcid1, 2), ItemBedrockOreNew.extract(type.byproductAcid2, 2), ItemBedrockOreNew.extract(type.byproductAcid3, 2), ItemBedrockOreNew.make(BedrockOreGrade.CRUMBS, type)}); - - recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SOLVENT_BYPRODUCT, type)), new ItemStack[] {ItemBedrockOreNew.extract(type.byproductSolvent1), ItemBedrockOreNew.extract(type.byproductSolvent2), ItemBedrockOreNew.extract(type.byproductSolvent3), ItemBedrockOreNew.make(BedrockOreGrade.CRUMBS, type)}); - recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SOLVENT_ROASTED, type)), new ItemStack[] {ItemBedrockOreNew.extract(type.byproductSolvent1), ItemBedrockOreNew.extract(type.byproductSolvent2), ItemBedrockOreNew.extract(type.byproductSolvent3), ItemBedrockOreNew.make(BedrockOreGrade.CRUMBS, type)}); - recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SOLVENT_ARC, type)), new ItemStack[] {ItemBedrockOreNew.extract(type.byproductSolvent1), ItemBedrockOreNew.extract(type.byproductSolvent2), ItemBedrockOreNew.extract(type.byproductSolvent3), ItemBedrockOreNew.make(BedrockOreGrade.CRUMBS, type)}); - recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SOLVENT_WASHED, type)), new ItemStack[] {ItemBedrockOreNew.extract(type.byproductSolvent1, 2), ItemBedrockOreNew.extract(type.byproductSolvent2, 2), ItemBedrockOreNew.extract(type.byproductSolvent3, 2), ItemBedrockOreNew.make(BedrockOreGrade.CRUMBS, type)}); - - recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.RAD_BYPRODUCT, type)), new ItemStack[] {ItemBedrockOreNew.extract(type.byproductRad1), ItemBedrockOreNew.extract(type.byproductRad2), ItemBedrockOreNew.extract(type.byproductRad3), ItemBedrockOreNew.make(BedrockOreGrade.CRUMBS, type)}); - recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.RAD_ROASTED, type)), new ItemStack[] {ItemBedrockOreNew.extract(type.byproductRad1), ItemBedrockOreNew.extract(type.byproductRad2), ItemBedrockOreNew.extract(type.byproductRad3), ItemBedrockOreNew.make(BedrockOreGrade.CRUMBS, type)}); - recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.RAD_ARC, type)), new ItemStack[] {ItemBedrockOreNew.extract(type.byproductRad1), ItemBedrockOreNew.extract(type.byproductRad2), ItemBedrockOreNew.extract(type.byproductRad3), ItemBedrockOreNew.make(BedrockOreGrade.CRUMBS, type)}); - recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.RAD_WASHED, type)), new ItemStack[] {ItemBedrockOreNew.extract(type.byproductRad1, 2), ItemBedrockOreNew.extract(type.byproductRad2, 2), ItemBedrockOreNew.extract(type.byproductRad3, 2), ItemBedrockOreNew.make(BedrockOreGrade.CRUMBS, type)}); + recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SULFURIC_WASHED, type)), new ItemStack[] {ItemBedrockOreNew.extract(type.byproductAcid1, 1), ItemBedrockOreNew.extract(type.byproductAcid2, 1), ItemBedrockOreNew.extract(type.byproductAcid3, 1), ItemBedrockOreNew.make(BedrockOreGrade.CRUMBS, type)}); + recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SOLVENT_WASHED, type)), new ItemStack[] {ItemBedrockOreNew.extract(type.byproductSolvent1, 1), ItemBedrockOreNew.extract(type.byproductSolvent2, 1), ItemBedrockOreNew.extract(type.byproductSolvent3, 1), ItemBedrockOreNew.make(BedrockOreGrade.CRUMBS, type)}); + recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.RAD_WASHED, type)), new ItemStack[] {ItemBedrockOreNew.extract(type.byproductRad1, 1), ItemBedrockOreNew.extract(type.byproductRad2, 1), ItemBedrockOreNew.extract(type.byproductRad3, 1), ItemBedrockOreNew.make(BedrockOreGrade.CRUMBS, type)}); } List quartz = OreDictionary.getOres("crystalCertusQuartz"); diff --git a/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java b/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java index ddc9b2e7a..cca303ab6 100644 --- a/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java @@ -184,12 +184,14 @@ public class ChemplantRecipes extends SerializableRecipe { .outputItems(new ItemStack(ModItems.plate_kevlar, 4))); recipes.add(new ChemRecipe(55, "CONCRETE", 100) .inputItems( + new ComparableStack(ModItems.powder_cement, 1), new ComparableStack(Blocks.gravel, 8), new OreDictStack(KEY_SAND, 8)) .inputFluids(new FluidStack(Fluids.WATER, 2000)) .outputItems(new ItemStack(ModBlocks.concrete_smooth, 16))); recipes.add(new ChemRecipe(56, "CONCRETE_ASBESTOS", 100) .inputItems( + new ComparableStack(ModItems.powder_cement, 1), new ComparableStack(Blocks.gravel, 2), new OreDictStack(KEY_SAND, 2), (GeneralConfig.enableLBSM && GeneralConfig.enableLBSMSimpleChemsitry) ? @@ -199,9 +201,10 @@ public class ChemplantRecipes extends SerializableRecipe { .outputItems(new ItemStack(ModBlocks.concrete_asbestos, 16))); recipes.add(new ChemRecipe(79, "DUCRETE", 150) .inputItems( + new ComparableStack(ModItems.powder_cement, 4), + new ComparableStack(Blocks.gravel, 2), new OreDictStack(KEY_SAND, 8), - new OreDictStack(U238.billet(), 2), - new ComparableStack(Items.clay_ball, 4)) + new OreDictStack(U238.billet(), 2)) .inputFluids(new FluidStack(Fluids.WATER, 2000)) .outputItems(new ItemStack(ModBlocks.ducrete_smooth, 8))); recipes.add(new ChemRecipe(57, "SOLID_FUEL", 200) @@ -409,7 +412,7 @@ public class ChemplantRecipes extends SerializableRecipe { .outputFluids(new FluidStack(1000, Fluids.LPG))); recipes.add(new ChemRecipe(34, "OIL_SAND", 200) .inputItems(new ComparableStack(ModBlocks.ore_oil_sand, 16), new OreDictStack(ANY_TAR.any(), 1)) - .outputItems(new ItemStack(Blocks.sand, 4), new ItemStack(Blocks.sand, 4), new ItemStack(Blocks.sand, 4), new ItemStack(Blocks.sand, 4)) + .outputItems(new ItemStack(Blocks.sand, 16)) .outputFluids(new FluidStack(1000, Fluids.BITUMEN))); recipes.add(new ChemRecipe(35, "ASPHALT", 100) .inputItems(new ComparableStack(Blocks.gravel, 2), new ComparableStack(Blocks.sand, 6)) diff --git a/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java b/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java index 6acfc9df1..87e1fcc5a 100644 --- a/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java @@ -64,6 +64,8 @@ public class CokerRecipes extends SerializableRecipe { registerRecipe(CALCIUM_SOLUTION, 125, new ItemStack(ModItems.powder_calcium), new FluidStack(SPENTSTEAM, 100)); //only cokable gas to extract sulfur content registerRecipe(SOURGAS, 250, new ItemStack(ModItems.sulfur), new FluidStack(GAS_COKER, 150)); + registerRecipe(SLOP, 1000, new ItemStack(ModItems.powder_limestone), new FluidStack(COLLOID, 250)); + registerRecipe(VITRIOL, 4000, new ItemStack(ModItems.powder_iron), new FluidStack(SULFURIC_ACID, 500)); } private static void registerAuto(FluidType fluid, FluidType type) { diff --git a/src/main/java/com/hbm/inventory/recipes/CombinationRecipes.java b/src/main/java/com/hbm/inventory/recipes/CombinationRecipes.java index e512e8529..8f4bf4b83 100644 --- a/src/main/java/com/hbm/inventory/recipes/CombinationRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CombinationRecipes.java @@ -54,6 +54,7 @@ public class CombinationRecipes extends SerializableRecipe { recipes.put(SODALITE.gem(), new Pair(new ItemStack(ModItems.powder_sodium), new FluidStack(Fluids.CHLORINE, 100))); recipes.put(new ComparableStack(DictFrame.fromOne(ModBlocks.stone_resource, EnumStoneType.BAUXITE)), new Pair(new ItemStack(ModItems.ingot_aluminium, 2), new FluidStack(Fluids.REDMUD, 250))); recipes.put(NA.dust(), new Pair(null, new FluidStack(Fluids.SODIUM, 100))); + recipes.put(LIMESTONE.dust(), new Pair(new ItemStack(ModItems.powder_calcium), new FluidStack(Fluids.CARBONDIOXIDE, 50))); recipes.put(KEY_LOG, new Pair(new ItemStack(Items.coal, 1 ,1), new FluidStack(Fluids.WOODOIL, 250))); recipes.put(KEY_SAPLING, new Pair(DictFrame.fromOne(ModItems.powder_ash, EnumAshType.WOOD), new FluidStack(Fluids.WOODOIL, 50))); diff --git a/src/main/java/com/hbm/inventory/recipes/CrucibleRecipes.java b/src/main/java/com/hbm/inventory/recipes/CrucibleRecipes.java index 354d26770..8f7c5e107 100644 --- a/src/main/java/com/hbm/inventory/recipes/CrucibleRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CrucibleRecipes.java @@ -112,6 +112,10 @@ public class CrucibleRecipes extends SerializableRecipe { .inputs(new MaterialStack(Mats.MAT_TUNGSTEN, i), new MaterialStack(Mats.MAT_SCHRABIDIUM, n * 1)) .outputs(new MaterialStack(Mats.MAT_MAGTUNG, i))); + recipes.add(new CrucibleRecipe(17, "crucible.bscco", 3, new ItemStack(ModItems.ingot_bscco)) + .inputs(new MaterialStack(Mats.MAT_BISMUTH, n * 2), new MaterialStack(Mats.MAT_STRONTIUM, n * 2), new MaterialStack(Mats.MAT_CALCIUM, n * 2), new MaterialStack(Mats.MAT_COPPER, n * 3)) + .outputs(new MaterialStack(Mats.MAT_BSCCO, i))); + registerMoldsForNEI(); } diff --git a/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java b/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java index 2c5867d72..5930101dd 100644 --- a/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java @@ -46,6 +46,7 @@ public class CrystallizerRecipes extends SerializableRecipe { //'Object' is either a ComparableStack or the key for the ore dict private static HashMap, CrystallizerRecipe> recipes = new HashMap(); + private static HashMap amounts = new HashMap(); // for use in the partitioner @Override public void registerDefaults() { @@ -155,17 +156,20 @@ public class CrystallizerRecipes extends SerializableRecipe { registerRecipe(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_NOSULFURIC, type)), new CrystallizerRecipe(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_RAD, type), bedrock), new FluidStack(Fluids.RADIOSOLVENT, 250)); registerRecipe(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_NOSOLVENT, type)), new CrystallizerRecipe(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_RAD, type), bedrock), new FluidStack(Fluids.RADIOSOLVENT, 250)); - registerRecipe(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SULFURIC_BYPRODUCT, type)), new CrystallizerRecipe(ItemBedrockOreNew.make(BedrockOreGrade.SULFURIC_WASHED, type), washing), new FluidStack(Fluids.WATER, 250)); - registerRecipe(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SULFURIC_ROASTED, type)), new CrystallizerRecipe(ItemBedrockOreNew.make(BedrockOreGrade.SULFURIC_WASHED, type), washing), new FluidStack(Fluids.WATER, 250)); - registerRecipe(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SULFURIC_ARC, type)), new CrystallizerRecipe(ItemBedrockOreNew.make(BedrockOreGrade.SULFURIC_WASHED, type), washing), new FluidStack(Fluids.WATER, 250)); + int sulf = 4; + registerRecipe(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SULFURIC_BYPRODUCT, type)), new CrystallizerRecipe(ItemBedrockOreNew.make(BedrockOreGrade.SULFURIC_WASHED, type), washing).setReq(sulf), new FluidStack(Fluids.WATER, 250)); + registerRecipe(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SULFURIC_ROASTED, type)), new CrystallizerRecipe(ItemBedrockOreNew.make(BedrockOreGrade.SULFURIC_WASHED, type), washing).setReq(sulf), new FluidStack(Fluids.WATER, 250)); + registerRecipe(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SULFURIC_ARC, type)), new CrystallizerRecipe(ItemBedrockOreNew.make(BedrockOreGrade.SULFURIC_WASHED, type), washing).setReq(sulf), new FluidStack(Fluids.WATER, 250)); - registerRecipe(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SOLVENT_BYPRODUCT, type)), new CrystallizerRecipe(ItemBedrockOreNew.make(BedrockOreGrade.SOLVENT_WASHED, type), washing), new FluidStack(Fluids.WATER, 250)); - registerRecipe(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SOLVENT_ROASTED, type)), new CrystallizerRecipe(ItemBedrockOreNew.make(BedrockOreGrade.SOLVENT_WASHED, type), washing), new FluidStack(Fluids.WATER, 250)); - registerRecipe(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SOLVENT_ARC, type)), new CrystallizerRecipe(ItemBedrockOreNew.make(BedrockOreGrade.SOLVENT_WASHED, type), washing), new FluidStack(Fluids.WATER, 250)); + int solv = 4; + registerRecipe(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SOLVENT_BYPRODUCT, type)), new CrystallizerRecipe(ItemBedrockOreNew.make(BedrockOreGrade.SOLVENT_WASHED, type), washing).setReq(solv), new FluidStack(Fluids.WATER, 250)); + registerRecipe(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SOLVENT_ROASTED, type)), new CrystallizerRecipe(ItemBedrockOreNew.make(BedrockOreGrade.SOLVENT_WASHED, type), washing).setReq(solv), new FluidStack(Fluids.WATER, 250)); + registerRecipe(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SOLVENT_ARC, type)), new CrystallizerRecipe(ItemBedrockOreNew.make(BedrockOreGrade.SOLVENT_WASHED, type), washing).setReq(solv), new FluidStack(Fluids.WATER, 250)); - registerRecipe(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.RAD_BYPRODUCT, type)), new CrystallizerRecipe(ItemBedrockOreNew.make(BedrockOreGrade.RAD_WASHED, type), washing), new FluidStack(Fluids.WATER, 250)); - registerRecipe(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.RAD_ROASTED, type)), new CrystallizerRecipe(ItemBedrockOreNew.make(BedrockOreGrade.RAD_WASHED, type), washing), new FluidStack(Fluids.WATER, 250)); - registerRecipe(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.RAD_ARC, type)), new CrystallizerRecipe(ItemBedrockOreNew.make(BedrockOreGrade.RAD_WASHED, type), washing), new FluidStack(Fluids.WATER, 250)); + int rad = 4; + registerRecipe(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.RAD_BYPRODUCT, type)), new CrystallizerRecipe(ItemBedrockOreNew.make(BedrockOreGrade.RAD_WASHED, type), washing).setReq(rad), new FluidStack(Fluids.WATER, 250)); + registerRecipe(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.RAD_ROASTED, type)), new CrystallizerRecipe(ItemBedrockOreNew.make(BedrockOreGrade.RAD_WASHED, type), washing).setReq(rad), new FluidStack(Fluids.WATER, 250)); + registerRecipe(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.RAD_ARC, type)), new CrystallizerRecipe(ItemBedrockOreNew.make(BedrockOreGrade.RAD_WASHED, type), washing).setReq(rad), new FluidStack(Fluids.WATER, 250)); FluidStack primary = new FluidStack(Fluids.HYDROGEN, 250); registerRecipe(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY, type)), new CrystallizerRecipe(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_FIRST, type), bedrock), primary); @@ -238,22 +242,41 @@ public class CrystallizerRecipes extends SerializableRecipe { ComparableStack comp = new ComparableStack(stack.getItem(), 1, stack.getItemDamage()); Pair compKey = new Pair(comp, type); - - if(recipes.containsKey(compKey)) - return recipes.get(compKey); + + if(recipes.containsKey(compKey)) return recipes.get(compKey); String[] dictKeys = comp.getDictKeys(); for(String key : dictKeys) { - Pair dictKey = new Pair(key, type); - - if(recipes.containsKey(dictKey)) - return recipes.get(dictKey); + if(recipes.containsKey(dictKey)) return recipes.get(dictKey); } + comp.meta = OreDictionary.WILDCARD_VALUE; + if(recipes.containsKey(compKey)) return recipes.get(compKey); + return null; } + + public static int getAmount(ItemStack stack) { + + if(stack == null || stack.getItem() == null) + return 0; + + ComparableStack comp = new ComparableStack(stack.getItem(), 1, stack.getItemDamage()); + if(amounts.containsKey(comp)) return amounts.get(comp); + + String[] dictKeys = comp.getDictKeys(); + + for(String key : dictKeys) { + if(amounts.containsKey(key)) return amounts.get(key); + } + + comp.meta = OreDictionary.WILDCARD_VALUE; + if(amounts.containsKey(comp)) return amounts.get(comp); + + return 0; + } public static HashMap getRecipes() { @@ -289,6 +312,7 @@ public class CrystallizerRecipes extends SerializableRecipe { public static void registerRecipe(Object input, CrystallizerRecipe recipe, FluidStack stack) { recipe.acidAmount = stack.fill; recipes.put(new Pair(input, stack.type), recipe); + amounts.put(input, recipe.itemAmount); } public static class CrystallizerRecipe { @@ -362,6 +386,7 @@ public class CrystallizerRecipes extends SerializableRecipe { @Override public void deleteRecipes() { recipes.clear(); + amounts.clear(); } @Override diff --git a/src/main/java/com/hbm/inventory/recipes/ElectrolyserFluidRecipes.java b/src/main/java/com/hbm/inventory/recipes/ElectrolyserFluidRecipes.java index b60884f26..2d98d3e76 100644 --- a/src/main/java/com/hbm/inventory/recipes/ElectrolyserFluidRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ElectrolyserFluidRecipes.java @@ -24,8 +24,10 @@ public class ElectrolyserFluidRecipes extends SerializableRecipe { @Override public void registerDefaults() { - recipes.put(Fluids.WATER, new ElectrolysisRecipe(2_000, new FluidStack(Fluids.HYDROGEN, 200), new FluidStack(Fluids.OXYGEN, 200))); - recipes.put(Fluids.HEAVYWATER, new ElectrolysisRecipe(2_000, new FluidStack(Fluids.DEUTERIUM, 200), new FluidStack(Fluids.OXYGEN, 200))); + recipes.put(Fluids.WATER, new ElectrolysisRecipe(2_000, new FluidStack(Fluids.HYDROGEN, 200), new FluidStack(Fluids.OXYGEN, 200), 10)); + recipes.put(Fluids.HEAVYWATER, new ElectrolysisRecipe(2_000, new FluidStack(Fluids.DEUTERIUM, 200), new FluidStack(Fluids.OXYGEN, 200), 10)); + recipes.put(Fluids.VITRIOL, new ElectrolysisRecipe(1_000, new FluidStack(Fluids.SULFURIC_ACID, 500), new FluidStack(Fluids.CHLORINE, 500), new ItemStack(ModItems.powder_iron), new ItemStack(ModItems.ingot_mercury))); + recipes.put(Fluids.SLOP, new ElectrolysisRecipe(1_000, new FluidStack(Fluids.MERCURY, 250), new FluidStack(Fluids.NONE, 0), new ItemStack(ModItems.niter, 2), new ItemStack(ModItems.powder_limestone, 2), new ItemStack(ModItems.sulfur))); recipes.put(Fluids.POTASSIUM_CHLORIDE, new ElectrolysisRecipe(250, new FluidStack(Fluids.CHLORINE, 125), new FluidStack(Fluids.NONE, 0), new ItemStack(ModItems.dust))); recipes.put(Fluids.CALCIUM_CHLORIDE, new ElectrolysisRecipe(250, new FluidStack(Fluids.CHLORINE, 125), new FluidStack(Fluids.CALCIUM_SOLUTION, 125))); @@ -49,6 +51,11 @@ public class ElectrolyserFluidRecipes extends SerializableRecipe { return recipes; } + public static ElectrolysisRecipe getRecipe(FluidType type) { + if(type == null) + return null; + return recipes.get(type); + } @Override public String getFileName() { @@ -73,10 +80,13 @@ public class ElectrolyserFluidRecipes extends SerializableRecipe { FluidStack output1 = this.readFluidStack(obj.get("output1").getAsJsonArray()); FluidStack output2 = this.readFluidStack(obj.get("output2").getAsJsonArray()); + int duration = 20; + if(obj.has("duraion")) duration = obj.get("duration").getAsInt(); + ItemStack[] byproducts = new ItemStack[0]; if(obj.has("byproducts")) byproducts = this.readItemStackArray(obj.get("byproducts").getAsJsonArray()); - recipes.put(input.type, new ElectrolysisRecipe(input.fill, output1, output2, byproducts)); + recipes.put(input.type, new ElectrolysisRecipe(input.fill, output1, output2, duration, byproducts)); } @Override @@ -92,6 +102,8 @@ public class ElectrolyserFluidRecipes extends SerializableRecipe { for(ItemStack stack : rec.getValue().byproduct) this.writeItemStack(stack, writer); writer.endArray(); } + + writer.name("duration").value(rec.getValue().duration); } public static class ElectrolysisRecipe { @@ -99,12 +111,23 @@ public class ElectrolyserFluidRecipes extends SerializableRecipe { public FluidStack output2; public int amount; public ItemStack[] byproduct; + public int duration; public ElectrolysisRecipe(int amount, FluidStack output1, FluidStack output2, ItemStack... byproduct) { this.output1 = output1; this.output2 = output2; this.amount = amount; this.byproduct = byproduct; + this.duration = 20; + } + public ElectrolysisRecipe(int amount, FluidStack output1, FluidStack output2, int duration, ItemStack... byproduct) { + this.output1 = output1; + this.output2 = output2; + this.amount = amount; + this.byproduct = byproduct; + this.duration = duration; } } + + } diff --git a/src/main/java/com/hbm/inventory/recipes/ElectrolyserMetalRecipes.java b/src/main/java/com/hbm/inventory/recipes/ElectrolyserMetalRecipes.java index 8932941c2..33e417c15 100644 --- a/src/main/java/com/hbm/inventory/recipes/ElectrolyserMetalRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ElectrolyserMetalRecipes.java @@ -134,34 +134,40 @@ public class ElectrolyserMetalRecipes extends SerializableRecipe { for(BedrockOreType type : BedrockOreType.values()) { - MaterialStack f0 = ItemBedrockOreNew.toFluid(type.primary1, MaterialShapes.INGOT.q(7)); - MaterialStack f1 = ItemBedrockOreNew.toFluid(type.primary2, MaterialShapes.INGOT.q(4)); + MaterialStack f0 = ItemBedrockOreNew.toFluid(type.primary1, MaterialShapes.INGOT.q(12)); + MaterialStack f1 = ItemBedrockOreNew.toFluid(type.primary2, MaterialShapes.INGOT.q(6)); recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_FIRST, type)), new ElectrolysisMetalRecipe( f0 != null ? f0 : new MaterialStack(Mats.MAT_SLAG, MaterialShapes.INGOT.q(1)), f1 != null ? f1 : new MaterialStack(Mats.MAT_SLAG, MaterialShapes.INGOT.q(1)), - f0 == null ? ItemBedrockOreNew.extract(type.primary1, 7) : new ItemStack(ModItems.dust), - f1 == null ? ItemBedrockOreNew.extract(type.primary2, 4) : new ItemStack(ModItems.dust))); - - MaterialStack s0 = ItemBedrockOreNew.toFluid(type.primary1, MaterialShapes.INGOT.q(4)); - MaterialStack s1 = ItemBedrockOreNew.toFluid(type.primary2, MaterialShapes.INGOT.q(7)); + 60, + f0 == null ? ItemBedrockOreNew.extract(type.primary1, 12) : new ItemStack(ModItems.dust), + f1 == null ? ItemBedrockOreNew.extract(type.primary2, 6) : new ItemStack(ModItems.dust), + ItemBedrockOreNew.make(BedrockOreGrade.CRUMBS, type))); + MaterialStack s0 = ItemBedrockOreNew.toFluid(type.primary1, MaterialShapes.INGOT.q(6)); + MaterialStack s1 = ItemBedrockOreNew.toFluid(type.primary2, MaterialShapes.INGOT.q(12)); recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_SECOND, type)), new ElectrolysisMetalRecipe( s0 != null ? s0 : new MaterialStack(Mats.MAT_SLAG, MaterialShapes.INGOT.q(1)), s1 != null ? s1 : new MaterialStack(Mats.MAT_SLAG, MaterialShapes.INGOT.q(1)), - s0 == null ? ItemBedrockOreNew.extract(type.primary1, 4) : new ItemStack(ModItems.dust), - s1 == null ? ItemBedrockOreNew.extract(type.primary2, 7) : new ItemStack(ModItems.dust))); + 60, + s0 == null ? ItemBedrockOreNew.extract(type.primary1, 6) : new ItemStack(ModItems.dust), + s1 == null ? ItemBedrockOreNew.extract(type.primary2, 12) : new ItemStack(ModItems.dust), + ItemBedrockOreNew.make(BedrockOreGrade.CRUMBS, type))); MaterialStack c0 = ItemBedrockOreNew.toFluid(type.primary1, MaterialShapes.INGOT.q(2)); MaterialStack c1 = ItemBedrockOreNew.toFluid(type.primary2, MaterialShapes.INGOT.q(2)); recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.CRUMBS, type)), new ElectrolysisMetalRecipe( c0 != null ? c0 : new MaterialStack(Mats.MAT_SLAG, MaterialShapes.INGOT.q(1, 2)), c1 != null ? c1 : new MaterialStack(Mats.MAT_SLAG, MaterialShapes.INGOT.q(1, 2)), + 60, c0 == null ? ItemBedrockOreNew.extract(type.primary1, 2) : new ItemStack(ModItems.dust), c1 == null ? ItemBedrockOreNew.extract(type.primary2, 2) : new ItemStack(ModItems.dust))); } } public static ElectrolysisMetalRecipe getRecipe(ItemStack stack) { - + if(stack == null || stack.getItem() == null) + return null; + ComparableStack comp = new ComparableStack(stack).makeSingular(); if(recipes.containsKey(comp)) return recipes.get(comp); @@ -229,7 +235,10 @@ public class ElectrolyserMetalRecipes extends SerializableRecipe { ItemStack[] byproducts = new ItemStack[0]; if(obj.has("byproducts")) byproducts = this.readItemStackArray(obj.get("byproducts").getAsJsonArray()); - recipes.put(input, new ElectrolysisMetalRecipe(output1, output2, byproducts)); + int duration = 600; + if(obj.has("duration")) duration = obj.get("duration").getAsInt(); + + recipes.put(input, new ElectrolysisMetalRecipe(output1, output2, duration, byproducts)); } @Override @@ -257,6 +266,8 @@ public class ElectrolyserMetalRecipes extends SerializableRecipe { for(ItemStack stack : rec.getValue().byproduct) this.writeItemStack(stack, writer); writer.endArray(); } + + writer.name("duration").value(rec.getValue().duration); } public static class ElectrolysisMetalRecipe { @@ -264,11 +275,19 @@ public class ElectrolyserMetalRecipes extends SerializableRecipe { public MaterialStack output1; public MaterialStack output2; public ItemStack[] byproduct; + public int duration; public ElectrolysisMetalRecipe(MaterialStack output1, MaterialStack output2, ItemStack... byproduct) { this.output1 = output1; this.output2 = output2; this.byproduct = byproduct; + this.duration = 600; + } + public ElectrolysisMetalRecipe(MaterialStack output1, MaterialStack output2, int duration, ItemStack... byproduct) { + this.output1 = output1; + this.output2 = output2; + this.byproduct = byproduct; + this.duration = duration; } } } diff --git a/src/main/java/com/hbm/inventory/recipes/LiquefactionRecipes.java b/src/main/java/com/hbm/inventory/recipes/LiquefactionRecipes.java index 3af3808a7..a86df1e6c 100644 --- a/src/main/java/com/hbm/inventory/recipes/LiquefactionRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/LiquefactionRecipes.java @@ -54,6 +54,7 @@ public class LiquefactionRecipes extends SerializableRecipe { recipes.put(new ComparableStack(Blocks.packed_ice), new FluidStack(1000, Fluids.WATER)); recipes.put(new ComparableStack(Items.ender_pearl), new FluidStack(100, Fluids.ENDERJUICE)); recipes.put(new ComparableStack(ModItems.pellet_charged), new FluidStack(4000, Fluids.HELIUM4)); + recipes.put(new ComparableStack(ModBlocks.ore_oil_sand), new FluidStack(100, Fluids.BITUMEN)); recipes.put(new ComparableStack(Items.sugar), new FluidStack(100, Fluids.ETHANOL)); recipes.put(new ComparableStack(ModBlocks.plant_flower, 1, 3), new FluidStack(150, Fluids.ETHANOL)); @@ -67,10 +68,6 @@ public class LiquefactionRecipes extends SerializableRecipe { recipes.put(new ComparableStack(Blocks.tallgrass, 1, 1), new FluidStack(100, Fluids.SEEDSLURRY)); recipes.put(new ComparableStack(Blocks.tallgrass, 1, 2), new FluidStack(100, Fluids.SEEDSLURRY)); recipes.put(new ComparableStack(Blocks.vine), new FluidStack(100, Fluids.SEEDSLURRY)); - - //recipes.put(new ComparableStack(ModItems.solid_fuel_bf), new FluidStack(250, Fluids.BALEFIRE)); - - //TODO: more recipes as the crack oil derivatives are added } public static FluidStack getOutput(ItemStack stack) { diff --git a/src/main/java/com/hbm/inventory/recipes/SILEXRecipes.java b/src/main/java/com/hbm/inventory/recipes/SILEXRecipes.java index a996eaec5..8bdecce61 100644 --- a/src/main/java/com/hbm/inventory/recipes/SILEXRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/SILEXRecipes.java @@ -98,6 +98,13 @@ public class SILEXRecipes { recipes.put(new ComparableStack(ModItems.fluid_icon, 1, Fluids.DEATH.getID()), new SILEXRecipe(1000, 1000, 4) .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_impure_osmiridium), 1)) ); + + recipes.put(new ComparableStack(ModItems.fluid_icon, 1, Fluids.VITRIOL.getID()), new SILEXRecipe(1000, 1000, EnumWavelengths.IR) + .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_bromine), 5)) + .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_iodine), 5)) + .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_iron), 5)) + .addOut(new WeightedRandomObject(new ItemStack(ModItems.sulfur), 15)) + ); for(int i = 0; i < 5; i++) { diff --git a/src/main/java/com/hbm/inventory/recipes/ShredderRecipes.java b/src/main/java/com/hbm/inventory/recipes/ShredderRecipes.java index 32260e21b..a23c3e2c9 100644 --- a/src/main/java/com/hbm/inventory/recipes/ShredderRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ShredderRecipes.java @@ -171,7 +171,7 @@ public class ShredderRecipes extends SerializableRecipe { ShredderRecipes.setRecipe(Blocks.clay, new ItemStack(Items.clay_ball, 4)); ShredderRecipes.setRecipe(Blocks.hardened_clay, new ItemStack(Items.clay_ball, 4)); ShredderRecipes.setRecipe(Blocks.tnt, new ItemStack(Items.gunpowder, Compat.isModLoaded(Compat.MOD_GT6) ? 4 : 5)); - ShredderRecipes.setRecipe(DictFrame.fromOne(ModBlocks.stone_resource, EnumStoneType.LIMESTONE), new ItemStack(ModItems.powder_calcium)); + ShredderRecipes.setRecipe(DictFrame.fromOne(ModBlocks.stone_resource, EnumStoneType.LIMESTONE), new ItemStack(ModItems.powder_limestone, 4)); ShredderRecipes.setRecipe(ModBlocks.stone_gneiss, new ItemStack(ModItems.powder_lithium_tiny, 1)); ShredderRecipes.setRecipe(ModItems.powder_lapis, new ItemStack(ModItems.powder_cobalt_tiny, 1)); ShredderRecipes.setRecipe(ModItems.fragment_neodymium, new ItemStack(ModItems.powder_neodymium_tiny, 1)); @@ -208,6 +208,7 @@ public class ShredderRecipes extends SerializableRecipe { ShredderRecipes.setRecipe(ModBlocks.machine_well, new ItemStack(ModItems.powder_steel, 32)); ShredderRecipes.setRecipe(DictFrame.fromOne(ModItems.chunk_ore, EnumChunkType.RARE), new ItemStack(ModItems.powder_desh_mix)); ShredderRecipes.setRecipe(Blocks.sand, new ItemStack(ModItems.dust, 2)); + ShredderRecipes.setRecipe(ModBlocks.block_slag, new ItemStack(ModItems.powder_cement, 4)); List logs = OreDictionary.getOres("logWood"); List planks = OreDictionary.getOres("plankWood"); @@ -284,6 +285,7 @@ public class ShredderRecipes extends SerializableRecipe { ShredderRecipes.setRecipe(ModBlocks.steel_grate, new ItemStack(ModItems.powder_steel_tiny, 3)); ShredderRecipes.setRecipe(ModItems.pipes_steel, new ItemStack(ModItems.powder_steel, 27)); ShredderRecipes.setRecipe(ModBlocks.machine_fluidtank, new ItemStack(ModItems.powder_steel, 16)); + ShredderRecipes.setRecipe(new ItemStack(ModItems.bedrock_ore, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(Blocks.gravel)); /* Sellafite scrapping */ ShredderRecipes.setRecipe(ModBlocks.sellafield_slaked, new ItemStack(Blocks.gravel)); diff --git a/src/main/java/com/hbm/inventory/recipes/SolderingRecipes.java b/src/main/java/com/hbm/inventory/recipes/SolderingRecipes.java index a8a2ee289..54d3a9b68 100644 --- a/src/main/java/com/hbm/inventory/recipes/SolderingRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/SolderingRecipes.java @@ -91,6 +91,19 @@ public class SolderingRecipes extends SerializableRecipe { new OreDictStack(PB.wireFine(), 12)} )); + recipes.add(new SolderingRecipe(new ItemStack(ModItems.circuit, 1, EnumCircuitType.QUANTUM.ordinal()), 400, 100_000, + new FluidStack(Fluids.HELIUM4, 1_000), + new AStack[] { + new ComparableStack(ModItems.circuit, 4, EnumCircuitType.CHIP_QUANTUM), + new ComparableStack(ModItems.circuit, lbsm ? 4 : 16, EnumCircuitType.CHIP_BISMOID), + new ComparableStack(ModItems.circuit, lbsm ? 1 : 4, EnumCircuitType.ATOMIC_CLOCK)}, + new AStack[] { + new ComparableStack(ModItems.circuit, 16, EnumCircuitType.PCB), + new OreDictStack(ANY_HARDPLASTIC.ingot(), 4)}, + new AStack[] { + new OreDictStack(PB.wireFine(), 16)} + )); + /* * COMPUTERS */ @@ -110,14 +123,25 @@ public class SolderingRecipes extends SerializableRecipe { recipes.add(new SolderingRecipe(new ItemStack(ModItems.circuit, 1, EnumCircuitType.CONTROLLER_ADVANCED.ordinal()), 600, 25_000, new AStack[] { new ComparableStack(ModItems.circuit, lbsm ? 8 : 16, EnumCircuitType.CHIP_BISMOID), - new ComparableStack(ModItems.circuit, lbsm ? 16 : 48, EnumCircuitType.CAPACITOR), - new ComparableStack(ModItems.circuit, lbsm ? 8 : 32, EnumCircuitType.CAPACITOR_TANTALIUM)}, + new ComparableStack(ModItems.circuit, lbsm ? 16 : 48, EnumCircuitType.CAPACITOR_TANTALIUM), + new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ATOMIC_CLOCK)}, new AStack[] { new ComparableStack(ModItems.circuit, 1, EnumCircuitType.CONTROLLER_CHASSIS), new ComparableStack(ModItems.upgrade_speed_3)}, new AStack[] { new OreDictStack(PB.wireFine(), 24)} )); + recipes.add(new SolderingRecipe(new ItemStack(ModItems.circuit, 1, EnumCircuitType.CONTROLLER_QUANTUM.ordinal()), 600, 250_000, + new AStack[] { + new ComparableStack(ModItems.circuit, lbsm ? 8 : 16, EnumCircuitType.CHIP_QUANTUM), + new ComparableStack(ModItems.circuit, lbsm ? 16 : 48, EnumCircuitType.CHIP_BISMOID), + new ComparableStack(ModItems.circuit, lbsm ? 1 : 8, EnumCircuitType.ATOMIC_CLOCK)}, + new AStack[] { + new ComparableStack(ModItems.circuit, 2, EnumCircuitType.CONTROLLER_ADVANCED), + new ComparableStack(ModItems.upgrade_overdrive_1)}, + new AStack[] { + new OreDictStack(PB.wireFine(), 32)} + )); /* * UPGRADES diff --git a/src/main/java/com/hbm/inventory/recipes/SolidificationRecipes.java b/src/main/java/com/hbm/inventory/recipes/SolidificationRecipes.java index cba463d6f..fcef009fe 100644 --- a/src/main/java/com/hbm/inventory/recipes/SolidificationRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/SolidificationRecipes.java @@ -9,6 +9,7 @@ import java.util.Map.Entry; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.stream.JsonWriter; +import com.hbm.blocks.ModBlocks; import com.hbm.inventory.FluidStack; import com.hbm.inventory.OreDictManager.DictFrame; import com.hbm.inventory.fluid.FluidType; @@ -69,6 +70,7 @@ public class SolidificationRecipes extends SerializableRecipe { registerRecipe(WATZ, 1000, ModItems.ingot_mud); registerRecipe(REDMUD, 1000, Items.iron_ingot); registerRecipe(SODIUM, 100, ModItems.powder_sodium); + registerRecipe(SLOP, 250, ModBlocks.ore_oil_sand); registerRecipe(OIL, SF_OIL, DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRUDE)); registerRecipe(CRACKOIL, SF_CRACK, DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRACK)); diff --git a/src/main/java/com/hbm/items/ItemGenericPart.java b/src/main/java/com/hbm/items/ItemGenericPart.java index f77155547..e66ba0904 100644 --- a/src/main/java/com/hbm/items/ItemGenericPart.java +++ b/src/main/java/com/hbm/items/ItemGenericPart.java @@ -13,7 +13,8 @@ public class ItemGenericPart extends ItemEnumMulti { PISTON_PNEUMATIC("piston_pneumatic"), PISTON_HYDRAULIC("piston_hydraulic"), PISTON_ELECTRIC("piston_electric"), - LDE("low_density_element"); + LDE("low_density_element"), + HDE("heavy_duty_element"); private String texName; diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index f58d01323..a2a3f62d3 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -116,6 +116,8 @@ public class ModItems { public static Item coal_infernal; public static Item cinnebar; public static Item powder_ash; + public static Item powder_limestone; + public static Item powder_cement; public static Item niter; public static Item ingot_copper; @@ -146,6 +148,7 @@ public class ModItems { public static Item ingot_cdalloy; public static Item ingot_bismuth_bronze; public static Item ingot_arsenic_bronze; + public static Item ingot_bscco; public static Item lithium; public static Item ingot_zirconium; public static Item ingot_hes; @@ -2566,6 +2569,7 @@ public class ModItems { ingot_cdalloy = new Item().setUnlocalizedName("ingot_cdalloy").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_cdalloy"); ingot_bismuth_bronze = new Item().setUnlocalizedName("ingot_bismuth_bronze").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_bismuth_bronze"); ingot_arsenic_bronze = new Item().setUnlocalizedName("ingot_arsenic_bronze").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_arsenic_bronze"); + ingot_bscco = new Item().setUnlocalizedName("ingot_bscco").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_bscco"); niter = new Item().setUnlocalizedName("niter").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":salpeter"); ingot_copper = new Item().setUnlocalizedName("ingot_copper").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_copper"); @@ -2757,6 +2761,8 @@ public class ModItems { coal_infernal = new Item().setUnlocalizedName("coal_infernal").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":coal_infernal"); cinnebar = new Item().setUnlocalizedName("cinnebar").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":cinnebar"); powder_ash = new ItemEnumMulti(EnumAshType.class, true, true).setUnlocalizedName("powder_ash").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_ash"); + powder_limestone = new Item().setUnlocalizedName("powder_limestone").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_limestone"); + powder_cement = new Item().setUnlocalizedName("powder_cement").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_cement"); ingot_gh336 = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("ingot_gh336").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_gh336"); nugget_gh336 = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("nugget_gh336").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_gh336"); @@ -5659,6 +5665,7 @@ public class ModItems { GameRegistry.registerItem(ingot_cdalloy, ingot_cdalloy.getUnlocalizedName()); GameRegistry.registerItem(ingot_bismuth_bronze, ingot_bismuth_bronze.getUnlocalizedName()); GameRegistry.registerItem(ingot_arsenic_bronze, ingot_arsenic_bronze.getUnlocalizedName()); + GameRegistry.registerItem(ingot_bscco, ingot_bscco.getUnlocalizedName()); GameRegistry.registerItem(ingot_lead, ingot_lead.getUnlocalizedName()); GameRegistry.registerItem(ingot_bismuth, ingot_bismuth.getUnlocalizedName()); GameRegistry.registerItem(ingot_arsenic, ingot_arsenic.getUnlocalizedName()); @@ -5918,6 +5925,8 @@ public class ModItems { GameRegistry.registerItem(dust_tiny, dust_tiny.getUnlocalizedName()); GameRegistry.registerItem(fallout, fallout.getUnlocalizedName()); GameRegistry.registerItem(powder_ash, powder_ash.getUnlocalizedName()); + GameRegistry.registerItem(powder_limestone, powder_limestone.getUnlocalizedName()); + GameRegistry.registerItem(powder_cement, powder_cement.getUnlocalizedName()); //Powders GameRegistry.registerItem(powder_fire, powder_fire.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/machine/ItemCircuit.java b/src/main/java/com/hbm/items/machine/ItemCircuit.java index 845ff4b81..948686b39 100644 --- a/src/main/java/com/hbm/items/machine/ItemCircuit.java +++ b/src/main/java/com/hbm/items/machine/ItemCircuit.java @@ -23,18 +23,22 @@ public class ItemCircuit extends ItemEnumMulti { list.add(new ItemStack(item, 1, EnumCircuitType.VACUUM_TUBE.ordinal())); list.add(new ItemStack(item, 1, EnumCircuitType.CAPACITOR.ordinal())); list.add(new ItemStack(item, 1, EnumCircuitType.CAPACITOR_TANTALIUM.ordinal())); + list.add(new ItemStack(item, 1, EnumCircuitType.ATOMIC_CLOCK.ordinal())); list.add(new ItemStack(item, 1, EnumCircuitType.PCB.ordinal())); list.add(new ItemStack(item, 1, EnumCircuitType.SILICON.ordinal())); list.add(new ItemStack(item, 1, EnumCircuitType.CHIP.ordinal())); list.add(new ItemStack(item, 1, EnumCircuitType.CHIP_BISMOID.ordinal())); + list.add(new ItemStack(item, 1, EnumCircuitType.CHIP_QUANTUM.ordinal())); list.add(new ItemStack(item, 1, EnumCircuitType.ANALOG.ordinal())); list.add(new ItemStack(item, 1, EnumCircuitType.BASIC.ordinal())); list.add(new ItemStack(item, 1, EnumCircuitType.ADVANCED.ordinal())); list.add(new ItemStack(item, 1, EnumCircuitType.CAPACITOR_BOARD.ordinal())); list.add(new ItemStack(item, 1, EnumCircuitType.BISMOID.ordinal())); + list.add(new ItemStack(item, 1, EnumCircuitType.QUANTUM.ordinal())); list.add(new ItemStack(item, 1, EnumCircuitType.CONTROLLER_CHASSIS.ordinal())); list.add(new ItemStack(item, 1, EnumCircuitType.CONTROLLER.ordinal())); list.add(new ItemStack(item, 1, EnumCircuitType.CONTROLLER_ADVANCED.ordinal())); + list.add(new ItemStack(item, 1, EnumCircuitType.CONTROLLER_QUANTUM.ordinal())); } public static enum EnumCircuitType { @@ -53,6 +57,10 @@ public class ItemCircuit extends ItemEnumMulti { CONTROLLER_CHASSIS, CONTROLLER, CONTROLLER_ADVANCED, + QUANTUM, + CHIP_QUANTUM, + CONTROLLER_QUANTUM, + ATOMIC_CLOCK, } @Override diff --git a/src/main/java/com/hbm/items/special/ItemBedrockOreNew.java b/src/main/java/com/hbm/items/special/ItemBedrockOreNew.java index ec26b1d4e..2739546f0 100644 --- a/src/main/java/com/hbm/items/special/ItemBedrockOreNew.java +++ b/src/main/java/com/hbm/items/special/ItemBedrockOreNew.java @@ -120,10 +120,10 @@ public class ItemBedrockOreNew extends Item { // primary sulfuric solvent radsolvent LIGHT_METAL( 0xFFFFFF, 0x353535, "light", IRON, CU, TI, AL, AL, CHLOROCALCITE, LI, NA, CHLOROCALCITE, LI, NA), HEAVY_METAL( 0x868686, 0x000000, "heavy", W, PB, GOLD, GOLD, BE, W, PB, GOLD, BI, BI, GOLD), - RARE_EARTH( 0xE6E6B6, 0x1C1C00, "rare", CO, EnumChunkType.RARE, B, LA, NB, ND, B, ZR, CO, ND, ZR), + RARE_EARTH( 0xE6E6B6, 0x1C1C00, "rare", CO, EnumChunkType.RARE, B, LA, NB, ND, SR, ZR, NB, ND, SR), ACTINIDE( 0xC1C7BD, 0x2B3227, "actinide", U, TH232, RA226, RA226, PO210, RA226, RA226, PO210, TC99, TC99, U238), NON_METAL( 0xAFAFAF, 0x0F0F0F, "nonmetal", COAL, S, LIGNITE, KNO, F, P_RED, F, S, CHLOROCALCITE, SI, SI), - CRYSTALLINE( 0xE2FFFA, 0x1E8A77, "crystal", DIAMOND, SODALITE, CINNABAR, ASBESTOS, REDSTONE, CINNABAR, ASBESTOS, EMERALD, BORAX, MOLYSITE, SODALITE); + CRYSTALLINE( 0xE2FFFA, 0x1E8A77, "crystal", REDSTONE, CINNABAR, SODALITE, ASBESTOS, DIAMOND, CINNABAR, ASBESTOS, EMERALD, BORAX, MOLYSITE, SODALITE); //sediment public int light; diff --git a/src/main/java/com/hbm/lib/HbmWorldGen.java b/src/main/java/com/hbm/lib/HbmWorldGen.java index f8ee016ff..e17c1b0fd 100644 --- a/src/main/java/com/hbm/lib/HbmWorldGen.java +++ b/src/main/java/com/hbm/lib/HbmWorldGen.java @@ -152,20 +152,32 @@ public class HbmWorldGen implements IWorldGenerator { DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.malachiteSpawn, 16, 6, 40, ModBlocks.stone_resource, EnumStoneType.MALACHITE.ordinal()); DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.limestoneSpawn, 12, 25, 30, ModBlocks.stone_resource, EnumStoneType.LIMESTONE.ordinal()); - - if(rand.nextInt(3) == 0) { - @SuppressWarnings("unchecked") - WeightedRandomGeneric item = (WeightedRandomGeneric) WeightedRandom.getRandomItem(rand, BedrockOre.weightedOres); - BedrockOreDefinition def = item.get(); - - if(GeneralConfig.enable528 && GeneralConfig.enable528BedrockReplacement) { - BedrockOreDefinition replacement = BedrockOre.replacements.get(def.id); - if(replacement != null) def = replacement; + + if(WorldConfig.newBedrockOres) { + + if(rand.nextInt(10) == 0) { + int randPosX = i + rand.nextInt(2) + 8; + int randPosZ = j + rand.nextInt(2) + 8; + + BedrockOre.generate(world, randPosX, randPosZ, new ItemStack(ModItems.bedrock_ore_base), null, 0xD78A16, 1); + } + + } else { + + if(rand.nextInt(3) == 0) { + @SuppressWarnings("unchecked") + WeightedRandomGeneric item = (WeightedRandomGeneric) WeightedRandom.getRandomItem(rand, BedrockOre.weightedOres); + BedrockOreDefinition def = item.get(); + + if(GeneralConfig.enable528 && GeneralConfig.enable528BedrockReplacement) { + BedrockOreDefinition replacement = BedrockOre.replacements.get(def.id); + if(replacement != null) def = replacement; + } + + int randPosX = i + rand.nextInt(2) + 8; + int randPosZ = j + rand.nextInt(2) + 8; + BedrockOre.generate(world, randPosX, randPosZ, def.stack, def.acid, def.color, def.tier); } - - int randPosX = i + rand.nextInt(2) + 8; - int randPosZ = j + rand.nextInt(2) + 8; - BedrockOre.generate(world, randPosX, randPosZ, def.stack, def.acid, def.color, def.tier); } for(int k = 0; k < WorldConfig.randomSpawn; k++) { @@ -388,8 +400,8 @@ public class HbmWorldGen implements IWorldGenerator { } if(WorldConfig.minefreq > 0 && GeneralConfig.enableMines && rand.nextInt(WorldConfig.minefreq) == 0) { - int x = i + rand.nextInt(16); - int z = j + rand.nextInt(16); + int x = i + rand.nextInt(16) + 8; + int z = j + rand.nextInt(16) + 8; int y = world.getHeightValue(x, z); if(world.getBlock(x, y - 1, z).canPlaceTorchOnTop(world, x, y - 1, z)) { diff --git a/src/main/java/com/hbm/lib/RefStrings.java b/src/main/java/com/hbm/lib/RefStrings.java index 1a5c1bf6d..19435dc12 100644 --- a/src/main/java/com/hbm/lib/RefStrings.java +++ b/src/main/java/com/hbm/lib/RefStrings.java @@ -3,7 +3,7 @@ package com.hbm.lib; public class RefStrings { public static final String MODID = "hbm"; public static final String NAME = "Hbm's Nuclear Tech Mod"; - public static final String VERSION = "1.0.27 BETA (5000)"; + public static final String VERSION = "1.0.27 BETA (5020)"; //HBM's Beta Naming Convention: //V T (X) //V -> next release version diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index ee1339949..4b4d82843 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -54,6 +54,7 @@ import com.hbm.blocks.generic.BlockEmitter.TileEntityEmitter; import com.hbm.blocks.generic.BlockLoot.TileEntityLoot; import com.hbm.blocks.generic.BlockPedestal.TileEntityPedestal; import com.hbm.blocks.generic.BlockSnowglobe.TileEntitySnowglobe; +import com.hbm.blocks.machine.Floodlight.TileEntityFloodlight; import com.hbm.blocks.machine.MachineFan.TileEntityFan; import com.hbm.blocks.machine.PistonInserter.TileEntityPistonInserter; import com.hbm.blocks.machine.WatzPump.TileEntityWatzPump; @@ -152,7 +153,7 @@ public class ClientProxy extends ServerProxy { Jars.initJars(); if(GeneralConfig.enableSoundExtension) { - SoundSystemConfig.setNumberNormalChannels(1000); + SoundSystemConfig.setNumberNormalChannels(GeneralConfig.normalSoundChannels); SoundSystemConfig.setNumberStreamingChannels(50); } } @@ -184,6 +185,7 @@ public class ClientProxy extends ServerProxy { ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecoBlockAltW.class, new RenderDecoBlockAlt()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecoBlockAltF.class, new RenderDecoBlockAlt()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDemonLamp.class, new RenderDemonLamp()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFloodlight.class, new RenderFloodlight()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLoot.class, new RenderLoot()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPedestal.class, new RenderPedestalTile()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBobble.class, new RenderBobble()); @@ -873,6 +875,7 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerBlockHandler(new RenderLight()); RenderingRegistry.registerBlockHandler(new RenderCRT()); RenderingRegistry.registerBlockHandler(new RenderToaster()); + RenderingRegistry.registerBlockHandler(new RenderPartitioner()); RenderingRegistry.registerBlockHandler(new RenderFoundryBasin()); RenderingRegistry.registerBlockHandler(new RenderFoundryMold()); @@ -1962,7 +1965,9 @@ public class ClientProxy extends ServerProxy { held == Item.getItemFromBlock(ModBlocks.drone_crate_provider) || held == Item.getItemFromBlock(ModBlocks.drone_crate_requester) || held == Item.getItemFromBlock(ModBlocks.drone_dock) || - held == Item.getItemFromBlock(ModBlocks.drone_waypoint_request)) { + held == Item.getItemFromBlock(ModBlocks.drone_waypoint_request) || + held == Item.getItemFromBlock(ModBlocks.drone_waypoint) || + held == ModItems.drone_linker) { double mX = data.getDouble("mX"); double mY = data.getDouble("mY"); double mZ = data.getDouble("mZ"); diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index a349a3ac8..12a16a31d 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -124,7 +124,10 @@ public class CraftingManager { addRecipeAuto(DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP), new Object[] { "I", "S", "W", 'I', ModItems.plate_polymer, 'S', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.SILICON), 'W', GOLD.wireFine() }); addRecipeAuto(DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP_BISMOID), new Object[] { "III", "SNS", "WWW", 'I', ModItems.plate_polymer, 'S', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.SILICON), 'N', ANY_BISMOID.nugget(), 'W', CU.wireFine() }); addRecipeAuto(DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP_BISMOID), new Object[] { "III", "SNS", "WWW", 'I', ModItems.plate_polymer, 'S', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.SILICON), 'N', ANY_BISMOID.nugget(), 'W', GOLD.wireFine() }); + addRecipeAuto(DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP_QUANTUM), new Object[] { "HHH", "SIS", "WWW", 'H', ANY_HARDPLASTIC.ingot(), 'S', BSCCO.wireDense(), 'I', ModItems.pellet_charged, 'W', CU.wireFine() }); + addRecipeAuto(DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP_QUANTUM), new Object[] { "HHH", "SIS", "WWW", 'H', ANY_HARDPLASTIC.ingot(), 'S', BSCCO.wireDense(), 'I', ModItems.pellet_charged, 'W', GOLD.wireFine() }); addRecipeAuto(DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CONTROLLER_CHASSIS), new Object[] { "PPP", "CBB", "PPP", 'P', ANY_PLASTIC.ingot(), 'C', ModItems.crt_display, 'B', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.PCB) }); + addRecipeAuto(DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ATOMIC_CLOCK), new Object[] { "ICI", "CSC", "ICI", 'I', ModItems.plate_polymer, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP), 'S', SR.dust() }); addRecipeAuto(new ItemStack(ModItems.crt_display, 4), new Object[] { " A ", "SGS", " T ", 'A', AL.dust(), 'S', STEEL.plate(), 'G', KEY_ANYPANE, 'T', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.VACUUM_TUBE) }); @@ -980,19 +983,20 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.crane_unboxer), new Object[] { "WWW", "WPW", "CCC", 'W', KEY_STICK, 'P', Items.shears, 'C', ModBlocks.conveyor }); addRecipeAuto(new ItemStack(ModBlocks.crane_router), new Object[] { "PIP", "ICI", "PIP", 'P', DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_PNEUMATIC), 'I', ModItems.plate_polymer, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC) }); addRecipeAuto(new ItemStack(ModBlocks.crane_splitter), new Object[] { "III", "PCP", "III", 'P', DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_PNEUMATIC), 'I', STEEL.ingot(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.VACUUM_TUBE) }); + addRecipeAuto(new ItemStack(ModBlocks.crane_partitioner), new Object[] { " M ", "BCB", 'M', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP), 'B', ModBlocks.conveyor, 'C', ModBlocks.crate_steel }); addRecipeAuto(new ItemStack(ModBlocks.machine_conveyor_press), new Object[] { "CPC", "CBC", "CCC", 'C', CU.plate(), 'P', ModBlocks.machine_epress, 'B', ModBlocks.conveyor }); addRecipeAuto(new ItemStack(ModBlocks.radar_screen), new Object[] { "PCP", "SRS", "PCP", 'P', ANY_PLASTIC.ingot(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC), 'S', STEEL.plate(), 'R', ModItems.crt_display }); addRecipeAuto(new ItemStack(ModItems.radar_linker), new Object[] { "S", "C", "P", 'S', ModItems.crt_display, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC), 'P', STEEL.plate() }); - addRecipeAuto(new ItemStack(ModItems.drone, 1, EnumDroneType.PATROL.ordinal()), new Object[] { "PPP", "HCH", " B ", 'P', ANY_PLASTIC.ingot(), 'H', STEEL.shell(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.VACUUM_TUBE), 'B', ModBlocks.crate_steel }); + addRecipeAuto(new ItemStack(ModItems.drone, 2, EnumDroneType.PATROL.ordinal()), new Object[] { " P ", "HCH", " B ", 'P', ANY_PLASTIC.ingot(), 'H', STEEL.pipe(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.VACUUM_TUBE), 'B', STEEL.shell() }); addRecipeAuto(new ItemStack(ModItems.drone, 1, EnumDroneType.PATROL_CHUNKLOADING.ordinal()), new Object[] { "E", "D", 'E', Items.ender_pearl, 'D', new ItemStack(ModItems.drone, 1, EnumDroneType.PATROL.ordinal()) }); addRecipeAuto(new ItemStack(ModItems.drone, 1, EnumDroneType.PATROL_EXPRESS.ordinal()), new Object[] { " P ", "KDK", " P ", 'P', TI.plateWelded(), 'K', Fluids.KEROSENE.getDict(1_000), 'D', new ItemStack(ModItems.drone, 1, EnumDroneType.PATROL.ordinal()) }); addRecipeAuto(new ItemStack(ModItems.drone, 1, EnumDroneType.PATROL_EXPRESS_CHUNKLOADING.ordinal()), new Object[] { "E", "D", 'E', Items.ender_pearl, 'D', new ItemStack(ModItems.drone, 1, EnumDroneType.PATROL_EXPRESS.ordinal()) }); addRecipeAuto(new ItemStack(ModItems.drone, 1, EnumDroneType.PATROL_EXPRESS_CHUNKLOADING.ordinal()), new Object[] { " P ", "KDK", " P ", 'P', TI.plateWelded(), 'K', Fluids.KEROSENE.getDict(1_000), 'D', new ItemStack(ModItems.drone, 1, EnumDroneType.PATROL_CHUNKLOADING.ordinal()) }); addShapelessAuto(new ItemStack(ModItems.drone, 1, EnumDroneType.PATROL.ordinal()), new Object[] { new ItemStack(ModItems.drone, 1, EnumDroneType.PATROL_CHUNKLOADING.ordinal()) }); addShapelessAuto(new ItemStack(ModItems.drone, 1, EnumDroneType.PATROL_EXPRESS.ordinal()), new Object[] { new ItemStack(ModItems.drone, 1, EnumDroneType.PATROL_EXPRESS_CHUNKLOADING.ordinal()) }); - addRecipeAuto(new ItemStack(ModItems.drone, 1, EnumDroneType.REQUEST.ordinal()), new Object[] { "E", "D", 'E', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC), 'D', new ItemStack(ModItems.drone, 1, EnumDroneType.PATROL_EXPRESS.ordinal()) }); + addRecipeAuto(new ItemStack(ModItems.drone, 1, EnumDroneType.REQUEST.ordinal()), new Object[] { "E", "D", 'E', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP), 'D', new ItemStack(ModItems.drone, 1, EnumDroneType.PATROL.ordinal()) }); addRecipeAuto(new ItemStack(ModItems.drone_linker), new Object[] { "T", "C", 'T', ModBlocks.drone_waypoint, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC) }); addRecipeAuto(new ItemStack(ModBlocks.drone_waypoint, 4), new Object[] { "G", "T", "C", 'G', KEY_GREEN, 'T', Blocks.redstone_torch, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC) }); diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index b5d663e6e..b5dfa1227 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -87,6 +87,7 @@ import net.minecraftforge.common.ForgeChunkManager.Ticket; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.config.Configuration; import net.minecraftforge.common.util.EnumHelper; + import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -353,6 +354,7 @@ public class MainRegistry { ChestGenHooks.addItem(ChestGenHooks.BONUS_CHEST, new WeightedRandomChestContent(new ItemStack(ModItems.no9), 1, 1, 7)); EntityMappings.writeMappings(); + //CompatNER.init(); ForgeChunkManager.setForcedChunkLoadingCallback(this, new LoadingCallback() { @@ -1339,6 +1341,7 @@ public class MainRegistry { ignoreMappings.add("hbm:tile.ore_verticium"); ignoreMappings.add("hbm:item.warhead_mirvlet"); ignoreMappings.add("hbm:item.generator_front"); + ignoreMappings.add("hbm:tile.rbmk_heatex"); /// REMAP /// remapItems.put("hbm:item.gadget_explosive8", ModItems.early_explosive_lenses); diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index f3a2293ad..4f0d2f55b 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -51,8 +51,6 @@ import com.hbm.items.armor.ItemArmorMod; import com.hbm.items.armor.ItemModRevive; import com.hbm.items.armor.ItemModShackles; import com.hbm.items.food.ItemConserve.EnumFoodType; -import com.hbm.items.special.ItemBedrockOreBase; -import com.hbm.items.special.ItemBedrockOreNew.BedrockOreType; import com.hbm.items.tool.ItemGuideBook.BookType; import com.hbm.items.weapon.ItemGunBase; import com.hbm.lib.HbmCollection; @@ -123,7 +121,6 @@ import net.minecraft.util.EntityDamageSource; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.FoodStats; import net.minecraft.util.MathHelper; -import net.minecraft.util.StatCollector; import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraftforge.common.util.FakePlayer; diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 4df4c2649..56a731df4 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -1491,6 +1491,7 @@ public class ResourceManager { public static final IModelCustom pipe_neo = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/pipe_neo.obj")); public static final IModelCustom difurnace_extension = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/difurnace_extension.obj")); public static final IModelCustom splitter = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/splitter.obj")); + public static final IModelCustom crane_buffer = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/crane_buffer.obj")); public static final IModelCustom rail_narrow_straight = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/rail_narrow.obj")); public static final IModelCustom rail_narrow_curve = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/rail_narrow_bend.obj")); public static final IModelCustom rail_standard_straight = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/rail_standard.obj")); diff --git a/src/main/java/com/hbm/render/block/RenderPartitioner.java b/src/main/java/com/hbm/render/block/RenderPartitioner.java new file mode 100644 index 000000000..f70b68577 --- /dev/null +++ b/src/main/java/com/hbm/render/block/RenderPartitioner.java @@ -0,0 +1,75 @@ +package com.hbm.render.block; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.network.CranePartitioner; +import com.hbm.main.ResourceManager; +import com.hbm.render.util.ObjUtil; + +import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.world.IBlockAccess; +import net.minecraftforge.client.model.obj.WavefrontObject; + +public class RenderPartitioner implements ISimpleBlockRenderingHandler { + + @Override + public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { + + GL11.glPushMatrix(); + Tessellator tessellator = Tessellator.instance; + tessellator.setColorOpaque_F(1, 1, 1); + + GL11.glRotated(90, 0, 1, 0); + GL11.glTranslatef(0F, -0.5F, 0F); + + tessellator.startDrawingQuads(); + drawPartitioner(tessellator, block, 0, false); + tessellator.draw(); + + GL11.glPopMatrix(); + } + + @Override + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + + Tessellator tessellator = Tessellator.instance; + tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); + tessellator.setColorOpaque_F(1, 1, 1); + + tessellator.addTranslation(x + 0.5F, y, z + 0.5F); + + int meta = world.getBlockMetadata(x, y, z); + float rotation = 0; + if(meta == 2) rotation = 90F / 180F * (float) Math.PI; + if(meta == 4) rotation = 180F / 180F * (float) Math.PI; + if(meta == 5) rotation = 0F / 180F * (float) Math.PI; + if(meta == 3) rotation = 270F / 180F * (float)Math.PI; + drawPartitioner(tessellator, block, rotation, true); + tessellator.addTranslation(-x - 0.5F, -y, -z - 0.5F); + + return true; + } + + @Override + public boolean shouldRender3DInInventory(int modelId) { + return true; + } + + private static void drawPartitioner(Tessellator tessellator, Block block, float rotation, boolean shadeNormals) { + CranePartitioner partitioner = (CranePartitioner) block; + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.crane_buffer, "Side", partitioner.getIcon(0, 0), tessellator, rotation, shadeNormals); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.crane_buffer, "Back", partitioner.iconBack, tessellator, rotation, shadeNormals); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.crane_buffer, "Top_Top.001", partitioner.iconTop, tessellator, rotation, shadeNormals); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.crane_buffer, "Inner", partitioner.iconInner, tessellator, rotation, shadeNormals); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.crane_buffer, "InnerSide", partitioner.iconInnerSide, tessellator, rotation, shadeNormals); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.crane_buffer, "Belt", partitioner.iconBelt, tessellator, rotation, shadeNormals); + } + + @Override + public int getRenderId() { + return CranePartitioner.renderID; + } +} diff --git a/src/main/java/com/hbm/render/tileentity/RenderFloodlight.java b/src/main/java/com/hbm/render/tileentity/RenderFloodlight.java new file mode 100644 index 000000000..54c593cee --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderFloodlight.java @@ -0,0 +1,58 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.machine.Floodlight.TileEntityFloodlight; +import com.hbm.lib.RefStrings; +import com.hbm.render.loader.HFRWavefrontObject; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.model.IModelCustom; + +public class RenderFloodlight extends TileEntitySpecialRenderer { + + public static final IModelCustom floodlight = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/blocks/floodlight.obj")); + public static final ResourceLocation tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/floodlight.png"); + + @Override + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) { + + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y + 0.5D, z + 0.5D); + + int meta = tileEntity.getBlockMetadata(); + switch(meta) { + case 0: case 6: GL11.glRotated(180, 1, 0, 0); break; + case 1: case 7: break; + case 2: GL11.glRotated(90, 1, 0, 0); GL11.glRotated(180, 0, 0, 1); break; + case 3: GL11.glRotated(90, 1, 0, 0); break; + case 4: GL11.glRotated(90, 1, 0, 0); GL11.glRotated(90, 0, 0, 1); break; + case 5: GL11.glRotated(90, 1, 0, 0); GL11.glRotated(270, 0, 0, 1); break; + } + + GL11.glTranslated(0, -0.5, 0); + + if(meta != 0 && meta != 1) GL11.glRotated(90, 0, 1, 0); + + bindTexture(tex); + floodlight.renderPart("Base"); + + TileEntityFloodlight floodtile = (TileEntityFloodlight) tileEntity; + float rotation = floodtile.rotation; + if(meta == 0 || meta == 6) rotation -= 90; + if(meta == 1 || meta == 7) rotation += 90; + GL11.glTranslated(0, 0.5, 0); + GL11.glRotatef(rotation, 0, 0, 1); + GL11.glTranslated(0, -0.5, 0); + + floodlight.renderPart("Lights"); + RenderArcFurnace.fullbright(true); + floodlight.renderPart("Lamps"); + RenderArcFurnace.fullbright(false); + + GL11.glPopMatrix(); + } + +} diff --git a/src/main/java/com/hbm/render/tileentity/RenderOreSlopper.java b/src/main/java/com/hbm/render/tileentity/RenderOreSlopper.java index 6db111b7f..9f251eda2 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderOreSlopper.java +++ b/src/main/java/com/hbm/render/tileentity/RenderOreSlopper.java @@ -4,10 +4,15 @@ import org.lwjgl.opengl.GL11; import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ModBlocks; +import com.hbm.items.ModItems; import com.hbm.main.ResourceManager; import com.hbm.render.item.ItemRenderBase; +import com.hbm.render.util.RenderDecoItem; +import com.hbm.tileentity.machine.TileEntityMachineOreSlopper; +import net.minecraft.client.renderer.entity.RenderItem; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.entity.item.EntityItem; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; @@ -15,6 +20,8 @@ import net.minecraft.util.MathHelper; import net.minecraftforge.client.IItemRenderer; public class RenderOreSlopper extends TileEntitySpecialRenderer implements IItemRendererProvider { + + private RenderItem itemRenderer = new RenderDecoItem(this); @Override public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float interp) { @@ -29,39 +36,66 @@ public class RenderOreSlopper extends TileEntitySpecialRenderer implements IItem case 2: GL11.glRotatef(0, 0F, 1F, 0F); break; case 4: GL11.glRotatef(90, 0F, 1F, 0F); break; } + + TileEntityMachineOreSlopper slopper = (TileEntityMachineOreSlopper) tile; GL11.glShadeModel(GL11.GL_SMOOTH); bindTexture(ResourceManager.ore_slopper_tex); ResourceManager.ore_slopper.renderPart("Base"); + + GL11.glPushMatrix(); + + double slide = slopper.prevSlider + (slopper.slider - slopper.prevSlider) * interp; + GL11.glTranslated(0, 0, slide * -3); ResourceManager.ore_slopper.renderPart("Slider"); GL11.glPushMatrix(); - double extend = Math.sin(((tile.getWorldObj().getTotalWorldTime() + interp) * 0.1 % (Math.PI * 2))) * 0.625+ 0.625; + double extend = (slopper.prevBucket + (slopper.bucket - slopper.prevBucket) * interp) * 1.5; GL11.glTranslated(0, -MathHelper.clamp_double(extend - 0.25, 0, 1.25), 0); ResourceManager.ore_slopper.renderPart("Hydraulics"); GL11.glTranslated(0, -MathHelper.clamp_double(extend, 0, 1.25), 0); ResourceManager.ore_slopper.renderPart("Bucket"); + + if(slopper.animation == slopper.animation.LIFTING) { + GL11.glTranslated(0.0625D, 4.3125D, 2D); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glRotatef(90, 0F, 1F, 0F); + GL11.glRotatef(-90, 1F, 0F, 0F); + ItemStack stack = new ItemStack(ModItems.bedrock_ore, 1, 0); + EntityItem item = new EntityItem(null, 0.0D, 0.0D, 0.0D, stack); + item.getEntityItem().stackSize = 1; + item.hoverStart = 0.0F; + RenderItem.renderInFrame = true; + GL11.glScaled(1.75, 1.75, 1.75); + itemRenderer.doRender(item, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F); + RenderItem.renderInFrame = false; + bindTexture(ResourceManager.ore_slopper_tex); + } + + GL11.glPopMatrix(); GL11.glPopMatrix(); - double speed = 10; + double blades = slopper.prevBlades + (slopper.blades - slopper.prevBlades) * interp; GL11.glPushMatrix(); GL11.glTranslated(0.375, 2.75, 0); - GL11.glRotated((tile.getWorldObj().getTotalWorldTime() % 360 + interp) * speed, 0, 0, 1); + GL11.glRotated(blades, 0, 0, 1); GL11.glTranslated(-0.375, -2.75, 0); ResourceManager.ore_slopper.renderPart("BladesLeft"); GL11.glPopMatrix(); GL11.glPushMatrix(); GL11.glTranslated(-0.375, 2.75, 0); - GL11.glRotated((tile.getWorldObj().getTotalWorldTime() % 360 + interp) * -speed, 0, 0, 1); + GL11.glRotated(-blades, 0, 0, 1); GL11.glTranslated(0.375, -2.75, 0); ResourceManager.ore_slopper.renderPart("BladesRight"); GL11.glPopMatrix(); + + double fan = slopper.prevFan + (slopper.fan - slopper.prevFan) * interp; GL11.glPushMatrix(); GL11.glTranslated(0, 1.875, -1); - GL11.glRotated((tile.getWorldObj().getTotalWorldTime() % 360 + interp) * -25, 1, 0, 0); + GL11.glRotated(-fan, 1, 0, 0); GL11.glTranslated(0, -1.875, 1); ResourceManager.ore_slopper.renderPart("Fan"); GL11.glPopMatrix(); diff --git a/src/main/java/com/hbm/tileentity/TileEntityProxyBase.java b/src/main/java/com/hbm/tileentity/TileEntityProxyBase.java index 36a123851..61b3cbd44 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityProxyBase.java +++ b/src/main/java/com/hbm/tileentity/TileEntityProxyBase.java @@ -18,6 +18,8 @@ public class TileEntityProxyBase extends TileEntityLoadedBase { public TileEntity getTE() { + if(worldObj == null) return null; + if(cachedPosition != null) { TileEntity te = Compat.getTileStandard(worldObj, cachedPosition.getX(), cachedPosition.getY(), cachedPosition.getZ()); if(te != null && !(te instanceof TileEntityProxyBase)) return te; diff --git a/src/main/java/com/hbm/tileentity/TileEntityProxyCombo.java b/src/main/java/com/hbm/tileentity/TileEntityProxyCombo.java index f550af4b8..a2ac9ba74 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityProxyCombo.java +++ b/src/main/java/com/hbm/tileentity/TileEntityProxyCombo.java @@ -548,6 +548,7 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy } @Override // please work + @Optional.Method(modid = "OpenComputers") public String getComponentName() { if(this.getTile() instanceof OCComponent) return ((OCComponent) this.getTile()).getComponentName(); @@ -555,6 +556,7 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy } @Override + @Optional.Method(modid = "OpenComputers") public boolean canConnectNode(ForgeDirection side) { //thank you vaer if(this.getTile() instanceof OCComponent) return (this.getTile().getBlockMetadata() & 6) == 6 && ((OCComponent) this.getTile()).canConnectNode(side); @@ -562,6 +564,7 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy } @Override + @Optional.Method(modid = "OpenComputers") public String[] getExtraInfo() { if(this.getTile() instanceof OCComponent) return new String[] {"analyze.dummy"}; @@ -569,6 +572,7 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy } @Override + @Optional.Method(modid = "OpenComputers") public String[] methods() { if(this.getTile() instanceof OCComponent) return ((OCComponent) this.getTile()).methods(); @@ -576,6 +580,7 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy } @Override + @Optional.Method(modid = "OpenComputers") public Object[] invoke(String method, Context context, Arguments args) throws Exception { if(this.getTile() instanceof OCComponent) return ((OCComponent) this.getTile()).invoke(method, context, args); diff --git a/src/main/java/com/hbm/tileentity/TileMappings.java b/src/main/java/com/hbm/tileentity/TileMappings.java index 7ebd31097..3947dde60 100644 --- a/src/main/java/com/hbm/tileentity/TileMappings.java +++ b/src/main/java/com/hbm/tileentity/TileMappings.java @@ -17,6 +17,7 @@ import com.hbm.blocks.generic.BlockSnowglobe.TileEntitySnowglobe; import com.hbm.blocks.generic.PartEmitter.TileEntityPartEmitter; import com.hbm.blocks.machine.BlockICF.TileEntityBlockICF; import com.hbm.blocks.machine.BlockPWR.TileEntityBlockPWR; +import com.hbm.blocks.machine.Floodlight.TileEntityFloodlight; import com.hbm.blocks.machine.MachineCapacitor.TileEntityCapacitor; import com.hbm.blocks.machine.MachineFan.TileEntityFan; import com.hbm.blocks.machine.PistonInserter.TileEntityPistonInserter; @@ -24,6 +25,7 @@ import com.hbm.blocks.machine.WatzPump.TileEntityWatzPump; import com.hbm.blocks.network.BlockCableGauge.TileEntityCableGauge; import com.hbm.blocks.network.BlockCablePaintable.TileEntityCablePaintable; import com.hbm.blocks.network.CableDiode.TileEntityDiode; +import com.hbm.blocks.network.CranePartitioner.TileEntityCranePartitioner; import com.hbm.blocks.network.FluidDuctGauge.TileEntityPipeGauge; import com.hbm.blocks.network.FluidDuctPaintable.TileEntityPipePaintable; import com.hbm.blocks.rail.RailStandardSwitch.TileEntityRailSwitch; @@ -91,6 +93,7 @@ public class TileMappings { put(TileEntityMachineExposureChamber.class, "tileentity_exposure_chamber"); put(TileEntityMachineRTG.class, "tileentity_machine_rtg"); put(TileEntityMachineExcavator.class, "tileentity_ntm_excavator"); + put(TileEntityMachineOreSlopper.class, "tileentity_ore_slopper"); put(TileEntityFluidDuctSimple.class, "tileentity_universal_duct_simple"); put(TileEntityFluidDuct.class, "tileentity_universal_duct"); put(TileEntityMachineDrain.class, "tileentity_fluid_drain"); @@ -182,6 +185,7 @@ public class TileMappings { put(TileEntitySILEX.class, "tileentity_silex"); put(TileEntityFEL.class, "tileentity_fel"); put(TileEntityDemonLamp.class, "tileentity_demonlamp"); + put(TileEntityFloodlight.class, "tileentity_floodlight"); put(TileEntityLantern.class, "tileentity_lantern_ordinary"); put(TileEntityLanternBehemoth.class, "tileentity_lantern_behemoth"); put(TileEntityStorageDrum.class, "tileentity_waste_storage_drum"); @@ -395,6 +399,7 @@ public class TileMappings { put(TileEntityCraneUnboxer.class, "tileentity_unboxer"); put(TileEntityCraneRouter.class, "tileentity_router"); put(TileEntityCraneSplitter.class, "tileentity_splitter"); + put(TileEntityCranePartitioner.class, "tileentity_partitioner"); put(TileEntityFan.class, "tileentity_fan"); put(TileEntityPistonInserter.class, "tileentity_piston_inserter"); diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPadBase.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPadBase.java index 7624b53d5..ea1974511 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPadBase.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPadBase.java @@ -472,6 +472,7 @@ public abstract class TileEntityLaunchPadBase extends TileEntityMachineBase impl // do some opencomputer stuff @Override + @Optional.Method(modid = "OpenComputers") public String getComponentName() { return "ntm_launch_pad"; } @@ -526,6 +527,7 @@ public abstract class TileEntityLaunchPadBase extends TileEntityMachineBase impl } @Override + @Optional.Method(modid = "OpenComputers") public String[] methods() { return new String[] { "getEnergyInfo", @@ -536,6 +538,8 @@ public abstract class TileEntityLaunchPadBase extends TileEntityMachineBase impl }; } + @Override + @Optional.Method(modid = "OpenComputers") public Object[] invoke(String method, Context context, Arguments args) throws Exception { switch(method) { case ("getEnergyInfo"): @@ -548,8 +552,7 @@ public abstract class TileEntityLaunchPadBase extends TileEntityMachineBase impl return getTier(context, args); case ("launch"): return launch(context, args); - } + } throw new NoSuchMethodException(); -} - + } } diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java index b193f0cb1..a3dfea4ae 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java @@ -649,6 +649,7 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide // do some opencomputer stuff @Override + @Optional.Method(modid = "OpenComputers") public String getComponentName() { return "ntm_custom_launch_pad"; } @@ -714,6 +715,8 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide return new Object[] {false}; } + @Override + @Optional.Method(modid = "OpenComputers") public String[] methods() { return new String[] { "getEnergyInfo", @@ -725,6 +728,8 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide }; } + @Override + @Optional.Method(modid = "OpenComputers") public Object[] invoke(String method, Context context, Arguments args) throws Exception { switch(method) { case ("getEnergyInfo"): diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityChungus.java b/src/main/java/com/hbm/tileentity/machine/TileEntityChungus.java index 874064a5c..d993b0ce5 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityChungus.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityChungus.java @@ -318,6 +318,7 @@ public class TileEntityChungus extends TileEntityLoadedBase implements IFluidAcc } @Override + @Optional.Method(modid = "OpenComputers") public String getComponentName() { return "ntm_turbine"; } @@ -367,6 +368,8 @@ public class TileEntityChungus extends TileEntityLoadedBase implements IFluidAcc return new Object[] {tanks[0].getFill(), tanks[0].getMaxFill(), tanks[1].getFill(), tanks[1].getMaxFill(), CompatHandler.steamTypeToInt(tanks[0].getTankType())}; } + @Override + @Optional.Method(modid = "OpenComputers") public String[] methods() { return new String[] { "getFluid", @@ -376,6 +379,8 @@ public class TileEntityChungus extends TileEntityLoadedBase implements IFluidAcc }; } + @Override + @Optional.Method(modid = "OpenComputers") public Object[] invoke(String method, Context context, Arguments args) throws Exception { switch(method) { case ("getFluid"): diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java index 1bab38cd8..d85dda700 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java @@ -275,6 +275,7 @@ public class TileEntityCoreEmitter extends TileEntityMachineBase implements IEne // do some opencomputer stuff @Override + @Optional.Method(modid = "OpenComputers") public String getComponentName() { return "dfc_emitter"; } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreInjector.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreInjector.java index 20891cbe3..ea5cd0b5b 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreInjector.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreInjector.java @@ -197,6 +197,7 @@ public class TileEntityCoreInjector extends TileEntityMachineBase implements IFl // do some opencomputer stuff @Override + @Optional.Method(modid = "OpenComputers") public String getComponentName() { return "dfc_injector"; } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java index b2fe65851..4096dc271 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java @@ -190,6 +190,7 @@ public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEn // do some opencomputer stuff @Override + @Optional.Method(modid = "OpenComputers") public String getComponentName() { return "dfc_receiver"; } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java index a21677995..bb7e05bbb 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java @@ -172,6 +172,7 @@ public class TileEntityCoreStabilizer extends TileEntityMachineBase implements I // do some opencomputer stuff @Override + @Optional.Method(modid = "OpenComputers") public String getComponentName() { return "dfc_stabilizer"; } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityElectrolyser.java b/src/main/java/com/hbm/tileentity/machine/TileEntityElectrolyser.java index 633c18cb7..9801d413b 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityElectrolyser.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityElectrolyser.java @@ -28,6 +28,7 @@ import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IUpgradeInfoProvider; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.BobMathUtil; import com.hbm.util.CrucibleUtil; import com.hbm.util.I18nUtil; import com.hbm.util.fauxpointtwelve.DirPos; @@ -59,16 +60,14 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn public int usageFluid; public int progressFluid; - public static final int processFluidTimeBase = 20; - public int processFluidTime; + public int processFluidTime = 100; public int progressOre; - public static final int processOreTimeBase = 600; - public int processOreTime; + public int processOreTime = 600; public MaterialStack leftStack; public MaterialStack rightStack; public int maxMaterial = MaterialShapes.BLOCK.q(16); - + public FluidTank[] tanks; public TileEntityElectrolyser() { @@ -88,7 +87,7 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn tanks[2] = new FluidTank(Fluids.OXYGEN, 16000); tanks[3] = new FluidTank(Fluids.NITRIC_ACID, 16000); } - + @Override public int[] getAccessibleSlotsFromSide(int meta) { return new int[] { 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 }; @@ -114,13 +113,13 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn public void updateEntity() { if(!worldObj.isRemote) { - + this.power = Library.chargeTEFromItems(slots, 0, power, maxPower); this.tanks[0].setType(3, 4, slots); this.tanks[0].loadTank(5, 6, slots); this.tanks[1].unloadTank(7, 8, slots); this.tanks[2].unloadTank(9, 10, slots); - + if(worldObj.getTotalWorldTime() % 20 == 0) { for(DirPos pos : this.getConPos()) { this.trySubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); @@ -131,46 +130,46 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn if(tanks[2].getFill() > 0) this.sendFluid(tanks[2], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } - + UpgradeManager.eval(slots, 1, 2); int speedLevel = Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 3); int powerLevel = Math.min(UpgradeManager.getLevel(UpgradeType.POWER), 3); - processFluidTime = processFluidTimeBase - processFluidTimeBase * speedLevel / 4; - processOreTime = processOreTimeBase - processOreTimeBase * speedLevel / 4; usageOre = usageOreBase - usageOreBase * powerLevel / 4; usageFluid = usageFluidBase - usageFluidBase * powerLevel / 4; - - if(this.canProcessFluid()) { - this.progressFluid++; - this.power -= this.usageFluid; - - if(this.progressFluid >= this.processFluidTime) { - this.processFluids(); - this.progressFluid = 0; - this.markChanged(); + + for(int i = 0; i < getCycleCount(); i++) { + if (this.canProcessFluid()) { + this.progressFluid++; + this.power -= this.usageFluid; + + if (this.progressFluid >= this.getDurationFluid()) { + this.processFluids(); + this.progressFluid = 0; + this.markChanged(); + } + } + + if (this.canProcessMetal()) { + this.progressOre++; + this.power -= this.usageOre; + + if (this.progressOre >= this.getDurationMetal()) { + this.processMetal(); + this.progressOre = 0; + this.markChanged(); + } } } - - if(this.canProcesMetal()) { - this.progressOre++; - this.power -= this.usageOre; - - if(this.progressOre >= this.processOreTime) { - this.processMetal(); - this.progressOre = 0; - this.markChanged(); - } - } - + if(this.leftStack != null) { - + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset).getOpposite(); List toCast = new ArrayList(); toCast.add(this.leftStack); - + Vec3 impact = Vec3.createVectorHelper(0, 0, 0); - MaterialStack didPour = CrucibleUtil.pourFullStack(worldObj, xCoord + 0.5D + dir.offsetX * 5.875D, yCoord + 2D, zCoord + 0.5D + dir.offsetZ * 5.875D, 6, true, toCast, MaterialShapes.NUGGET.q(3), impact); + MaterialStack didPour = CrucibleUtil.pourFullStack(worldObj, xCoord + 0.5D + dir.offsetX * 5.875D, yCoord + 2D, zCoord + 0.5D + dir.offsetZ * 5.875D, 6, true, toCast, MaterialShapes.NUGGET.q(3) * Math.max (getCycleCount() * speedLevel, 1), impact); if(didPour != null) { NBTTagCompound data = new NBTTagCompound(); @@ -181,19 +180,19 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn data.setFloat("base", 0.625F); data.setFloat("len", Math.max(1F, yCoord - (float) (Math.ceil(impact.yCoord) - 0.875) + 2)); PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, xCoord + 0.5D + dir.offsetX * 5.875D, yCoord + 2, zCoord + 0.5D + dir.offsetZ * 5.875D), new TargetPoint(worldObj.provider.dimensionId, xCoord + 0.5, yCoord + 1, zCoord + 0.5, 50)); - + if(this.leftStack.amount <= 0) this.leftStack = null; } } - + if(this.rightStack != null) { - + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); List toCast = new ArrayList(); toCast.add(this.rightStack); - + Vec3 impact = Vec3.createVectorHelper(0, 0, 0); - MaterialStack didPour = CrucibleUtil.pourFullStack(worldObj, xCoord + 0.5D + dir.offsetX * 5.875D, yCoord + 2D, zCoord + 0.5D + dir.offsetZ * 5.875D, 6, true, toCast, MaterialShapes.NUGGET.q(3), impact); + MaterialStack didPour = CrucibleUtil.pourFullStack(worldObj, xCoord + 0.5D + dir.offsetX * 5.875D, yCoord + 2D, zCoord + 0.5D + dir.offsetZ * 5.875D, 6, true, toCast, MaterialShapes.NUGGET.q(3) * Math.max (getCycleCount() * speedLevel, 1), impact); if(didPour != null) { NBTTagCompound data = new NBTTagCompound(); @@ -204,19 +203,19 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn data.setFloat("base", 0.625F); data.setFloat("len", Math.max(1F, yCoord - (float) (Math.ceil(impact.yCoord) - 0.875) + 2)); PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, xCoord + 0.5D + dir.offsetX * 5.875D, yCoord + 2, zCoord + 0.5D + dir.offsetZ * 5.875D), new TargetPoint(worldObj.provider.dimensionId, xCoord + 0.5, yCoord + 1, zCoord + 0.5, 50)); - + if(this.rightStack.amount <= 0) this.rightStack = null; } } - + NBTTagCompound data = new NBTTagCompound(); data.setLong("power", this.power); data.setInteger("progressFluid", this.progressFluid); data.setInteger("progressOre", this.progressOre); data.setInteger("usageOre", this.usageOre); data.setInteger("usageFluid", this.usageFluid); - data.setInteger("processFluidTime", this.processFluidTime); - data.setInteger("processOreTime", this.processOreTime); + data.setInteger("processFluidTime", this.getDurationFluid()); + data.setInteger("processOreTime", this.getDurationMetal()); if(this.leftStack != null) { data.setInteger("leftType", leftStack.material.id); data.setInteger("leftAmount", leftStack.amount); @@ -229,11 +228,11 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn this.networkPack(data, 50); } } - + public DirPos[] getConPos() { ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - + return new DirPos[] { new DirPos(xCoord - dir.offsetX * 6, yCoord, zCoord - dir.offsetZ * 6, dir.getOpposite()), new DirPos(xCoord - dir.offsetX * 6 + rot.offsetX, yCoord, zCoord - dir.offsetZ * 6 + rot.offsetZ, dir.getOpposite()), @@ -247,7 +246,7 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn @Override public void networkUnpack(NBTTagCompound nbt) { super.networkUnpack(nbt); - + this.power = nbt.getLong("power"); this.progressFluid = nbt.getInteger("progressFluid"); this.progressOre = nbt.getInteger("progressOre"); @@ -261,48 +260,48 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn else this.rightStack = null; for(int i = 0; i < 4; i++) tanks[i].readFromNBT(nbt, "t" + i); } - + public boolean canProcessFluid() { - + if(this.power < usageFluid) return false; - + ElectrolysisRecipe recipe = ElectrolyserFluidRecipes.recipes.get(tanks[0].getTankType()); - + if(recipe == null) return false; if(recipe.amount > tanks[0].getFill()) return false; if(recipe.output1.type == tanks[1].getTankType() && recipe.output1.fill + tanks[1].getFill() > tanks[1].getMaxFill()) return false; if(recipe.output2.type == tanks[2].getTankType() && recipe.output2.fill + tanks[2].getFill() > tanks[2].getMaxFill()) return false; - + if(recipe.byproduct != null) { - + for(int i = 0; i < recipe.byproduct.length; i++) { ItemStack slot = slots[11 + i]; ItemStack byproduct = recipe.byproduct[i]; - + if(slot == null) continue; if(!slot.isItemEqual(byproduct)) return false; if(slot.stackSize + byproduct.stackSize > slot.getMaxStackSize()) return false; } } - + return true; } - + public void processFluids() { - + ElectrolysisRecipe recipe = ElectrolyserFluidRecipes.recipes.get(tanks[0].getTankType()); tanks[0].setFill(tanks[0].getFill() - recipe.amount); tanks[1].setTankType(recipe.output1.type); tanks[2].setTankType(recipe.output2.type); tanks[1].setFill(tanks[1].getFill() + recipe.output1.fill); tanks[2].setFill(tanks[2].getFill() + recipe.output2.fill); - + if(recipe.byproduct != null) { - + for(int i = 0; i < recipe.byproduct.length; i++) { ItemStack slot = slots[11 + i]; ItemStack byproduct = recipe.byproduct[i]; - + if(slot == null) { slots[11 + i] = byproduct.copy(); } else { @@ -311,63 +310,63 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn } } } - - public boolean canProcesMetal() { - + + public boolean canProcessMetal() { + if(slots[14] == null) return false; if(this.power < usageOre) return false; if(this.tanks[3].getFill() < 100) return false; - + ElectrolysisMetalRecipe recipe = ElectrolyserMetalRecipes.getRecipe(slots[14]); if(recipe == null) return false; - + if(leftStack != null) { if(recipe.output1.material != leftStack.material) return false; if(recipe.output1.amount + leftStack.amount > this.maxMaterial) return false; } - + if(rightStack != null) { if(recipe.output2.material != rightStack.material) return false; if(recipe.output2.amount + rightStack.amount > this.maxMaterial) return false; } - + if(recipe.byproduct != null) { - + for(int i = 0; i < recipe.byproduct.length; i++) { ItemStack slot = slots[15 + i]; ItemStack byproduct = recipe.byproduct[i]; - + if(slot == null) continue; if(!slot.isItemEqual(byproduct)) return false; if(slot.stackSize + byproduct.stackSize > slot.getMaxStackSize()) return false; } } - + return true; } - + public void processMetal() { - + ElectrolysisMetalRecipe recipe = ElectrolyserMetalRecipes.getRecipe(slots[14]); - + if(leftStack == null) { leftStack = new MaterialStack(recipe.output1.material, recipe.output1.amount); } else { leftStack.amount += recipe.output1.amount; } - + if(rightStack == null) { rightStack = new MaterialStack(recipe.output2.material, recipe.output2.amount); } else { rightStack.amount += recipe.output2.amount; } - + if(recipe.byproduct != null) { - + for(int i = 0; i < recipe.byproduct.length; i++) { ItemStack slot = slots[15 + i]; ItemStack byproduct = recipe.byproduct[i]; - + if(slot == null) { slots[15 + i] = byproduct.copy(); } else { @@ -375,11 +374,30 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn } } } - + this.tanks[3].setFill(this.tanks[3].getFill() - 100); this.decrStackSize(14, 1); } - + + public int getDurationMetal() { + ElectrolysisMetalRecipe result = ElectrolyserMetalRecipes.getRecipe(slots[14]); + int base = result != null ? result.duration : 600; + int speed = Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 3) - Math.min(UpgradeManager.getLevel(UpgradeType.POWER), 1); + return (int) Math.ceil((base * Math.max(1F - 0.25F * speed, 0.2))); + } + public int getDurationFluid() { + ElectrolysisRecipe result = ElectrolyserFluidRecipes.getRecipe(tanks[0].getTankType()); + int base = result != null ? result.duration : 100; + int speed = Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 3) - Math.min(UpgradeManager.getLevel(UpgradeType.POWER), 1); + return (int) Math.ceil((base * Math.max(1F - 0.25F * speed, 0.2))); + + } + + public int getCycleCount() { + int speed = UpgradeManager.getLevel(UpgradeType.OVERDRIVE); + return Math.min(1 + speed * 2, 7); + } + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); @@ -395,16 +413,16 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn else this.rightStack = null; for(int i = 0; i < 4; i++) tanks[i].readFromNBT(nbt, "t" + i); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - + nbt.setLong("power", this.power); nbt.setInteger("progressFluid", this.progressFluid); nbt.setInteger("progressOre", this.progressOre); - nbt.setInteger("processFluidTime", this.processFluidTime); - nbt.setInteger("processOreTime", this.processOreTime); + nbt.setInteger("processFluidTime", getDurationFluid()); + nbt.setInteger("processOreTime", getDurationMetal()); if(this.leftStack != null) { nbt.setInteger("leftType", leftStack.material.id); nbt.setInteger("leftAmount", leftStack.amount); @@ -414,13 +432,14 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn nbt.setInteger("rightAmount", rightStack.amount); } for(int i = 0; i < 4; i++) tanks[i].writeToNBT(nbt, "t" + i); + } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 5, @@ -431,10 +450,10 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn zCoord + 6 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { @@ -501,7 +520,7 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn @Override public boolean canProvideInfo(UpgradeType type, int level, boolean extendedInfo) { - return type == UpgradeType.SPEED || type == UpgradeType.POWER; + return type == UpgradeType.SPEED || type == UpgradeType.POWER || type == UpgradeType.OVERDRIVE; } @Override @@ -509,9 +528,14 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn info.add(IUpgradeInfoProvider.getStandardLabel(ModBlocks.machine_electrolyser)); if(type == UpgradeType.SPEED) { info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey(this.KEY_DELAY, "-" + (level * 25) + "%")); + info.add(EnumChatFormatting.RED + I18nUtil.resolveKey(this.KEY_CONSUMPTION, "+" + (level * 100) + "%")); } if(type == UpgradeType.POWER) { info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey(this.KEY_CONSUMPTION, "-" + (level * 25) + "%")); + info.add(EnumChatFormatting.RED + I18nUtil.resolveKey(this.KEY_DELAY, "+" + (25) + "%")); + } + if(type == UpgradeType.OVERDRIVE) { + info.add((BobMathUtil.getBlink() ? EnumChatFormatting.RED : EnumChatFormatting.DARK_GRAY) + "YES"); } } @@ -519,6 +543,7 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn public int getMaxLevel(UpgradeType type) { if(type == UpgradeType.SPEED) return 3; if(type == UpgradeType.POWER) return 3; + if(type == UpgradeType.OVERDRIVE) return 3; return 0; } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityGeiger.java b/src/main/java/com/hbm/tileentity/machine/TileEntityGeiger.java index 314e91614..4ad991c38 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityGeiger.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityGeiger.java @@ -70,6 +70,7 @@ public class TileEntityGeiger extends TileEntity implements SimpleComponent, IIn return rads; } @Override + @Optional.Method(modid = "OpenComputers") public String getComponentName() { return "ntm_geiger"; } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityICF.java b/src/main/java/com/hbm/tileentity/machine/TileEntityICF.java index 524671911..4f4c3d65d 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityICF.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityICF.java @@ -295,6 +295,7 @@ public class TileEntityICF extends TileEntityMachineBase implements IGUIProvider //OC stuff @Override + @Optional.Method(modid = "OpenComputers") public String getComponentName() { return "ntm_icf_reactor"; } @@ -345,6 +346,8 @@ public class TileEntityICF extends TileEntityMachineBase implements IGUIProvider }; } + @Override + @Optional.Method(modid = "OpenComputers") public String[] methods() { return new String[] { "getHeat", @@ -356,6 +359,8 @@ public class TileEntityICF extends TileEntityMachineBase implements IGUIProvider }; } + @Override + @Optional.Method(modid = "OpenComputers") public Object[] invoke(String method, Context context, Arguments args) throws Exception { switch (method) { case ("getHeat"): diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java b/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java index 90ac75709..64c6fe31d 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java @@ -669,6 +669,7 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyRece @Override + @Optional.Method(modid = "OpenComputers") public String getComponentName() { return "ntm_fusion"; } @@ -724,6 +725,8 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyRece return new Object[] {"N/A", "N/A"}; } + @Override + @Optional.Method(modid = "OpenComputers") public String[] methods() { return new String[] { "getEnergyInfo", @@ -736,6 +739,8 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyRece }; } + @Override + @Optional.Method(modid = "OpenComputers") public Object[] invoke(String method, Context context, Arguments args) throws Exception { switch (method) { case ("getEnergyInfo"): diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcFurnaceLarge.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcFurnaceLarge.java index 15a73a357..abd5b4ec2 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcFurnaceLarge.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcFurnaceLarge.java @@ -132,6 +132,7 @@ public class TileEntityMachineArcFurnaceLarge extends TileEntityMachineBase impl if(this.progress >= 1F) { this.process(); this.progress = 0; + this.markDirty(); this.delay = (int) (120 / (upgrade * 0.5 + 1)); PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, 10F); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCrystallizer.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCrystallizer.java index 96e400b49..944364b7b 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCrystallizer.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCrystallizer.java @@ -391,7 +391,7 @@ public class TileEntityMachineCrystallizer extends TileEntityMachineBase impleme public int getMaxLevel(UpgradeType type) { if(type == UpgradeType.SPEED) return 3; if(type == UpgradeType.EFFECT) return 3; - if(type == UpgradeType.OVERDRIVE) return 2; + if(type == UpgradeType.OVERDRIVE) return 3; return 0; } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineLargeTurbine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineLargeTurbine.java index 81c97679d..6cb9024f0 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineLargeTurbine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineLargeTurbine.java @@ -325,6 +325,7 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme } @Override + @Optional.Method(modid = "OpenComputers") public String getComponentName() { return "ntm_turbine"; } @@ -374,6 +375,8 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme return new Object[] {tanks[0].getFill(), tanks[0].getMaxFill(), tanks[1].getFill(), tanks[1].getMaxFill(), CompatHandler.steamTypeToInt(tanks[0].getTankType())}; } + @Override + @Optional.Method(modid = "OpenComputers") public String[] methods() { return new String[] { "getFluid", @@ -383,6 +386,8 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme }; } + @Override + @Optional.Method(modid = "OpenComputers") public Object[] invoke(String method, Context context, Arguments args) throws Exception { switch(method) { case ("getFluid"): diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineOreSlopper.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineOreSlopper.java index dccefcab4..3abaaaabb 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineOreSlopper.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineOreSlopper.java @@ -1,32 +1,55 @@ package com.hbm.tileentity.machine; +import java.util.List; + +import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.UpgradeManager; import com.hbm.inventory.container.ContainerOreSlopper; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.gui.GUIOreSlopper; import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.items.special.ItemBedrockOreBase; import com.hbm.items.special.ItemBedrockOreNew; import com.hbm.items.special.ItemBedrockOreNew.BedrockOreGrade; import com.hbm.items.special.ItemBedrockOreNew.BedrockOreType; import com.hbm.lib.Library; +import com.hbm.lib.ModDamageSource; +import com.hbm.main.MainRegistry; +import com.hbm.packet.AuxParticlePacketNT; +import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.IGUIProvider; +import com.hbm.tileentity.IUpgradeInfoProvider; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.I18nUtil; +import com.hbm.util.fauxpointtwelve.DirPos; +import api.hbm.energymk2.IEnergyReceiverMK2; +import api.hbm.fluid.IFluidStandardTransceiver; +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; 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; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineOreSlopper extends TileEntityMachineBase implements IGUIProvider { +public class TileEntityMachineOreSlopper extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardTransceiver, IGUIProvider, IUpgradeInfoProvider { public long power; - public static final long maxPower = 1_000_000; + public static final long maxPower = 100_000; public static final int waterUsedBase = 1_000; public int waterUsed = waterUsedBase; @@ -41,9 +64,13 @@ public class TileEntityMachineOreSlopper extends TileEntityMachineBase implement public float prevSlider; public float bucket; public float prevBucket; + public float blades; + public float prevBlades; + public float fan; + public float prevFan; public int delay; - public static FluidTank[] tanks; + public FluidTank[] tanks; public double[] ores = new double[BedrockOreType.values().length]; public TileEntityMachineOreSlopper() { @@ -65,6 +92,8 @@ public class TileEntityMachineOreSlopper extends TileEntityMachineBase implement @Override public void updateEntity() { + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); + if(!worldObj.isRemote) { this.power = Library.chargeTEFromItems(slots, 0, power, maxPower); @@ -73,11 +102,23 @@ public class TileEntityMachineOreSlopper extends TileEntityMachineBase implement FluidType conversion = this.getFluidOutput(tanks[0].getTankType()); if(conversion != null) tanks[1].setTankType(conversion); + for(DirPos pos : getConPos()) { + this.trySubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + this.trySubscribe(tanks[0].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + if(tanks[1].getFill() > 0) this.sendFluid(tanks[1], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + } + this.processing = false; + UpgradeManager.eval(slots, 9, 10); + int speed = Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 3); + int efficiency = Math.min(UpgradeManager.getLevel(UpgradeType.EFFECT), 3); + + this.consumption = this.consumptionBase + (this.consumptionBase * speed) / 2 + (this.consumptionBase * efficiency); + if(canSlop()) { this.power -= this.consumption; - this.progress += 1F/200F; + this.progress += 1F / (200 - speed * 50); this.processing = true; boolean markDirty = false; @@ -85,7 +126,7 @@ public class TileEntityMachineOreSlopper extends TileEntityMachineBase implement progress -= 1F; for(BedrockOreType type : BedrockOreType.values()) { - ores[type.ordinal()] += ItemBedrockOreBase.getOreAmount(slots[2], type); + ores[type.ordinal()] += (ItemBedrockOreBase.getOreAmount(slots[2], type) * (1D + efficiency * 0.1)); } this.decrStackSize(2, 1); @@ -96,6 +137,22 @@ public class TileEntityMachineOreSlopper extends TileEntityMachineBase implement if(markDirty) this.markDirty(); + List entities = worldObj.getEntitiesWithinAABB(Entity.class, AxisAlignedBB.getBoundingBox(xCoord - 0.5, yCoord + 1, zCoord - 0.5, xCoord + 1.5, yCoord + 3, zCoord + 1.5).offset(dir.offsetX, 0, dir.offsetZ)); + + for(Entity e : entities) { + e.attackEntityFrom(ModDamageSource.turbofan, 1000F); + + if(!e.isEntityAlive() && e instanceof EntityLivingBase) { + NBTTagCompound vdat = new NBTTagCompound(); + vdat.setString("type", "giblets"); + vdat.setInteger("ent", e.getEntityId()); + vdat.setInteger("cDiv", 5); + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(vdat, e.posX, e.posY + e.height * 0.5, e.posZ), new TargetPoint(e.dimension, e.posX, e.posY + e.height * 0.5, e.posZ, 150)); + + worldObj.playSoundEffect(e.posX, e.posY, e.posZ, "mob.zombie.woodbreak", 2.0F, 0.95F + worldObj.rand.nextFloat() * 0.2F); + } + } + } else { this.progress = 0; } @@ -109,16 +166,46 @@ public class TileEntityMachineOreSlopper extends TileEntityMachineBase implement for(int i = 3; i <= 8; i++) if(slots[i] == null) { slots[i] = output; ores[type.ordinal()] -= 1F; continue outer; } + break outer; } } + this.networkPackNT(150); + } else { this.prevSlider = this.slider; this.prevBucket = this.bucket; + this.prevBlades = this.blades; + this.prevFan = this.fan; if(this.processing) { + this.blades += 15F; + this.fan += 35F; + + if(blades >= 360) { + blades -= 360; + prevBlades -= 360; + } + + if(fan >= 360) { + fan -= 360; + prevFan -= 360; + } + + if(animation == animation.DUMPING && MainRegistry.proxy.me().getDistance(xCoord + 0.5, yCoord + 4, zCoord + 0.5) <= 50) { + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "vanillaExt"); + data.setString("mode", "blockdust"); + data.setInteger("block", Block.getIdFromBlock(Blocks.iron_block)); + data.setDouble("posX", xCoord + 0.5 + dir.offsetX + worldObj.rand.nextGaussian() * 0.25); + data.setDouble("posY", yCoord + 4.25); + data.setDouble("posZ", zCoord + 0.5 + dir.offsetZ + worldObj.rand.nextGaussian() * 0.25); + data.setDouble("mY", -0.2D); + MainRegistry.proxy.effectNT(data); + } + if(delay > 0) { delay--; return; @@ -142,7 +229,7 @@ public class TileEntityMachineOreSlopper extends TileEntityMachineBase implement } break; case MOVE_SHREDDER: - this.slider += 1/60F; + this.slider += 1/50F; if(slider >= 1F) { slider = 1F; animation = SlopperAnimation.DUMPING; @@ -153,7 +240,7 @@ public class TileEntityMachineOreSlopper extends TileEntityMachineBase implement animation = SlopperAnimation.MOVE_BUCKET; break; case MOVE_BUCKET: - this.slider -= 1/60F; + this.slider -= 1/50F; if(slider <= 0F) { animation = SlopperAnimation.LOWERING; delay = 10; @@ -163,19 +250,76 @@ public class TileEntityMachineOreSlopper extends TileEntityMachineBase implement } } } + + public DirPos[] getConPos() { + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + + return new DirPos[] { + new DirPos(xCoord + dir.offsetX * 4, yCoord, zCoord + dir.offsetZ * 4, dir), + new DirPos(xCoord - dir.offsetX * 4, yCoord, zCoord - dir.offsetZ * 4, dir.getOpposite()), + new DirPos(xCoord + rot.offsetX * 2, yCoord, zCoord + rot.offsetZ * 2, rot), + new DirPos(xCoord - rot.offsetX * 2, yCoord, zCoord - rot.offsetZ * 2, rot.getOpposite()), + new DirPos(xCoord + dir.offsetX * 2 + rot.offsetX * 2, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ * 2, rot), + new DirPos(xCoord + dir.offsetX * 2 - rot.offsetX * 2, yCoord, zCoord + dir.offsetZ * 2 - rot.offsetZ * 2, rot.getOpposite()), + new DirPos(xCoord - dir.offsetX * 2 + rot.offsetX * 2, yCoord, zCoord - dir.offsetZ * 2 + rot.offsetZ * 2, rot), + new DirPos(xCoord - dir.offsetX * 2 - rot.offsetX * 2, yCoord, zCoord - dir.offsetZ * 2 - rot.offsetZ * 2, rot.getOpposite()) + }; + } + + @Override + public boolean isItemValidForSlot(int slot, ItemStack stack) { + return slot == 2 && stack.getItem() == ModItems.bedrock_ore_base; + } + + @Override + public boolean canExtractItem(int i, ItemStack stack, int j) { + return i >= 3 && i <= 8; + } + + private static final int[] slot_access = new int[] {2, 3, 4, 5, 6, 7, 8}; + + @Override + public int[] getAccessibleSlotsFromSide(int side) { + return slot_access; + } @Override public void serialize(ByteBuf buf) { super.serialize(buf); buf.writeLong(power); + buf.writeLong(consumption); buf.writeFloat(progress); buf.writeBoolean(processing); + tanks[0].serialize(buf); + tanks[1].serialize(buf); } @Override public void deserialize(ByteBuf buf) { super.deserialize(buf); this.power = buf.readLong(); + this.consumption = buf.readLong(); this.progress = buf.readFloat(); this.processing = buf.readBoolean(); + tanks[0].deserialize(buf); + tanks[1].deserialize(buf); + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + this.power = nbt.getLong("power"); + this.progress = nbt.getFloat("progress"); + tanks[0].readFromNBT(nbt, "water"); + tanks[1].readFromNBT(nbt, "slop"); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setLong("power", power); + nbt.setFloat("progress", progress); + tanks[0].writeToNBT(nbt, "water"); + tanks[1].writeToNBT(nbt, "slop"); } public boolean canSlop() { @@ -192,6 +336,39 @@ public class TileEntityMachineOreSlopper extends TileEntityMachineBase implement return null; } + @Override public long getPower() { return power; } + @Override public void setPower(long power) { this.power = power; } + @Override public long getMaxPower() { return maxPower; } + + @Override public FluidTank[] getAllTanks() { return tanks; } + @Override public FluidTank[] getSendingTanks() { return new FluidTank[] {tanks[1]}; } + @Override public FluidTank[] getReceivingTanks() { return new FluidTank[] {tanks[0]}; } + + AxisAlignedBB bb = null; + + @Override + public AxisAlignedBB getRenderBoundingBox() { + + if(bb == null) { + bb = AxisAlignedBB.getBoundingBox( + xCoord - 3, + yCoord, + zCoord - 3, + xCoord + 4, + yCoord + 7, + zCoord + 4 + ); + } + + return bb; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() { + return 65536.0D; + } + @Override public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { return new ContainerOreSlopper(player.inventory, this); @@ -202,4 +379,29 @@ public class TileEntityMachineOreSlopper extends TileEntityMachineBase implement public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIOreSlopper(player.inventory, this); } + + @Override + public boolean canProvideInfo(UpgradeType type, int level, boolean extendedInfo) { + return type == UpgradeType.SPEED || type == UpgradeType.EFFECT; + } + + @Override + public void provideInfo(UpgradeType type, int level, List info, boolean extendedInfo) { + info.add(IUpgradeInfoProvider.getStandardLabel(ModBlocks.machine_ore_slopper)); + if(type == UpgradeType.SPEED) { + info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey(this.KEY_DELAY, "-" + (level * 25) + "%")); + info.add(EnumChatFormatting.RED + I18nUtil.resolveKey(this.KEY_CONSUMPTION, "+" + (level * 50) + "%")); + } + if(type == UpgradeType.EFFECT) { + info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey(this.KEY_EFFICIENCY, "+" + (level * 10) + "%")); + info.add(EnumChatFormatting.RED + I18nUtil.resolveKey(this.KEY_CONSUMPTION, "+" + (level * 100) + "%")); + } + } + + @Override + public int getMaxLevel(UpgradeType type) { + if(type == UpgradeType.SPEED) return 3; + if(type == UpgradeType.EFFECT) return 3; + return 0; + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarNT.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarNT.java index 99e87371a..0eb956fe3 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarNT.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarNT.java @@ -603,6 +603,7 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I //OC compat! @Override + @Optional.Method(modid = "OpenComputers") public String getComponentName() { return "ntm_radar"; } @@ -684,6 +685,8 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I return new Object[]{false, e.posX, e.posY, e.posZ, type}; } + @Override + @Optional.Method(modid = "OpenComputers") public String[] methods() { return new String[] { "getSettings", @@ -698,6 +701,8 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I }; } + @Override + @Optional.Method(modid = "OpenComputers") public Object[] invoke(String method, Context context, Arguments args) throws Exception { switch(method) { case ("getSettings"): diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorBreeding.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorBreeding.java index c216f9da9..ceb1bef2c 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorBreeding.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorBreeding.java @@ -217,6 +217,7 @@ public class TileEntityMachineReactorBreeding extends TileEntityMachineBase impl // do some opencomputer stuff @Override + @Optional.Method(modid = "OpenComputers") public String getComponentName() { return "breeding_reactor"; } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbine.java index a5e337448..94cf03e3b 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbine.java @@ -340,6 +340,7 @@ public class TileEntityMachineTurbine extends TileEntityLoadedBase implements IS } @Override + @Optional.Method(modid = "OpenComputers") public String getComponentName() { return "ntm_turbine"; } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java index 71c7266ae..24ad50e60 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java @@ -557,6 +557,7 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement } @Override + @Optional.Method(modid = "OpenComputers") public String getComponentName() { return "ntm_gas_turbine"; } @@ -641,6 +642,8 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement tanks[3].getFill(), tanks[3].getMaxFill()}; } + @Override + @Optional.Method(modid = "OpenComputers") public String[] methods() { return new String[] { "getFluid", @@ -657,6 +660,8 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement }; } + @Override + @Optional.Method(modid = "OpenComputers") public Object[] invoke(String method, Context context, Arguments args) throws Exception { switch(method) { case ("getFluid"): diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMicrowave.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMicrowave.java index b00c2e1d8..b6e4e9d55 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMicrowave.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMicrowave.java @@ -220,6 +220,7 @@ public class TileEntityMicrowave extends TileEntityMachineBase implements IEnerg } @Override + @Optional.Method(modid = "OpenComputers") public String getComponentName() { return "microwave"; } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityPWRController.java b/src/main/java/com/hbm/tileentity/machine/TileEntityPWRController.java index ac2e162c3..15fe1d786 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityPWRController.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityPWRController.java @@ -547,6 +547,7 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG // do some opencomputer stuff @Override + @Optional.Method(modid = "OpenComputers") public String getComponentName() { return "ntm_pwr_control"; } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorControl.java b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorControl.java index 51b1229fb..0a5fad22a 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorControl.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorControl.java @@ -255,6 +255,7 @@ public class TileEntityReactorControl extends TileEntityMachineBase implements I // do some opencomputer stuff @Override + @Optional.Method(modid = "OpenComputers") public String getComponentName() { return "reactor_control"; } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorResearch.java b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorResearch.java index 6eb557ec7..e242b5ee2 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorResearch.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorResearch.java @@ -397,6 +397,7 @@ public class TileEntityReactorResearch extends TileEntityMachineBase implements // do some opencomputer stuff @Override + @Optional.Method(modid = "OpenComputers") public String getComponentName() { return "research_reactor"; } @@ -431,6 +432,8 @@ public class TileEntityReactorResearch extends TileEntityMachineBase implements return new Object[] {heat, level, targetLevel, totalFlux}; } + @Override + @Optional.Method(modid = "OpenComputers") public String[] methods() { return new String[] { "getTemp", @@ -441,6 +444,8 @@ public class TileEntityReactorResearch extends TileEntityMachineBase implements }; } + @Override + @Optional.Method(modid = "OpenComputers") public Object[] invoke(String method, Context context, Arguments args) throws Exception { switch(method) { case ("getTemp"): diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java index f753be765..aa989ec85 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java @@ -548,6 +548,7 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IF // do some opencomputer stuff @Override + @Optional.Method(modid = "OpenComputers") public String getComponentName() { return "zirnox_reactor"; } @@ -601,6 +602,8 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IF return new Object[] {}; } + @Override + @Optional.Method(modid = "OpenComputers") public String[] methods() { return new String[] { "getTemp", @@ -614,6 +617,8 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IF }; } + @Override + @Optional.Method(modid = "OpenComputers") public Object[] invoke(String method, Context context, Arguments args) throws Exception { switch(method) { case ("getTemp"): diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntitySolarBoiler.java b/src/main/java/com/hbm/tileentity/machine/TileEntitySolarBoiler.java index 0a41526db..da652915c 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntitySolarBoiler.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntitySolarBoiler.java @@ -10,16 +10,21 @@ import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.lib.Library; +import com.hbm.packet.BufPacket; +import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.IBufPacketReceiver; import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.fluid.IFluidStandardTransceiver; +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.ChunkCoordinates; -public class TileEntitySolarBoiler extends TileEntityLoadedBase implements IFluidAcceptor, IFluidSource, IFluidStandardTransceiver { +public class TileEntitySolarBoiler extends TileEntityLoadedBase implements IFluidAcceptor, IFluidSource, IFluidStandardTransceiver, IBufPacketReceiver { private FluidTank water; private FluidTank steam; @@ -56,6 +61,8 @@ public class TileEntitySolarBoiler extends TileEntityLoadedBase implements IFlui this.sendFluid(steam, worldObj, xCoord, yCoord - 1, zCoord, Library.NEG_Y); heat = 0; + + networkPackNT(15); } else { //a delayed queue of mirror positions because we can't expect the boiler to always tick first @@ -190,4 +197,20 @@ public class TileEntitySolarBoiler extends TileEntityLoadedBase implements IFlui public FluidTank[] getAllTanks() { return new FluidTank[] { water, steam }; } + + public void networkPackNT(int range) { + if(!worldObj.isRemote) PacketDispatcher.wrapper.sendToAllAround(new BufPacket(xCoord, yCoord, zCoord, this), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, range)); + } + + @Override + public void serialize(ByteBuf buf) { + water.serialize(buf); + steam.serialize(buf); + } + + @Override + public void deserialize(ByteBuf buf) { + water.deserialize(buf); + steam.deserialize(buf); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityCraneConsole.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityCraneConsole.java index 3f0beb44b..57bc990bc 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityCraneConsole.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityCraneConsole.java @@ -338,6 +338,7 @@ public class TileEntityCraneConsole extends TileEntity implements INBTPacketRece // do some opencomputer stuff @Override + @Optional.Method(modid = "OpenComputers") public String getComponentName() { return "rbmk_crane"; } diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java index 05e4e4e59..2bff133d6 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java @@ -33,7 +33,6 @@ import net.minecraft.inventory.Container; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.Vec3; import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; import java.util.ArrayList; import java.util.List; @@ -345,6 +344,7 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I // do some opencomputer stuff @Override + @Optional.Method(modid = "OpenComputers") public String getComponentName() { return "rbmk_boiler"; } diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKConsole.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKConsole.java index b83799464..ffbaea36f 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKConsole.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKConsole.java @@ -14,6 +14,7 @@ import com.hbm.inventory.gui.GUIRBMKConsole; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKControlManual.RBMKColor; +import com.hbm.util.Compat; import com.hbm.util.EnumUtil; import com.hbm.util.I18nUtil; @@ -88,7 +89,7 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon for(int i = -7; i <= 7; i++) { for(int j = -7; j <= 7; j++) { - TileEntity te = worldObj.getTileEntity(targetX + i, targetY, targetZ + j); + TileEntity te = Compat.getTileStandard(worldObj, targetX + i, targetY, targetZ + j); int index = (i + 7) + (j + 7) * 15; if(te instanceof TileEntityRBMKBase) { @@ -266,7 +267,7 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon int x = data.getInteger(key) % 15 - 7; int z = data.getInteger(key) / 15 - 7; - TileEntity te = worldObj.getTileEntity(targetX + x, targetY, targetZ + z); + TileEntity te = Compat.getTileStandard(worldObj, targetX + x, targetY, targetZ + z); if(te instanceof TileEntityRBMKControlManual) { TileEntityRBMKControlManual rod = (TileEntityRBMKControlManual) te; @@ -307,7 +308,7 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon int x = i % 15 - 7; int z = i / 15 - 7; - TileEntity te = worldObj.getTileEntity(targetX + x, targetY, targetZ + z); + TileEntity te = Compat.getTileStandard(worldObj, targetX + x, targetY, targetZ + z); if(te instanceof TileEntityRBMKControlManual) { TileEntityRBMKControlManual rod = (TileEntityRBMKControlManual) te; @@ -324,7 +325,7 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon int x = i % 15 - 7; int z = i / 15 - 7; - TileEntity te = worldObj.getTileEntity(targetX + x, targetY, targetZ + z); + TileEntity te = Compat.getTileStandard(worldObj, targetX + x, targetY, targetZ + z); if(te instanceof TileEntityRBMKBoiler) { TileEntityRBMKBoiler rod = (TileEntityRBMKBoiler) te; @@ -521,6 +522,7 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon // do some opencomputer stuff @Override + @Optional.Method(modid = "OpenComputers") public String getComponentName() { return "rbmk_console"; } @@ -533,7 +535,7 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon int i = (y + 7) * 15 + (x + 7); - TileEntity te = worldObj.getTileEntity(targetX + x, targetY, targetZ + y); + TileEntity te = Compat.getTileStandard(worldObj, targetX + x, targetY, targetZ + y); if (te instanceof TileEntityRBMKBase) { TileEntityRBMKBase column = (TileEntityRBMKBase) te; @@ -602,7 +604,7 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon boolean foundRods = false; for(int i = -7; i <= 7; i++) { for(int j = -7; j <= 7; j++) { - TileEntity te = worldObj.getTileEntity(targetX + i, targetY, targetZ + j); + TileEntity te = Compat.getTileStandard(worldObj, targetX + i, targetY, targetZ + j); if (te instanceof TileEntityRBMKControlManual) { TileEntityRBMKControlManual rod = (TileEntityRBMKControlManual) te; @@ -628,7 +630,7 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon int y = -args.checkInteger(1) + 7; double new_level = args.checkDouble(2); - TileEntity te = worldObj.getTileEntity(targetX + x, targetY, targetZ + y); + TileEntity te = Compat.getTileStandard(worldObj, targetX + x, targetY, targetZ + y); if (te instanceof TileEntityRBMKControlManual) { TileEntityRBMKControlManual rod = (TileEntityRBMKControlManual) te; @@ -651,7 +653,7 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon if(color >= 0 && color <=4){ for(int i = -7; i <= 7; i++) { for(int j = -7; j <= 7; j++) { - TileEntity te = worldObj.getTileEntity(targetX + i, targetY, targetZ + j); + TileEntity te = Compat.getTileStandard(worldObj, targetX + i, targetY, targetZ + j); if (te instanceof TileEntityRBMKControlManual) { TileEntityRBMKControlManual rod = (TileEntityRBMKControlManual) te; @@ -681,7 +683,7 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon int y = -args.checkInteger(1) + 7; int new_color = args.checkInteger(2); if(new_color >= 0 && new_color <=4){ - TileEntity te = worldObj.getTileEntity(targetX + x, targetY, targetZ + y); + TileEntity te = Compat.getTileStandard(worldObj, targetX + x, targetY, targetZ + y); if (te instanceof TileEntityRBMKControlManual) { TileEntityRBMKControlManual rod = (TileEntityRBMKControlManual) te; @@ -700,7 +702,7 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon boolean hasRods = false; for(int i = -7; i <= 7; i++) { for(int j = -7; j <= 7; j++) { - TileEntity te = worldObj.getTileEntity(targetX + i, targetY, targetZ + j); + TileEntity te = Compat.getTileStandard(worldObj, targetX + i, targetY, targetZ + j); if (te instanceof TileEntityRBMKControlManual) { TileEntityRBMKControlManual rod = (TileEntityRBMKControlManual) te; diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java index b89ed8e36..4b3f79c15 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java @@ -11,7 +11,6 @@ import li.cil.oc.api.machine.Context; import li.cil.oc.api.network.SimpleComponent; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.MathHelper; -import net.minecraftforge.common.util.ForgeDirection; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) public abstract class TileEntityRBMKControl extends TileEntityRBMKSlottedBase implements SimpleComponent, CompatHandler.OCComponent { @@ -125,6 +124,7 @@ public abstract class TileEntityRBMKControl extends TileEntityRBMKSlottedBase im // do some opencomputer stuff @Override + @Optional.Method(modid = "OpenComputers") public String getComponentName() { return "rbmk_control_rod"; } diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKCooler.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKCooler.java index b457f74d0..5a7550a2f 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKCooler.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKCooler.java @@ -17,7 +17,6 @@ import net.minecraft.entity.Entity; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; -import net.minecraftforge.common.util.ForgeDirection; import java.util.List; @@ -147,6 +146,7 @@ public class TileEntityRBMKCooler extends TileEntityRBMKBase implements IFluidAc //do some opencomputers stuff + @Optional.Method(modid = "OpenComputers") public String getComponentName() { return "rbmk_cooler"; } diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKHeater.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKHeater.java index 440f761d4..45c1fa47c 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKHeater.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKHeater.java @@ -29,7 +29,6 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; import java.util.ArrayList; import java.util.List; @@ -279,6 +278,7 @@ public class TileEntityRBMKHeater extends TileEntityRBMKSlottedBase implements I //opencomputers stuff @Override + @Optional.Method(modid = "OpenComputers") public String getComponentName() { return "rbmk_heater"; } diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java index c5a152cc3..81c74e75d 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java @@ -27,7 +27,6 @@ import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) public class TileEntityRBMKOutgasser extends TileEntityRBMKSlottedBase implements IRBMKFluxReceiver, IFluidStandardSender, SimpleComponent, CompatHandler.OCComponent { @@ -224,6 +223,7 @@ public class TileEntityRBMKOutgasser extends TileEntityRBMKSlottedBase implement //do some opencomputers stuff @Override + @Optional.Method(modid = "OpenComputers") public String getComponentName() { return "rbmk_outgasser"; } diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java index d1d23badc..f67843023 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java @@ -393,6 +393,7 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM // do some opencomputer stuff @Override + @Optional.Method(modid = "OpenComputers") public String getComponentName() { return "rbmk_fuel_rod"; } 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 dc7e5ec20..4166b5e16 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java @@ -401,6 +401,7 @@ public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcc } @Override + @Optional.Method(modid = "OpenComputers") public String getComponentName() { return "ntm_fluid_tank"; } @@ -430,11 +431,18 @@ public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcc } @Override + @Optional.Method(modid = "OpenComputers") public String[] methods() { - return new String[] {"getFluidStored", "getMaxStored", "getTypeStored", "getInfo"}; + return new String[] { + "getFluidStored", + "getMaxStored", + "getTypeStored", + "getInfo" + }; } @Override + @Optional.Method(modid = "OpenComputers") public Object[] invoke(String method, Context context, Arguments args) throws Exception { switch (method) { case "getFluidStored": diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java index 64ea7037d..99575c496 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java @@ -290,6 +290,7 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I // do some opencomputer stuff @Override + @Optional.Method(modid = "OpenComputers") public String getComponentName() { return "ntm_energy_storage"; //ok if someone else can figure out how to do this that'd be nice (change the component name based on the type of storage block) } 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 f963cb359..f78665bb9 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java @@ -488,6 +488,7 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements } @Override + @Optional.Method(modid = "OpenComputers") public String getComponentName() { return "ntm_fluid_tank"; } @@ -517,11 +518,17 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements } @Override + @Optional.Method(modid = "OpenComputers") public String[] methods() { - return new String[] {"getFluidStored", "getMaxStored", "getTypeStored", "getInfo"}; + return new String[] { + "getFluidStored", + "getMaxStored", + "getTypeStored", + "getInfo"}; } @Override + @Optional.Method(modid = "OpenComputers") public Object[] invoke(String method, Context context, Arguments args) throws Exception { switch (method) { case "getFluidStored": diff --git a/src/main/java/com/hbm/tileentity/network/RequestNetwork.java b/src/main/java/com/hbm/tileentity/network/RequestNetwork.java index 8f98a9eb6..94e96b317 100644 --- a/src/main/java/com/hbm/tileentity/network/RequestNetwork.java +++ b/src/main/java/com/hbm/tileentity/network/RequestNetwork.java @@ -70,10 +70,11 @@ public class RequestNetwork { public static class PathNode { public BlockPos pos; public long lease; - public HashedSet reachableNodes = new HashedSet(); + public boolean active = true; + public HashedSet reachableNodes; public PathNode(BlockPos pos, HashedSet reachableNodes) { this.pos = pos; - this.reachableNodes = new HashedSet(reachableNodes); + this.reachableNodes = new HashedSet<>(reachableNodes); this.lease = System.currentTimeMillis(); } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityDroneCrate.java b/src/main/java/com/hbm/tileentity/network/TileEntityDroneCrate.java index 8a304914c..280c16fd0 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityDroneCrate.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityDroneCrate.java @@ -12,6 +12,7 @@ import com.hbm.inventory.gui.GUIDroneCrate; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.INBTPacketReceiver; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.ParticleUtil; import com.hbm.util.fauxpointtwelve.BlockPos; import api.hbm.fluid.IFluidStandardTransceiver; @@ -51,7 +52,7 @@ public class TileEntityDroneCrate extends TileEntityMachineBase implements IGUIP public void updateEntity() { if(!worldObj.isRemote) { - + BlockPos pos = getCoord(); this.tank.setType(18, slots); if(sendingMode && !itemType && worldObj.getTotalWorldTime() % 20 == 0) { @@ -75,7 +76,13 @@ public class TileEntityDroneCrate extends TileEntityMachineBase implements IGUIP if(!sendingMode && !itemType) unloadFluid(drone); } } + + ParticleUtil.spawnDroneLine(worldObj, + pos.getX() + 0.5, pos.getY() + 0.5, pos.getZ() + 0.5, + (nextX - pos.getX()), (nextY - pos.getY()), (nextZ - pos.getZ()), 0x00ffff); } + + NBTTagCompound data = new NBTTagCompound(); data.setIntArray("pos", new int[] {nextX, nextY, nextZ}); @@ -218,6 +225,10 @@ public class TileEntityDroneCrate extends TileEntityMachineBase implements IGUIP this.itemType = nbt.getBoolean("type"); tank.readFromNBT(nbt, "t"); } + + public BlockPos getCoord() { + return new BlockPos(xCoord, yCoord + 1, zCoord); + } @Override public void writeToNBT(NBTTagCompound nbt) { diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityDroneDock.java b/src/main/java/com/hbm/tileentity/network/TileEntityDroneDock.java index 82b6b93f0..0ab0a73b7 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityDroneDock.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityDroneDock.java @@ -43,7 +43,7 @@ public class TileEntityDroneDock extends TileEntityRequestNetworkContainer imple public void updateEntity() { super.updateEntity(); - if(!worldObj.isRemote && worldObj.getTotalWorldTime() % 100 == 0 && this.hasDrone()) { + if(!worldObj.isRemote && worldObj.getTotalWorldTime() % 20 == 0 && this.hasDrone()) { // grab all nodes in a 5 chunk radius HashedSet localNodes = this.getAllLocalNodes(worldObj, xCoord, zCoord, 5); @@ -64,7 +64,7 @@ public class TileEntityDroneDock extends TileEntityRequestNetworkContainer imple // simply pick the first request node that has unfulfilled requests for(RequestNode request : requests) { - if(!request.request.isEmpty()) { + if(request.active && !request.request.isEmpty()) { firstRequest = request; break; } @@ -78,7 +78,7 @@ public class TileEntityDroneDock extends TileEntityRequestNetworkContainer imple outer: for(OfferNode offer : offers) { for(ItemStack stack : offer.offer) { - if(stack != null && request.matchesRecipe(stack, true)) { + if(offer.active && stack != null && request.matchesRecipe(stack, true)) { if(tryEmbark(own, firstRequest, offer, request, localNodes)) break attempt; // if the drone can be pathed and spawned, stop doing more attempts break outer; // if not, simply continue iterating over offer nodes } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityDroneWaypoint.java b/src/main/java/com/hbm/tileentity/network/TileEntityDroneWaypoint.java index 08a4cfa19..cb08c5bb8 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityDroneWaypoint.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityDroneWaypoint.java @@ -3,6 +3,7 @@ package com.hbm.tileentity.network; import java.util.List; import com.hbm.entity.item.EntityDeliveryDrone; +import com.hbm.util.ParticleUtil; import com.hbm.packet.BufPacket; import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.IBufPacketReceiver; @@ -26,11 +27,9 @@ public class TileEntityDroneWaypoint extends TileEntity implements IBufPacketRec @Override public void updateEntity() { - ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata()); if(!worldObj.isRemote) { - if(nextY != -1) { List drones = worldObj.getEntitiesWithinAABB(EntityDeliveryDrone.class, AxisAlignedBB.getBoundingBox(xCoord, yCoord, zCoord, xCoord + 1, yCoord + 1, zCoord + 1).offset(dir.offsetX * height, dir.offsetY * height, dir.offsetZ * height)); for(EntityDeliveryDrone drone : drones) { @@ -42,13 +41,17 @@ public class TileEntityDroneWaypoint extends TileEntity implements IBufPacketRec PacketDispatcher.wrapper.sendToAllAround(new BufPacket(xCoord, yCoord, zCoord, this), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 15)); } else { - + BlockPos pos = getCoord(dir); if(nextY != -1 && worldObj.getTotalWorldTime() % 2 == 0) { double x = xCoord + height * dir.offsetX + 0.5; double y = yCoord + height * dir.offsetY + 0.5; double z = zCoord + height * dir.offsetZ + 0.5; worldObj.spawnParticle("reddust", x, y, z, 0, 0, 0); + + ParticleUtil.spawnDroneLine(worldObj, + pos.getX() + 0.5, pos.getY() + 0.5, pos.getZ() + 0.5, + (nextX - pos.getX()), (nextY - pos.getY()), (nextZ - pos.getZ()), 0x0000ff); } } } @@ -106,4 +109,7 @@ public class TileEntityDroneWaypoint extends TileEntity implements IBufPacketRec nbt.setInteger("height", height); nbt.setIntArray("pos", new int[] {nextX, nextY, nextZ}); } + public BlockPos getCoord(ForgeDirection dir) { + return new BlockPos(xCoord + height * dir.offsetX + 0.5, yCoord + height * dir.offsetY + 0.5, zCoord + height * dir.offsetZ + 0.5); + } } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityRadioTelex.java b/src/main/java/com/hbm/tileentity/network/TileEntityRadioTelex.java index 20d7fe6f6..4c6ab43d8 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityRadioTelex.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityRadioTelex.java @@ -259,6 +259,7 @@ public class TileEntityRadioTelex extends TileEntity implements INBTPacketReceiv } @Override + @Optional.Method(modid = "OpenComputers") public String getComponentName() { return "ntm_telex"; } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityRequestNetwork.java b/src/main/java/com/hbm/tileentity/network/TileEntityRequestNetwork.java index 645374a1e..9da1cfa2a 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityRequestNetwork.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityRequestNetwork.java @@ -37,14 +37,18 @@ public abstract class TileEntityRequestNetwork extends TileEntity { if(worldObj.getTotalWorldTime() % 20 == 0) { BlockPos pos = getCoord(); + + PathNode newNode = createNode(pos); + if(this.worldObj.isBlockIndirectlyGettingPowered(xCoord, yCoord, zCoord)) newNode.active = false; // push new node - push(worldObj, createNode(pos)); + push(worldObj, newNode); // remove known nodes that no longer exist // since we can assume a sane number of nodes to exist at any given time, we can run this check in full every second Iterator it = knownNodes.iterator(); HashedSet localNodes = this.getAllLocalNodes(worldObj, xCoord, zCoord, 2); // this bit may spiral into multiple nested hashtable lookups but it's limited to only a few chunks so it shouldn't be an issue localNodes.remove(pos); + while(it.hasNext()) { PathNode node = it.next(); if(!localNodes.contains(node)) { diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretArty.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretArty.java index fcea913b7..156472346 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretArty.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretArty.java @@ -477,4 +477,62 @@ public class TileEntityTurretArty extends TileEntityTurretBaseArtillery implemen targetQueue.add(Vec3.createVectorHelper(args.checkDouble(0), args.checkDouble(1), args.checkDouble(2))); return new Object[] {true}; } + + @Override + @Optional.Method(modid = "OpenComputers") + public String[] methods() { // :vomit: + return new String[] { + "setActive", + "isActive", + "getEnergyInfo", + "getWhitelisted", + "addWhitelist", + "removeWhitelist", + "setTargeting", + "getTargeting", + "hasTarget", + "getAngle", + "isAligned", + "getCurrentTarget", + "getTargetDistance", + "addCoords" + }; + } + + @Override + @Optional.Method(modid = "OpenComputers") + public Object[] invoke(String method, Context context, Arguments args) throws Exception { + switch (method) { + case "setActive": + return setActive(context, args); + case "isActive": + return isActive(context, args); + case "getEnergyInfo": + return getEnergyInfo(context, args); + case "getWhitelisted": + return getWhitelisted(context, args); + case "addWhitelist": + return addWhitelist(context, args); + case "removeWhitelist": + return removeWhitelist(context, args); + case "setTargeting": + return setTargeting(context, args); + case "getTargeting": + return getTargeting(context, args); + case "hasTarget": + return hasTarget(context, args); + case "getAngle": + return getAngle(context, args); + case "isAligned": + return isAligned(context, args); + case "getCurrentTarget": + return getCurrentTarget(context, args); + case "getTargetDistance": + return getTargetDistance(context, args); + case "addCoords": + return addCoords(context, args); + } + throw new NoSuchMethodException(); + } + } diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseArtillery.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseArtillery.java index b4e4f1155..be61fcf98 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseArtillery.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseArtillery.java @@ -11,7 +11,6 @@ import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; import net.minecraft.entity.Entity; -import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; import net.minecraftforge.common.util.ForgeDirection; @@ -76,6 +75,7 @@ public abstract class TileEntityTurretBaseArtillery extends TileEntityTurretBase } @Override + @Optional.Method(modid = "OpenComputers") public String getComponentName() { return "ntm_artillery"; } diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java index 419bb807e..bbb6783ee 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java @@ -54,7 +54,6 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.potion.Potion; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraftforge.common.util.FakePlayer; @@ -912,6 +911,7 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple // This is a large compat, so I have to leave comments to know what I'm doing @Override + @Optional.Method(modid = "OpenComputers") public String getComponentName() { return "ntm_turret"; } @@ -1014,11 +1014,13 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple } @Override + @Optional.Method(modid = "OpenComputers") public boolean canConnectNode(ForgeDirection side) { return side == ForgeDirection.DOWN; } @Override + @Optional.Method(modid = "OpenComputers") public String[] methods() { // :vomit: return new String[] { "setActive", @@ -1036,6 +1038,7 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple } @Override + @Optional.Method(modid = "OpenComputers") public Object[] invoke(String method, Context context, Arguments args) throws Exception { switch (method) { case "setActive": diff --git a/src/main/java/com/hbm/util/CompatNER.java b/src/main/java/com/hbm/util/CompatNER.java new file mode 100644 index 000000000..cb4b622dd --- /dev/null +++ b/src/main/java/com/hbm/util/CompatNER.java @@ -0,0 +1,169 @@ +package com.hbm.util; + +import java.util.ArrayList; +import java.util.List; + +import com.hbm.blocks.ModBlocks; +import com.hbm.entity.mob.EntityCreeperNuclear; +import com.hbm.items.ModItems; +import com.hbm.main.MainRegistry; + +import cpw.mods.fml.common.event.FMLInterModComms; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.nbt.NBTTagString; + +public class CompatNER { + + /* + * INIT + */ + + public static void init() { + sendRegisterOre(new ItemStack(ModBlocks.ore_alexandrite), false, 0xff00ff, new ItemStack(ModItems.gem_alexandrite)); + sendRegisterMob(EntityCreeperNuclear.class, "-1", encodeDrops( + new DropItem(new ItemStack(Blocks.tnt), 0, 2), + new DropItem(new ItemStack(ModItems.coin_creeper), 1, 1, 0.33F))); + } + + /* + * REGISTERS + */ + + public static void sendRegisterOre(ItemStack ore, boolean silk, int color, ItemStack... drops) { + NBTTagCompound data = new NBTTagCompound(); + data.setTag(stack, ore.writeToNBT(new NBTTagCompound())); + data.setBoolean(silkTouch, silk); + data.setInteger(colour, color); + data.setTag(addDrops, encodeStacks(drops)); + int[] distribution = new int[256]; + for(int i = 0; i < 256; i++) distribution[i] = 100; + data.setIntArray("distribution", distribution); + + NBTTagCompound res = new NBTTagCompound(); + NBTTagCompound block = new NBTTagCompound(); + block.setTag("stack", new ItemStack(Blocks.stone).writeToNBT(new NBTTagCompound())); + res.setTag("block", block); + data.setTag(restriction, res); + + FMLInterModComms.sendMessage(notEnoughResources, registerOre, data); + } + + public static void sendRegisterMob(Class clazz, String light, NBTTagList drops) { + NBTTagCompound data = new NBTTagCompound(); + data.setString(name, clazz.getName()); + data.setString(lightLevel, light); + data.setTag(addDrops, drops); + MainRegistry.logger.info("Sending " + registerMob + " to " + notEnoughResources); + FMLInterModComms.sendMessage(notEnoughResources, registerMob, data); + } + + /* + * ENCODERS + */ + + public static String encodeLightLevel(int level, boolean below) { + return level + ":" + (below ? "b" : "a"); + } + + public static NBTTagList encodeDrops(DropItem... stacks) { + NBTTagList list = new NBTTagList(); + for(DropItem stack : stacks) list.appendTag(stack.writeToNBT()); + return list; + } + + public static NBTTagList encodeStacks(ItemStack... stacks) { + NBTTagList list = new NBTTagList(); + for(ItemStack stack : stacks) list.appendTag(stack.writeToNBT(new NBTTagCompound())); + return list; + } + + /* + * DROP SYSTEM + */ + + public static class DropItem { + public ItemStack drop; + public int min = 1; + public int max = 1; + public float chance = 1F; + List conditionals = new ArrayList(); + + public DropItem(ItemStack stack) { this(stack, 1, 1, 1F); } + public DropItem(ItemStack stack, int min, int max) { this(stack, min, max, 1F); } + public DropItem(ItemStack stack, int min, int max, float chance) { + this.drop = stack; + this.min = min; + this.max = max; + this.chance = chance; + } + + public NBTTagCompound writeToNBT() { + NBTTagCompound compound = new NBTTagCompound(); + compound.setTag("stack", this.drop.writeToNBT(new NBTTagCompound())); + compound.setInteger("min", this.min); + compound.setInteger("max", this.max); + compound.setFloat("chance", this.chance); + NBTTagList conditionals = new NBTTagList(); + for(String condition : this.conditionals) conditionals.appendTag(new NBTTagString(condition)); + compound.setTag("conditionals", conditionals); + return compound; + } + } + + /* + * CONSTANTS + */ + + public static final String notEnoughResources = "neresources"; + public static final String registerDungeon = "registerDungeon"; + public static final String registerMob = "registerMob"; + public static final String registerOre = "registerOre"; + public static final String registerPlant = "registerPlant"; + public static final String addToRegistry = "add"; + public static final String modifyMob = "modifyMob"; + public static final String modifyOre = "modifyOre"; + public static final String modifyPlant = "modifyPlant"; + public static final String removeMob = "removeMob"; + public static final String removeOre = "removeOre"; + public static final String removePlant = "removePlant"; + public static final String distribution = "distribution"; + public static final String bestHeight = "bestHeight"; + public static final String stack = "stack"; + public static final String name = "name"; + public static final String lightLevel = "lightLevel"; + public static final String conditionals = "conditionals"; + public static final String colour = "colour"; + public static final String itemList = "itemList"; + public static final String chance = "chance"; + public static final String min = "min"; + public static final String max = "max"; + public static final String priority = "priority"; + public static final String addPriority = "addPriority"; + public static final String removePriority = "removePriority"; + public static final String addDrops = "addDrops"; + public static final String removeDrops = "removeDrops"; + public static final String silkTouch = "silkTouch"; + public static final String wither = "wither"; + public static final String strict = "strict"; + public static final String biomeArray = "biomeArray"; + public static final String type = "type"; + public static final String restriction = "restriction"; + public static final String blockRestriction = "block"; + public static final String dimensionRestriction = "dimension"; + public static final String biomeRestriction = "biome"; + + public static final String conditional_rareDrop = "ner.rareDrop.text"; + public static final String conditional_silkTouch = "ner.ore.silkTouch"; + public static final String conditional_equipmentDrop = "ner.equipmentDrop.text"; + public static final String conditional_burning = "ner.burning.text"; + public static final String conditional_notBurning = "ner.notBurning.text"; + public static final String conditional_playerKill = "ner.playerKill.text"; + public static final String conditional_notPlayerKill = "ner.notPlayerKill.text"; + public static final String conditional_aboveLooting = "ner.aboveLooting.text"; + public static final String conditional_belowLooting = "ner.belowLooting.text"; + public static final String conditional_killedBy = "ner.killedBy.text"; + public static final String conditional_notKilledBy = "ner.notKilledBy.text"; +} diff --git a/src/main/java/com/hbm/world/generator/CellularDungeon.java b/src/main/java/com/hbm/world/generator/CellularDungeon.java index b25685c7c..169b5fb3a 100644 --- a/src/main/java/com/hbm/world/generator/CellularDungeon.java +++ b/src/main/java/com/hbm/world/generator/CellularDungeon.java @@ -35,6 +35,7 @@ public class CellularDungeon { public List rooms = new ArrayList(); int tries; int branches; + boolean isGenerating; public CellularDungeon(int width, int height, int dimX, int dimZ, int tries, int branches) { @@ -60,7 +61,11 @@ public class CellularDungeon { } public void generate(World world, int x, int y, int z, Random rand) { + + if(isGenerating) return; + isGenerating = true; + x -= dimX * width / 2; z -= dimZ * width / 2; @@ -82,6 +87,8 @@ public class CellularDungeon { cells[dx][dz].generate(world, x + dx * (width - 1), y, z + dz * (width - 1), doors[dx][dz]); } } + + isGenerating = false; } int rec = 0; diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 9c93972a5..17d08929e 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -369,6 +369,7 @@ container.machineITER=Kernfusionsreaktor container.machineLargeTurbine=Industrielle Dampfturbine container.machineLiquefactor=Verflüssiger container.machineMixer=Industrieller Mixer +container.machineOreSlopper=B.E.M. container.machineRefinery=Ölraffinerie container.machineSelenium=Hochleistungs-Sternmotor container.machineShredder=Brecher @@ -456,12 +457,14 @@ container.zirnox=ZIRNOX Atomreaktor crucible.aa=Herstellung - Fortgeschrittene Legierung crucible.abronze=Herstellung - Arsennronze crucible.bbronze=Herstellung - Bismutbronze +crucible.bscco=Herstellung - BSCCO crucible.cdalloy=Herstellung - Cadmiumstahl crucible.cmb=Herstellung - CMB-Stahl crucible.ferro=Herstellung - Ferrouran crucible.hematite=Herstellung - Eisen aus Hämatit crucible.hss=Herstellung - Schnellarbeitsstahl crucible.malachite=Herstellung - Kupfer aus Malachit +crucible.magtung=Herstellung - Magnetisierter Wolfram crucible.redcopper=Herstellung - Roter Kupfer crucible.steel=Herstellung - Stahl crucible.steelMeteoric=Herstellung - Stahl aus Meteoriteneisen @@ -760,6 +763,7 @@ hbmfluid.salient=Saftiges Grün hbmfluid.sas3=Schrabidiumtrisulfat hbmfluid.schrabidic=Schrabidische Säure hbmfluid.seedslurry=Saatgemisch +hbmfluid.slop=Erzpampe hbmfluid.smear=Industrieöl hbmfluid.smoke=Abgas hbmfluid.smoke_leaded=Bleiabgas @@ -807,6 +811,7 @@ hbmmat.bismuth=Bismut hbmmat.bismuthbronze=Bismutbronze hbmmat.borax=Borax hbmmat.boron=Bor +hbmmat.bscco=BSCCO hbmmat.cadmium=Cadmium hbmmat.calcium=Kalzium hbmmat.carbon=Kohlenstoff @@ -875,6 +880,7 @@ hbmmat.solinium=Solinium hbmmat.starmetal=Sternenmetall hbmmat.steel=Stahl hbmmat.stone=Stein +hbmmat.strontium=Strontium hbmmat.sulfur=Schwefel hbmmat.tantalum=Tantal hbmmat.tcalloy=Technetiumstahl @@ -1292,6 +1298,7 @@ item.bedrock_ore.type.heavy.name=Schwermetall item.bedrock_ore.type.light.name=Leichtmetall item.bedrock_ore.type.nonmetal.name=Nichtmetall item.bedrock_ore.type.rare.name=Seltenerden +item.bedrock_ore_base.name=Rohes Bedrockerz item.beta.name=Beta-Features item.big_sword.name=Großes Schwert item.billet_am_mix.name=Reaktorfähiges Americiumbillet @@ -1560,6 +1567,7 @@ item.cigarette.name=FFI-Markenzigarette item.cinnebar.name=Zinnober item.circuit.advanced.name=Integrierter Schaltkreis, Militärstandard item.circuit.analog.name=Analoger Schaltkreis +item.circuit.atomic_clock.name=Atomuhr item.circuit.basic.name=Integrierter Schaltkreis item.circuit.bismoid.name=Vielfältiger Schaltkreis item.circuit.capacitor.name=Kondensator @@ -1567,10 +1575,13 @@ item.circuit.capacitor_board.name=Kondensatorboard item.circuit.capacitor_tantalium.name=Tantalkondensator item.circuit.chip.name=Mikrochip item.circuit.chip_bismoid.name=Vielfältiger integrierter Schaltkreis +item.circuit.chip_quantum.name=Festkörper-Quantenprozessor item.circuit.controller.name=Steuereinheit item.circuit.controller_advanced.name=Erweiterte Steuereinheit item.circuit.controller_chassis.name=Steuereinheitsgehäuse +item.circuit.controller_quantum.name=Quantencomputer item.circuit.pcb.name=Leiterplatte +item.circuit.quantum.name=Quantenprozessoreinheit item.circuit.silicon.name=Bedrucker Siliziumwafer item.circuit.vacuum_tube.name=Vakuumröhre item.circuit_aluminium.name=Einfacher Schaltkreis @@ -2211,6 +2222,7 @@ item.ingot_biorubber.name=Latextafel item.ingot_bismuth.name=Bismutbarren item.ingot_bismuth_bronze.name=Bismutbronzebarren item.ingot_boron.name=Borbarren +item.ingot_bscco.name=BSCCO-Barren item.ingot_c4.name=C4-Tafel item.ingot_cadmium.name=Cadmiumbarren item.ingot_calcium.name=Kalziumbarren @@ -2714,6 +2726,7 @@ item.ore_byproduct.b_uranium.name=Kristallines Uranfragment item.ore_centrifuged.name=Zentrifugiertes %serz item.ore_cleaned.name=Gereinigtes %serz item.ore_deepcleaned.name=Tiefengereinigtes %serz +item.ore_density_scanner.name=Bedrockerz-Analysegerät item.ore_enriched.name=Reiches %serz item.ore_nitrated.name=Nitriertes %serz item.ore_nitrocrystalline.name=Nitrokristallines %serz @@ -2745,10 +2758,11 @@ item.pancake.name=Pfannkuchen aus Altmetall, Nägeln und Edelsteinpulver item.part_beryllium.name=Berylliumstaubkiste item.part_carbon.name=Kohlenstoffstaubkiste item.part_copper.name=Kupferstaubkiste +item.part_generic.hde.name=Schwerlastkomponente +item.part_generic.lde.name=Leichtbauteil item.part_generic.piston_electric.name=Electrischer Kolben item.part_generic.piston_hydraulic.name=Hydraulischer Kolben item.part_generic.piston_pneumatic.name=Pneumatischer Kolben -item.part_generic.lde.name=Leichtbauteil item.part_lithium.name=Lithiumstaubkiste item.part_plutonium.name=Plutoniumstaubkiste item.particle_aelectron.name=Positronenkapsel @@ -2877,6 +2891,7 @@ item.powder_bromine.name=Bromstaub item.powder_cadmium.name=Cadmiumstaub item.powder_caesium.name=Caesiumstaub item.powder_calcium.name=Kalziumstaub +item.powder_cement.name=Zement item.powder_cerium.name=Cerstaub item.powder_cerium_tiny.name=Kleiner Haufen Cerstaub item.powder_chlorocalcite.name=Chlorokalzit @@ -2917,6 +2932,7 @@ item.powder_lanthanium_tiny.name=Kleiner Haufen Lanthanstaub item.powder_lapis.name=Lapis Lazuli-Staub item.powder_lead.name=Bleistaub item.powder_lignite.name=Braunkohlestaub +item.powder_limestone.name=Kalksteinstaub item.powder_lithium.name=Lithiumstaub item.powder_lithium_tiny.name=Kleiner Haufen Lithiumstaub item.powder_magic.name=Pulverisierte Verzauberung @@ -3941,6 +3957,8 @@ tile.crane_grabber.name=Förderband-Greifer tile.crane_grabber.desc=Nimmt Items von vorbeilaufenden Förderbändern und legt sie in Behälter$Nimmt nur Items von der nähesten Spur$Hat bis zu 9 Filterslots mit Black- und Whitelist$Rechstclick mit Schraubenzieher um Eingang zu definieren$Shiftclick mit Schraubenzieher um Ausgang zu definieren$Zweimal clicken, um gegenüberliegende Seite zu definieren tile.crane_inserter.name=Förderband-Einsetzer tile.crane_inserter.desc=Akzeptiert Items von Förderbändern und legt sie in Behälter$Rechstclick mit Schraubenzieher um Eingang zu definieren$Shiftclick mit Schraubenzieher um Ausgang zu definieren$Zweimal clicken, um gegenüberliegende Seite zu definieren +tile.crane_partitioner.name=Erzauflöser-Partitionierer +tile.crane_partitioner.desc=Speichert Input für den Erzazflöser$und gibt sie in der benötigten Itemanzahl aus.$Ungültige Items werden auch gespeichert, und müssen seitlich entfernt werden. tile.crane_router.name=Förderband-Sortierer tile.crane_router.desc=Sortiert Items basierend auf eingestellte Kriterien$Seiten können als Blacklist, Whitelist oder Wildcard eingestellt werden$Widlcard-Seiten werden nur verwendet, wenn kein anderer Filter zutrifft tile.crate_splitter.name=Förderband-Teiler @@ -4306,6 +4324,7 @@ tile.machine_mixer.name=Industrieller Mixer tile.machine_nuke_furnace_off.name=Atombetriebener Ofen tile.machine_nuke_furnace_on.name=Atombetriebener Ofen tile.machine_orbus.name=Schwerer Magnetischer Lagerbehälter +tile.machine_ore_slopper.name=Bedrockerzmaschine tile.machine_powerrtg.name=PT-Isotopenzelle tile.machine_press.name=Befeuerte Presse tile.machine_puf6_tank.name=Plutoniumhexafluorid-Tank diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 8e784c2b7..81114bd5a 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -770,6 +770,7 @@ container.machineITER=Fusion Reactor container.machineLargeTurbine=Industrial Steam Turbine container.machineLiquefactor=Liquefactor container.machineMixer=Industrial Mixer +container.machineOreSlopper=B.O.P. container.machineRefinery=Oil Refinery container.machineSelenium=Radial Performance Engine container.machineShredder=Shredder @@ -860,6 +861,7 @@ container.zirnox=ZIRNOX Nuclear Reactor crucible.aa=Advanced Alloy Production crucible.abronze=Arsenic Bronze Production crucible.bbronze=Bismuth Bronze Production +crucible.bscco=BSCCO Production crucible.cdalloy=Cadmium Steel Production crucible.cmb=CMB Steel Production crucible.ferro=Ferrouranium Production @@ -1460,6 +1462,7 @@ hbmfluid.salient=Salient Green hbmfluid.sas3=Schrabidium Trisulfide hbmfluid.schrabidic=Schrabidic Acid hbmfluid.seedslurry=Seeding Slurry +hbmfluid.slop=Ore Slop hbmfluid.smear=Industrial Oil hbmfluid.smoke=Smoke hbmfluid.smoke_leaded=Leaded Smoke @@ -1516,6 +1519,7 @@ hbmmat.bismuth=Bismuth hbmmat.bismuthbronze=Bismuth Bronze hbmmat.borax=Borax hbmmat.boron=Boron +hbmmat.bscco=BSCCO hbmmat.cadmium=Cadmium hbmmat.calcium=Calcium hbmmat.carbon=Carbon @@ -1584,6 +1588,7 @@ hbmmat.solinium=Solinium hbmmat.starmetal=Starmetal hbmmat.steel=Steel hbmmat.stone=Stone +hbmmat.strontium=Strontium hbmmat.sulfur=Sulfur hbmmat.tantalum=Tantalum hbmmat.tcalloy=Technetium Steel @@ -2012,6 +2017,7 @@ item.bedrock_ore.type.heavy.name=Heavy Metal item.bedrock_ore.type.light.name=Light Metal item.bedrock_ore.type.nonmetal.name=Non-Metal item.bedrock_ore.type.rare.name=Rare Earth +item.bedrock_ore_base.name=Raw Bedrock Ore item.beta.name=Beta Features item.big_sword.name=Great Sword item.billet_actinium.name=Actinium-227 Billet @@ -2319,6 +2325,7 @@ item.cigarette.name=FFI-Brand Cigarette item.cinnebar.name=Cinnabar item.circuit.advanced.name=Military Grade Circuit Board item.circuit.analog.name=Analog Circuit Board +item.circuit.atomic_clock.name=Atomic Clock item.circuit.basic.name=Integrated Circuit Board item.circuit.bismoid.name=Versatile Circuit Board item.circuit.capacitor.name=Capacitor @@ -2326,10 +2333,13 @@ item.circuit.capacitor_board.name=Capacitor Board item.circuit.capacitor_tantalium.name=Tantalium Capacitor item.circuit.chip.name=Microchip item.circuit.chip_bismoid.name=Versatile Integrated Circuit +item.circuit.chip_quantum.name=Solid State Quantum Processor item.circuit.controller.name=Control Unit item.circuit.controller_advanced.name=Advanced Control Unit item.circuit.controller_chassis.name=Control Unit Casing +item.circuit.controller_quantum.name=Quantum Computer item.circuit.pcb.name=Printed Circuit Board +item.circuit.quantum.name=Quantum Processing Unit item.circuit.silicon.name=Printed Silicon Wafer item.circuit.vacuum_tube.name=Vacuum Tube item.circuit_aluminium.name=Basic Circuit @@ -3012,6 +3022,7 @@ item.ingot_biorubber.name=Latex Bar item.ingot_bismuth.name=Bismuth Ingot item.ingot_bismuth_bronze.name=Bismuth Bronze Ingot item.ingot_boron.name=Boron Ingot +item.ingot_bscco.name=BSCCO Ingot item.ingot_c4.name=Bar of Composition C-4 item.ingot_cadmium.name=Cadmium Ingot item.ingot_calcium.name=Calcium Ingot @@ -3545,6 +3556,7 @@ item.ore_byproduct.b_uranium.name=Crystalline Uranium Fragment item.ore_centrifuged.name=Centrifuged %s Ore item.ore_cleaned.name=Cleaned %s Ore item.ore_deepcleaned.name=Deep Cleaned %s Ore +item.ore_density_scanner.name=Bedrock Ore Density Scanner item.ore_enriched.name=Enriched %s Ore item.ore_nitrated.name=Nitrated %s Ore item.ore_nitrocrystalline.name=Nitrocrystalline %s Ore @@ -3577,10 +3589,11 @@ item.pancake.name=Pancake made from Scrap Metal, Nails and Gem Dust item.part_beryllium.name=Box of Beryllium Dust item.part_carbon.name=Box of Carbon Dust item.part_copper.name=Box of Copper Dust +item.part_generic.hde.name=Heavy Duty Element +item.part_generic.lde.name=Low-Density Element item.part_generic.piston_electric.name=Electric Piston item.part_generic.piston_hydraulic.name=Hydraulic Piston item.part_generic.piston_pneumatic.name=Pneumatic Piston -item.part_generic.lde.name=Low-Density Element item.part_lithium.name=Box of Lithium Dust item.part_plutonium.name=Box of Plutonium Dust item.particle_aelectron.name=Positron Capsule @@ -3755,6 +3768,7 @@ item.powder_bromine.name=Bromine Powder item.powder_cadmium.name=Cadmium Powder item.powder_caesium.name=Caesium Powder item.powder_calcium.name=Calcium Powder +item.powder_cement.name=Cement item.powder_cerium.name=Cerium Powder item.powder_cerium_tiny.name=Tiny Pile of Cerium Powder item.powder_chlorocalcite.name=Chlorocalcite @@ -3797,6 +3811,7 @@ item.powder_lanthanium_tiny.name=Tiny Pile of Lanthanium Powder item.powder_lapis.name=Lapis Lazuli Powder item.powder_lead.name=Lead Powder item.powder_lignite.name=Lignite Powder +item.powder_limestone.name=Limestone Powder item.powder_lithium.name=Lithium Powder item.powder_lithium_tiny.name=Tiny Pile of Lithium Powder item.powder_magic.name=Pulverized Enchantment @@ -5006,6 +5021,8 @@ tile.crane_grabber.name=Conveyor Grabber tile.crane_grabber.desc=Takes items from passing conveyors and places them into containers$Will only take items from the closest lane$Has up to 9 filter slots with black and whitelist$Right-click with screwdriver to set input side$Shift-click with screwdriver to set the output side$Click twice to set the opposite side tile.crane_inserter.name=Conveyor Inserter tile.crane_inserter.desc=Accepts items from conveyors and places them into containers$Right-click with screwdriver to set input side$Shift-click with screwdriver to set the output side$Click twice to set the opposite side +tile.crane_partitioner.name=Acidizer Input Paritioner +tile.crane_partitioner.desc=Receives and stores up to nine Ore Acidizer inputs$and releases them if they match the required input size.$Invalid items are also saved, and need to be extracted from the side. tile.crane_router.name=Conveyor Sorter tile.crane_router.desc=Sorts item based on defined criteria$Sides can be defined as blacklist, whitelist or wildcard$Wildcard sides are only chosen if no other filter matches tile.crane_splitter.name=Conveyor Splitter @@ -5383,6 +5400,7 @@ tile.machine_mixer.name=Industrial Mixer tile.machine_nuke_furnace_off.name=Nuclear Furnace tile.machine_nuke_furnace_on.name=Nuclear Furnace tile.machine_orbus.name=Heavy Magnetic Storage Tank +tile.machine_ore_slopper.name=Bedrock Ore Processor tile.machine_powerrtg.name=PT Isotope Cell tile.machine_press.name=Burner Press tile.machine_puf6_tank.name=Plutonium Hexafluoride Tank diff --git a/src/main/resources/assets/hbm/lang/it_IT.lang b/src/main/resources/assets/hbm/lang/it_IT.lang index 23ce40e76..1143e0318 100644 --- a/src/main/resources/assets/hbm/lang/it_IT.lang +++ b/src/main/resources/assets/hbm/lang/it_IT.lang @@ -137,6 +137,7 @@ armor.damageModifier=Modifica del danno del %s contro %s armor.dash=Concesso %s gli slanci armor.electricJetpack=Jetpack ionico armor.explosionImmune=Non può subire alcun danno ad eccezione delle esplosioni +armor.fasterReload=Ricarica veloce armor.fastFall=Caduta veloce armor.fireproof=Ignifugo armor.fullSetBonus=Bonus set completo: @@ -198,6 +199,25 @@ bomb.triggered=Attivato con successo! book.test.cover=COME FARE SESSO book.test.page1=PAGINA TEST 1 +book.error.cover=Collisore di ardoni:$Risoluzione dei problemi +book.error.title1=Errore 0x01 [NC] +book.error.page1=§lNome:§r "ERRORE_NO_CARICA" §lDescrizione:§r La particella ha raggiunto un segmento con insufficiente carica. §lPossibile soluzione:§r Sostituisci una delle spine che la particella supera con successo con quelli di livello superiore o aggiungi un altra spina leggermente prima del segmento in cui la particella scompare. +book.error.title2=Errore 0x02 [NA] +book.error.page2=§lNome:§r "ERRORE_NO_ANALISI" §lDescrizione:§r La particella a raggiunto il nucleo, nonstante non abbia raggiunto la camera d'analisi. §lPossibile soluzione:§r Assicurati che il tuo accelleratore abbia la camera d'analisi e ricontrolla la modalità d'operazione(lineare/circolare). +book.error.title3=Errore 0x03 [OC] +book.error.page3=§lNome:§r "ERRORE_CANALE_OSTRUITO" §lDescrizione:§r La particella si è schiantata su un blocco all'interno della canale di collisione. §lPossibile soluzione:§r Assicurati che dentro il collisore di partecelle sia libero senza ostruzioni, ad eccezzione dei diodo a particelle e dei blocchi centrali. +book.error.title4=Errore 0x04 [EC] +book.error.page4=§lNome:§r "ERRORE_BOBINA_PREVISTA" §lDescrizione:§r La particella ha passato un punto in cui manca una o più bobine. §lPossibile soluzione:§r Rimuovi tutte le piastre dell'acceleratore e controlla se tutte le bobine sono lì. Questo errore può anche accadere facendo il T-crossing, dove non c'è il diodo. +book.error.title5=Errore 0x05 [MS] +book.error.page5=§lNome:§r "ERRORE_SEGMENTO_MALFORMATO" §lDescrizione:§r La particella ha passato un punto costruito male (ma non ostruito o con bobine mancanti). §lPossibile soluzione:§r Assicurati che ci siano tutte le piastre e che tutte le bobine sono coperte da esse. +book.error.title6=Errore 0x06 [ATL] +book.error.page6=§lNome:§r "ERRORE_ANALISI_TROPPO_LUNGA" §lDescrizione:§r La particella ha passato più di tre blocchi richiesti per la camera d'analisi. §lPossibile soluzione:§r Assicurati che la camera d'analisi sia lunga 3 blocchi ne caso delle operazioni circolari e 2 per quelli lineari. Inoltre controlla che la particella non passi in più camere d'analisi. +book.error.title7=Errore 0x07 [ATS] +book.error.page7=§lNome:§r "ERRORE_ANALISI_TROPPO_CORTA" §lDescrizione:§r La particella a sorpassato la camera d'analisi, data la sua corta lunghezza. §lPossibile soluzione:§r Assicurati che la camera d'analisi sia lunga 3 blocchi ne caso delle operazioni circolari e 2 per quelli lineari. Le camere d'analisi non hanno le bobine e assicurati di usare le piastre e finestre per la camera d'analisi. Le camere d'analisi con le bobine dentro, contano come segmenti regolari. +book.error.title8=Errore 0x08 [DC] +book.error.page8=§lNome:§r "ERRORE_COLLISIONE_DIODO" §lDescrizione:§r La particella si è scontrata con con la parte non input del diodo. §lPossibile soluzione:§r Controlla che il diodo sia configurato correttamente. Le particelle possono entrare soltanto dalla parte con le frecce verdi che indicano dentro. +book.error.title9=Errore 0x09 [BT] +book.error.page9=§lNome:§r "ERRORE_RAMIFICAZIONE_CURVA" §lDescrizione:§r La particella ha raggiunto una curva con più uscite. §lPossibile soluzione:§r Se la curva è normale, controlla se ci sono tutte le bobine richieste (N.B. non ci dev'essere nessun buco che esponga le bobine). Se la curva dev'essere con più uscite, richiede un diodo a particelle schottky configurato correttamente. book.error.cover=Hadron Collider:$Troubleshooting book.error.title1=Error 0x01 [NC] book.error.page1=§lName:§r "ERROR_NO_CHARGE" §lDescription:§r The particle has reached a segment with insufficient charge. §lPotential fix:§r Either replace one of the plugs that the particle successfully passes with higher-tier ones or add another plug slightly before the segment where the particle expires. @@ -252,6 +272,44 @@ book.rbmk.page15=La risposta del §lcombustibile nucleare§r dipende da molti fa book.rbmk.title16=Fusione book.rbmk.page16=§4§lEVITALA. +book.starter.cover=$Guida su come ricostruore$una società industrializzata +book.starter.title1=Introduzione +book.starter.page1=Se stai leggendo questo libro, significa che molto probabilmente, in un modo o in un altro, la società è collassata. Governi, paesi e autorità sono concetti del passato - insieme ai servizi della vita civilizzata. Questa guida ti insegnerà a ricostruire la società e tutti la tecnologia e le macchine che ti cambieranno la vita. +book.starter.title2=Carbone e gas mostarda +book.starter.page2=Mentre è impossibile definire lo stato del mondo in un tempo post-apocalittico, non è improbabile che la guerra e l'industria siano finite. Per proteggere i tuoi polmoni, un modo efficace ed economico è quello di urinare sulla §lstoffa§r per creare una §lmaschera da trincea§r,per proteggerti dalla polvere di carbone e dal gas mostarda, se mai dovessi incontrarli. +book.starter.title3=Incudini e presse +book.starter.page3=La quintessenza per iniziare a revitalizzare l'industria, è un §lincudine§r e una §lpressa§r. L'incudine ti permette di creare machinnari iniziali come ad esempio l'asseblatore, mentre la pressa ti permette di creare piastre, fili e circuitit che non puoi assemblarli nell'incudine. +book.starter.title4=Modelli +book.starter.page4=In ordine per stampare i metalli in forme utili, assemblare macchinari ed eseguire reazioni chimiche, avrai bisogno di creare una §lcartella per modelli macchina§r per creare vari stampi e modelli. +book.starter.title5=Scavo +book.starter.page5=A seconda di quanto grave sia stato l'evento apocalittico iniziale per le strutture preesistenti del mondo, c'è una buona probabilità che pezzi e macchine possono essere riparati o salvati. Leghe metalliche come l'acciaio, parti come circuiti, e anche materiali fissili da centrali nucleari ti aspettano. Tuttavia, attenzione ad alcune rovine, ci puo essere un eccesso di pericolo come ad esempio un serpente nell'erba; pronto a mandarti K.O. con le radiazioni, trappole, o orrori indescrivibili... +book.starter.title6=Primi macchinari +book.starter.page6a=Due macchinari che dovresti assemblare subito sono l'§laltoforno§r l' §lassemblatore§r. L'altoforno ti permetterà di creare leghe come l'§lacciaio§r, §lrame di tipo minecraft§r e la §llega avanzata§r; tu avrai ne avrai bisogno per costruire i corpi delle macchine, i filamenti dei circuiti, elettromagneti avanzati e molto di più. +book.starter.page6b=L'assemblatore serve per create praticamente tutte le macchine descritte in questa guida. Avrai bisogno di una risorsa energetica, come ad esempio un §lgeneratore§r a §lcombustione§r o di una §lcaldaia solare§r. +book.starter.page7a=Il §ltrituratore§r, insieme ad un paio di lame, sarà molto utile per raddoppiare la resa del minerale, triturando in polveri fondibili. Queste polveri sono anche cruciali nella creazione di circuitit, come ad esempio i circuito §lmigliorato§r e l'§lovercloccatod§r. +book.starter.page7b=Usando i tuoi macchinari, puoi creare §lImpianti chimici§r, usati per la sintetizzazione di circuiti migliori, cemento, il processo petrolchimico e di più. +book.starter.title8=Oro nero +book.starter.page8a=Usando un §lrilevatore di petrolio§r, puoi trovare depositi sotteranei, sopra i quali dovrai piazzare una §lpompa petrolifera§r o una §ltorre derrick§r. Ricordati che col tempo il deposito di petrolio finirà. +book.starter.page8b=Prima che il petrolio possa essere raffinato e separato in una §lraffineria§r, lo devi riscaldare a 300°C in una §lcaldaia§r. +book.starter.title9=Prodotti petrolchimici +book.starter.page9=Usando un'§limpianti chimici§r, §ltorri di frazionamento§r e §ltorri di cracking catalitico§r, puoi trasformare i prodotti del petrolio raffinari in altri prodotti ancora più utili. Per esempio: §lPolimerir§r o §lBakelite§r, plastica flessibile e duratura; §lDesh§r, una lega metallica di terre rare molto resistente alle temperature; §lcombustibile solido§r, che può essere bruciato per l'energia; o anche §lcombustibile liquido§r, come §lgasolio§r, §ldiesel§r, §lkerosene§r e di più. +book.starter.title10=Macchinari avanzari +book.starter.page10=Con la lavorazione del petrolio nelle tue mani, puoi creare §lcentrifughe§r, che triplica la resa dei minerali; l'§lacidificatore§r, col quale cristallizzi i metalli, aumentando il tuo rendimento; e il §lSILEX + §lFEL§r, due meraviglie dell'ingegneria moderna che possono separare isotopi di materiali con sollievo. Avrai bisogno di più energia per alimentare questi nuovi macchinari; che può essere ottenuto da generatori come: §lgeneratori a diesel§r,§lgeneratori industriali§r, o anche reattori nucleari. +book.starter.title11=Strati +book.starter.page11=Sotto la terra in cui cammini, ci sono diversi §lStrati§r naturali, o minerali speciali e formazioni. Gli §lstrati di scisto§r sono blu, strati conteneti litio e riempiti di uranio, ferro, rame, amianto e altri minerali adatti al tuo uso. Le §lRoccie profonde§r contengono grandi quantita di minerali rari, come §lzirconio§r e §lboro§r, ma richiedono esplosivi per ottenerli. +book.starter.title12=Radiazioni +book.starter.page12a=§oIl resto del libro involverà materiali riguardanti le §oradiazioni. Per la tua sicurezza e degl'altri, ti darò §oconsigli su come mitigare e combattere le radiazioni. +book.starter.page12b=Un alta esposizione alle radiazioni può e ti causera danni corporei. Il primo passo per la prevenzione; è di assicurarsi di limitare l'esposizione ed indossare indumenti protettivi, come la §lTuta hazmat§r, o applicare §lRivestimenti§r sui vestiti o armature; puoi anche prendere il §lRad-X§r per limitare assunzione. Grazie alla medicina moderna, il secondo step può essere rimosso in caso di necessità; per esempio, un §lDecontaminatore del §lplayer§r riduce lentamente le radiazioni assorbite dal tuo corpo. §lRad-Away§r può essere utilizzato anche come profilassi post-esposizione, riduce velocemente ed effettivamente il danno da esposizione da radiazioni. +book.starter.title13=Arricchimento dell'uranio +book.starter.page13=Ci sono alcuni metodi facili per alimentare un reattore nucleare; ad esempio, l'§luranio naturale§r o il §lcombustibile al torio§r. Tuttavia, se stai cercando per qualcosa di più potente, puoi creare una cascata di arricchimento di due §lcentrifughe a gas§r per produrre §lcombustibile all'uranio§r con uno scarto di §lUranio-238§r. Dovrai trasmutare l'uranio in §lpangaillo§r, poi in §lesafluoruro di §luranio§r. +book.starter.title14=La pila Chicago +book.starter.page14=Alternativamente, puoi generare il §lplutonio di grado reattore§r, un combustibile più potente, dall'uranio naturale usando la §lpila Chicago§r. Sovrapponendo blocchi di grafite e trivellandoli, puoi inserire barre di combustibile da riproduzione per generare plutonio e fonti di neutroni, come il §lRadio-Berillio§r, per iniziare la reazione. Assicurati di testare i tuoi design; potrebbe essere necessario distanziare o limitare la quantità di blocchi per evitare il surriscaldamento. +book.starter.title15=ZIRNOX GCR +book.starter.page15=Finalmente, puoi creare la tua prima §overa§r fonte di energia: Il reattore nucleare §lZIRNOX§r. I reattori nucleari richiedono una sistemazione maggiore rispetto alle altre fonti di energia; per primo, avrai bisogno di una buona risorsa d'aqua, come il §lSerbatoio dell'acqua infinito pesante§r. Per rimuovere calore da reattore e per far bollire l'acqua, avrai bisogno di §lmonossido di carbonio§r. Dovrai creare una forte pressione, ma non §otroppa§r. Avrai anche bisogno di 3 turbine a vapore per produrre energia dal vapore prodotto; le §lturbine a vapore§r o le §lturbine a vapore industriali§r saranno ottime. Infine, un §lCondensatore§r o una §ltorre di raffreddamento ausiliaria§r servirà per condensare il vapore rimasto in acqua, dove può essere eliminato o riciclato in un circuito di raffreddamento. +book.starter.title16=Conclusione +book.starter.page16=Se sei arrivato così lontano, sei sulla strada per la ricostruzione della civilizzazione. Hai ricreato macchinari avanzati pre-apocalittici - con energia nucleare, prodotti petrolchimici e di più. Non posso sapere §ocome§r utilizzerai questi nuovi vantaggi, ma è mia personale speranza che tu li usi per il bene tuo e degli altri - o almeno per legittima difesa. Au revoir! +book.starter.title18=Qualcosa sull'autore +book.starter.page18=vær è solo un ragazzo rimasto intrappolato nel vuoto grigio presente nei Talking Head §oUna volta nella vita§r molto a lungo. Una volta trovò la porta di uno studio, ma con suo sgomento scoprì che era un ritaglio di cartone. book.starter.cover=An Industrialist's$Guide to Rebuilding$Society book.starter.title1=Introduction book.starter.page1=If you're reading this, it's highly likely that society, in one way or another, has collapsed entirely. Governments, countries, and authority are a concept of the past - along with all of the amenities of civilized life. As such, this guide will inform you how to change that by recreating the industry and technology of the past for the improvement of your own life. @@ -324,6 +382,11 @@ book.starter.page18=vær is just a guy who has been trapped in the grey void fea #book.rbmk.title16=Meltdown #book.rbmk.page16=§4§lAvoid. +book_lore.author=Di %s +book_lore.test.name=questo libro non funziona... +book_lore.test.author=io ti ho trollato eheh :3c +book_lore.test.page.0=>ciao anonimi, prima di iniziare vorrei chiarire che non sono gay. >Sii me >Questa notte >18 > Uscendo con il mio migliore amico senza i miei genitori per alcuni giornis >Siamo migliori amici ormai da un anno >Abbiamo bevuto un po', giocato a molti videogiochi e ordinato una pizza >Ci stavamo divertendo molto >A un certo punto della notte, verso le 9:00, fa una cosa davvero divertente battuta che non ricordo ma so che ci ha fatto ridere tantissimo tutti e due > Senza pensarci passo la mano destra tra i suoi capelli neri semiricci e lo chiamo ragazzo simpatico > Lui arrossisce > Mi rendo conto che mi sento agitato >Siamo abbastanza vicini >All'improvviso lui mi bacia e per qualche motivo io lo bacio >Facciamo l'amore >Ci coccoliamo insieme e ci addormentiamo >Svegliarsi nel cuore della notte con la sua testa rannicchiata sul mio petto e zona del collo >È stato bello ma non sono omosessuale. +book_lore.test.page.1=Lo scrivo mentre lui dorme tra le mie braccia. Come posso deludere bene il mio migliore amico? Non voglio essere un [censurato] /b/ book_lore.author=By %s book_lore.test.name=this book doesn't work... book_lore.test.author=me i trolled you hehe :3c @@ -335,6 +398,227 @@ book_lore.test.page.4=5 book_lore.book_iodine.name=Note book_lore.book_iodine.author=Dave +book_lore.book_iodine.page.0=non ci crederete a questo, ma il vecchio weathervane finalmente è riuscito a farsi vivo di nuovo da quando se n'è andato due settimane fa e la cosa più sorprendente è il fatto che in realtà abbia deciso di vuotare il sacco su quello che stavano facendo nel canyon: +book_lore.book_iodine.page.1=apparentemente i deficienti della ricerca e sviluppo hanno scoperto un composto per la maggior parte inorganico, quasi come una tossina nella natura, ma senti questo: le cellule morenti riprodurranno detta tossina e la espelleranno attraverso la pelle, creando un'aereosol altamente contagioso. +book_lore.book_iodine.page.2=è simile ad un virus, ma non è un virus. La composizione è strana, puoi mischiarlo in una qualsiasi bottiglia in casa ma devi fare nel giusto ordine. Il dottore mi ha detto che il primo ingrediente, che è la polvere di iodio, va nello slot %d + +book_lore.book_phosphorous.name=Note +book_lore.book_phosphorous.author=Dave +book_lore.book_phosphorous.page.0=ehi, sono io ancora. assumo che tu abbia preso l'ultimo memo, il dottore non era molto felice di questo. L'ho dovuto fare veloce, gli idioti della ricerca e sviluppo stanno ancora gemendo, probabilmente per mancanza di fondi; di nuovo. Comunque, doc Weathervane ha scoperto che il secondo +book_lore.book_phosphorous.page.1=ingrediente è il fosforo rosso, che va mischiato nello slot %d + +book_lore.book_dust.name=Note +book_lore.book_dust.author=Dave +book_lore.book_dust.page.0=il dottore si è incazzato quando ha scoperto che gli idioti della ricerca e sviluppo si sono tenuti l'unico esemplare, inveendo di negligenza grave questo e di uno scenario apocalittico quello. Gli ho detto di freddarsi un minuto, arrabbiarsi a quella maniera non è buono per la sua pressione sanguignia, non +book_lore.book_dust.page.1=che gli sia rimasto molto sangue per cominciare. uno dei deficienti della ricerca e sviluppo ha inserito qualche informazione in più nella circolare della scorsa settimana, chiamano il loro piccolo intruglio "MKU" qualunque cosa significhi, e che contenga vera lanugine domestica. Puoi crederci? una delle più +book_lore.book_dust.page.2=loro invenzioni pericolose e contiene polvere. stranamente hanno mensionato che va messa nello slot %d + +book_lore.book_mercury.name=Note +book_lore.book_mercury.author=Dave +book_lore.book_mercury.page.0=beh, questo risolve il problema. Senza contare la parte dove si vomita sangue, i reperti tossicologici dichiarano che sia avvelenamento da mercurio. perchè? perchè il piccolo mix contiene mercurio! mi chiedo solo da dove venga tutta quella roba quando viene +book_lore.book_mercury.page.1=replicata dal corpo? Comunque, il mercurio va nello slot %d + +book_lore.book_flower.name=Note +book_lore.book_flower.author=Dave +book_lore.book_flower.page.0=ricordi quando ho menzionato nel mio primo memo che il composto è per lo più inorganico? bene, indovina un po', il vecchio ci ha detto il 4° ingrediente: l'ipomoea nil, un genere di fiore. Gloria mattutina! potrebbe essere dovuto al suo basso contenuto di zolfo,qualunque sia il caso, +book_lore.book_flower.page.1=non fuziona con gli altri fiori. La gloria mattutina va nello slot %d + +book_lore.book_syringe.name=Note +book_lore.book_syringe.author=Dave +book_lore.book_syringe.page.0=un piccolo addendum per il 5° memo, ovviamente il MKU va messo in un piccolo contenitore. i fanatici della ricerca e sviluppo utilizzavano normali siringhe metalliche ottenute dal settore medico. presumo che il materiale in eccedenza abbia migliaia di aghi in giro. Il metallo +book_lore.book_syringe.page.1=metallica va nello slot %d + +book_lore.resignation_note.name=Lettera di dimissioni +book_lore.resignation_note.author=Kosma +book_lore.resignation_note.page.0=Ieri la direzione ha nuovamente ridimensionato il nostro dipartimento. Quegli idioti possono incolpare solo se stessi, non so cosa si aspettassero dopo quel fiasco. Chi diavolo fa trapelare questo tipo di informazioni? Stiamo perdendo milioni e +book_lore.resignation_note.page.1=sono IO quello che se ne deve andare . Sono IO quello a cui viene chiesto di dimettersi. Spero che voi stronzi finalmente impariate dalla sovrabbondanza di errori e toglietevi quel bastone dal culo. +book_lore.resignation_note.page.2=Non tornero venerdì. Mandatemi soltanto la bustapaga. + +book_lore.memo_stocks.name=Memorandum intrasocietario +book_lore.memo_stocks.page.0=Relazioni con gli investitori - $ $ Ci sono state alcune evidenti discrepanze nelle cifre fornite per l'ultimo rapporto trimestrale. Sarebbe prudente che il dipartimento finanziario apportasse alcune modifiche, quindi non ci saranno preoccupazioni. + +book_lore.memo_schrab_gsa.name=Nota interna +book_lore.memo_schrab_gsa.page.0=Gestione dei contratti - $ $ Legal ha fatto una svolta con la DLA. Ci hanno assegnato un programma di 45 MILIARDI di GSA per ulteriori acquisti e ricerche su saralloy. Secondo le stime attuali, sarebbe il minimo +book_lore.memo_schrab_gsa.page.1=un profitto del 40%% sulle operazioni correlate, per non parlare della possibilità di contratti futuri. A causa della natura riservata, tutte le prove fiscali devono rimanere private. + +book_lore.memo_schrab_rd.name=Nota interna +book_lore.memo_schrab_rd.page.0=Ricerca e sviluppo - $ $ Il nostro metodo principare per la produzione di saralloy è il nuovo accelleratore di partecelle. Nonostante ciò, i costi dell'energia sono altamente esorbitanti rispetto a quanto otteniamo. +book_lore.memo_schrab_rd.page.1=Dottor Schrabauer, comunque, ha scoperto una nuova interazione - chiamata "Strana oscillazione leptonica" - che può ridurre significativamente i costi. Attraverso un processo non del tutto compreso, gli elettroni forniti vengono trasmutati in estremamente in +book_lore.memo_schrab_rd.page.2=fotoni ad alta energia, attraverso uno strano fascino. Questa è un'eccezione estrema a molte leggi consolidate sulla conversione delle particelle, ma esperimenti preliminari hanno dimostrato che questi protoni si trasmutano in quark up e down, creando infine saralloy. +book_lore.memo_schrab_rd.page.3=Stranamente, il prototipo richiede tungsteno legato con piccole quantità di saralloy. In aggiunta, uno speciale condensatore è richiesto per negare cariche positive. + +book_lore.memo_schrab_nuke.name=Rapporto di ricerca +book_lore.memo_schrab_nuke.author=Doctor Schrabauer +book_lore.memo_schrab_nuke.page.0=La nostra più recente ricerca riguarda gli effeti delle esplosioni nucleari sui materiali. Grazie al denaro della nostra sovvenzione, abbiamo testato *accidentalmente* la nostra teoria sulla sintesi diretta del saralloy dall'uranio. +book_lore.memo_schrab_nuke.page.1=Solo il nostro ciclotrone ha effettivamente creato saralloy. Tuttavia, durante la nostra ripresa sotterranea a Everwerpen, miniscule tracc di saralloy sono state trovate sui minerali d'uranio, proprio sul sito della detonazione. Tutti puri, l'uranio metallico nelle vicinanze si era sottoposto a fissione. +book_lore.memo_schrab_nuke.page.2=Pertanto, data una quantità sufficiente di minerale di uranio concentrato attorno a un esplosivo, o forse anche a una bomba sporca ricca di rifiuti contenenti materiale fissile, si potrebbe ipoteticamente creare abbastanza saralloy da raccogliere manualmente. + +book_lore.bf_bomb_1.name=Note private +book_lore.bf_bomb_1.author=M. Porter +book_lore.bf_bomb_1.page.0=Ci è voluto abbastanza tempo, ma il mio trasferimento è stato accettato. Quei neolaureati erano già difficili da gestire, per non parlare di tutta la mancanza di professionalità del protagonista. $ Non tutte buone notizie - questo laboratorio nascondeva ulteriori dettagli e non avevo bisogno di ulteriore caos per un'altra nuova, magica scoperta. +book_lore.bf_bomb_1.page.1=di sicuro questo era il caso. Gli ex studenti avevano i loro dubbi (sorprendente, considerando quanto avevano gli occhi brillanti), ma l'unico... competente? il collega ha effettivamente messo le mani sul volantino del primer. Devono avere più connessioni di quanto pensassi. Il suo promemoria è scoraggiante: +book_lore.bf_bomb_1.page.2=apparentemente, c'è ancora UN ALTRO materiale miracoloso che hanno ricavato da una miscela di antimateria e un isotopo marginale. La brochure lo chiama "SWIRLMAT" - diavolo se lo so - e basta. Non c'è da stupirsi che volessero un fisico teorico, +book_lore.bf_bomb_1.page.3=non sanno nemmeno cosa sia ancora. In ogni caso, praticamente qualsiasi lavoro sarebbe migliore della mia vecchia posizione, quindi non posso lamentarmi molto della scarsa precisione. + +book_lore.bf_bomb_2.name=Note private +book_lore.bf_bomb_2.author=M. Porter +book_lore.bf_bomb_2.page.0=Nonostante l'assenza di informazioni in quel primer, Avevo ancora qualche speranza che sapessero qualcosa di più. Affatto. Tutti gli altri ricercatori senior hanno una fiducia cieca in questo materiale; le loro proposte erano praticamente bibliche. Ero quasi senza parole. +book_lore.bf_bomb_2.page.1=Eppure non posso nemmeno biasimarli. Swirlmat non ha dannatamente senso: è completamente diverso da qualsiasi altra sostanza che abbia mai visto prima. Il suo aspetto era quasi spaventoso, letteralmente una massa di colori vorticosi, con linee più scure che permeavano la superficie verde neon. +book_lore.bf_bomb_2.page.2=Ancora peggio, questa cosa è una fonte di energia. L'esistenza del nostro campione è una violazione dell'ALARA: il laboratorio è stato lasciato vuoto al suo arrivo e l'unica persona abbastanza coraggiosa (un certo dottor Melfyn) ha indossato un materiale ignifugo di livello A solo per trasportarlo per 20 metri. +book_lore.bf_bomb_2.page.3=I dati empirici non sono migliori, poiché stiamo infrangendo la prima legge della termodinamica con quanta energia irradia. Trovarsi vicino a quella cosa, anche dietro un metro di piombo, era terrificante. Siamo corsi fuori dalla camera al termine della spettroscopia +book_lore.bf_bomb_2.page.4=e non ne abbiamo ricavato nulla di nuovo. Quegli idioti del team scientifico, Dio, non hanno vacillato nemmeno dopo tutto quello. Assistere a quelle "discussioni" era orribile; quel ciarlatano del capo ricercatore diceva addirittura che il divieto di test sarebbe stato revocato, che avremmo potuto esserlo +book_lore.bf_bomb_2.page.5=costruire bombe dalla merda nelle prossime settimane, chi sano di mente ci lavorerebbe? Diavolo, l'unico assistente sano di mente (un certo Andrew) l'ha soprannominato "balefire" - perché bruciare a morte su una pira funeraria sarebbe indolore in confronto. + +book_lore.bf_bomb_3.name=Note private +book_lore.bf_bomb_3.author=M. Porter +book_lore.bf_bomb_3.page.0=Io e la squadra abbiamo fatto dei passi avanti. L'enfasi sulla separazione: isolarmi dai più devoti ha reso il lavoro lì molto più sopportabile. Anche se non abbiamo ancora idea delle effettive proprietà del balefire (è difficile da analizzare +book_lore.bf_bomb_3.page.1=un campione che frigge la tua attrezzatura) le sue interazioni con altra materia si sono rivelate fruttuose. In particolare, hanno sintetizzato una forma "gassosa": Andrew, tra tutti, mi ha informato che si trattava in realtà di un colloide costituito da microscopiche particelle di fuoco funebre, sospese in alcuni +book_lore.bf_bomb_3.page.2=gas nobile. Ogni particella è avvolta da una "bolla" di gas ionizzato carica positivamente, che ne impedisce la sedimentazione. Chi avrebbe potuto immaginare che le radiazioni gamma fatali avessero un beneficio? Non me. $ Scelgo di non pensare a come hanno trasformato il campione +book_lore.bf_bomb_3.page.3=particolato, ma non posso sottovalutare l'utilità di questo fuoco gassoso: ha reso molto più sicuro fare esperimenti. $ A proposito di sicurezza, il capo ricercatore (in un atto di insensibile disprezzo) ha fatto una scoperta che gli ha quasi staccato la testa. +book_lore.bf_bomb_3.page.4=Decise di "sporcarsi" lasciando che una cellula del nostro nuovo colloide interagisse direttamente con un po' di antimateria molto costosa: l'esplosione risultante trasformò il tavolo su cui si trovava in un pezzo di scorie sbiancate dalle radiazioni, scolpito un emisfero quasi perfetto attraverso +book_lore.bf_bomb_3.page.5=la parte superiore e ha dato alla testa una buona dose di ARS. Immagino che ora sappiamo come farlo esplodere, ma Dio, alcune persone... + +book_lore.bf_bomb_4.name=Note private +book_lore.bf_bomb_4.author=M. Porter +book_lore.bf_bomb_4.page.0=Non posso proprio sfuggire al mio vecchio lavoro. Sono l'unico posto che assume nonostante tutto questo tumulto dimenticato da Dio, ma non tornerò in quel buco. $ Mi hanno tentato solo perché ne avevo bisogno, in fretta. Ricordi quel trattato sui test atmosferici da cui ci siamo ritirati una settimana fa? +book_lore.bf_bomb_4.page.1=Bene, per una volta lo stronzo responsabile del nostro laboratorio ha azzeccato la cosa. La denuncia è arrivata con una raffica di nuovi “scienziati” che si sono uniti, proprio per poter utilizzare come arma il balefire. La mancanza di pensiero critico qui è sinceramente sconcertante: Dio lo benedica, Andrew ha persino abbandonato la nave +book_lore.bf_bomb_4.page.2=in secondo luogo è stato abbozzato il primo cazzo di BOMB DESIGN. Quel coglione di Melfyn sembrava così contento del suo piccolo meccanismo... forse gli sono venuti dei vermi cerebrali trasportando quel campione? - che prevedeva qualche stupida stronzata usando la base missilistica solidificata e una batteria +book_lore.bf_bomb_4.page.3=AV. $ Apparentemente, la forma è importante per la produzione di energia e il metodo di attivazione o altro, un po' come l'uranio contro il plutonio nelle armi nucleari normali, ma il risultato finale è uno shock iniziale che innesca l'esplosione. Lo trovo divertente, addirittura esilarante. +book_lore.bf_bomb_4.page.4=Tutti pongono tanta enfasi sull'attivazione; ignorano il meccanismo reale di tutto questo perché non hanno la minima idea di come funzioni! Potrebbe anche essere magico a questo punto, eppure stanno ancora cercando di torcerlo e piegarlo, solo per avere più armi da guerra. + +book_lore.bf_bomb_5.name=Note private +book_lore.bf_bomb_5.author=M. Porter +book_lore.bf_bomb_5.page.0=È solo che... non riesco a venirne a capo, nemmeno giorni dopo. Era una conclusione scontata, davvero, visto quanto il team scientifico fosse irriverente riguardo alla sicurezza. $ $ Il dottor Melfyn, M.S., se n'è andato. Morto, forse. L'ho visto accadere davanti ai miei occhi, nella loro camera di prova. +book_lore.bf_bomb_5.page.1=Avevamo appena ricevuto un'altra dose di balefire puro e lui aveva recuperato apparecchiature elettriche e una fonte di energia per testare la sua proposta. Non so cosa lo abbia causato (era accesa la corrente? Si era avviata troppo presto?), ma sembrava progredire in modo agonizzante al rallentatore, +book_lore.bf_bomb_5.page.2=mentre la luce verde consumava il tavolo, la batteria e il Dr. Melfyn era a solo un metro di distanza. Anche quando il tavolo si era ridotto a una pozza di metallo bollente sul pavimento, non bruciava. Non so cosa ho visto nei suoi occhi... $ $ Terrore, o stupore +book_lore.bf_bomb_5.page.3=per la sua continua sopravvivenza, forse? Qualunque fosse il nostro materiale "miracoloso", non aveva importanza. Con un brillante lampo di luce, scomparve un attimo dopo. È evaporato? incenerito? annientato? mandato all'inferno stesso, non lo so più! +book_lore.bf_bomb_5.page.4=Il capo ricercatore mi fa schifo. Ha detto che potevamo stare più attenti, continuare a trasportare, qualsiasi altra schifezza che migliorasse il morale avesse vomitato. Quello stronzo non capirà mai che giocare con il fuoco ti brucerà. $ Non mi sono preoccupato +book_lore.bf_bomb_5.page.5=dimettendomi, ho semplicemente preso la mia merda e sono corso a gambe levate. Non che sia importante, comunque; considerando la mancanza di chiamate e il fungo atomico che si è sollevato sul mio (ormai ex) posto di lavoro, hanno fatto saltare tutto o sono entrati a pieno titolo nella giurisdizione militare. +book_lore.bf_bomb_5.page.6=C'è una distinzione fondamentale da fare tra dissezione e VIVISEZIONE, una distinzione che è stata chiaramente persa da loro. Possono sezionare metalli o atomi quanto vogliono, ma penetrare e vivisezionare la realtà stessa porterà solo a qualcosa di più. Melfins. Chi lo sa! +book_lore.bf_bomb_5.page.7=Dopotutto il governo vuole mettere questa merda nelle bombe, forse vedremo un altro paio di guerre, un altro paio di milioni di persone rassegnate a un destino peggiore della morte. Non possono nasconderlo per sempre. $ $ Non mi interessa. Non più. Per favore, Dio, lasciami tornare indietro +book_lore.bf_bomb_5.page.8=alla scienza vera e propria. $ $ Maledizione, Mae, calmati... + +book_lore.beacon.name=Libretto di istruzioni del segnalatore luminoso +book_lore.beacon.author=Industrie Flim Flam +book_lore.beacon.page.0=Grazie per aver acquistato un segnalatore luminoso Mk.2 (rev. 1.3)! Questo piccolo opuscolo fornirà una breve introduzione al funzionamento del faro, nonché al suo funzionamento interno. +book_lore.beacon.page.1=Capitolo 1: Architettura $ Ogni unità è composta da quattro parti principali: il circuito di controllo, una lanterna, un corno da nebbia e l'involucro che ospita le altre parti. Per una spiegazione dettagliata del circuito principale, per favore +book_lore.beacon.page.2=fare riferimento allo schema elettrico che si trova all'interno del coperchio di manutenzione dell'involucro. La lanterna è composta da un involucro in policarbonato contenente una lampadina alogena bicolore da 250 Watt con attacco standard da 200mm, ricambi +book_lore.beacon.page.3=per la lampadina può essere ordinata presso i nostri negozi. Le lampadine di terze parti non sono consigliate poiché non possiamo garantire un funzionamento sicuro. La cassa è realizzata in acciaio inossidabile zincato specializzato ed è resistente agli agenti atmosferici. +book_lore.beacon.page.4=Capitolo 2: Lanterna $ Gli usi principali della lanterna sono fornire luce per facilitare la manutenzione in condizioni meteorologiche avverse, nonché un indicatore di stato. Se il test automatico all'accensione (POST) fallisce, il segnalatore lo farà +book_lore.beacon.page.5=si accenderà di rosso, altrimenti si illuminerà di verde. Tieni presente che i colori possono variare a seconda della lampadina sostitutiva. +book_lore.beacon.page.6=Capitolo 3: Corno da nebbia $ Il corno da nebbia è il dispositivo di comunicazione principale del faro. Il faro è progettato per la comunicazione peer-to-peer (P2P) e per la trasmissione di messaggi. +book_lore.beacon.page.7=Capitolo 4: Peer-to-Peer $ Per i dettagli sulla comunicazione, fare riferimento al manuale delle comunicazioni. Segue un breve riassunto su come stabilire una connessione P2P: innanzitutto il beacon deve dare il segnale "AVVIA CONNESSIONE", +book_lore.beacon.page.8=essendo un unico tono lungo. Anche tutti i peer disponibili dovrebbero rispondere con un unico tono lungo (ordine specificato in base alla vicinanza, nonché le linee guida di comunicazione delineate nel manuale, sezione "Risposta a una connessione") +book_lore.beacon.page.9=Una volta che il peer desiderato ha risposto, dare il segnale "ACCETTA CONNESSIONE", ovvero due toni lunghi, anche il peer risponderà con due toni lunghi. Tutte le comunicazioni successive devono avvenire, nella maggior parte dei casi, utilizzando segnali prenegoziati +book_lore.beacon.page.10=utilizzando lo standard FAR-5M. La comunicazione terminerà immediatamente se non è stato negoziato alcuno standard, fungendo da "ping". Se la comunicazione continua è possibile terminare la connessione utilizzando un altro tono singolo lungo "FINE CONNESSIONE". +book_lore.beacon.page.11=Capitolo 5: Garanzia $ [pagina lasciata intenzionalmente vuota] + +cannery.f1=[ Premi F1 per aiuto ] + +cannery.centrifuge=Centrifuga a gas +cannery.centrifuge.0=La centrifuga a gas può essere fornita di fluidi attraverso i condotti per fluidi. +cannery.centrifuge.1=Molte ricette richiedono più centrifughe. I prodotti intermedi non possono essere trasportati via tubi. +cannery.centrifuge.2=Questo lato funziona come un connettore che darà il prodotto intermedio alla centrifuga adiacente. +cannery.centrifuge.3=L'esafluoruro di uranio può essere processato con due centrifughe, pero questo ti produrra solo combustibile d'uranio e uranio-238. +cannery.centrifuge.4=Per il processo completo che ti da uranio-238 e uranio-235 richiede 4 centrifughe. +cannery.centrifuge.5=Alcune ricette richiedono anche l'aggiornamento dell'overclocking della centrifuga. + +cannery.crucible=Crugiolo +cannery.crucible.0=Il crogiolo è usato per fondere i mineali, lingotti o altri materiali metallici per leghe e di modellarli in forme diverse. +cannery.crucible.1=Richiede una fonte di calore esterna che si deve collegare sotto, come un focolare. +cannery.crucible.2=Una volta riscaldata, il crogiolo può essere usato in due modi differenti, con o senza il modello di ricetta. +cannery.crucible.3=Il crogiolo ha due taniche per il materiale fuso: +cannery.crucible.4=La tanica a sinistra è per i §asottoprodotti§r, tutti i materiasi fusi senza un modello di ricetta andranno lì. +cannery.crucible.5=Se il modello di ricetta è installato, i materiali che non sono presenti nel modello saranno contenuti nella tanica a sinistra. +cannery.crucible.6=I materiali in nella tanica di sinistra non reagiscono tra loro, possono essere colati solo dall'uscita verde per lo stampo. +cannery.crucible.7=Il buffer a destra è per le §cricette§r, se il modello di ricetta è installato, tutti i materiali necessari andranno lì. +cannery.crucible.8=I materiali si combineranno lentamente nel materiale in uscita che verrà automaticamente colato dall'uscita rossa. +cannery.crucible.9=Tieni presente che solo questa tanica gestisce le ricette. Se un modello viene installato retroattivamente, i materiali nella tanica del sottoprodotto non verranno combinati, né trasferiti nella tanica della ricetta. +cannery.crucible.10=L'uscita colerà il materiale automaticamente, se l'obiettivo è valido, ad esempio un canale di fonderia o uno stampo. +cannery.crucible.11=Come per tutti i blocchi da fonderia, è possibile utilizzare una pala per rimuovere tutto il materiale dal crogiolo. + +cannery.fensu=FEnSU +cannery.fensu.0=Il FEnSU è capace di contenere assurde quantita di energia, oltre 9EHE (è un 9 seguito da 18 zeri). +cannery.fensu.1=C'è solo un connettore di energia che può essere trovato in basso al centro. +cannery.fensu.2=E' anche l'unico punto in cui il FEnSU può riceve un segnale in redstone. + +cannery.firebox=Focolare +cannery.firebox.0=Il focolare brucia oggetti infiammabili per generare calore. +cannery.firebox.1=Può bruciare un qualsiasi oggetto infiammabile, sebbene combustibili di qualità superiore come carbone, coke e combustibili solidi brucino più a lungo e a temperature più elevate. +cannery.firebox.2=Il calore è scambiato in cima, dove c'è il contatto in rame. Macchine con contatti identici in basso, possono ricevere calore dal focolare. +cannery.firebox.3=Se il calore non viene utilizzato e il serbatoio di calore si riempie, il focolare si spegne per evitare sprechi di combustibile. +cannery.firebox.4=Una di queste macchine è il motore Stirling, che trasforma il calore direttamente in energia. + +cannery.foundryChannel=Canale della fonderia +cannery.foundryChannel.0=I canali della fonderia servono per trasportare i metalli fusi in una tanica o in uno stampo. +cannery.foundryChannel.1=I canali possono ricevere il materiale sia versandolo dall'alto - tramite uno scarico o direttamente da un crogiolo - sia lateralmente da altri canali. +cannery.foundryChannel.2=Durante il trasporto di materiali, i canali daranno la priorità a blocchi come sbocchi e stampi poco profondi. +cannery.foundryChannel.3=Quando non può fornire uno sbocco o uno stampo, il materiale scorrerà in un canale vicino. +cannery.foundryChannel.4=Il materiale rimasto può essere rimosso utilizzando una pala. + +cannery.silex=FEL & SILEX +cannery.silex.0=Il laser a elettroni liberi (FEL) utilizza energia e un cristallo laser per creare un potente raggio laser. +cannery.silex.1=Fai attenzione, il laser può bruciare/sciogliere i blocchi deboli... +cannery.silex.2=...ma non quelli a prova di esplosione. +cannery.silex.3=Il FEL viene utilizzato per alimentare la camera di separazione degli isotopi laser (SILEX). Il FEL e il SILEX devono essere ad almeno due isolati di distanza. +cannery.silex.4=Il laser deve entrare attraverso le aperture di vetro del SILEX. Puntarlo male potrebbe distruggerlo. +cannery.silex.5=Le aperture sui lati possono essere utilizzate per collegare i condotti dei fluidi al SILEX. +cannery.silex.6=Oltre ai due connettori posti sui lati, è presente un terzo connettore nascosto nella parte inferiore da cui è possibile estrarre gli oggetti. +cannery.silex.7=Ogni ricetta richiede un tipo di laser specifico. L'utilizzo di un tipo più forte di quello richiesto elaborerà gli elementi più velocemente. +cannery.silex.8=Un FEL può alimentare fino a 5 SILEX. Ogni SILEX deve essere distante un blocco l'uno dall'altro. + +cannery.stirling=Motore Stirling +cannery.stirling.0=Il motore Stirling trasforma il calore in energia elettrica. +cannery.stirling.1=Deve essere posizionato sopra una macchina che produce calore, come il focolare. +cannery.stirling.2=La quantità di calore che può utilizzare è tuttavia limitata, una rotazione eccessiva può portare a malfunzionamenti catastrofici. +cannery.stirling.3=La versione aggiornata può sopportare molto più calore senza rompersi. + +cannery.willow=Salice Senape +cannery.willow.0=Il salice senape è una pianta che permette la raccolta del cadmio metallico. +cannery.willow.1=I salici possono essere posizionati su terra, erba o anche su terra morta/oleosa, ma richiedono acqua per crescere. +cannery.willow.2=I salici possono essere concimati con farina d'ossa o fertilizzante industriale. Non hanno bisogno della luce per crescere. +cannery.willow.3=Dopo la seconda fase di crescita, avranno bisogno di un ulteriore blocco di spazio sopra di loro per crescere ulteriormente. +cannery.willow.4=Dopo la quarta fase di crescita, richiedono terra morta o oleosa sotto di loro. +cannery.willow.5=Questo può essere fatto piantando manualmente salici su terreno morto/oleoso, oppure avendo nelle vicinanze una torre di fratturazione idraulica che contamina continuamente il terreno. +cannery.willow.6=Dopo aver raggiunto la fase finale, il salice rimuoverà la contaminazione dal terreno, riconvertendo la terra morta/oleosa in terra normale. +cannery.willow.7=Adesso si possono raccogliere le foglie del salice. Rompere il blocco superiore farà cadere una piccola pianta di salice, 3-6 foglie e manterrà intatta la parte inferiore della pianta. +cannery.willow.8=Presto la pianta ricomincerà a crescere, producendo più foglie se la terra viene sostituita con terra oleosa. Le foglie possono essere trasformate in polvere di cadmio utilizzando un acidificantore. +cannery.willow.9=La raccolta delle foglie di salice può essere automatizzata utilizzando la sega circolare automatica, che romperà solo le piante pronte per il raccolto. + +cannery.hadron=Acceleratore di Particelle +cannery.hadron.0=Un Acceleratore di Particelle è composto da tre parti principali: un Nucleo, una Camera di Analisi e un set di Bobine Superconduttrici +cannery.hadron.1=Questo è il Componente Nucleo dell'Acceleratore di Particelle, che spara particelle a velocità relativistiche lungo le bobine verso la Camera di Analisi +cannery.hadron.2=Le particelle vengono espulse da qui +cannery.hadron.3=E negli acceleratori circolari, ritornano qui +cannery.hadron.4=Un segmento di bobina è costruito utilizzando 8 Bobine Dense con nulla (o il nucleo) al centro +cannery.hadron.5=Questo segmento di bobina deve essere anch'esso racchiuso all'interno della Placcatura dell'Acceleratore di Particelle +cannery.hadron.6=Per accedere al Componente Nucleo, sarà necessario aggiungere uno o più Terminali di Accesso +cannery.hadron.7=Il Componente Nucleo richiederà anche energia per funzionare, aggiungere una presa di corrente su un bordo +cannery.hadron.8=L'Acceleratore richiederà abbastanza Prese di Corrente per fornire almeno 10KHE di elettricità per unità di Forza della Bobina +cannery.hadron.9=Nota che il segmento di bobina che avvolge il Componente Nucleo non viene considerato nel calcolo della Forza della Bobina +cannery.hadron.10=Questo segmento di bobina non è necessario per gli acceleratori puramente lineari +cannery.hadron.11=Per gli acceleratori circolari, sarà necessario aggiungere angoli per cambiare la direzione della particella +cannery.hadron.12=Le bobine degli angoli esterni possono essere omesse completamente +cannery.hadron.13=La parte finale del nostro Acceleratore è la Camera di Analisi, che è una camera vuota 3x3x3 circondata da blocchi della Camera di Analisi +cannery.hadron.14=Il tuo Acceleratore di Particelle completo dovrebbe apparire qualcosa di simile! + +cannery.hadron.math.0=Forza della bobina in neodimio: 50 +cannery.hadron.math.1=50 x 8 x 10KHE = 400 x 10KHE = 4MHE +cannery.hadron.math.2=Forza della Bobina di Metallo Stellare: 1,000 +cannery.hadron.math.3=1,000 x 8 x 10KHE = 8,000 x 10KHE = 80MHE + +cannery.schottky=Diodo di Particelle Schottky +cannery.schottky.0=Questo è un Diodo di Particelle Schottky. Può consentire design più complessi degli acceleratori di particelle e risparmiare elettricità +cannery.schottky.1=Per impostazione predefinita blocca tutte le particelle e deve essere configurato con un Cacciavite +cannery.schottky.2=Questa faccia ora accetterà le particelle in ingresso +cannery.schottky.3=E questa faccia espellerà le particelle che entrano +cannery.schottky.4=Il diodo ora ha due uscite e si comporterà in maniera quantistica, creando particelle virtuali per ciascuna uscita +cannery.schottky.5=Una volta che tutte le particelle virtuali hanno raggiunto una Camera di Analisi, viene scelta la particella con il momento più basso richiesto per la ricetta corrente +cannery.schottky.6=La particella scelta subisce un collasso della funzione d'onda e diventa reale, consumando solo l'energia che la particella collassante richiede +cannery.schottky.7=Se una qualsiasi particella virtuale incontra segmenti malformati, tutte le particelle virtuali verranno scartate e la particella che ha generato l'errore verrà collassata +cannery.schottky.8=Nota che le particelle virtuali non utilizzeranno mai la stessa uscita del Diodo due volte. I loop infiniti falliranno, ma rientrare in un Diodo è comunque accettabile +cannery.schottky.9=Il tuo Diodo di Particelle Schottky deve essere correttamente racchiuso, con percorsi liberi per ciascuna uscita dell'intersezione +======= book_lore.book_iodine.page.0=alright you will not believe this, but old man weathervane finally managed to show up again since he left two weeks ago and what's more surprising is the fact that he actually decided to spill the beans on what they were doing in the canyon: book_lore.book_iodine.page.1=apparently the morons from R&D discovered a compound that is mostly inorganic, pretty much like a toxin in nature, but get this: the dying cells will reproduce said toxin and excrete it through the skin, creating an aerosol that is highly contagious. book_lore.book_iodine.page.2=it's just like a virus, but not a virus. the composition is weird, you can mix it in any household bottle but you do have to get the order right. the doc told me that the first ingredient which is just powdered iodine crystals goes into slot %d @@ -743,6 +1027,7 @@ container.launchPadRusted=Launch Pad container.launchTable=Large Launch Pad container.leadBox=Containment Box container.machineArcWelder=Arc Welder +container.machineArcFurnaceLarge=Arc Furnace container.machineBoiler=Oil Heater container.machineCMB=CMB Steel Furnace container.machineCoal=Combustion Generator @@ -764,6 +1049,7 @@ container.machineRefinery=Oil Refinery container.machineSelenium=Radial Performance Engine container.machineShredder=Shredder container.machineSILEX=SILEX +container.machineSolderingStation=Soldering Station container.machineSolidifier=Solidifier container.machineStrandCaster=Strand Caster container.machineTurbine=Steam Turbine @@ -855,6 +1141,7 @@ crucible.ferro=Ferrouranium Production crucible.hematite=Iron Production from Hematite crucible.hss=High-Speed Steel Production crucible.malachite=Copper Production from Malachite +crucible.magtung=Magnetized Tungsten Production crucible.redcopper=Red Copper Production crucible.steel=Steel Production crucible.steelMeteoric=Steel Production from Meteoric Iron @@ -1866,6 +2153,15 @@ item.apple_euphemium.name=Euphemium Apple item.apple_lead.name=Lead Apple item.apple_schrabidium.name=Schrabidium Apple item.arc_electrode.name=Graphite Electrode +item.arc_electrode.desh.name=Desh Electrode +item.arc_electrode.graphite.name=Graphite Electrode +item.arc_electrode.lanthanium.name=Lanthanium Electrode +item.arc_electrode.saturnite.name=Saturnite Electrode +item.arc_electrode_burnt.name=Molten Electrode +item.arc_electrode_burnt.desh.name=Molten Desh Electrode +item.arc_electrode_burnt.graphite.name=Molten Graphite Electrode +item.arc_electrode_burnt.lanthanium.name=Molten Lanthanium Electrode +item.arc_electrode_burnt.saturnite.name=Molten Saturnite Electrode item.arc_electrode_burnt.name=Molten Electrode item.arc_electrode_desh.name=Desh Electrode item.armor_polish.name=ShiningArmor™ Armor Polish @@ -2259,6 +2555,21 @@ item.chopper_wing.name=Hunter Chopper Wing item.chunk_ore.rare.name=Rare Earth Ore Chunk item.cigarette.name=FFI-Brand Cigarette item.cinnebar.name=Cinnabar +item.circuit.advanced.name=Military Grade Circuit Board +item.circuit.analog.name=Analog Circuit Board +item.circuit.basic.name=Integrated Circuit Board +item.circuit.bismoid.name=Versatile Circuit Board +item.circuit.capacitor.name=Capacitor +item.circuit.capacitor_board.name=Capacitor Board +item.circuit.capacitor_tantalium.name=Tantalium Capacitor +item.circuit.chip.name=Microchip +item.circuit.chip_bismoid.name=Versatile Integrated Circuit +item.circuit.controller.name=Control Unit +item.circuit.controller_advanced.name=Advanced Control Unit +item.circuit.controller_chassis.name=Control Unit Casing +item.circuit.pcb.name=Printed Circuit Board +item.circuit.silicon.name=Printed Silicon Wafer +item.circuit.vacuum_tube.name=Vacuum Tube item.circuit_aluminium.name=Basic Circuit item.circuit_arsenic.name=Adaptable Circuit item.circuit_arsenic_raw.name=Adaptable Circuit Assembly @@ -3387,6 +3698,7 @@ item.nugget_mox_fuel.name=Nugget of MOX Fuel item.nugget_mox_fuel.desc=Moxie says: §lTAX EVASION.§r item.nugget_neptunium.name=Neptunium Nugget item.nugget_neptunium_fuel.name=Neptunium Fuel Nugget +item.nugget_niobium.name=Niobium Nugget item.nugget_osmiridium.name=Osmiridium Nugget item.nugget_pb209.name=Lead-209 Nugget item.nugget_plutonium.name=Plutonium Nugget @@ -4481,6 +4793,7 @@ item.wire_advanced_alloy.name=Super Conductor item.wire_aluminium.name=Aluminium Wire item.wire_copper.name=Copper Wire item.wire_dense.name=Dense %s Wire +item.wire_fine.name=%s Wire item.wire_gold.name=Gold Wire item.wire_magnetized_tungsten.name=4000K High Temperature Super Conductor item.wire_red_copper.name=Red Copper Wire @@ -4587,6 +4900,7 @@ shape.plate=Plate shape.plateTriple=Cast Plate shape.shell=Shell shape.stamp=Press Stamp +shape.wireFine=Wires shape.wire=Wire shape.wireDense=Dense Wire shape.wiresDense=Dense Wires @@ -4619,6 +4933,7 @@ tile.anvil_starmetal.name=Starmetal Anvil tile.anvil_steel.name=Steel Anvil tile.ash_digamma.name=Ash tile.asphalt.name=Asphalt +tile.asphalt_stairs.name=Asphalt Stairs tile.asphalt_light.name=Glowing Asphalt tile.barbed_wire.name=Barbed Wire tile.barbed_wire_acid.name=Caustic Barbed Wire @@ -4886,12 +5201,16 @@ tile.concrete_colored.red.name=Red Concrete tile.concrete_colored.silver.name=Light Gray Concrete tile.concrete_colored.white.name=White Concrete tile.concrete_colored.yellow.name=Yellow Concrete +tile.concrete_colored_ext.bronze.name=Builder's Choice Concrete - Bronze Plating tile.concrete_colored_ext.hazard.name=Builder's Choice Concrete - Hazard Stripe tile.concrete_colored_ext.indigo.name=Builder's Choice Concrete - Deep Indigo tile.concrete_colored_ext.machine.name=Builder's Choice Concrete - Industrial Tinge tile.concrete_colored_ext.machine_stripe.name=Builder's Choice Concrete - Industrial Stripe tile.concrete_colored_ext.pink.name=Builder's Choice Concrete - Manly Pink tile.concrete_colored_ext.purple.name=Builder's Choice Concrete - Mysterious Purple +tile.concrete_colored_ext.sand.name=Builder's Choice Concrete - Desert Storm +tile.concrete_pillar.name=Rebar Reinforced Concrete Pillar +tile.concrete_slab.asphalt.name=Asphalt Slab tile.concrete_pillar.name=Rebar Reinforced Concrete Pillar tile.concrete_slab.concrete.name=Concrete Tile Slab tile.concrete_slab.concrete_asbestos.name=Asbestos Concrete Slab @@ -5039,6 +5358,7 @@ tile.fallout.name=Fallout tile.fan.name=Fan tile.fan.desc=Activates using redstone$Will push entities up to 10 blocks$Right-click with screwdriver to flip tile.fence_metal.name=Chainlink Fence +tile.fence_metal_post.name=Chainlink Fence Post tile.field_disturber.name=High Energy Field Jammer tile.filing_cabinet.green.name=Dusty Filing Cabinet tile.filing_cabinet.steel.name=Steel Filing Cabinet @@ -5205,6 +5525,7 @@ tile.launch_table.name=Large Launch Pad tile.leaves_layer.name=Fallen Leaves tile.lox_barrel.name=LOX Barrel tile.machine_amgen.name=Ambience Radiation Generator +tile.machine_arc_furnace.name=Electric Arc Furnace tile.machine_arc_furnace_off.name=Arc Furnace tile.machine_arc_furnace_on.name=Arc Furnace tile.machine_arc_welder.name=Arc Welder @@ -5331,6 +5652,7 @@ tile.machine_shredder.name=Shredder tile.machine_silex.name=Laser Isotope Separation Chamber (SILEX) tile.machine_siren.name=Siren tile.machine_solar_boiler.name=Solar Tower Boiler +tile.machine_soldering_station.name=Soldering Station tile.machine_solidifier.name=Industrial Solidification Machine tile.machine_solidifier.desc=A universal machine fitted with cooling systems and other$versatile tools for turning fluids solid using various$processes such as freezing and petrochemical polymerization. tile.machine_spp_bottom.name=ZPE Potential Generator (Bottom) diff --git a/src/main/resources/assets/hbm/lang/ru_RU.lang b/src/main/resources/assets/hbm/lang/ru_RU.lang index 93891eb03..eb07399b6 100644 --- a/src/main/resources/assets/hbm/lang/ru_RU.lang +++ b/src/main/resources/assets/hbm/lang/ru_RU.lang @@ -315,6 +315,14 @@ info.template_out_p=Выходы: info.template_seconds=секунд info.template_time=Время производства: +analyze.basic1======Компонент NTM===== +analyze.basic2=Дополнительная документация находится на вики. +analyze.basic3====Доп. информация=== +analyze.dummy=Тип: Блок-Пустышка +analyze.error=Совместимость этого блока не была установлена должным образом, об этом следует сообщить как об ошибке! +analyze.name=Название: %s +analyze.noInfo=Нет информации. + armor.blastProtection=Модификатор урона %s от взрывов armor.cap=Максимальное значение урона %s armor.damageModifier=Модификатор урона %s против %s @@ -483,7 +491,7 @@ rbmk.screen.xenon=Ксенон: %s shape.quantum=Кванта shape.nugget=Самородок shape.dusttiny=Кучка пыли -shape.wire=Провод +shape.wireFine=Провода shape.billet=Заготовка shape.ingot=Слиток shape.dust=Порошок @@ -1287,6 +1295,8 @@ hbmfluid.hotoil_ds=Десульфуризованная горячая неоч hbmfluid.lightoil_ds=Десульфуризованная легкая нефть hbmfluid.naphtha_ds=Десульфуризованная нафта hbmfluid.oil_ds=Десульфуризованная неочищенная нефть +hbmfluid.vitriol=Купорос +hbmfluid.slop=Рудный шлам hbmmat.actinium227=Актиний-227 hbmmat.advancedalloy=Продвинутого сплава @@ -1409,6 +1419,7 @@ crucible.ferro=Производство ферроуранового сплав crucible.hematite=Переплавка гематита в железо crucible.hss=Производство высокоскоростной стали crucible.malachite=Переплавка малахита в медь +crucible.magtung=Производство намагниченного вольфрама crucible.redcopper=Производство красной меди crucible.steel=Производство стали crucible.steelMeteoric=Переплавка метеоритного железа в сталь @@ -2267,6 +2278,8 @@ tile.crane_grabber.name=Конвейерный сборщик tile.crane_grabber.desc=Принимает предметы с проходящих конвейеров и помещает их в контейнеры$Принимает предметы только с ближайшей дорожки$Имеет до 9 слотов фильтрации с черным и белым списком$Правый клик отверткой для установки стороны входа$Сменный клик отверткой для установки стороны выхода$Кликните дважды для установки противоположной стороны tile.crane_splitter.name=Конвейерный разделитель tile.crane_splitter.desc=Разделяет предметы и равномерно укладывает их на две конвейерные ленты$Сама является конвейерной лентой, поэтому может напрямую входить в инсертер или сортировщик +tile.crane_partitioner.name=Вставщик окислителя +tile.crane_partitioner.desc=Принимает и сохраняет до девяти входов рудного окислителя$и освобождает их, если они соответствуют требуемому размеру входа.$Неправильные предметы также сохраняются и должны быть извлечены из стороны. container.droneCrate=Пассивный ящик для дронов container.droneDock=Дрон-станция @@ -2361,6 +2374,8 @@ tile.concrete_colored_ext.machine.name=Бетон "Выбор строителя tile.concrete_colored_ext.machine_stripe.name=Бетон "Выбор строителя" - Промышленная полоса tile.concrete_colored_ext.pink.name=Бетон "Выбор строителя" - Мужественный розовый tile.concrete_colored_ext.purple.name=Бетон "Выбор строителя" - Таинственный фиолетовый +tile.concrete_colored_ext.bronze.name=Бетон "Выбор строителя" - Бронза +tile.concrete_colored_ext.sand.name=Бетон "Выбор строителя" - Пустыня tile.concrete_slab.concrete.name=Плита из бетонной плитки tile.concrete_slab.concrete_asbestos.name=Плита из асбестобетона tile.concrete_slab.concrete_smooth.name=Плита из бетона @@ -2441,6 +2456,8 @@ tile.machine_arc_welder.name=Дуговой сварщик container.machineWoodBurner=Генератор на дровах tile.machine_wood_burner.name=Генератор на дровах tile.machine_wood_burner.desc=Генерирует 100HE/тик$Собирает золу$Может сжигать жидкости с 25%% эффективностью за 1мБ/с +tile.machine_ore_slopper.name=Переработчик бедроковой руды +container.machineOreSlopper=П.Б.Р. container.machineICF=ICF tile.icf.name=Реактор инерциального термоядерного синтеза (ICF) @@ -3156,6 +3173,11 @@ item.mechanism_rifle_2.name=Усовершенствованный винтов item.mechanism_launcher_1.name=Механизм запуска item.mechanism_launcher_2.name=Усовершенствованный механизм запуска item.mechanism_special.name=Механизм высокотехнологичного оружия +item.circuit.controller.name=Блок управления +item.circuit.controller_advanced.name=Продвинутый блок управления +item.circuit.controller_chassis.name=Корпус блока управления +item.item_secret.canister.name=Композит SB-26 +item.item_secret.controller.name=Проприетарный блок управления item.primer_357.name=Капсюли Магнума .357 (x24) item.primer_44.name=Капсюли Магнума .44 (x24) @@ -3212,6 +3234,8 @@ tile.block_waste_vitrified.name=Блок остеклованных ядерны tile.block_fallout.name=Блок радиоактивных осадков tile.fallout.name=Радиоактивный осадок tile.ash_digamma.name=Пепел +item.powder_cement.name=Цемент +item.powder_limestone.name=Известняковый порошок item.powder_ash.coal.name=Угольная зола item.powder_ash.fly.name=Летучая зола item.powder_ash.misc.name=Пепел @@ -3396,6 +3420,46 @@ item.ore.titanium=Титановая item.ore.tungsten=Вольфрамовая item.ore.thorium232=Ториевая item.ore.uranium=Урановая +item.bedrock_ore_base.name=Необработанная бедроковая руда +item.bedrock_ore.grade.base.name=%s бедроковая руда +item.bedrock_ore.grade.base_roasted.name=Обожженная %s бедроковая руда +item.bedrock_ore.grade.base_washed.name=Промытая %s бедроковая руда +item.bedrock_ore.grade.primary.name=%s бедроковая руда, Первичная фракция +item.bedrock_ore.grade.primary_roasted.name=%s бедроковая руда, Обожженная первичная фракция +item.bedrock_ore.grade.primary_sulfuric.name=%s бедроковая руда, Серная первичная фракция +item.bedrock_ore.grade.primary_nosulfuric.name=%s бедроковая руда, Отделённая серная первичная фракция +item.bedrock_ore.grade.primary_solvent.name=%s бедроковая руда, Растворенная первичная фракция +item.bedrock_ore.grade.primary_nosolvent.name=%s бедроковая руда, Отделённая растворенная первичная фракция +item.bedrock_ore.grade.primary_rad.name=%s бедроковая руда, Очищенная первичная фракция +item.bedrock_ore.grade.primary_norad.name=%s бедроковая руда, Отделённая очищенная первичная фракция +item.bedrock_ore.grade.primary_first.name=%s бедроковая руда, Первичная фракция, Большой вес +item.bedrock_ore.grade.primary_second.name=%s бедроковая руда, Первичная фракция, Малый вес +item.bedrock_ore.grade.crumbs.name=%s куски бедроковой руды +item.bedrock_ore.grade.sulfuric_byproduct.name=%s бедроковая руда, Серная побочка +item.bedrock_ore.grade.sulfuric_roasted.name=%s бедроковая руда, Обожженная серная побочка +item.bedrock_ore.grade.sulfuric_arc.name=%s бедроковая руда, Переплавленная серная побочка +item.bedrock_ore.grade.sulfuric_washed.name=%s бедроковая руда, Промытая серная побочка +item.bedrock_ore.grade.solvent_byproduct.name=%s бедроковая руда, Растворенная побочка +item.bedrock_ore.grade.solvent_roasted.name=%s бедроковая руда, Обожженная растворенная побочка +item.bedrock_ore.grade.solvent_arc.name=%s бедроковая руда, Переплавленная растворенная побочка +item.bedrock_ore.grade.solvent_washed.name=%s бедроковая руда, Промытая растворенная побочка +item.bedrock_ore.grade.rad_byproduct.name=%s бедроковая руда, Очищенная побочка +item.bedrock_ore.grade.rad_roasted.name=%s бедроковая руда, Обожженная очищенная побочка +item.bedrock_ore.grade.rad_arc.name=%s бедроковая руда, Переплавленная очищенная побочка +item.bedrock_ore.grade.rad_washed.name=%s бедроковая руда, Промытая очищенная побочка +item.bedrock_ore.type.actinide.name=Актинидная +item.bedrock_ore.type.crystal.name=Кристаллическая +item.bedrock_ore.type.heavy.name=Тяжелая металлическая +item.bedrock_ore.type.light.name=Легкая металлическая +item.bedrock_ore.type.nonmetal.name=Неметаллическая +item.bedrock_ore.type.rare.name=Редкоземельная +item.bedrock_ore.trait.arc=§6Дуговая плавка +item.bedrock_ore.trait.centrifuged=§9Центрифугированный +item.bedrock_ore.trait.rad=§aОбработанный высокоэффективным растворителем +item.bedrock_ore.trait.roasted=§eОбжиг в коксовой печи +item.bedrock_ore.trait.solvent=§fОбработанный растворителем +item.bedrock_ore.trait.sulfuric=§6Обработанный серной кислотой +item.bedrock_ore.trait.washed=§bПромытый в окислителе водой item.ore_bedrock.name=%s бедроковая руда item.ore_centrifuged.name=Центрифугированная %s бедроковая руда item.ore_cleaned.name=Очищенная %s бедроковая руда @@ -3574,6 +3638,8 @@ tile.ducrete_debris.name=Дюкретовые обломки tile.reinforced_ducrete.name=Усиленный дюкрет tile.asphalt.name=Асфальт tile.asphalt_light.name=Асфальтированный светящийся камень +tile.asphalt_stairs.name=Ступеньки из асфальта +tile.concrete_slab.asphalt.name=Плита из асфальта tile.stone_gneiss.name=Графитовый сланец tile.stone_depth.name=Глубинный камень tile.stone_depth_nether.name=Адский глубинный камень @@ -3630,6 +3696,7 @@ tile.barbed_wire_acid.name=Кислотная колючая проволока tile.barbed_wire_wither.name=Иссушающая колючая проволока tile.barbed_wire_ultradeath.name=Радиоактивная колючая проволока tile.fence_metal.name=Проволочная сетка +tile.fence_metal_post.name=Столб проволочной сетки tile.sand_uranium.name=Урановый песок tile.glass_uranium.name=Урановое стекло tile.glass_trinitite.name=Тринититовое стекло @@ -5957,6 +6024,7 @@ item.part_plutonium.name=Коробка плутониевой пыли item.part_generic.piston_electric.name=Электрический поршень item.part_generic.piston_hydraulic.name=Гидравлический поршень item.part_generic.piston_pneumatic.name=Пневматический поршень +item.part_generic.lde.name=Элемент малой плотности item.particle_aelectron.name=Капсула с Позитроном item.particle_amat.name=Капсула с Антиматерией item.particle_aproton.name=Капсула с Антипротоном @@ -6031,6 +6099,7 @@ item.digamma_diagnostic.name=Диагностика дигаммы tile.geiger.name=Счетчик Гейгера tile.glass_polonium.name=Полониевое стекло item.survey_scanner.name=Сканер +item.ore_density_scanner.name=Сканер плотности бедроковой руды item.coltan_tool.name=Колтасс item.mirror_tool.name=Инструмент для регулировки зеркал item.mirror_tool.linked=Позиция выравнивания установлена! @@ -6302,7 +6371,6 @@ item.ingot_orichalcum_small.desc=Solidified amalgamation, ready$to accept irradi item.ingot_orichalcum_small.name=§6Orichalcum Brick§r item.ingot_orichalcum_small_irr.desc=Neutron irradiation transmutates the$amalgamation, allowing protection$against directed energy item.ingot_orichalcum_small_irr.name=§6Activated Orichalcum Brick§r -item.ingot_silicon.name=Silicon Brick item.ingot_staballoy.desc=Hehe, get it?$§o§nStab§7alloy, because it's an armor penetrator alloy? item.ingot_staballoy.name=Staballoy Ingot item.ingot_tha.name=Ingot of Activated Thorium @@ -6315,7 +6383,6 @@ item.med_bag.desc=Full heal, regardless of max health$Removes negative effects item.nugget_cf252.name=Californium-252 Nugget item.nugget_cm248.name=Curium-248 Nugget item.nugget_dineutronium.name=§5Dineutronium Nugget§r -item.nugget_silicon.name=Silicon Nugget item.nugget_tha.name=Nugget of Activated Thorium item.nugget_u234.name=Uranium-234 Nugget item.paa_filter.name=PaA - CMB Watz Filter @@ -6348,7 +6415,6 @@ item.powder_niobium_alloy.name=Niobium Refractory Superalloy Powder item.powder_orichalcum_mix.desc=Blend of high strength elements and$amalgams ready for solidification item.powder_orichalcum_mix.name=§6Orichalcum Blend§r item.powder_pu239.name=Plutonium-239 Powder -item.powder_silicon.name=Silicon Powder item.powder_tennessine.desc=§lAAAAAAAAAAAA item.powder_u235.name=Uranium-235 Powder item.powder_u238.name=Uranium-238 Powder @@ -6524,8 +6590,6 @@ tile.block_rubber.name=Блок резины tile.block_coke.coal.name=Блок угольного кокса tile.block_coke.lignite.name=Блок бурого кокса tile.block_coke.petroleum.name=Блок нефтяного кокса -tile.block_saturnite.name=Reinforced Block of Saturnite -tile.block_silicon.name=Block of Silicon tile.block_staballoy.name=Reinforced Block of Staballoy tile.block_tha.name=Block of Activated Thorium tile.brick_concrete_slab.name=Concrete Brick Slab diff --git a/src/main/resources/assets/hbm/models/blocks/crane_buffer.obj b/src/main/resources/assets/hbm/models/blocks/crane_buffer.obj new file mode 100644 index 000000000..22810c603 --- /dev/null +++ b/src/main/resources/assets/hbm/models/blocks/crane_buffer.obj @@ -0,0 +1,141 @@ +# Blender v2.79 (sub 0) OBJ File: 'crane_buffer.blend' +# www.blender.org +o Back +v 0.500000 0.000000 0.500000 +v 0.500000 0.000000 -0.500000 +v 0.500000 0.750000 0.500000 +v 0.500000 0.750000 -0.500000 +vt 1.000000 0.750000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt -0.000000 0.750000 +vn 1.0000 0.0000 0.0000 +s off +f 4/1/1 1/2/1 2/3/1 +f 4/1/1 3/4/1 1/2/1 +o Side +v -0.500000 0.250000 0.375000 +v 0.500000 0.000000 0.500000 +v -0.500000 0.250000 -0.375000 +v 0.500000 0.000000 -0.500000 +v -0.500000 0.625000 0.375000 +v 0.500000 0.750000 0.500000 +v -0.500000 0.625000 -0.375000 +v 0.500000 0.750000 -0.500000 +v -0.500000 0.000000 -0.500000 +v -0.500000 0.000000 0.500000 +v -0.500000 0.750000 -0.500000 +v -0.500000 0.750000 0.500000 +vt 1.000000 0.750000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 0.750000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.125000 0.250000 +vt 1.000000 0.000000 +vt 0.875000 0.250000 +vt -0.000000 0.750000 +vt 0.000000 0.000000 +vt 1.000000 0.750000 +vt 0.875000 0.625000 +vt 0.125000 0.625000 +vt -0.000000 0.750000 +vt -0.000000 0.750000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +s off +f 15/5/2 8/6/2 13/7/2 +f 10/8/3 14/9/3 6/10/3 +f 7/11/4 14/12/4 5/13/4 +f 7/11/4 15/14/4 13/15/4 +f 5/13/4 16/16/4 9/17/4 +f 9/17/4 15/14/4 11/18/4 +f 15/5/2 12/19/2 8/6/2 +f 10/8/3 16/20/3 14/9/3 +f 7/11/4 13/15/4 14/12/4 +f 7/11/4 11/18/4 15/14/4 +f 5/13/4 14/12/4 16/16/4 +f 9/17/4 16/16/4 15/14/4 +o Inner +v 0.000000 0.250000 -0.375000 +v 0.000000 0.250000 0.375000 +v 0.000000 0.625000 -0.375000 +v 0.000000 0.625000 0.375000 +vt 0.875000 0.250000 +vt 0.125000 0.625000 +vt 0.125000 0.250000 +vt 0.875000 0.625000 +vn -1.0000 0.0000 0.0000 +s off +f 18/21/5 19/22/5 17/23/5 +f 18/21/5 20/24/5 19/22/5 +o InnerSide +v -0.500000 0.250000 0.375000 +v -0.500000 0.250000 -0.375000 +v -0.500000 0.625000 0.375000 +v -0.500000 0.625000 -0.375000 +v 0.000000 0.250000 -0.375000 +v 0.000000 0.250000 0.375000 +v 0.000000 0.625000 -0.375000 +v 0.000000 0.625000 0.375000 +vt 0.125000 1.000000 +vt 0.875000 0.500000 +vt 0.875000 1.000000 +vt 0.312500 1.000000 +vt 0.687500 0.500000 +vt 0.687500 1.000000 +vt 0.312500 1.000000 +vt 0.687500 0.500000 +vt 0.687500 1.000000 +vt 0.125000 0.500000 +vt 0.312500 0.500000 +vt 0.312500 0.500000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +s off +f 24/25/6 28/26/6 23/27/6 +f 22/28/7 27/29/7 24/30/7 +f 23/31/8 26/32/8 21/33/8 +f 24/25/6 27/34/6 28/26/6 +f 22/28/7 25/35/7 27/29/7 +f 23/31/8 28/36/8 26/32/8 +o Belt +v -0.500000 0.250000 0.375000 +v -0.500000 0.250000 -0.375000 +v 0.000000 0.250000 -0.375000 +v 0.000000 0.250000 0.375000 +vt 0.875000 0.000000 +vt 0.125000 0.500000 +vt 0.125000 0.000000 +vt 0.875000 0.500000 +vn 0.0000 1.0000 0.0000 +s off +f 29/37/9 31/38/9 30/39/9 +f 29/37/9 32/40/9 31/38/9 +o Top_Top.001 +v 0.500000 0.000000 0.500000 +v 0.500000 0.000000 -0.500000 +v 0.500000 0.750000 0.500000 +v 0.500000 0.750000 -0.500000 +v -0.500000 0.000000 -0.500000 +v -0.500000 0.000000 0.500000 +v -0.500000 0.750000 -0.500000 +v -0.500000 0.750000 0.500000 +vt 0.999900 0.000100 +vt 0.000100 0.999900 +vt 0.000100 0.000100 +vt 0.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.999900 0.999900 +vt 1.000000 0.000000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +s off +f 37/41/10 33/42/10 38/43/10 +f 35/44/11 39/45/11 40/46/11 +f 37/41/10 34/47/10 33/42/10 +f 35/44/11 36/48/11 39/45/11 diff --git a/src/main/resources/assets/hbm/models/blocks/floodlight.obj b/src/main/resources/assets/hbm/models/blocks/floodlight.obj new file mode 100644 index 000000000..fa59bc7f0 --- /dev/null +++ b/src/main/resources/assets/hbm/models/blocks/floodlight.obj @@ -0,0 +1,355 @@ +# Blender v2.79 (sub 0) OBJ File: 'floodlight.blend' +# www.blender.org +o Lamps +v -0.375000 0.625000 -1.062500 +v -0.375000 0.625000 -0.312500 +v 0.375000 0.625000 -0.312500 +v 0.375000 0.625000 -1.062500 +v -0.375000 0.562500 -1.062500 +v -0.375000 0.562500 -0.312500 +v 0.375000 0.562500 -0.312500 +v 0.375000 0.562500 -1.062500 +v 0.375000 0.562500 0.312500 +v 0.375000 0.562500 1.062500 +v -0.375000 0.562500 1.062500 +v -0.375000 0.562500 0.312500 +v 0.375000 0.625000 0.312500 +v 0.375000 0.625000 1.062500 +v -0.375000 0.625000 1.062500 +v -0.375000 0.625000 0.312500 +vt 0.666667 0.695652 +vt 0.444444 0.717391 +vt 0.444444 0.695652 +vt 0.666667 0.978261 +vt 0.444444 0.978261 +vt 0.444444 1.000000 +vt 0.666667 1.000000 +vt 0.685185 0.978261 +vt 0.666667 0.717391 +vt 0.685185 0.717391 +vt 0.425926 0.717391 +vt 0.425926 0.978261 +vt 0.425926 0.717391 +vt 0.444444 0.978261 +vt 0.425926 0.978261 +vt 0.685185 0.978261 +vt 0.666667 0.717391 +vt 0.685185 0.717391 +vt 0.444444 1.000000 +vt 0.666667 0.978261 +vt 0.666667 1.000000 +vt 0.444444 0.717391 +vt 0.666667 0.695652 +vt 0.444444 0.695652 +vn -1.0000 0.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 +s off +f 4/1/1 7/2/1 3/3/1 +f 7/2/2 5/4/2 6/5/2 +f 2/6/3 5/4/3 1/7/3 +f 1/8/4 8/9/4 4/10/4 +f 3/11/5 6/5/5 2/12/5 +f 14/13/5 11/14/5 15/15/5 +f 16/16/4 9/17/4 13/18/4 +f 15/19/3 12/20/3 16/21/3 +f 10/22/2 12/20/2 11/14/2 +f 13/23/1 10/22/1 14/24/1 +f 4/1/1 8/9/1 7/2/1 +f 7/2/2 8/9/2 5/4/2 +f 2/6/3 6/5/3 5/4/3 +f 1/8/4 5/4/4 8/9/4 +f 3/11/5 7/2/5 6/5/5 +f 14/13/5 10/22/5 11/14/5 +f 16/16/4 12/20/4 9/17/4 +f 15/19/3 11/14/3 12/20/3 +f 10/22/2 9/17/2 12/20/2 +f 13/23/1 9/17/1 10/22/1 +o Lights +v -0.500000 0.375000 -0.187500 +v 0.500000 0.375000 -0.187500 +v -0.500000 0.375000 -1.187500 +v 0.500000 0.375000 -1.187500 +v -0.375000 0.625000 -1.062500 +v -0.375000 0.625000 -0.312500 +v 0.375000 0.625000 -0.312500 +v 0.375000 0.625000 -1.062500 +v -0.250000 0.125000 -0.937500 +v -0.250000 0.125000 -0.437500 +v 0.250000 0.125000 -0.437500 +v 0.250000 0.125000 -0.937500 +v -0.500000 0.625000 -1.187500 +v -0.500000 0.625000 -0.187500 +v 0.500000 0.625000 -0.187500 +v 0.500000 0.625000 -1.187500 +v 0.375000 0.750000 0.312500 +v 0.375000 0.750000 1.062500 +v -0.375000 0.750000 1.062500 +v -0.375000 0.750000 0.312500 +v 0.375000 0.625000 0.312500 +v 0.375000 0.625000 1.062500 +v -0.375000 0.625000 1.062500 +v -0.375000 0.625000 0.312500 +v 0.500000 0.625000 0.187500 +v 0.500000 0.625000 1.187500 +v -0.500000 0.625000 1.187500 +v -0.500000 0.625000 0.187500 +v 0.250000 0.125000 0.437500 +v 0.250000 0.125000 0.937500 +v -0.250000 0.125000 0.937500 +v -0.250000 0.125000 0.437500 +v -0.375000 0.625000 -1.062500 +v -0.375000 0.625000 -0.312500 +v 0.375000 0.625000 -0.312500 +v 0.375000 0.625000 -1.062500 +v 0.375000 0.625000 0.312500 +v 0.375000 0.625000 1.062500 +v -0.375000 0.625000 1.062500 +v -0.375000 0.625000 0.312500 +v -0.375000 0.750000 -1.062500 +v -0.375000 0.750000 -0.312500 +v 0.375000 0.750000 -0.312500 +v 0.375000 0.750000 -1.062500 +v 0.500000 0.375000 0.187500 +v -0.500000 0.375000 0.187500 +v 0.500000 0.375000 1.187500 +v -0.500000 0.375000 1.187500 +vt 0.407407 0.260870 +vt 0.629630 0.173913 +vt 0.703704 0.260870 +vt 0.407407 0.347826 +vt 0.703704 0.260870 +vt 0.407407 0.347826 +vt 0.407407 0.260870 +vt 0.703704 0.260870 +vt 0.407407 0.347826 +vt 0.407407 0.260870 +vt 0.703704 0.260870 +vt 0.407407 0.347826 +vt 0.407407 0.260870 +vt 0.629630 0.000000 +vt 0.481481 0.173913 +vt 0.481481 0.000000 +vt 0.481481 0.173913 +vt 0.629630 0.173913 +vt 0.629630 0.173913 +vt 0.629630 0.173913 +vt 0.666667 0.652174 +vt 0.407407 0.695652 +vt 0.444444 0.652174 +vt 0.444444 0.391304 +vt 0.703704 0.347826 +vt 0.666667 0.391304 +vt 0.703704 0.695652 +vt 0.740741 0.347826 +vt 0.962963 0.304348 +vt 0.962963 0.347826 +vt 0.962963 0.000000 +vt 0.740741 0.043478 +vt 0.740741 0.000000 +vt 0.703704 0.043478 +vt 0.740741 0.304348 +vt 0.703704 0.304348 +vt 1.000000 0.304348 +vt 0.962963 0.043478 +vt 1.000000 0.043478 +vt 0.666667 0.391304 +vt 0.703704 0.695652 +vt 0.666667 0.652174 +vt 0.444444 0.391304 +vt 0.703704 0.347826 +vt 0.444444 0.652174 +vt 0.407407 0.347826 +vt 0.407407 0.695652 +vt 0.407407 0.260870 +vt 0.629630 0.173913 +vt 0.703704 0.260870 +vt 0.407407 0.260870 +vt 0.629630 0.173913 +vt 0.703704 0.260870 +vt 0.407407 0.260870 +vt 0.629630 0.173913 +vt 0.703704 0.260870 +vt 0.629630 0.000000 +vt 0.481481 0.173913 +vt 0.481481 0.000000 +vt 0.407407 0.347826 +vt 0.740741 0.043478 +vt 0.962963 0.304348 +vt 0.740741 0.304348 +vt 0.407407 0.347826 +vt 0.407407 0.347826 +vt 0.703704 0.260870 +vt 0.407407 0.260870 +vt 1.000000 0.304348 +vt 0.962963 0.043478 +vt 1.000000 0.043478 +vt 0.703704 0.043478 +vt 0.703704 0.304348 +vt 0.629630 0.173913 +vt 0.962963 0.000000 +vt 0.740741 0.000000 +vt 0.740741 0.347826 +vt 0.962963 0.347826 +vt 0.703704 0.347826 +vt 0.703704 0.347826 +vt 0.703704 0.347826 +vt 0.481481 0.173913 +vt 0.481481 0.173913 +vt 0.481481 0.173913 +vt 0.481481 0.173913 +vt 0.481481 0.173913 +vt 0.703704 0.347826 +vt 0.703704 0.347826 +vt 0.703704 0.347826 +vn 0.7071 -0.7071 0.0000 +vn 1.0000 0.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 0.0000 -1.0000 0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 1.0000 0.0000 +s off +f 18/25/6 28/26/6 20/27/6 +f 20/27/7 31/28/7 18/25/7 +f 17/29/8 29/30/8 19/31/8 +f 19/32/9 32/33/9 20/34/9 +f 18/35/10 30/36/10 17/37/10 +f 25/38/11 27/39/11 26/40/11 +f 17/29/12 25/41/12 26/42/12 +f 20/34/13 25/43/13 19/32/13 +f 17/37/14 27/44/14 18/35/14 +f 21/45/15 30/46/15 22/47/15 +f 22/47/15 31/28/15 23/48/15 +f 23/48/15 32/49/15 24/50/15 +f 24/50/15 29/51/15 21/45/15 +f 39/52/8 36/53/8 40/54/8 +f 37/55/7 34/56/7 38/57/7 +f 38/58/10 35/59/10 39/60/10 +f 40/61/9 33/62/9 37/63/9 +f 34/56/15 36/53/15 35/59/15 +f 53/64/15 44/65/15 56/66/15 +f 54/67/15 41/68/15 53/64/15 +f 55/69/15 42/70/15 54/67/15 +f 56/66/15 43/71/15 55/69/15 +f 64/72/14 46/73/14 63/74/14 +f 61/75/13 48/76/13 62/77/13 +f 62/78/12 47/79/12 64/80/12 +f 48/81/11 46/82/11 47/83/11 +f 63/74/10 43/84/10 64/72/10 +f 59/85/15 57/86/15 58/87/15 +f 62/77/9 41/88/9 61/75/9 +f 64/80/8 44/89/8 62/78/8 +f 61/90/7 42/70/7 63/91/7 +f 49/92/9 60/93/9 52/94/9 +f 51/95/10 58/87/10 50/96/10 +f 61/90/6 46/82/6 45/97/6 +f 52/98/7 59/85/7 51/99/7 +f 50/100/8 57/86/8 49/101/8 +f 18/25/6 27/39/6 28/26/6 +f 20/27/7 32/49/7 31/28/7 +f 17/29/8 30/102/8 29/30/8 +f 19/32/9 29/103/9 32/33/9 +f 18/35/10 31/104/10 30/36/10 +f 25/38/11 28/26/11 27/39/11 +f 17/29/12 19/31/12 25/41/12 +f 20/34/13 28/105/13 25/43/13 +f 17/37/14 26/106/14 27/44/14 +f 21/45/15 29/51/15 30/46/15 +f 22/47/15 30/46/15 31/28/15 +f 23/48/15 31/28/15 32/49/15 +f 24/50/15 32/49/15 29/51/15 +f 39/52/8 35/59/8 36/53/8 +f 37/55/7 33/62/7 34/56/7 +f 38/58/10 34/56/10 35/59/10 +f 40/61/9 36/53/9 33/62/9 +f 34/56/15 33/62/15 36/53/15 +f 53/64/15 41/68/15 44/65/15 +f 54/67/15 42/70/15 41/68/15 +f 55/69/15 43/71/15 42/70/15 +f 56/66/15 44/65/15 43/71/15 +f 64/72/14 47/107/14 46/73/14 +f 61/75/13 45/108/13 48/76/13 +f 62/78/12 48/109/12 47/79/12 +f 48/81/11 45/97/11 46/82/11 +f 63/74/10 42/110/10 43/84/10 +f 59/85/15 60/93/15 57/86/15 +f 62/77/9 44/111/9 41/88/9 +f 64/80/8 43/112/8 44/89/8 +f 61/90/7 41/68/7 42/70/7 +f 49/92/9 57/86/9 60/93/9 +f 51/95/10 59/85/10 58/87/10 +f 61/90/6 63/91/6 46/82/6 +f 52/98/7 60/93/7 59/85/7 +f 50/100/8 58/87/8 57/86/8 +o Base +v -0.500000 0.000000 0.187500 +v 0.500000 0.000000 0.187500 +v -0.500000 0.000000 -0.187500 +v 0.500000 0.000000 -0.187500 +v -0.375000 0.500000 0.187500 +v 0.375000 0.500000 0.187500 +v -0.375000 0.500000 -0.187500 +v 0.375000 0.500000 -0.187500 +v -0.125000 0.750000 -0.187500 +v -0.125000 0.750000 0.187500 +v 0.125000 0.750000 0.187500 +v 0.125000 0.750000 -0.187500 +vt 0.111111 0.260870 +vt -0.000000 0.608696 +vt -0.000000 0.260870 +vt 0.259259 0.304348 +vt 0.333333 0.478261 +vt 0.259259 0.565217 +vt 0.111111 0.086957 +vt 0.111111 0.608696 +vt 0.111111 0.260870 +vt 0.259259 0.565217 +vt 0.111111 0.608696 +vt 0.000000 0.782609 +vt -0.000000 0.869565 +vt 0.111111 0.956522 +vt -0.000000 0.956522 +vt 0.259259 0.304348 +vt 0.333333 0.478261 +vt 0.111111 0.782609 +vt -0.000000 0.086957 +vt 0.111111 -0.000000 +vt 0.333333 0.391304 +vt 0.111111 0.869565 +vt 0.333333 0.391304 +vt 0.000000 -0.000000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn -0.9701 0.2425 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.9701 0.2425 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.7071 0.7071 0.0000 +vn -0.7071 0.7071 0.0000 +s off +f 67/113/16 66/114/16 65/115/16 +f 71/116/17 76/117/17 72/118/17 +f 65/115/18 71/119/18 67/113/18 +f 67/113/17 72/118/17 68/120/17 +f 66/121/19 69/122/19 65/123/19 +f 68/120/20 70/124/20 66/114/20 +f 75/125/21 73/126/21 74/127/21 +f 70/128/19 74/129/19 69/122/19 +f 72/130/22 75/125/22 70/124/22 +f 69/131/23 73/132/23 71/119/23 +f 67/113/16 68/120/16 66/114/16 +f 71/116/17 73/133/17 76/117/17 +f 65/115/18 69/131/18 71/119/18 +f 67/113/17 71/116/17 72/118/17 +f 66/121/19 70/128/19 69/122/19 +f 68/120/20 72/130/20 70/124/20 +f 75/125/21 76/134/21 73/126/21 +f 70/128/19 75/135/19 74/129/19 +f 72/130/22 76/134/22 75/125/22 +f 69/131/23 74/136/23 73/132/23 diff --git a/src/main/resources/assets/hbm/models/machines/ore_slopper.obj b/src/main/resources/assets/hbm/models/machines/ore_slopper.obj index 0670c20f5..6af1aea03 100644 --- a/src/main/resources/assets/hbm/models/machines/ore_slopper.obj +++ b/src/main/resources/assets/hbm/models/machines/ore_slopper.obj @@ -3159,6 +3159,8 @@ vt -0.000000 0.410256 vt 0.341463 -0.000000 vt -0.000000 0.000000 vt 0.341463 -0.000000 +vt 0.000000 0.102564 +vt 0.000000 0.000000 vt 0.390244 0.410256 vt 0.341463 0.102564 vt 0.390244 0.102564 @@ -3582,7 +3584,6 @@ vt 0.914634 0.705128 vt 0.804878 0.705128 vt 0.804878 0.807692 vt 0.341463 0.410256 -vt -0.000000 -0.000000 vt 0.341463 0.410256 vt 0.353659 0.448718 vt 0.439024 0.461538 @@ -3676,39 +3677,39 @@ vt 0.121951 0.512821 vt 0.097561 0.692308 vt 0.292683 0.692308 vt 0.121951 0.692308 -vt 0.926829 0.897436 -vt 0.902439 1.000000 +vt 0.878049 1.000000 vt 0.902439 0.897436 +vt 0.902439 1.000000 vt 0.853659 1.000000 vt 0.878049 0.897436 vt 0.878049 1.000000 -vt 0.951219 0.897436 -vt 0.926829 1.000000 +vt 0.853659 1.000000 +vt 0.878049 0.897436 +vt 0.829268 1.000000 +vt 0.853659 0.897436 vt 0.829268 1.000000 vt 0.853659 0.897436 -vt 0.975610 0.897436 -vt 0.951219 1.000000 vt 0.804878 1.000000 vt 0.829268 0.897436 vt 0.975610 1.000000 vt 1.000000 0.897436 vt 1.000000 1.000000 -vt 1.000000 0.897436 -vt 0.975610 1.000000 -vt 0.829268 0.897436 vt 0.804878 1.000000 -vt 0.804878 0.897436 +vt 0.829268 0.897436 +vt 0.975610 1.000000 +vt 1.000000 0.897436 +vt 1.000000 1.000000 +vt 0.951219 1.000000 +vt 0.975610 0.897436 vt 0.951219 1.000000 vt 0.975610 0.897436 -vt 0.853659 0.897436 -vt 0.829268 1.000000 vt 0.926829 1.000000 vt 0.951219 0.897436 -vt 0.878049 0.897436 -vt 0.853659 1.000000 +vt 0.926829 1.000000 +vt 0.951219 0.897436 vt 0.902439 1.000000 vt 0.926829 0.897436 -vt 0.878049 1.000000 +vt 0.926829 0.897436 vt 0.902439 0.897436 vt 0.274390 0.410256 vt 0.246951 0.410256 @@ -3763,7 +3764,7 @@ vt 0.655488 0.487179 vt 0.673781 0.487179 vt 0.390244 0.692308 vt 0.804878 0.897436 -vt 1.000000 1.000000 +vt 0.804878 0.897436 vt 0.646341 0.487179 vt 0.646341 0.487179 vn 0.0000 -1.0000 0.0000 @@ -3799,547 +3800,547 @@ s off f 613/1067/72 612/1068/72 611/1069/72 f 616/1070/73 617/1071/73 615/1072/73 f 614/1073/74 616/1070/74 612/1074/74 -f 611/1069/75 617/1075/75 613/1067/75 -f 613/1076/76 618/1077/76 614/1078/76 -f 612/1079/77 615/1080/77 611/1081/77 -f 647/1082/72 662/1083/72 646/1084/72 -f 647/1085/72 664/1086/72 663/1087/72 -f 649/1088/72 664/1086/72 648/1089/72 -f 650/1090/72 665/1091/72 649/1092/72 -f 635/1093/72 666/1094/72 650/1095/72 -f 636/1096/72 651/1097/72 635/1098/72 -f 637/1099/72 652/1100/72 636/1101/72 -f 638/1102/72 653/1103/72 637/1104/72 -f 639/1105/72 654/1106/72 638/1107/72 -f 639/1108/72 656/1109/72 655/1110/72 -f 640/1111/72 657/1112/72 656/1109/72 -f 641/1113/72 658/1114/72 657/1112/72 -f 642/1115/72 659/1116/72 658/1114/72 -f 643/1117/72 660/1118/72 659/1116/72 -f 645/1119/72 660/1118/72 644/1120/72 -f 645/1121/72 662/1083/72 661/1122/72 -f 679/1123/73 694/1124/73 678/1125/73 -f 680/1126/73 695/1127/73 679/1123/73 -f 681/1128/73 696/1129/73 680/1126/73 -f 681/1128/73 698/1130/73 697/1131/73 -f 682/1132/73 683/1133/73 698/1134/73 -f 668/1135/73 683/1136/73 667/1137/73 -f 668/1135/73 685/1138/73 684/1139/73 -f 669/1140/73 686/1141/73 685/1142/73 -f 670/1143/73 687/1144/73 686/1145/73 -f 671/1146/73 688/1147/73 687/1148/73 -f 673/1149/73 688/1150/73 672/1151/73 -f 674/1152/73 689/1153/73 673/1149/73 -f 674/1152/73 691/1154/73 690/1155/73 -f 676/1156/73 691/1157/73 675/1158/73 -f 677/1159/73 692/1160/73 676/1156/73 -f 677/1159/73 694/1161/73 693/1162/73 -f 699/1163/73 703/1164/73 707/1165/73 -f 755/1166/74 760/1167/74 756/1168/74 -f 719/1169/76 726/1170/76 722/1171/76 -f 717/1172/76 722/1171/76 718/1173/76 -f 716/1174/77 720/1175/77 715/1176/77 -f 718/1173/74 721/1177/74 716/1178/74 -f 715/1176/75 719/1169/75 717/1172/75 -f 766/1179/73 725/1180/73 726/1170/73 -f 721/1181/77 724/1182/77 720/1175/77 -f 722/1171/78 725/1183/78 721/1177/78 -f 720/1175/79 723/1184/79 719/1169/79 -f 733/1185/73 738/1186/73 737/1187/73 -f 732/1188/73 735/1189/73 731/1190/73 -f 727/1191/75 731/1190/75 729/1192/75 -f 729/1192/76 734/1193/76 730/1194/76 -f 731/1190/73 738/1195/73 734/1193/73 -f 730/1194/74 733/1185/74 728/1196/74 -f 735/1197/77 742/1198/77 738/1195/77 -f 736/1199/74 739/1200/74 735/1189/74 -f 738/1186/75 741/1201/75 737/1187/75 -f 745/1202/80 741/1203/80 742/1204/80 -f 745/1202/73 744/1205/73 743/1206/73 -f 742/1204/81 746/1207/81 745/1202/81 -f 740/1208/82 746/1207/82 739/1209/82 -f 747/1210/72 757/1211/72 748/1212/72 -f 753/1213/83 751/1214/83 752/1215/83 -f 748/1212/72 758/1216/72 750/1217/72 -f 748/1218/74 754/1219/74 753/1220/74 -f 747/1221/75 751/1214/75 749/1222/75 -f 749/1222/76 754/1219/76 750/1217/76 -f 749/1222/72 756/1223/72 747/1210/72 -f 750/1217/72 755/1224/72 749/1222/72 -f 759/1225/72 761/1226/72 760/1167/72 -f 758/1227/77 759/1225/77 755/1228/77 -f 756/1229/76 761/1226/76 757/1230/76 -f 757/1231/75 762/1232/75 758/1233/75 -f 766/1234/79 769/1235/79 764/1236/79 -f 765/1237/73 726/1170/73 723/1238/73 -f 763/1239/73 723/1238/73 724/1240/73 -f 764/1241/73 724/1240/73 725/1180/73 -f 769/1235/73 767/1242/73 768/1243/73 -f 763/1244/78 767/1242/78 765/1245/78 -f 765/1246/77 770/1247/77 766/1248/77 -f 764/1249/76 768/1243/76 763/1250/76 -f 772/1251/77 776/1252/77 771/1253/77 -f 774/1254/74 777/1255/74 772/1251/74 -f 771/1256/75 775/1257/75 773/1258/75 -f 773/1258/76 778/1259/76 774/1254/76 -f 780/1260/77 784/1261/77 779/1262/77 -f 782/1263/74 785/1264/74 780/1260/74 -f 779/1265/75 783/1266/75 781/1267/75 -f 781/1267/76 786/1268/76 782/1263/76 -f 788/1269/77 792/1270/77 787/1271/77 -f 790/1272/74 793/1273/74 788/1269/74 -f 787/1274/75 791/1275/75 789/1276/75 -f 789/1276/76 794/1277/76 790/1272/76 -f 796/1278/77 800/1279/77 795/1280/77 -f 798/1281/74 801/1282/74 796/1278/74 -f 795/1283/75 799/1284/75 797/1285/75 -f 797/1285/76 802/1286/76 798/1281/76 -f 830/1287/73 631/1288/73 630/1289/73 -f 631/1290/73 832/1291/73 632/1292/73 -f 832/1291/73 633/1293/73 632/1294/73 -f 833/1295/73 634/1296/73 633/1297/73 -f 834/1298/73 619/1299/73 634/1300/73 -f 819/1301/73 620/1302/73 619/1303/73 -f 820/1304/73 621/1305/73 620/1306/73 -f 821/1307/73 622/1308/73 621/1309/73 -f 822/1310/73 623/1311/73 622/1312/73 -f 623/1313/73 824/1314/73 624/1315/73 -f 624/1316/73 825/1317/73 625/1318/73 -f 625/1319/73 826/1320/73 626/1321/73 -f 626/1322/73 827/1323/73 627/1324/73 -f 627/1325/73 828/1326/73 628/1327/73 -f 828/1326/73 629/1328/73 628/1329/73 -f 629/1330/73 830/1287/73 630/1331/73 -f 837/1332/72 836/1333/72 835/1334/72 -f 841/1335/73 839/1336/73 840/1337/73 -f 838/1338/74 841/1335/74 836/1333/74 -f 835/1339/75 839/1336/75 837/1340/75 -f 837/1341/76 842/1342/76 838/1343/76 -f 836/1344/77 840/1337/77 835/1345/77 -f 845/1346/72 844/1347/72 843/1348/72 -f 849/1349/73 847/1350/73 848/1351/73 -f 846/1352/74 849/1349/74 844/1347/74 -f 843/1353/75 847/1350/75 845/1354/75 -f 845/1355/76 850/1356/76 846/1357/76 -f 844/1358/77 848/1351/77 843/1359/77 -f 852/1360/77 856/1361/77 851/1362/77 -f 854/1363/74 857/1364/74 852/1360/74 -f 851/1365/75 855/1366/75 853/1367/75 -f 853/1367/76 858/1368/76 854/1363/76 -f 860/1369/77 864/1370/77 859/1371/77 -f 862/1372/74 865/1373/74 860/1369/74 -f 859/1374/75 863/1375/75 861/1376/75 -f 861/1376/76 866/1377/76 862/1372/76 -f 900/1378/77 904/1379/77 899/1380/77 -f 902/1381/74 905/1382/74 900/1378/74 -f 899/1383/75 903/1384/75 901/1385/75 -f 901/1385/76 906/1386/76 902/1381/76 -f 908/1387/77 912/1388/77 907/1389/77 -f 910/1390/74 913/1391/74 908/1387/74 -f 907/1392/75 911/1393/75 909/1394/75 -f 909/1394/76 914/1395/76 910/1390/76 -f 925/1396/76 928/1397/76 924/1398/76 -f 919/1399/74 926/1400/74 922/1401/74 -f 918/1402/72 921/1403/72 916/1404/72 -f 915/1405/73 919/1406/73 917/1407/73 -f 917/1408/76 922/1401/76 918/1409/76 -f 916/1410/77 920/1411/77 915/1412/77 -f 921/1413/74 924/1398/74 920/1411/74 -f 922/1414/74 925/1415/74 921/1403/74 -f 920/1416/74 923/1417/74 919/1406/74 -f 929/1418/74 927/1419/74 928/1397/74 -f 926/1420/73 929/1418/73 925/1415/73 -f 924/1421/72 927/1419/72 923/1417/72 -f 923/1422/77 930/1423/77 926/1400/77 -f 932/1424/74 933/1425/74 931/1426/74 -f 936/1427/74 937/1428/74 935/1429/74 -f 940/1430/74 941/1431/74 939/1432/74 -f 944/1433/74 945/1434/74 943/1435/74 -f 948/1436/74 949/1437/74 947/1438/74 -f 958/1439/75 959/1440/75 955/1441/75 -f 952/1442/72 958/1443/72 954/1444/72 -f 953/1445/73 956/1446/73 951/1447/73 -f 954/1448/76 955/1441/76 953/1449/76 -f 951/1450/77 957/1451/77 952/1452/77 -f 960/1453/76 965/1454/76 961/1455/76 -f 956/1456/75 961/1455/75 957/1451/75 -f 957/1457/75 962/1458/75 958/1443/75 -f 955/1459/75 960/1460/75 956/1446/75 -f 966/1461/75 964/1462/75 963/1463/75 -f 961/1464/73 966/1461/73 962/1458/73 -f 959/1465/72 964/1462/72 960/1460/72 -f 962/1466/77 963/1463/77 959/1440/77 -f 970/1467/84 968/1468/84 967/1469/84 -f 977/1470/76 974/1471/76 973/1472/76 -f 976/1473/77 971/1474/77 972/1475/77 -f 978/1476/74 972/1475/74 974/1471/74 -f 975/1477/75 973/1472/75 971/1478/75 -f 985/1479/76 982/1480/76 981/1481/76 -f 984/1482/77 979/1483/77 980/1484/77 -f 986/1485/74 980/1484/74 982/1480/74 -f 983/1486/75 981/1481/75 979/1487/75 -f 989/1488/72 988/1489/72 987/1490/72 -f 992/1491/73 993/1492/73 991/1493/73 -f 990/1494/75 992/1491/75 988/1495/75 -f 988/1489/76 991/1493/76 987/1490/76 -f 987/1496/74 993/1492/74 989/1497/74 -f 613/1067/72 614/1498/72 612/1068/72 -f 616/1070/73 618/1077/73 617/1071/73 -f 614/1073/74 618/1077/74 616/1070/74 -f 611/1069/75 615/1499/75 617/1075/75 -f 613/1076/76 617/1071/76 618/1077/76 -f 612/1079/77 616/1500/77 615/1080/77 -f 647/1082/72 663/1087/72 662/1083/72 -f 647/1085/72 648/1501/72 664/1086/72 -f 649/1088/72 665/1091/72 664/1086/72 -f 650/1090/72 666/1094/72 665/1091/72 -f 635/1093/72 651/1502/72 666/1094/72 -f 636/1096/72 652/1100/72 651/1097/72 -f 637/1099/72 653/1103/72 652/1100/72 -f 638/1102/72 654/1106/72 653/1103/72 -f 639/1105/72 655/1110/72 654/1106/72 -f 639/1108/72 640/1503/72 656/1109/72 -f 640/1111/72 641/1504/72 657/1112/72 -f 641/1113/72 642/1505/72 658/1114/72 -f 642/1115/72 643/1506/72 659/1116/72 -f 643/1117/72 644/1507/72 660/1118/72 -f 645/1119/72 661/1122/72 660/1118/72 -f 645/1121/72 646/1508/72 662/1083/72 -f 679/1123/73 695/1509/73 694/1124/73 -f 680/1126/73 696/1510/73 695/1127/73 -f 681/1128/73 697/1511/73 696/1129/73 -f 681/1128/73 682/1132/73 698/1130/73 -f 682/1132/73 667/1512/73 683/1133/73 -f 668/1135/73 684/1513/73 683/1136/73 -f 668/1135/73 669/1140/73 685/1138/73 -f 669/1140/73 670/1143/73 686/1141/73 -f 670/1143/73 671/1146/73 687/1144/73 -f 671/1146/73 672/1151/73 688/1147/73 -f 673/1149/73 689/1514/73 688/1150/73 -f 674/1152/73 690/1515/73 689/1153/73 -f 674/1152/73 675/1158/73 691/1154/73 -f 676/1156/73 692/1516/73 691/1157/73 -f 677/1159/73 693/1517/73 692/1160/73 -f 677/1159/73 678/1125/73 694/1161/73 -f 699/1163/73 700/1518/73 701/1519/73 -f 701/1519/73 702/1520/73 703/1164/73 -f 703/1164/73 704/1521/73 707/1165/73 -f 704/1521/73 705/1522/73 707/1165/73 -f 705/1522/73 706/1523/73 707/1165/73 -f 707/1165/73 708/1524/73 709/1525/73 -f 709/1525/73 710/1526/73 707/1165/73 -f 710/1526/73 711/1527/73 707/1165/73 -f 711/1527/73 712/1528/73 713/1529/73 -f 713/1529/73 714/1530/73 699/1163/73 -f 699/1163/73 701/1519/73 703/1164/73 -f 711/1527/73 713/1529/73 707/1165/73 -f 713/1529/73 699/1163/73 707/1165/73 -f 755/1166/74 759/1225/74 760/1167/74 -f 719/1169/76 723/1238/76 726/1170/76 -f 717/1172/76 719/1169/76 722/1171/76 -f 716/1174/77 721/1181/77 720/1175/77 -f 718/1173/74 722/1171/74 721/1177/74 -f 715/1176/75 720/1175/75 719/1169/75 -f 766/1179/73 764/1241/73 725/1180/73 -f 721/1181/77 725/1531/77 724/1182/77 -f 722/1171/78 726/1532/78 725/1183/78 -f 720/1175/79 724/1533/79 723/1184/79 -f 733/1185/73 734/1193/73 738/1186/73 -f 732/1188/73 736/1199/73 735/1189/73 -f 727/1191/75 732/1188/75 731/1190/75 -f 729/1192/76 731/1190/76 734/1193/76 -f 731/1190/73 735/1197/73 738/1195/73 -f 730/1194/74 734/1193/74 733/1185/74 -f 735/1197/77 739/1534/77 742/1198/77 -f 736/1199/74 740/1535/74 739/1200/74 -f 738/1186/75 742/1536/75 741/1201/75 -f 745/1202/80 743/1206/80 741/1203/80 -f 745/1202/73 746/1207/73 744/1205/73 -f 742/1204/81 739/1209/81 746/1207/81 -f 740/1208/82 744/1205/82 746/1207/82 -f 747/1210/72 756/1223/72 757/1211/72 -f 753/1213/83 754/1219/83 751/1214/83 -f 748/1212/72 757/1211/72 758/1216/72 -f 748/1218/74 750/1217/74 754/1219/74 -f 747/1221/75 752/1537/75 751/1214/75 -f 749/1222/76 751/1214/76 754/1219/76 -f 749/1222/72 755/1224/72 756/1223/72 -f 750/1217/72 758/1216/72 755/1224/72 -f 759/1225/72 762/1232/72 761/1226/72 -f 758/1227/77 762/1232/77 759/1225/77 -f 756/1229/76 760/1167/76 761/1226/76 -f 757/1231/75 761/1226/75 762/1232/75 -f 766/1234/79 770/1247/79 769/1235/79 -f 765/1237/73 766/1179/73 726/1170/73 -f 763/1239/73 765/1237/73 723/1238/73 -f 764/1241/73 763/1239/73 724/1240/73 -f 769/1235/73 770/1247/73 767/1242/73 -f 763/1244/78 768/1243/78 767/1242/78 -f 765/1246/77 767/1242/77 770/1247/77 -f 764/1249/76 769/1235/76 768/1243/76 -f 772/1251/77 777/1255/77 776/1252/77 -f 774/1254/74 778/1259/74 777/1255/74 -f 771/1256/75 776/1538/75 775/1257/75 -f 773/1258/76 775/1257/76 778/1259/76 -f 780/1260/77 785/1264/77 784/1261/77 -f 782/1263/74 786/1268/74 785/1264/74 -f 779/1265/75 784/1539/75 783/1266/75 -f 781/1267/76 783/1266/76 786/1268/76 -f 788/1269/77 793/1273/77 792/1270/77 -f 790/1272/74 794/1277/74 793/1273/74 -f 787/1274/75 792/1540/75 791/1275/75 -f 789/1276/76 791/1275/76 794/1277/76 -f 796/1278/77 801/1282/77 800/1279/77 -f 798/1281/74 802/1286/74 801/1282/74 -f 795/1283/75 800/1541/75 799/1284/75 -f 797/1285/76 799/1284/76 802/1286/76 -f 830/1287/73 831/1542/73 631/1288/73 -f 631/1290/73 831/1542/73 832/1291/73 -f 832/1291/73 833/1295/73 633/1293/73 -f 833/1295/73 834/1298/73 634/1296/73 -f 834/1298/73 819/1543/73 619/1299/73 -f 819/1301/73 820/1304/73 620/1302/73 -f 820/1304/73 821/1307/73 621/1305/73 -f 821/1307/73 822/1310/73 622/1308/73 -f 822/1310/73 823/1544/73 623/1311/73 -f 623/1313/73 823/1544/73 824/1314/73 -f 624/1316/73 824/1314/73 825/1317/73 -f 625/1319/73 825/1317/73 826/1320/73 -f 626/1322/73 826/1320/73 827/1323/73 -f 627/1325/73 827/1323/73 828/1326/73 -f 828/1326/73 829/1545/73 629/1328/73 -f 629/1330/73 829/1545/73 830/1287/73 -f 837/1332/72 838/1338/72 836/1333/72 -f 841/1335/73 842/1342/73 839/1336/73 -f 838/1338/74 842/1342/74 841/1335/74 -f 835/1339/75 840/1337/75 839/1336/75 -f 837/1341/76 839/1336/76 842/1342/76 -f 836/1344/77 841/1335/77 840/1337/77 -f 845/1346/72 846/1352/72 844/1347/72 -f 849/1349/73 850/1356/73 847/1350/73 -f 846/1352/74 850/1356/74 849/1349/74 -f 843/1353/75 848/1351/75 847/1350/75 -f 845/1355/76 847/1350/76 850/1356/76 -f 844/1358/77 849/1349/77 848/1351/77 -f 852/1360/77 857/1364/77 856/1361/77 -f 854/1363/74 858/1368/74 857/1364/74 -f 851/1365/75 856/1546/75 855/1366/75 -f 853/1367/76 855/1366/76 858/1368/76 -f 860/1369/77 865/1373/77 864/1370/77 -f 862/1372/74 866/1377/74 865/1373/74 -f 859/1374/75 864/1547/75 863/1375/75 -f 861/1376/76 863/1375/76 866/1377/76 -f 900/1378/77 905/1382/77 904/1379/77 -f 902/1381/74 906/1386/74 905/1382/74 -f 899/1383/75 904/1548/75 903/1384/75 -f 901/1385/76 903/1384/76 906/1386/76 -f 908/1387/77 913/1391/77 912/1388/77 -f 910/1390/74 914/1395/74 913/1391/74 -f 907/1392/75 912/1549/75 911/1393/75 -f 909/1394/76 911/1393/76 914/1395/76 -f 925/1396/76 929/1418/76 928/1397/76 -f 919/1399/74 923/1422/74 926/1400/74 -f 918/1402/72 922/1414/72 921/1403/72 -f 915/1405/73 920/1416/73 919/1406/73 -f 917/1408/76 919/1399/76 922/1401/76 -f 916/1410/77 921/1413/77 920/1411/77 -f 921/1413/74 925/1396/74 924/1398/74 -f 922/1414/74 926/1420/74 925/1415/74 -f 920/1416/74 924/1421/74 923/1417/74 -f 929/1418/74 930/1423/74 927/1419/74 -f 926/1420/73 930/1423/73 929/1418/73 -f 924/1421/72 928/1397/72 927/1419/72 -f 923/1422/77 927/1419/77 930/1423/77 -f 932/1424/74 934/1550/74 933/1425/74 -f 936/1427/74 938/1551/74 937/1428/74 -f 940/1430/74 942/1552/74 941/1431/74 -f 944/1433/74 946/1553/74 945/1434/74 -f 948/1436/74 950/1554/74 949/1437/74 -f 958/1439/75 962/1466/75 959/1440/75 -f 952/1442/72 957/1457/72 958/1443/72 -f 953/1445/73 955/1459/73 956/1446/73 -f 954/1448/76 958/1439/76 955/1441/76 -f 951/1450/77 956/1456/77 957/1451/77 -f 960/1453/76 964/1462/76 965/1454/76 -f 956/1456/75 960/1453/75 961/1455/75 -f 957/1457/75 961/1464/75 962/1458/75 -f 955/1459/75 959/1465/75 960/1460/75 -f 966/1461/75 965/1454/75 964/1462/75 -f 961/1464/73 965/1454/73 966/1461/73 -f 959/1465/72 963/1463/72 964/1462/72 -f 962/1466/77 966/1461/77 963/1463/77 -f 970/1467/84 969/1555/84 968/1468/84 -f 977/1470/76 978/1476/76 974/1471/76 -f 976/1473/77 975/1556/77 971/1474/77 -f 978/1476/74 976/1473/74 972/1475/74 -f 975/1477/75 977/1470/75 973/1472/75 -f 985/1479/76 986/1485/76 982/1480/76 -f 984/1482/77 983/1557/77 979/1483/77 -f 986/1485/74 984/1482/74 980/1484/74 -f 983/1486/75 985/1479/75 981/1481/75 -f 989/1488/72 990/1558/72 988/1489/72 -f 992/1491/73 994/1559/73 993/1492/73 -f 990/1494/75 994/1559/75 992/1491/75 -f 988/1489/76 992/1491/76 991/1493/76 -f 987/1496/74 991/1493/74 993/1492/74 +f 611/1075/75 617/1076/75 613/1077/75 +f 613/1078/76 618/1079/76 614/1080/76 +f 612/1081/77 615/1082/77 611/1083/77 +f 647/1084/72 662/1085/72 646/1086/72 +f 647/1087/72 664/1088/72 663/1089/72 +f 649/1090/72 664/1088/72 648/1091/72 +f 650/1092/72 665/1093/72 649/1094/72 +f 635/1095/72 666/1096/72 650/1097/72 +f 636/1098/72 651/1099/72 635/1100/72 +f 637/1101/72 652/1102/72 636/1103/72 +f 638/1104/72 653/1105/72 637/1106/72 +f 639/1107/72 654/1108/72 638/1109/72 +f 639/1110/72 656/1111/72 655/1112/72 +f 640/1113/72 657/1114/72 656/1111/72 +f 641/1115/72 658/1116/72 657/1114/72 +f 642/1117/72 659/1118/72 658/1116/72 +f 643/1119/72 660/1120/72 659/1118/72 +f 645/1121/72 660/1120/72 644/1122/72 +f 645/1123/72 662/1085/72 661/1124/72 +f 679/1125/73 694/1126/73 678/1127/73 +f 680/1128/73 695/1129/73 679/1125/73 +f 681/1130/73 696/1131/73 680/1128/73 +f 681/1130/73 698/1132/73 697/1133/73 +f 682/1134/73 683/1135/73 698/1136/73 +f 668/1137/73 683/1138/73 667/1139/73 +f 668/1137/73 685/1140/73 684/1141/73 +f 669/1142/73 686/1143/73 685/1144/73 +f 670/1145/73 687/1146/73 686/1147/73 +f 671/1148/73 688/1149/73 687/1150/73 +f 673/1151/73 688/1152/73 672/1153/73 +f 674/1154/73 689/1155/73 673/1151/73 +f 674/1154/73 691/1156/73 690/1157/73 +f 676/1158/73 691/1159/73 675/1160/73 +f 677/1161/73 692/1162/73 676/1158/73 +f 677/1161/73 694/1163/73 693/1164/73 +f 699/1165/73 703/1166/73 707/1167/73 +f 755/1168/74 760/1169/74 756/1170/74 +f 719/1171/76 726/1172/76 722/1173/76 +f 717/1174/76 722/1173/76 718/1175/76 +f 716/1176/77 720/1177/77 715/1178/77 +f 718/1175/74 721/1179/74 716/1180/74 +f 715/1178/75 719/1171/75 717/1174/75 +f 766/1181/73 725/1182/73 726/1172/73 +f 721/1183/77 724/1184/77 720/1177/77 +f 722/1173/78 725/1185/78 721/1179/78 +f 720/1177/79 723/1186/79 719/1171/79 +f 733/1187/73 738/1188/73 737/1189/73 +f 732/1190/73 735/1191/73 731/1192/73 +f 727/1193/75 731/1192/75 729/1194/75 +f 729/1194/76 734/1195/76 730/1196/76 +f 731/1192/73 738/1197/73 734/1195/73 +f 730/1196/74 733/1187/74 728/1198/74 +f 735/1199/77 742/1200/77 738/1197/77 +f 736/1201/74 739/1202/74 735/1191/74 +f 738/1188/75 741/1203/75 737/1189/75 +f 745/1204/80 741/1205/80 742/1206/80 +f 745/1204/73 744/1207/73 743/1208/73 +f 742/1206/81 746/1209/81 745/1204/81 +f 740/1210/82 746/1209/82 739/1211/82 +f 747/1212/72 757/1213/72 748/1214/72 +f 753/1215/83 751/1216/83 752/1217/83 +f 748/1214/72 758/1218/72 750/1219/72 +f 748/1220/74 754/1221/74 753/1222/74 +f 747/1223/75 751/1216/75 749/1224/75 +f 749/1224/76 754/1221/76 750/1219/76 +f 749/1224/72 756/1225/72 747/1212/72 +f 750/1219/72 755/1226/72 749/1224/72 +f 759/1227/72 761/1228/72 760/1169/72 +f 758/1229/77 759/1227/77 755/1230/77 +f 756/1231/76 761/1228/76 757/1232/76 +f 757/1233/75 762/1234/75 758/1235/75 +f 766/1236/79 769/1237/79 764/1238/79 +f 765/1239/73 726/1172/73 723/1240/73 +f 763/1241/73 723/1240/73 724/1242/73 +f 764/1243/73 724/1242/73 725/1182/73 +f 769/1237/73 767/1244/73 768/1245/73 +f 763/1246/78 767/1244/78 765/1247/78 +f 765/1248/77 770/1249/77 766/1250/77 +f 764/1251/76 768/1245/76 763/1252/76 +f 772/1253/77 776/1254/77 771/1255/77 +f 774/1256/74 777/1257/74 772/1253/74 +f 771/1258/75 775/1259/75 773/1260/75 +f 773/1260/76 778/1261/76 774/1256/76 +f 780/1262/77 784/1263/77 779/1264/77 +f 782/1265/74 785/1266/74 780/1262/74 +f 779/1267/75 783/1268/75 781/1269/75 +f 781/1269/76 786/1270/76 782/1265/76 +f 788/1271/77 792/1272/77 787/1273/77 +f 790/1274/74 793/1275/74 788/1271/74 +f 787/1276/75 791/1277/75 789/1278/75 +f 789/1278/76 794/1279/76 790/1274/76 +f 796/1280/77 800/1281/77 795/1282/77 +f 798/1283/74 801/1284/74 796/1280/74 +f 795/1285/75 799/1286/75 797/1287/75 +f 797/1287/76 802/1288/76 798/1283/76 +f 830/1289/73 631/1290/73 630/1291/73 +f 631/1292/73 832/1293/73 632/1294/73 +f 832/1293/73 633/1295/73 632/1296/73 +f 833/1297/73 634/1298/73 633/1299/73 +f 834/1300/73 619/1301/73 634/1302/73 +f 819/1303/73 620/1304/73 619/1305/73 +f 820/1306/73 621/1307/73 620/1308/73 +f 821/1309/73 622/1310/73 621/1311/73 +f 822/1312/73 623/1313/73 622/1314/73 +f 623/1315/73 824/1316/73 624/1317/73 +f 624/1318/73 825/1319/73 625/1320/73 +f 625/1321/73 826/1322/73 626/1323/73 +f 626/1324/73 827/1325/73 627/1326/73 +f 627/1327/73 828/1328/73 628/1329/73 +f 828/1328/73 629/1330/73 628/1331/73 +f 629/1332/73 830/1289/73 630/1333/73 +f 837/1334/72 836/1335/72 835/1336/72 +f 841/1337/73 839/1338/73 840/1339/73 +f 838/1340/74 841/1337/74 836/1335/74 +f 835/1341/75 839/1338/75 837/1342/75 +f 837/1343/76 842/1344/76 838/1345/76 +f 836/1346/77 840/1339/77 835/1347/77 +f 845/1348/72 844/1349/72 843/1350/72 +f 849/1351/73 847/1352/73 848/1353/73 +f 846/1354/74 849/1351/74 844/1349/74 +f 843/1355/75 847/1352/75 845/1356/75 +f 845/1357/76 850/1358/76 846/1359/76 +f 844/1360/77 848/1353/77 843/1361/77 +f 852/1362/77 856/1363/77 851/1364/77 +f 854/1365/74 857/1366/74 852/1362/74 +f 851/1367/75 855/1368/75 853/1369/75 +f 853/1369/76 858/1370/76 854/1365/76 +f 860/1371/77 864/1372/77 859/1373/77 +f 862/1374/74 865/1375/74 860/1371/74 +f 859/1376/75 863/1377/75 861/1378/75 +f 861/1378/76 866/1379/76 862/1374/76 +f 900/1380/77 904/1381/77 899/1382/77 +f 902/1383/74 905/1384/74 900/1380/74 +f 899/1385/75 903/1386/75 901/1387/75 +f 901/1387/76 906/1388/76 902/1383/76 +f 908/1389/77 912/1390/77 907/1391/77 +f 910/1392/74 913/1393/74 908/1389/74 +f 907/1394/75 911/1395/75 909/1396/75 +f 909/1396/76 914/1397/76 910/1392/76 +f 925/1398/76 928/1399/76 924/1400/76 +f 919/1401/74 926/1402/74 922/1403/74 +f 918/1404/72 921/1405/72 916/1406/72 +f 915/1407/73 919/1408/73 917/1409/73 +f 917/1410/76 922/1403/76 918/1411/76 +f 916/1412/77 920/1413/77 915/1414/77 +f 921/1415/74 924/1400/74 920/1413/74 +f 922/1416/74 925/1417/74 921/1405/74 +f 920/1418/74 923/1419/74 919/1408/74 +f 929/1420/74 927/1421/74 928/1399/74 +f 926/1422/73 929/1420/73 925/1417/73 +f 924/1423/72 927/1421/72 923/1419/72 +f 923/1424/77 930/1425/77 926/1402/77 +f 932/1426/74 933/1427/74 931/1428/74 +f 936/1429/74 937/1430/74 935/1431/74 +f 940/1432/74 941/1433/74 939/1434/74 +f 944/1435/74 945/1436/74 943/1437/74 +f 948/1438/74 949/1439/74 947/1440/74 +f 958/1441/75 959/1442/75 955/1443/75 +f 952/1444/72 958/1445/72 954/1446/72 +f 953/1447/73 956/1448/73 951/1449/73 +f 954/1450/76 955/1443/76 953/1451/76 +f 951/1452/77 957/1453/77 952/1454/77 +f 960/1455/76 965/1456/76 961/1457/76 +f 956/1458/75 961/1457/75 957/1453/75 +f 957/1459/75 962/1460/75 958/1445/75 +f 955/1461/75 960/1462/75 956/1448/75 +f 966/1463/75 964/1464/75 963/1465/75 +f 961/1466/73 966/1463/73 962/1460/73 +f 959/1467/72 964/1464/72 960/1462/72 +f 962/1468/77 963/1465/77 959/1442/77 +f 970/1469/84 968/1470/84 967/1471/84 +f 977/1472/76 974/1473/76 973/1474/76 +f 976/1475/77 971/1476/77 972/1477/77 +f 978/1478/74 972/1477/74 974/1473/74 +f 975/1479/75 973/1474/75 971/1480/75 +f 985/1481/76 982/1482/76 981/1483/76 +f 984/1484/77 979/1485/77 980/1486/77 +f 986/1487/74 980/1486/74 982/1482/74 +f 983/1488/75 981/1483/75 979/1489/75 +f 989/1490/72 988/1491/72 987/1492/72 +f 992/1493/73 993/1494/73 991/1495/73 +f 990/1496/75 992/1493/75 988/1497/75 +f 988/1491/76 991/1495/76 987/1492/76 +f 987/1498/74 993/1494/74 989/1499/74 +f 613/1067/72 614/1500/72 612/1068/72 +f 616/1070/73 618/1079/73 617/1071/73 +f 614/1073/74 618/1079/74 616/1070/74 +f 611/1075/75 615/1082/75 617/1076/75 +f 613/1078/76 617/1071/76 618/1079/76 +f 612/1081/77 616/1501/77 615/1082/77 +f 647/1084/72 663/1089/72 662/1085/72 +f 647/1087/72 648/1502/72 664/1088/72 +f 649/1090/72 665/1093/72 664/1088/72 +f 650/1092/72 666/1096/72 665/1093/72 +f 635/1095/72 651/1503/72 666/1096/72 +f 636/1098/72 652/1102/72 651/1099/72 +f 637/1101/72 653/1105/72 652/1102/72 +f 638/1104/72 654/1108/72 653/1105/72 +f 639/1107/72 655/1112/72 654/1108/72 +f 639/1110/72 640/1504/72 656/1111/72 +f 640/1113/72 641/1505/72 657/1114/72 +f 641/1115/72 642/1506/72 658/1116/72 +f 642/1117/72 643/1507/72 659/1118/72 +f 643/1119/72 644/1508/72 660/1120/72 +f 645/1121/72 661/1124/72 660/1120/72 +f 645/1123/72 646/1509/72 662/1085/72 +f 679/1125/73 695/1510/73 694/1126/73 +f 680/1128/73 696/1511/73 695/1129/73 +f 681/1130/73 697/1512/73 696/1131/73 +f 681/1130/73 682/1134/73 698/1132/73 +f 682/1134/73 667/1513/73 683/1135/73 +f 668/1137/73 684/1514/73 683/1138/73 +f 668/1137/73 669/1142/73 685/1140/73 +f 669/1142/73 670/1145/73 686/1143/73 +f 670/1145/73 671/1148/73 687/1146/73 +f 671/1148/73 672/1153/73 688/1149/73 +f 673/1151/73 689/1515/73 688/1152/73 +f 674/1154/73 690/1516/73 689/1155/73 +f 674/1154/73 675/1160/73 691/1156/73 +f 676/1158/73 692/1517/73 691/1159/73 +f 677/1161/73 693/1518/73 692/1162/73 +f 677/1161/73 678/1127/73 694/1163/73 +f 699/1165/73 700/1519/73 701/1520/73 +f 701/1520/73 702/1521/73 703/1166/73 +f 703/1166/73 704/1522/73 707/1167/73 +f 704/1522/73 705/1523/73 707/1167/73 +f 705/1523/73 706/1524/73 707/1167/73 +f 707/1167/73 708/1525/73 709/1526/73 +f 709/1526/73 710/1527/73 707/1167/73 +f 710/1527/73 711/1528/73 707/1167/73 +f 711/1528/73 712/1529/73 713/1530/73 +f 713/1530/73 714/1531/73 699/1165/73 +f 699/1165/73 701/1520/73 703/1166/73 +f 711/1528/73 713/1530/73 707/1167/73 +f 713/1530/73 699/1165/73 707/1167/73 +f 755/1168/74 759/1227/74 760/1169/74 +f 719/1171/76 723/1240/76 726/1172/76 +f 717/1174/76 719/1171/76 722/1173/76 +f 716/1176/77 721/1183/77 720/1177/77 +f 718/1175/74 722/1173/74 721/1179/74 +f 715/1178/75 720/1177/75 719/1171/75 +f 766/1181/73 764/1243/73 725/1182/73 +f 721/1183/77 725/1532/77 724/1184/77 +f 722/1173/78 726/1533/78 725/1185/78 +f 720/1177/79 724/1534/79 723/1186/79 +f 733/1187/73 734/1195/73 738/1188/73 +f 732/1190/73 736/1201/73 735/1191/73 +f 727/1193/75 732/1190/75 731/1192/75 +f 729/1194/76 731/1192/76 734/1195/76 +f 731/1192/73 735/1199/73 738/1197/73 +f 730/1196/74 734/1195/74 733/1187/74 +f 735/1199/77 739/1535/77 742/1200/77 +f 736/1201/74 740/1536/74 739/1202/74 +f 738/1188/75 742/1537/75 741/1203/75 +f 745/1204/80 743/1208/80 741/1205/80 +f 745/1204/73 746/1209/73 744/1207/73 +f 742/1206/81 739/1211/81 746/1209/81 +f 740/1210/82 744/1207/82 746/1209/82 +f 747/1212/72 756/1225/72 757/1213/72 +f 753/1215/83 754/1221/83 751/1216/83 +f 748/1214/72 757/1213/72 758/1218/72 +f 748/1220/74 750/1219/74 754/1221/74 +f 747/1223/75 752/1538/75 751/1216/75 +f 749/1224/76 751/1216/76 754/1221/76 +f 749/1224/72 755/1226/72 756/1225/72 +f 750/1219/72 758/1218/72 755/1226/72 +f 759/1227/72 762/1234/72 761/1228/72 +f 758/1229/77 762/1234/77 759/1227/77 +f 756/1231/76 760/1169/76 761/1228/76 +f 757/1233/75 761/1228/75 762/1234/75 +f 766/1236/79 770/1249/79 769/1237/79 +f 765/1239/73 766/1181/73 726/1172/73 +f 763/1241/73 765/1239/73 723/1240/73 +f 764/1243/73 763/1241/73 724/1242/73 +f 769/1237/73 770/1249/73 767/1244/73 +f 763/1246/78 768/1245/78 767/1244/78 +f 765/1248/77 767/1244/77 770/1249/77 +f 764/1251/76 769/1237/76 768/1245/76 +f 772/1253/77 777/1257/77 776/1254/77 +f 774/1256/74 778/1261/74 777/1257/74 +f 771/1258/75 776/1539/75 775/1259/75 +f 773/1260/76 775/1259/76 778/1261/76 +f 780/1262/77 785/1266/77 784/1263/77 +f 782/1265/74 786/1270/74 785/1266/74 +f 779/1267/75 784/1540/75 783/1268/75 +f 781/1269/76 783/1268/76 786/1270/76 +f 788/1271/77 793/1275/77 792/1272/77 +f 790/1274/74 794/1279/74 793/1275/74 +f 787/1276/75 792/1541/75 791/1277/75 +f 789/1278/76 791/1277/76 794/1279/76 +f 796/1280/77 801/1284/77 800/1281/77 +f 798/1283/74 802/1288/74 801/1284/74 +f 795/1285/75 800/1542/75 799/1286/75 +f 797/1287/76 799/1286/76 802/1288/76 +f 830/1289/73 831/1543/73 631/1290/73 +f 631/1292/73 831/1543/73 832/1293/73 +f 832/1293/73 833/1297/73 633/1295/73 +f 833/1297/73 834/1300/73 634/1298/73 +f 834/1300/73 819/1544/73 619/1301/73 +f 819/1303/73 820/1306/73 620/1304/73 +f 820/1306/73 821/1309/73 621/1307/73 +f 821/1309/73 822/1312/73 622/1310/73 +f 822/1312/73 823/1545/73 623/1313/73 +f 623/1315/73 823/1545/73 824/1316/73 +f 624/1318/73 824/1316/73 825/1319/73 +f 625/1321/73 825/1319/73 826/1322/73 +f 626/1324/73 826/1322/73 827/1325/73 +f 627/1327/73 827/1325/73 828/1328/73 +f 828/1328/73 829/1546/73 629/1330/73 +f 629/1332/73 829/1546/73 830/1289/73 +f 837/1334/72 838/1340/72 836/1335/72 +f 841/1337/73 842/1344/73 839/1338/73 +f 838/1340/74 842/1344/74 841/1337/74 +f 835/1341/75 840/1339/75 839/1338/75 +f 837/1343/76 839/1338/76 842/1344/76 +f 836/1346/77 841/1337/77 840/1339/77 +f 845/1348/72 846/1354/72 844/1349/72 +f 849/1351/73 850/1358/73 847/1352/73 +f 846/1354/74 850/1358/74 849/1351/74 +f 843/1355/75 848/1353/75 847/1352/75 +f 845/1357/76 847/1352/76 850/1358/76 +f 844/1360/77 849/1351/77 848/1353/77 +f 852/1362/77 857/1366/77 856/1363/77 +f 854/1365/74 858/1370/74 857/1366/74 +f 851/1367/75 856/1547/75 855/1368/75 +f 853/1369/76 855/1368/76 858/1370/76 +f 860/1371/77 865/1375/77 864/1372/77 +f 862/1374/74 866/1379/74 865/1375/74 +f 859/1376/75 864/1548/75 863/1377/75 +f 861/1378/76 863/1377/76 866/1379/76 +f 900/1380/77 905/1384/77 904/1381/77 +f 902/1383/74 906/1388/74 905/1384/74 +f 899/1385/75 904/1549/75 903/1386/75 +f 901/1387/76 903/1386/76 906/1388/76 +f 908/1389/77 913/1393/77 912/1390/77 +f 910/1392/74 914/1397/74 913/1393/74 +f 907/1394/75 912/1550/75 911/1395/75 +f 909/1396/76 911/1395/76 914/1397/76 +f 925/1398/76 929/1420/76 928/1399/76 +f 919/1401/74 923/1424/74 926/1402/74 +f 918/1404/72 922/1416/72 921/1405/72 +f 915/1407/73 920/1418/73 919/1408/73 +f 917/1410/76 919/1401/76 922/1403/76 +f 916/1412/77 921/1415/77 920/1413/77 +f 921/1415/74 925/1398/74 924/1400/74 +f 922/1416/74 926/1422/74 925/1417/74 +f 920/1418/74 924/1423/74 923/1419/74 +f 929/1420/74 930/1425/74 927/1421/74 +f 926/1422/73 930/1425/73 929/1420/73 +f 924/1423/72 928/1399/72 927/1421/72 +f 923/1424/77 927/1421/77 930/1425/77 +f 932/1426/74 934/1551/74 933/1427/74 +f 936/1429/74 938/1552/74 937/1430/74 +f 940/1432/74 942/1553/74 941/1433/74 +f 944/1435/74 946/1554/74 945/1436/74 +f 948/1438/74 950/1555/74 949/1439/74 +f 958/1441/75 962/1468/75 959/1442/75 +f 952/1444/72 957/1459/72 958/1445/72 +f 953/1447/73 955/1461/73 956/1448/73 +f 954/1450/76 958/1441/76 955/1443/76 +f 951/1452/77 956/1458/77 957/1453/77 +f 960/1455/76 964/1464/76 965/1456/76 +f 956/1458/75 960/1455/75 961/1457/75 +f 957/1459/75 961/1466/75 962/1460/75 +f 955/1461/75 959/1467/75 960/1462/75 +f 966/1463/75 965/1456/75 964/1464/75 +f 961/1466/73 965/1456/73 966/1463/73 +f 959/1467/72 963/1465/72 964/1464/72 +f 962/1468/77 966/1463/77 963/1465/77 +f 970/1469/84 969/1556/84 968/1470/84 +f 977/1472/76 978/1478/76 974/1473/76 +f 976/1475/77 975/1557/77 971/1476/77 +f 978/1478/74 976/1475/74 972/1477/74 +f 975/1479/75 977/1472/75 973/1474/75 +f 985/1481/76 986/1487/76 982/1482/76 +f 984/1484/77 983/1558/77 979/1485/77 +f 986/1487/74 984/1484/74 980/1486/74 +f 983/1488/75 985/1481/75 981/1483/75 +f 989/1490/72 990/1559/72 988/1491/72 +f 992/1493/73 994/1560/73 993/1494/73 +f 990/1496/75 994/1560/75 992/1493/75 +f 988/1491/76 992/1493/76 991/1495/76 +f 987/1498/74 991/1495/74 993/1494/74 s 1 -f 633/1560/85 648/1561/86 632/1562/86 -f 626/1563/87 641/1564/88 625/1565/88 -f 634/1566/89 649/1567/85 633/1560/85 -f 627/1568/77 642/1569/87 626/1563/87 -f 620/1570/90 635/1571/76 619/1572/76 -f 619/1573/76 650/1574/89 634/1566/89 -f 628/1575/91 643/1576/77 627/1568/77 -f 621/1577/92 636/1578/90 620/1570/90 -f 629/1579/93 644/1580/91 628/1575/91 -f 622/1581/94 637/1582/92 621/1577/92 -f 630/1583/95 645/1584/93 629/1579/93 -f 623/1585/75 638/1586/94 622/1581/94 -f 631/1587/74 646/1588/95 630/1583/95 -f 624/1589/96 639/1590/75 623/1585/75 -f 632/1562/86 647/1591/74 631/1587/74 -f 625/1565/88 640/1592/96 624/1589/96 -f 661/1122/93 676/1156/91 660/1118/91 -f 654/1106/94 669/1140/92 653/1103/92 -f 662/1083/95 677/1159/93 661/1122/93 -f 655/1110/75 670/1143/94 654/1106/94 -f 663/1087/74 678/1125/95 662/1083/95 -f 656/1109/96 671/1146/75 655/1110/75 -f 664/1086/86 679/1123/74 663/1087/74 -f 657/1112/88 672/1151/96 656/1109/96 -f 665/1091/85 680/1126/86 664/1086/86 -f 658/1114/87 673/1149/88 657/1112/88 -f 666/1094/89 681/1128/85 665/1091/85 -f 659/1116/77 674/1152/87 658/1114/87 -f 652/1100/90 667/1137/76 651/1097/76 -f 651/1502/76 682/1132/89 666/1094/89 -f 660/1118/91 675/1158/77 659/1116/77 -f 653/1103/92 668/1135/90 652/1100/90 -f 696/1593/96 711/1594/75 695/1595/75 -f 689/1596/85 704/1597/86 688/1598/86 -f 697/1599/88 712/1600/96 696/1593/96 -f 690/1601/89 705/1602/85 689/1596/85 -f 698/1603/87 713/1604/88 697/1599/88 -f 691/1605/76 706/1606/89 690/1601/89 -f 684/1607/91 699/1608/77 683/1609/77 -f 683/1610/77 714/1611/87 698/1603/87 -f 692/1612/90 707/1613/76 691/1614/76 -f 685/1615/93 700/1616/91 684/1607/91 -f 693/1617/92 708/1618/90 692/1612/90 -f 686/1619/95 701/1620/93 685/1615/93 -f 694/1621/94 709/1622/92 693/1617/92 -f 687/1623/74 702/1624/95 686/1619/95 -f 695/1595/75 710/1625/94 694/1621/94 -f 688/1598/86 703/1626/74 687/1623/74 -f 813/1627/93 828/1326/91 812/1628/91 -f 806/1629/94 821/1307/92 805/1630/92 -f 814/1631/95 829/1545/93 813/1627/93 -f 807/1632/75 822/1310/94 806/1629/94 -f 815/1633/74 830/1287/95 814/1631/95 -f 808/1634/96 823/1544/75 807/1632/75 -f 816/1635/86 831/1542/74 815/1633/74 -f 809/1636/88 824/1314/96 808/1634/96 -f 817/1637/85 832/1291/86 816/1635/86 -f 810/1638/87 825/1317/88 809/1636/88 -f 818/1639/89 833/1295/85 817/1637/85 -f 811/1640/77 826/1320/87 810/1638/87 -f 804/1641/90 819/1301/76 803/1642/76 -f 803/1643/76 834/1298/89 818/1639/89 -f 812/1628/91 827/1323/77 811/1640/77 -f 805/1630/92 820/1304/90 804/1641/90 -f 874/1644/97 881/1645/74 873/1646/74 -f 872/1647/98 879/1648/72 871/1649/72 -f 870/1650/99 877/1651/75 869/1652/75 -f 868/1653/100 875/1654/73 867/1655/73 -f 867/1655/73 882/1656/97 874/1644/97 -f 873/1646/74 880/1657/98 872/1647/98 -f 871/1658/72 878/1659/99 870/1650/99 -f 869/1652/75 876/1660/100 868/1653/100 -f 890/1661/97 897/1662/74 889/1663/74 -f 888/1664/98 895/1665/72 887/1666/72 -f 886/1667/99 893/1668/75 885/1669/75 -f 884/1670/100 891/1671/73 883/1672/73 -f 883/1672/73 898/1673/97 890/1661/97 -f 889/1663/74 896/1674/98 888/1664/98 -f 887/1675/72 894/1676/99 886/1667/99 -f 885/1669/75 892/1677/100 884/1670/100 -f 633/1560/85 649/1567/85 648/1561/86 -f 626/1563/87 642/1569/87 641/1564/88 -f 634/1566/89 650/1574/89 649/1567/85 -f 627/1568/77 643/1576/77 642/1569/87 -f 620/1570/90 636/1578/90 635/1571/76 -f 619/1573/76 635/1678/76 650/1574/89 -f 628/1575/91 644/1580/91 643/1576/77 -f 621/1577/92 637/1582/92 636/1578/90 -f 629/1579/93 645/1584/93 644/1580/91 -f 622/1581/94 638/1586/94 637/1582/92 -f 630/1583/95 646/1588/95 645/1584/93 -f 623/1585/75 639/1590/75 638/1586/94 -f 631/1587/74 647/1591/74 646/1588/95 -f 624/1589/96 640/1592/96 639/1590/75 -f 632/1562/86 648/1561/86 647/1591/74 -f 625/1565/88 641/1564/88 640/1592/96 -f 661/1122/93 677/1159/93 676/1156/91 -f 654/1106/94 670/1143/94 669/1140/92 -f 662/1083/95 678/1125/95 677/1159/93 -f 655/1110/75 671/1146/75 670/1143/94 -f 663/1087/74 679/1123/74 678/1125/95 -f 656/1109/96 672/1151/96 671/1146/75 -f 664/1086/86 680/1126/86 679/1123/74 -f 657/1112/88 673/1149/88 672/1151/96 -f 665/1091/85 681/1128/85 680/1126/86 -f 658/1114/87 674/1152/87 673/1149/88 -f 666/1094/89 682/1132/89 681/1128/85 -f 659/1116/77 675/1158/77 674/1152/87 -f 652/1100/90 668/1135/90 667/1137/76 -f 651/1502/76 667/1512/76 682/1132/89 -f 660/1118/91 676/1156/91 675/1158/77 -f 653/1103/92 669/1140/92 668/1135/90 -f 696/1593/96 712/1600/96 711/1594/75 -f 689/1596/85 705/1602/85 704/1597/86 -f 697/1599/88 713/1604/88 712/1600/96 -f 690/1601/89 706/1606/89 705/1602/85 -f 698/1603/87 714/1611/87 713/1604/88 -f 691/1605/76 707/1679/76 706/1606/89 -f 684/1607/91 700/1616/91 699/1608/77 -f 683/1610/77 699/1680/77 714/1611/87 -f 692/1612/90 708/1618/90 707/1613/76 -f 685/1615/93 701/1620/93 700/1616/91 -f 693/1617/92 709/1622/92 708/1618/90 -f 686/1619/95 702/1624/95 701/1620/93 -f 694/1621/94 710/1625/94 709/1622/92 -f 687/1623/74 703/1626/74 702/1624/95 -f 695/1595/75 711/1594/75 710/1625/94 -f 688/1598/86 704/1597/86 703/1626/74 -f 813/1627/93 829/1545/93 828/1326/91 -f 806/1629/94 822/1310/94 821/1307/92 -f 814/1631/95 830/1287/95 829/1545/93 -f 807/1632/75 823/1544/75 822/1310/94 -f 815/1633/74 831/1542/74 830/1287/95 -f 808/1634/96 824/1314/96 823/1544/75 -f 816/1635/86 832/1291/86 831/1542/74 -f 809/1636/88 825/1317/88 824/1314/96 -f 817/1637/85 833/1295/85 832/1291/86 -f 810/1638/87 826/1320/87 825/1317/88 -f 818/1639/89 834/1298/89 833/1295/85 -f 811/1640/77 827/1323/77 826/1320/87 -f 804/1641/90 820/1304/90 819/1301/76 -f 803/1643/76 819/1543/76 834/1298/89 -f 812/1628/91 828/1326/91 827/1323/77 -f 805/1630/92 821/1307/92 820/1304/90 -f 874/1644/97 882/1656/97 881/1645/74 -f 872/1647/98 880/1657/98 879/1648/72 -f 870/1650/99 878/1659/99 877/1651/75 -f 868/1653/100 876/1660/100 875/1654/73 -f 867/1655/73 875/1654/73 882/1656/97 -f 873/1646/74 881/1645/74 880/1657/98 -f 871/1658/72 879/1681/72 878/1659/99 -f 869/1652/75 877/1651/75 876/1660/100 -f 890/1661/97 898/1673/97 897/1662/74 -f 888/1664/98 896/1674/98 895/1665/72 -f 886/1667/99 894/1676/99 893/1668/75 -f 884/1670/100 892/1677/100 891/1671/73 -f 883/1672/73 891/1671/73 898/1673/97 -f 889/1663/74 897/1662/74 896/1674/98 -f 887/1675/72 895/1682/72 894/1676/99 -f 885/1669/75 893/1668/75 892/1677/100 +f 633/1561/85 648/1562/86 632/1563/86 +f 626/1564/87 641/1565/88 625/1566/88 +f 634/1567/89 649/1568/85 633/1561/85 +f 627/1569/77 642/1570/87 626/1564/87 +f 620/1571/90 635/1572/76 619/1573/76 +f 619/1574/76 650/1575/89 634/1567/89 +f 628/1576/91 643/1577/77 627/1569/77 +f 621/1578/92 636/1579/90 620/1571/90 +f 629/1580/93 644/1581/91 628/1576/91 +f 622/1582/94 637/1583/92 621/1578/92 +f 630/1584/95 645/1585/93 629/1580/93 +f 623/1586/75 638/1587/94 622/1582/94 +f 631/1588/74 646/1589/95 630/1584/95 +f 624/1590/96 639/1591/75 623/1586/75 +f 632/1563/86 647/1592/74 631/1588/74 +f 625/1566/88 640/1593/96 624/1590/96 +f 661/1124/93 676/1158/91 660/1120/91 +f 654/1108/94 669/1142/92 653/1105/92 +f 662/1085/95 677/1161/93 661/1124/93 +f 655/1112/75 670/1145/94 654/1108/94 +f 663/1089/74 678/1127/95 662/1085/95 +f 656/1111/96 671/1148/75 655/1112/75 +f 664/1088/86 679/1125/74 663/1089/74 +f 657/1114/88 672/1153/96 656/1111/96 +f 665/1093/85 680/1128/86 664/1088/86 +f 658/1116/87 673/1151/88 657/1114/88 +f 666/1096/89 681/1130/85 665/1093/85 +f 659/1118/77 674/1154/87 658/1116/87 +f 652/1102/90 667/1139/76 651/1099/76 +f 651/1503/76 682/1134/89 666/1096/89 +f 660/1120/91 675/1160/77 659/1118/77 +f 653/1105/92 668/1137/90 652/1102/90 +f 696/1594/96 711/1595/75 695/1596/75 +f 689/1597/85 704/1598/86 688/1599/86 +f 697/1600/88 712/1601/96 696/1594/96 +f 690/1602/89 705/1603/85 689/1597/85 +f 698/1604/87 713/1605/88 697/1600/88 +f 691/1606/76 706/1607/89 690/1602/89 +f 684/1608/91 699/1609/77 683/1610/77 +f 683/1611/77 714/1612/87 698/1604/87 +f 692/1613/90 707/1614/76 691/1615/76 +f 685/1616/93 700/1617/91 684/1608/91 +f 693/1618/92 708/1619/90 692/1613/90 +f 686/1620/95 701/1621/93 685/1616/93 +f 694/1622/94 709/1623/92 693/1618/92 +f 687/1624/74 702/1625/95 686/1620/95 +f 695/1596/75 710/1626/94 694/1622/94 +f 688/1599/86 703/1627/74 687/1624/74 +f 813/1628/93 828/1328/91 812/1629/91 +f 806/1630/94 821/1309/92 805/1631/92 +f 814/1632/95 829/1546/93 813/1628/93 +f 807/1633/75 822/1312/94 806/1630/94 +f 815/1634/74 830/1289/95 814/1632/95 +f 808/1635/96 823/1545/75 807/1633/75 +f 816/1636/86 831/1543/74 815/1634/74 +f 809/1637/88 824/1316/96 808/1635/96 +f 817/1638/85 832/1293/86 816/1636/86 +f 810/1639/87 825/1319/88 809/1637/88 +f 818/1640/89 833/1297/85 817/1638/85 +f 811/1641/77 826/1322/87 810/1639/87 +f 804/1642/90 819/1303/76 803/1643/76 +f 803/1644/76 834/1300/89 818/1640/89 +f 812/1629/91 827/1325/77 811/1641/77 +f 805/1631/92 820/1306/90 804/1642/90 +f 874/1645/97 881/1646/74 873/1647/74 +f 872/1648/98 879/1649/72 871/1650/72 +f 870/1651/99 877/1652/75 869/1653/75 +f 868/1654/100 875/1655/73 867/1656/73 +f 867/1656/73 882/1657/97 874/1645/97 +f 873/1647/74 880/1658/98 872/1648/98 +f 871/1659/72 878/1660/99 870/1651/99 +f 869/1653/75 876/1661/100 868/1654/100 +f 890/1662/97 897/1663/74 889/1664/74 +f 888/1665/98 895/1666/72 887/1667/72 +f 886/1668/99 893/1669/75 885/1670/75 +f 884/1671/100 891/1672/73 883/1673/73 +f 883/1673/73 898/1674/97 890/1662/97 +f 889/1664/74 896/1675/98 888/1665/98 +f 887/1676/72 894/1677/99 886/1668/99 +f 885/1670/75 892/1678/100 884/1671/100 +f 633/1561/85 649/1568/85 648/1562/86 +f 626/1564/87 642/1570/87 641/1565/88 +f 634/1567/89 650/1575/89 649/1568/85 +f 627/1569/77 643/1577/77 642/1570/87 +f 620/1571/90 636/1579/90 635/1572/76 +f 619/1574/76 635/1679/76 650/1575/89 +f 628/1576/91 644/1581/91 643/1577/77 +f 621/1578/92 637/1583/92 636/1579/90 +f 629/1580/93 645/1585/93 644/1581/91 +f 622/1582/94 638/1587/94 637/1583/92 +f 630/1584/95 646/1589/95 645/1585/93 +f 623/1586/75 639/1591/75 638/1587/94 +f 631/1588/74 647/1592/74 646/1589/95 +f 624/1590/96 640/1593/96 639/1591/75 +f 632/1563/86 648/1562/86 647/1592/74 +f 625/1566/88 641/1565/88 640/1593/96 +f 661/1124/93 677/1161/93 676/1158/91 +f 654/1108/94 670/1145/94 669/1142/92 +f 662/1085/95 678/1127/95 677/1161/93 +f 655/1112/75 671/1148/75 670/1145/94 +f 663/1089/74 679/1125/74 678/1127/95 +f 656/1111/96 672/1153/96 671/1148/75 +f 664/1088/86 680/1128/86 679/1125/74 +f 657/1114/88 673/1151/88 672/1153/96 +f 665/1093/85 681/1130/85 680/1128/86 +f 658/1116/87 674/1154/87 673/1151/88 +f 666/1096/89 682/1134/89 681/1130/85 +f 659/1118/77 675/1160/77 674/1154/87 +f 652/1102/90 668/1137/90 667/1139/76 +f 651/1503/76 667/1513/76 682/1134/89 +f 660/1120/91 676/1158/91 675/1160/77 +f 653/1105/92 669/1142/92 668/1137/90 +f 696/1594/96 712/1601/96 711/1595/75 +f 689/1597/85 705/1603/85 704/1598/86 +f 697/1600/88 713/1605/88 712/1601/96 +f 690/1602/89 706/1607/89 705/1603/85 +f 698/1604/87 714/1612/87 713/1605/88 +f 691/1606/76 707/1680/76 706/1607/89 +f 684/1608/91 700/1617/91 699/1609/77 +f 683/1611/77 699/1681/77 714/1612/87 +f 692/1613/90 708/1619/90 707/1614/76 +f 685/1616/93 701/1621/93 700/1617/91 +f 693/1618/92 709/1623/92 708/1619/90 +f 686/1620/95 702/1625/95 701/1621/93 +f 694/1622/94 710/1626/94 709/1623/92 +f 687/1624/74 703/1627/74 702/1625/95 +f 695/1596/75 711/1595/75 710/1626/94 +f 688/1599/86 704/1598/86 703/1627/74 +f 813/1628/93 829/1546/93 828/1328/91 +f 806/1630/94 822/1312/94 821/1309/92 +f 814/1632/95 830/1289/95 829/1546/93 +f 807/1633/75 823/1545/75 822/1312/94 +f 815/1634/74 831/1543/74 830/1289/95 +f 808/1635/96 824/1316/96 823/1545/75 +f 816/1636/86 832/1293/86 831/1543/74 +f 809/1637/88 825/1319/88 824/1316/96 +f 817/1638/85 833/1297/85 832/1293/86 +f 810/1639/87 826/1322/87 825/1319/88 +f 818/1640/89 834/1300/89 833/1297/85 +f 811/1641/77 827/1325/77 826/1322/87 +f 804/1642/90 820/1306/90 819/1303/76 +f 803/1644/76 819/1544/76 834/1300/89 +f 812/1629/91 828/1328/91 827/1325/77 +f 805/1631/92 821/1309/92 820/1306/90 +f 874/1645/97 882/1657/97 881/1646/74 +f 872/1648/98 880/1658/98 879/1649/72 +f 870/1651/99 878/1660/99 877/1652/75 +f 868/1654/100 876/1661/100 875/1655/73 +f 867/1656/73 875/1655/73 882/1657/97 +f 873/1647/74 881/1646/74 880/1658/98 +f 871/1659/72 879/1682/72 878/1660/99 +f 869/1653/75 877/1652/75 876/1661/100 +f 890/1662/97 898/1674/97 897/1663/74 +f 888/1665/98 896/1675/98 895/1666/72 +f 886/1668/99 894/1677/99 893/1669/75 +f 884/1671/100 892/1678/100 891/1672/73 +f 883/1673/73 891/1672/73 898/1674/97 +f 889/1664/74 897/1663/74 896/1675/98 +f 887/1676/72 895/1683/72 894/1677/99 +f 885/1670/75 893/1669/75 892/1678/100 diff --git a/src/main/resources/assets/hbm/models/weapons/greasegun.obj b/src/main/resources/assets/hbm/models/weapons/greasegun.obj new file mode 100644 index 000000000..fd439f5e1 --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/greasegun.obj @@ -0,0 +1,4975 @@ +# Blender v2.79 (sub 0) OBJ File: 'greasegun.blend' +# www.blender.org +o Cylinder +v 0.000000 0.250000 3.750000 +v 0.000000 0.250000 8.000000 +v 0.095671 0.230970 3.750000 +v 0.095671 0.230970 8.000000 +v 0.176777 0.176777 3.750000 +v 0.176777 0.176776 8.000000 +v 0.230970 0.095671 3.750000 +v 0.230970 0.095671 8.000000 +v 0.250000 -0.000000 3.750000 +v 0.250000 0.000000 8.000000 +v 0.230970 -0.095671 3.750000 +v 0.230970 -0.095671 8.000000 +v 0.176777 -0.176777 3.750000 +v 0.176777 -0.176777 8.000000 +v 0.095671 -0.230970 3.750000 +v 0.095671 -0.230970 8.000000 +v 0.000000 -0.250000 3.750000 +v 0.000000 -0.250000 8.000000 +v -0.095671 -0.230970 3.750000 +v -0.095671 -0.230970 8.000000 +v -0.176777 -0.176777 3.750000 +v -0.176777 -0.176777 8.000000 +v -0.230970 -0.095671 3.750000 +v -0.230970 -0.095671 8.000000 +v -0.250000 0.000000 3.750000 +v -0.250000 0.000000 8.000000 +v -0.230970 0.095671 3.750000 +v -0.230970 0.095671 8.000000 +v -0.176777 0.176777 3.750000 +v -0.176777 0.176776 8.000000 +v -0.095671 0.230970 3.750000 +v -0.095671 0.230970 8.000000 +v 0.000000 0.187500 8.000000 +v -0.071753 0.173227 8.000000 +v -0.132583 0.132583 8.000000 +v -0.173227 0.071753 8.000000 +v -0.187500 -0.000000 8.000000 +v -0.173227 -0.071753 8.000000 +v -0.132583 -0.132583 8.000000 +v -0.071753 -0.173227 8.000000 +v 0.000000 -0.187500 8.000000 +v 0.071753 -0.173227 8.000000 +v 0.132582 -0.132583 8.000000 +v 0.173227 -0.071753 8.000000 +v 0.187500 0.000000 8.000000 +v 0.173227 0.071753 8.000000 +v 0.132582 0.132583 8.000000 +v 0.071753 0.173227 8.000000 +v 0.000000 0.187500 2.875000 +v -0.071753 0.173227 2.875000 +v -0.132583 0.132583 2.875000 +v -0.173227 0.071753 2.875000 +v -0.187500 -0.000000 2.875000 +v -0.173227 -0.071753 2.875000 +v -0.132583 -0.132583 2.875000 +v -0.071753 -0.173227 2.875000 +v 0.000000 -0.187500 2.875000 +v 0.071753 -0.173227 2.875000 +v 0.132582 -0.132583 2.875000 +v 0.173227 -0.071753 2.875000 +v 0.187500 0.000000 2.875000 +v 0.173227 0.071753 2.875000 +v 0.132582 0.132583 2.875000 +v 0.071753 0.173227 2.875000 +v 0.000000 0.687500 3.375000 +v -0.263095 0.635167 3.375000 +v -0.486136 0.486136 3.375000 +v -0.635167 0.263095 3.375000 +v -0.687500 0.000000 3.375000 +v -0.635167 -0.263095 3.375000 +v -0.486136 -0.486136 3.375000 +v -0.263095 -0.635167 3.375000 +v 0.000000 -0.687500 3.375000 +v 0.263095 -0.635167 3.375000 +v 0.486136 -0.486136 3.375000 +v 0.635167 -0.263095 3.375000 +v 0.687500 0.000000 3.375000 +v 0.635167 0.263095 3.375000 +v 0.486136 0.486136 3.375000 +v 0.263094 0.635167 3.375000 +v 0.000000 0.500000 3.500000 +v -0.191342 0.461940 3.500000 +v -0.353553 0.353553 3.500000 +v -0.461940 0.191342 3.500000 +v -0.500000 0.000000 3.500000 +v -0.461940 -0.191342 3.500000 +v -0.353553 -0.353553 3.500000 +v -0.191342 -0.461940 3.500000 +v 0.000000 -0.500000 3.500000 +v 0.191342 -0.461940 3.500000 +v 0.353553 -0.353554 3.500000 +v 0.461940 -0.191342 3.500000 +v 0.500000 0.000000 3.500000 +v 0.461940 0.191342 3.500000 +v 0.353553 0.353554 3.500000 +v 0.191341 0.461940 3.500000 +v 0.239177 0.577425 2.500000 +v 0.441941 0.441942 2.500000 +v 0.577425 0.239177 2.500000 +v 0.625000 0.000000 2.500000 +v 0.577425 -0.239177 2.500000 +v 0.441941 -0.441942 2.500000 +v 0.239177 -0.577425 2.500000 +v 0.000000 -0.625000 2.500000 +v -0.239177 -0.577425 2.500000 +v -0.441942 -0.441942 2.500000 +v -0.577425 -0.239177 2.500000 +v -0.625000 -0.000000 2.500000 +v -0.577425 0.239177 2.500000 +v -0.441942 0.441942 2.500000 +v -0.239177 0.577425 2.500000 +v 0.000000 0.625000 2.500000 +v 0.635167 0.263095 2.875000 +v 0.687500 0.000000 2.875000 +v -0.486136 -0.486136 2.875000 +v -0.635167 -0.263095 2.875000 +v 0.486136 0.486136 2.875000 +v -0.263095 -0.635167 2.875000 +v 0.263094 0.635167 2.875000 +v 0.000000 -0.687500 2.875000 +v -0.263095 0.635167 2.875000 +v 0.000000 0.687500 2.875000 +v 0.263095 -0.635167 2.875000 +v -0.486136 0.486136 2.875000 +v 0.486136 -0.486136 2.875000 +v -0.635167 0.263095 2.875000 +v 0.635167 -0.263095 2.875000 +v -0.687500 0.000000 2.875000 +v 0.000000 0.625000 2.875000 +v -0.239177 0.577425 2.875000 +v -0.441942 0.441942 2.875000 +v -0.577425 0.239177 2.875000 +v -0.625000 -0.000000 2.875000 +v -0.577425 -0.239177 2.875000 +v -0.441942 -0.441942 2.875000 +v -0.239177 -0.577425 2.875000 +v 0.000000 -0.625000 2.875000 +v 0.239177 -0.577425 2.875000 +v 0.441941 -0.441942 2.875000 +v 0.577425 -0.239177 2.875000 +v 0.625000 0.000000 2.875000 +v 0.577425 0.239177 2.875000 +v 0.441941 0.441942 2.875000 +v 0.239177 0.577425 2.875000 +v 0.635167 0.263095 3.062500 +v 0.687500 0.000000 3.062500 +v -0.486136 -0.486136 3.062500 +v -0.635167 -0.263095 3.062500 +v 0.486136 0.486136 3.062500 +v -0.263095 -0.635167 3.062500 +v 0.263094 0.635167 3.062500 +v 0.000000 -0.687500 3.062500 +v -0.263095 0.635167 3.062500 +v 0.000000 0.687500 3.062500 +v 0.263095 -0.635167 3.062500 +v -0.486136 0.486136 3.062500 +v 0.486136 -0.486136 3.062500 +v -0.635167 0.263095 3.062500 +v 0.635167 -0.263095 3.062500 +v -0.687500 0.000000 3.062500 +v 0.635167 0.263095 3.187500 +v 0.687500 0.000000 3.187500 +v -0.486136 -0.486136 3.187500 +v -0.635167 -0.263095 3.187500 +v 0.486136 0.486136 3.187500 +v -0.263095 -0.635167 3.187500 +v 0.263094 0.635167 3.187500 +v 0.000000 -0.687500 3.187500 +v -0.263095 0.635167 3.187500 +v 0.000000 0.687500 3.187500 +v 0.263095 -0.635167 3.187500 +v -0.486136 0.486136 3.187500 +v 0.486136 -0.486136 3.187500 +v -0.635167 0.263095 3.187500 +v 0.635167 -0.263095 3.187500 +v -0.687500 0.000000 3.187500 +v 0.239177 0.577425 3.125000 +v 0.441941 0.441942 3.125000 +v 0.577425 0.239177 3.125000 +v 0.625000 0.000000 3.125000 +v 0.577425 -0.239177 3.125000 +v 0.441941 -0.441942 3.125000 +v 0.239177 -0.577425 3.125000 +v 0.000000 -0.625000 3.125000 +v -0.239177 -0.577425 3.125000 +v -0.441942 -0.441942 3.125000 +v -0.577425 -0.239177 3.125000 +v -0.625000 -0.000000 3.125000 +v -0.577425 0.239177 3.125000 +v -0.441942 0.441942 3.125000 +v -0.239177 0.577425 3.125000 +v 0.000000 0.625000 3.125000 +v 0.000000 0.562500 2.500000 +v -0.215260 0.519682 2.500000 +v -0.397748 0.397747 2.500000 +v -0.519682 0.215259 2.500000 +v -0.562500 0.000000 2.500000 +v -0.519682 -0.215260 2.500000 +v -0.397748 -0.397747 2.500000 +v -0.215260 -0.519682 2.500000 +v -0.000000 -0.562500 2.500000 +v 0.215259 -0.519682 2.500000 +v 0.397747 -0.397748 2.500000 +v 0.519682 -0.215260 2.500000 +v 0.562500 0.000000 2.500000 +v 0.519682 0.215260 2.500000 +v 0.397747 0.397748 2.500000 +v 0.215259 0.519682 2.500000 +v 0.000000 0.562500 -4.625000 +v -0.215260 0.519682 -4.625000 +v -0.562500 0.000000 0.375000 +v -0.562500 0.000000 2.375000 +v -0.562500 0.000000 -4.625000 +v -0.519682 -0.215260 -4.625000 +v -0.397748 -0.397747 -4.625000 +v -0.215260 -0.519682 -4.625000 +v -0.000000 -0.562500 -4.625000 +v 0.215259 -0.519682 -4.625000 +v 0.397747 -0.397748 -4.625000 +v 0.519682 -0.215260 -4.625000 +v 0.562500 0.000000 -4.625000 +v 0.519682 0.215260 -4.625000 +v 0.397747 0.397748 -4.625000 +v 0.215259 0.519682 -4.625000 +v -0.312500 -0.437500 1.250000 +v 0.312500 -0.437500 1.250000 +v 0.187500 -0.312500 1.375000 +v 0.187500 -0.312500 2.375000 +v -0.187500 -0.312500 2.375000 +v -0.187500 -0.312500 1.375000 +v -0.312500 -2.187500 1.250000 +v 0.312500 -2.187500 1.250000 +v -0.187500 -6.687500 1.375000 +v -0.187500 -6.687500 2.375000 +v 0.187500 -6.687500 2.375000 +v 0.187500 -6.687500 1.375000 +v -0.312500 -0.437500 2.312500 +v -0.125000 -0.437500 2.500000 +v 0.125000 -0.437500 2.500000 +v 0.312500 -0.437500 2.312500 +v -0.125000 -2.187500 2.500000 +v -0.312500 -2.187500 2.312500 +v 0.312500 -2.187500 2.312500 +v 0.125000 -2.187500 2.500000 +v 0.000000 0.687500 2.500000 +v -0.088388 0.650888 2.500000 +v -0.125000 0.562500 2.500000 +v -0.088388 0.474112 2.500000 +v 0.000000 0.437500 2.500000 +v 0.088388 0.474112 2.500000 +v 0.125000 0.562500 2.500000 +v 0.088388 0.650888 2.500000 +v 0.000000 0.687500 0.250000 +v -0.088388 0.650888 0.250000 +v -0.125000 0.562500 0.250000 +v -0.088388 0.474112 0.250000 +v 0.000000 0.437500 0.250000 +v 0.088388 0.474112 0.250000 +v 0.125000 0.562500 0.250000 +v 0.088388 0.650888 0.250000 +v -0.519682 0.215259 -4.625000 +v -0.215260 0.519682 2.375000 +v -0.397748 0.397747 2.375000 +v -0.519682 0.215259 2.375000 +v -0.397748 0.397747 -4.625000 +v -0.215260 0.519682 0.375000 +v -0.397748 0.397747 0.375000 +v -0.519682 0.215259 0.375000 +v -0.107630 0.541091 2.375000 +v -0.107630 0.541091 0.375000 +v -0.000000 0.437500 2.375000 +v -0.167424 0.404197 2.375000 +v -0.309359 0.309359 2.375000 +v -0.404197 0.167424 2.375000 +v -0.437500 -0.000000 2.375000 +v -0.404197 -0.167424 2.375000 +v -0.309359 -0.309359 2.375000 +v -0.167424 -0.404197 2.375000 +v -0.000000 -0.437500 2.375000 +v 0.167424 -0.404197 2.375000 +v 0.309359 -0.309359 2.375000 +v 0.404197 -0.167424 2.375000 +v 0.437500 -0.000000 2.375000 +v 0.404197 0.167424 2.375000 +v 0.309359 0.309359 2.375000 +v 0.167424 0.404197 2.375000 +v -0.083712 0.420849 2.375000 +v -0.000000 0.437500 0.625000 +v -0.437500 -0.000000 0.625000 +v -0.404197 -0.167424 0.625000 +v -0.309359 -0.309359 0.625000 +v -0.167424 -0.404197 0.625000 +v -0.000000 -0.437500 0.625000 +v 0.167424 -0.404197 0.625000 +v 0.309359 -0.309359 0.625000 +v 0.404197 -0.167424 0.625000 +v 0.437500 -0.000000 0.625000 +v 0.404197 0.167424 0.625000 +v 0.309359 0.309359 0.625000 +v 0.167424 0.404197 0.625000 +v -0.083712 0.420849 0.625000 +v -0.191342 0.461940 0.625000 +v -0.353554 0.353553 0.625000 +v -0.461940 0.191342 0.625000 +v -0.500000 -0.000000 0.625000 +v -0.095671 0.480970 0.375000 +v -0.500000 -0.000000 0.375000 +v -0.461940 0.191342 0.375000 +v -0.353554 0.353553 0.375000 +v -0.191342 0.461940 0.375000 +v -0.095671 0.480970 0.625000 +v 0.095670 0.230970 2.875000 +v 0.176776 0.176777 2.875000 +v 0.230970 0.095671 2.875000 +v 0.250000 0.000000 2.875000 +v 0.230970 -0.095671 2.875000 +v 0.176776 -0.176777 2.875000 +v 0.095671 -0.230970 2.875000 +v -0.000000 -0.250000 2.875000 +v -0.095671 -0.230970 2.875000 +v -0.176777 -0.176776 2.875000 +v -0.230970 -0.095671 2.875000 +v -0.250000 0.000000 2.875000 +v -0.230970 0.095671 2.875000 +v -0.176777 0.176777 2.875000 +v -0.095671 0.230970 2.875000 +v -0.000000 0.250000 2.875000 +v 0.562500 1.125000 0.312500 +v 0.519682 0.909741 0.312500 +v 0.397748 0.727252 0.312500 +v 0.215260 0.605318 0.312500 +v 0.625000 1.125000 0.312500 +v 0.239177 0.547575 0.312500 +v 0.441942 0.683058 0.312500 +v 0.577425 0.885823 0.312500 +v 0.562500 1.125000 2.437500 +v 0.519682 0.909741 2.437500 +v 0.397747 0.727252 2.437500 +v 0.215260 0.605318 2.437500 +v 0.239177 0.547575 2.437500 +v 0.441941 0.683058 2.437500 +v 0.577424 0.885823 2.437500 +v 0.625000 1.125000 2.437500 +v 0.625000 0.000000 0.312500 +v 0.577425 0.239177 0.312500 +v 0.441941 0.441942 0.312500 +v 0.239177 0.577425 0.312500 +v 0.000000 0.625000 0.312500 +v 0.000000 0.562500 0.312500 +v 0.215260 0.519682 0.312500 +v 0.397748 0.397748 0.312500 +v 0.519682 0.215259 0.312500 +v 0.562500 0.000000 0.312500 +v 0.577425 0.239177 2.437500 +v 0.441942 0.441942 2.437500 +v 0.239177 0.577425 2.437500 +v 0.000000 0.625000 2.437500 +v 0.625000 0.000000 2.437500 +v 0.215260 0.519682 2.437500 +v 0.000000 0.562500 2.437500 +v 0.397748 0.397748 2.437500 +v 0.519682 0.215259 2.437500 +v 0.562500 0.000000 2.437500 +v 0.239177 0.577425 0.687500 +v 0.000000 0.625000 0.687500 +v 0.000000 0.562500 0.687500 +v 0.215260 0.519682 0.687500 +v 0.239177 0.577425 2.062500 +v 0.000000 0.625000 2.062500 +v 0.215260 0.519682 2.062500 +v 0.000000 0.562500 2.062500 +v 0.239177 0.547575 2.062500 +v 0.000000 0.500000 2.062500 +v 0.000000 0.562500 2.062500 +v 0.215260 0.605318 2.062500 +v 0.239177 0.547575 0.687500 +v 0.000000 0.500000 0.687500 +v 0.215260 0.605318 0.687500 +v 0.000000 0.562500 0.687500 +v -0.250000 -0.437500 -1.875000 +v 0.250000 -0.437500 -1.875000 +v -0.250000 -1.812500 -1.875000 +v 0.250000 -1.812500 -1.875000 +v -0.250000 -1.812500 0.000000 +v 0.250000 -1.812500 0.000000 +v -0.250000 -1.187500 1.000000 +v 0.250000 -1.187500 1.000000 +v -0.250000 -1.187500 1.250000 +v 0.250000 -1.187500 1.250000 +v -0.250000 -0.437500 1.250000 +v 0.250000 -0.437500 1.250000 +v 0.250000 -0.312500 -5.000000 +v -0.250000 -0.312500 -5.000000 +v 0.000000 0.437500 -5.000000 +v -0.167424 0.404197 -5.000000 +v -0.309359 0.309359 -5.000000 +v -0.404197 0.167424 -5.000000 +v -0.437500 -0.000000 -5.000000 +v -0.404197 -0.167424 -5.000000 +v -0.309359 -0.309359 -5.000000 +v -0.167424 -0.404197 -5.000000 +v -0.000000 -0.437500 -5.000000 +v 0.167424 -0.404197 -5.000000 +v 0.309359 -0.309359 -5.000000 +v 0.404197 -0.167424 -5.000000 +v 0.437500 -0.000000 -5.000000 +v 0.404197 0.167424 -5.000000 +v 0.309359 0.309359 -5.000000 +v 0.167424 0.404197 -5.000000 +v 0.375000 -0.658100 -4.655906 +v -0.375000 -0.658100 -4.655906 +v -0.250000 -0.312500 -2.875000 +v 0.250000 -0.312500 -2.875000 +v -0.375000 -0.600718 -3.125000 +v 0.375000 -0.600718 -3.125000 +v -0.375000 -0.654728 -3.449057 +v 0.375000 -0.654728 -3.449057 +v -0.375000 -3.311872 -4.173732 +v 0.375000 -3.311872 -4.173732 +v -0.375000 -3.085226 -4.929220 +v 0.375000 -3.085226 -4.929220 +v 0.375000 -0.961348 -4.201034 +v -0.375000 -0.961348 -4.201034 +v 0.250000 -0.812500 -4.875000 +v 0.375000 -0.312500 -4.679806 +v 0.250000 -0.812500 -2.875000 +v 0.375000 -0.312500 -3.125000 +v 0.250000 -0.875000 -3.250000 +v 0.250000 -3.625000 -4.000000 +v 0.250000 -3.250000 -5.250000 +v 0.250000 -1.062500 -4.500000 +v -0.250000 -0.812500 -4.875000 +v -0.250000 -0.812500 -2.875000 +v -0.375000 -0.312500 -4.679806 +v -0.250000 -0.875000 -3.250000 +v -0.375000 -0.312500 -3.125000 +v -0.250000 -3.625000 -4.000000 +v -0.250000 -3.250000 -5.250000 +v -0.250000 -1.062500 -4.500000 +v -0.187500 -1.812500 -1.875000 +v 0.187500 -1.812500 -1.875000 +v -0.187500 -1.437500 -2.375000 +v 0.187500 -1.437500 -2.375000 +v -0.187500 -1.437500 -3.500000 +v 0.187500 -1.437500 -3.500000 +v -0.187500 -0.437500 -1.875000 +v 0.187500 -0.437500 -1.875000 +v -0.187500 -0.437500 -3.500000 +v 0.187500 -0.437500 -3.500000 +v -0.187500 -1.812500 -1.875000 +v 0.187500 -1.812500 -1.875000 +v -0.187500 -1.812500 -1.812500 +v 0.187500 -1.812500 -1.812500 +v 0.187500 -2.312500 -1.812500 +v -0.187500 -2.312500 -1.812500 +v 0.187500 -2.312500 -1.875000 +v -0.187500 -2.312500 -1.875000 +v 0.187500 -2.437500 -2.000000 +v -0.187500 -2.437500 -2.000000 +v 0.187500 -2.500000 -2.000000 +v -0.187500 -2.500000 -2.000000 +v 0.187500 -2.437500 -3.000000 +v -0.187500 -2.437500 -3.000000 +v 0.187500 -2.500000 -3.000000 +v -0.187500 -2.500000 -3.000000 +v 0.187500 -2.187500 -3.625000 +v -0.187500 -2.187500 -3.625000 +v 0.187500 -2.250000 -3.625000 +v -0.187500 -2.250000 -3.625000 +v -0.125000 -2.062500 -3.250000 +v 0.125000 -2.062500 -3.250000 +v -0.125000 -2.062500 -3.625000 +v 0.125000 -2.062500 -3.625000 +v -0.125000 -1.812500 -3.250000 +v 0.125000 -1.812500 -3.250000 +v -0.125000 -1.437500 -3.125000 +v 0.125000 -1.437500 -3.125000 +v -0.125000 -1.437500 -3.500000 +v 0.125000 -1.437500 -3.500000 +v -0.250000 -1.580894 -0.329788 +v -0.250000 -1.459289 -0.374049 +v -0.250000 -1.331845 -0.351577 +v -0.250000 -1.232712 -0.268394 +v -0.250000 -1.188451 -0.146789 +v -0.250000 -1.210923 -0.019345 +v -0.250000 -1.294106 0.079788 +v -0.250000 -1.415711 0.124049 +v -0.250000 -1.543154 0.101577 +v -0.250000 -1.642288 0.018394 +v -0.250000 -1.686549 -0.103211 +v -0.250000 -1.664077 -0.230654 +v -0.500000 -1.580894 -0.329788 +v -0.500000 -1.459289 -0.374049 +v -0.500000 -1.331845 -0.351577 +v -0.500000 -1.232712 -0.268394 +v -0.500000 -1.188451 -0.146789 +v -0.500000 -1.210923 -0.019345 +v -0.500000 -1.294106 0.079788 +v -0.500000 -1.415711 0.124049 +v -0.500000 -1.543154 0.101577 +v -0.500000 -1.642288 0.018394 +v -0.500000 -1.686549 -0.103211 +v -0.500000 -1.664077 -0.230654 +v -0.593750 -0.612984 1.052531 +v -0.593750 -0.521780 1.019336 +v -0.593750 -0.426197 1.036189 +v -0.593750 -0.351847 1.098576 +v -0.593750 -0.318652 1.189780 +v -0.593750 -0.335506 1.285363 +v -0.593750 -0.397893 1.359713 +v -0.593750 -0.489097 1.392909 +v -0.593750 -0.584679 1.376055 +v -0.593750 -0.659029 1.313668 +v -0.593750 -0.692225 1.222464 +v -0.593750 -0.675371 1.126881 +v -0.781250 -0.612984 1.052531 +v -0.781250 -0.521780 1.019336 +v -0.781250 -0.426197 1.036189 +v -0.781250 -0.351847 1.098576 +v -0.781250 -0.318652 1.189780 +v -0.781250 -0.335506 1.285363 +v -0.781250 -0.397893 1.359713 +v -0.781250 -0.489097 1.392909 +v -0.781250 -0.584679 1.376055 +v -0.781250 -0.659029 1.313668 +v -0.781250 -0.692225 1.222464 +v -0.781250 -0.675371 1.126881 +v -0.750000 -0.643681 1.226622 +v -0.625000 -0.643681 1.226622 +v -0.750000 -0.438893 1.083228 +v -0.625000 -0.438893 1.083228 +v -0.750000 -0.582287 0.878440 +v -0.750000 -0.787075 1.021834 +v -0.625000 -0.787075 1.021834 +v -0.625000 -0.582287 0.878440 +v -0.437500 -1.155863 0.059288 +v -0.437500 -1.360651 0.202682 +v -0.312500 -1.360651 0.202682 +v -0.312500 -1.155863 0.059288 +v -0.437500 -1.227560 -0.043106 +v -0.437500 -1.432348 0.100288 +v -0.312500 -1.432348 0.100288 +v -0.312500 -1.227560 -0.043106 +v -0.781250 -0.577135 1.103728 +v -0.781250 -0.516333 1.081598 +v -0.781250 -0.452611 1.092834 +v -0.781250 -0.403044 1.134425 +v -0.781250 -0.380914 1.195228 +v -0.781250 -0.392150 1.258950 +v -0.781250 -0.433741 1.308516 +v -0.781250 -0.494544 1.330647 +v -0.781250 -0.558265 1.319411 +v -0.781250 -0.607832 1.277819 +v -0.781250 -0.629963 1.217017 +v -0.781250 -0.618727 1.153295 +v -1.531250 -0.577135 1.103728 +v -1.531250 -0.516333 1.081598 +v -1.531250 -0.452611 1.092834 +v -1.531250 -0.403044 1.134425 +v -1.531250 -0.380914 1.195228 +v -1.531250 -0.392150 1.258950 +v -1.531250 -0.433741 1.308516 +v -1.531250 -0.494544 1.330647 +v -1.531250 -0.558265 1.319411 +v -1.531250 -0.607832 1.277819 +v -1.531250 -0.629963 1.217017 +v -1.531250 -0.618727 1.153295 +v -0.375000 -0.375000 -1.937500 +v -0.468750 -0.400120 -1.937500 +v -0.537380 -0.468750 -1.937500 +v -0.562500 -0.562500 -1.937500 +v -0.537380 -0.656250 -1.937500 +v -0.468750 -0.724880 -1.937500 +v -0.375000 -0.750000 -1.937500 +v -0.281250 -0.724880 -1.937500 +v -0.212621 -0.656250 -1.937500 +v -0.187500 -0.562500 -1.937500 +v -0.212621 -0.468750 -1.937500 +v -0.281250 -0.400120 -1.937500 +v -0.468750 -0.400120 1.062500 +v -0.375000 -0.375000 1.062500 +v -0.537380 -0.468750 1.062500 +v -0.562500 -0.562500 1.062500 +v -0.537380 -0.656250 1.062500 +v -0.468750 -0.724880 1.062500 +v -0.375000 -0.750000 1.062500 +v -0.281250 -0.724880 1.062500 +v -0.212621 -0.656250 1.062500 +v -0.187500 -0.562500 1.062500 +v -0.212621 -0.468750 1.062500 +v -0.281250 -0.400120 1.062500 +v -0.375000 -0.375000 -2.937500 +v -0.468750 -0.400120 -2.937500 +v -0.537380 -0.468750 -2.937500 +v -0.562500 -0.562500 -2.937500 +v -0.537380 -0.656250 -2.937500 +v -0.468750 -0.724880 -2.937500 +v -0.375000 -0.750000 -2.937500 +v -0.281250 -0.724880 -2.937500 +v -0.212621 -0.656250 -2.937500 +v -0.187500 -0.562500 -2.937500 +v -0.212621 -0.468750 -2.937500 +v -0.281250 -0.400120 -2.937500 +v -0.468750 -0.400120 -5.062500 +v -0.375000 -0.375000 -5.062500 +v -0.537380 -0.468750 -5.062500 +v -0.562500 -0.562500 -5.062500 +v -0.537380 -0.656250 -5.062500 +v -0.468750 -0.724880 -5.062500 +v -0.375000 -0.750000 -5.062500 +v -0.281250 -0.724880 -5.062500 +v -0.212621 -0.656250 -5.062500 +v -0.187500 -0.562500 -5.062500 +v -0.212621 -0.468750 -5.062500 +v -0.281250 -0.400120 -5.062500 +v -0.375000 -0.437500 -6.562500 +v -0.437500 -0.454247 -6.562500 +v -0.483253 -0.500000 -6.562500 +v -0.500000 -0.562500 -6.562500 +v -0.483253 -0.625000 -6.562500 +v -0.437500 -0.670753 -6.562500 +v -0.375000 -0.687500 -6.562500 +v -0.312500 -0.670753 -6.562500 +v -0.266747 -0.625000 -6.562500 +v -0.250000 -0.562500 -6.562500 +v -0.266747 -0.500000 -6.562500 +v -0.312500 -0.454247 -6.562500 +v -0.375000 -2.937500 -7.062500 +v -0.375000 -0.504487 -6.812500 +v -0.437500 -0.518991 -6.804127 +v -0.483253 -0.558614 -6.781250 +v -0.500000 -0.612741 -6.750000 +v -0.483253 -0.666867 -6.718750 +v -0.437500 -0.706490 -6.695873 +v -0.375000 -0.720994 -6.687500 +v -0.312500 -0.706490 -6.695873 +v -0.266747 -0.666867 -6.718750 +v -0.250000 -0.612741 -6.750000 +v -0.266747 -0.558614 -6.781250 +v -0.312500 -0.518991 -6.804127 +v -0.375000 -0.687500 -6.995513 +v -0.437500 -0.695874 -6.981009 +v -0.483253 -0.718750 -6.941386 +v -0.500000 -0.750000 -6.887259 +v -0.483253 -0.781250 -6.833133 +v -0.437500 -0.804126 -6.793509 +v -0.375000 -0.812500 -6.779007 +v -0.312500 -0.804126 -6.793509 +v -0.266747 -0.781250 -6.833133 +v -0.250000 -0.750000 -6.887259 +v -0.266747 -0.718750 -6.941386 +v -0.312500 -0.695874 -6.981009 +v -0.375000 -0.937500 -7.062500 +v -0.437500 -0.937500 -7.045753 +v -0.483253 -0.937500 -7.000000 +v -0.500000 -0.937500 -6.937500 +v -0.483253 -0.937500 -6.875000 +v -0.437500 -0.937500 -6.829247 +v -0.375000 -0.937500 -6.812500 +v -0.312500 -0.937500 -6.829247 +v -0.266747 -0.937500 -6.875000 +v -0.250000 -0.937500 -6.937500 +v -0.266747 -0.937500 -7.000000 +v -0.312500 -0.937500 -7.045753 +v -0.437500 -2.937500 -7.045753 +v -0.483253 -2.937500 -7.000000 +v -0.500000 -2.937500 -6.937500 +v -0.483253 -2.937500 -6.875000 +v -0.437500 -2.937500 -6.829247 +v -0.375000 -2.937500 -6.812500 +v -0.312500 -2.937500 -6.829247 +v -0.266747 -2.937500 -6.875000 +v -0.250000 -2.937500 -6.937500 +v -0.266747 -2.937500 -7.000000 +v -0.312500 -2.937500 -7.045753 +v 0.375000 -0.437500 -6.562500 +v -0.324759 -3.125000 -7.062500 +v -0.378886 -3.156250 -7.045753 +v -0.418509 -3.179127 -7.000000 +v -0.433013 -3.187500 -6.937500 +v -0.418509 -3.179127 -6.875000 +v -0.378886 -3.156250 -6.829247 +v -0.324759 -3.125000 -6.812500 +v -0.270633 -3.093750 -6.829247 +v -0.231009 -3.070873 -6.875000 +v -0.216506 -3.062500 -6.937500 +v -0.231009 -3.070873 -7.000000 +v -0.270633 -3.093750 -7.045753 +v -0.187500 -3.262259 -7.062500 +v -0.218750 -3.316386 -7.045753 +v -0.241627 -3.356009 -7.000000 +v -0.250000 -3.370513 -6.937500 +v -0.241627 -3.356009 -6.875000 +v -0.218750 -3.316386 -6.829247 +v -0.187500 -3.262259 -6.812500 +v -0.156250 -3.208133 -6.829247 +v -0.133374 -3.168509 -6.875000 +v -0.125000 -3.154006 -6.937500 +v -0.133373 -3.168509 -7.000000 +v -0.156250 -3.208133 -7.045753 +v 0.000000 -3.312500 -7.062500 +v 0.000000 -3.375000 -7.045753 +v 0.000000 -3.420753 -7.000000 +v 0.000000 -3.437500 -6.937500 +v 0.000000 -3.420753 -6.875000 +v -0.000000 -3.375000 -6.829247 +v 0.000000 -3.312500 -6.812500 +v -0.000000 -3.250000 -6.829247 +v 0.000000 -3.204247 -6.875000 +v 0.000000 -3.187500 -6.937500 +v 0.000000 -3.204247 -7.000000 +v 0.000000 -3.250000 -7.045753 +v 0.437500 -0.454247 -6.562500 +v 0.483253 -0.500000 -6.562500 +v 0.500000 -0.562500 -6.562500 +v 0.483253 -0.625000 -6.562500 +v 0.437500 -0.670753 -6.562500 +v 0.375000 -0.687500 -6.562500 +v 0.312500 -0.670753 -6.562500 +v 0.266747 -0.625000 -6.562500 +v 0.250000 -0.562500 -6.562500 +v 0.266747 -0.500000 -6.562500 +v 0.312500 -0.454247 -6.562500 +v 0.375000 -2.937500 -7.062500 +v 0.375000 -0.504487 -6.812500 +v 0.437500 -0.518991 -6.804127 +v 0.483253 -0.558614 -6.781250 +v 0.500000 -0.612741 -6.750000 +v 0.483253 -0.666867 -6.718750 +v 0.437500 -0.706490 -6.695873 +v 0.375000 -0.720994 -6.687500 +v 0.312500 -0.706490 -6.695873 +v 0.266747 -0.666867 -6.718750 +v 0.250000 -0.612741 -6.750000 +v 0.266747 -0.558614 -6.781250 +v 0.312500 -0.518991 -6.804127 +v 0.375000 -0.687500 -6.995513 +v 0.437500 -0.695874 -6.981009 +v 0.483253 -0.718750 -6.941386 +v 0.500000 -0.750000 -6.887259 +v 0.483253 -0.781250 -6.833133 +v 0.437500 -0.804126 -6.793509 +v 0.375000 -0.812500 -6.779007 +v 0.312500 -0.804126 -6.793509 +v 0.266747 -0.781250 -6.833133 +v 0.250000 -0.750000 -6.887259 +v 0.266747 -0.718750 -6.941386 +v 0.312500 -0.695874 -6.981009 +v 0.375000 -0.937500 -7.062500 +v 0.437500 -0.937500 -7.045753 +v 0.483253 -0.937500 -7.000000 +v 0.500000 -0.937500 -6.937500 +v 0.483253 -0.937500 -6.875000 +v 0.437500 -0.937500 -6.829247 +v 0.375000 -0.937500 -6.812500 +v 0.312500 -0.937500 -6.829247 +v 0.266747 -0.937500 -6.875000 +v 0.250000 -0.937500 -6.937500 +v 0.266747 -0.937500 -7.000000 +v 0.312500 -0.937500 -7.045753 +v 0.437500 -2.937500 -7.045753 +v 0.483253 -2.937500 -7.000000 +v 0.500000 -2.937500 -6.937500 +v 0.483253 -2.937500 -6.875000 +v 0.437500 -2.937500 -6.829247 +v 0.375000 -2.937500 -6.812500 +v 0.312500 -2.937500 -6.829247 +v 0.266747 -2.937500 -6.875000 +v 0.250000 -2.937500 -6.937500 +v 0.266747 -2.937500 -7.000000 +v 0.312500 -2.937500 -7.045753 +v 0.324759 -3.125000 -7.062500 +v 0.378886 -3.156250 -7.045753 +v 0.418509 -3.179127 -7.000000 +v 0.433012 -3.187500 -6.937500 +v 0.418509 -3.179127 -6.875000 +v 0.378886 -3.156250 -6.829247 +v 0.324759 -3.125000 -6.812500 +v 0.270633 -3.093750 -6.829247 +v 0.231009 -3.070873 -6.875000 +v 0.216506 -3.062500 -6.937500 +v 0.231009 -3.070873 -7.000000 +v 0.270633 -3.093750 -7.045753 +v 0.187500 -3.262259 -7.062500 +v 0.218750 -3.316386 -7.045753 +v 0.241627 -3.356009 -7.000000 +v 0.250000 -3.370513 -6.937500 +v 0.241627 -3.356009 -6.875000 +v 0.218750 -3.316386 -6.829247 +v 0.187500 -3.262259 -6.812500 +v 0.156250 -3.208133 -6.829247 +v 0.133373 -3.168509 -6.875000 +v 0.125000 -3.154006 -6.937500 +v 0.133373 -3.168509 -7.000000 +v 0.156250 -3.208133 -7.045753 +v -0.375000 -0.437500 1.187500 +v -0.437500 -0.454247 1.187500 +v -0.483253 -0.500000 1.187500 +v -0.500000 -0.562500 1.187500 +v -0.483253 -0.625000 1.187500 +v -0.437500 -0.670753 1.187500 +v -0.375000 -0.687500 1.187500 +v -0.312500 -0.670753 1.187500 +v -0.266747 -0.625000 1.187500 +v -0.250000 -0.562500 1.187500 +v -0.266747 -0.500000 1.187500 +v -0.312500 -0.454247 1.187500 +v 0.375000 -0.437500 1.187500 +v 0.437500 -0.454247 1.187500 +v 0.483253 -0.500000 1.187500 +v 0.500000 -0.562500 1.187500 +v 0.483253 -0.625000 1.187500 +v 0.437500 -0.670753 1.187500 +v 0.375000 -0.687500 1.187500 +v 0.312500 -0.670753 1.187500 +v 0.266747 -0.625000 1.187500 +v 0.250000 -0.562500 1.187500 +v 0.266747 -0.500000 1.187500 +v 0.312500 -0.454247 1.187500 +v 0.000000 -0.293931 1.531675 +v -0.078125 -0.313602 1.538834 +v -0.135317 -0.367344 1.558395 +v -0.156250 -0.440758 1.585115 +v -0.135317 -0.514171 1.611836 +v -0.078125 -0.567913 1.631396 +v 0.000000 -0.587584 1.638556 +v 0.078125 -0.567914 1.631396 +v 0.135316 -0.514171 1.611836 +v 0.156250 -0.440758 1.585115 +v 0.135316 -0.367344 1.558395 +v 0.078125 -0.313602 1.538834 +v 0.000000 -0.122921 2.001521 +v -0.078125 -0.142592 2.008681 +v -0.135317 -0.196334 2.028241 +v -0.156250 -0.269747 2.054962 +v -0.135317 -0.343161 2.081682 +v -0.078125 -0.396903 2.101243 +v 0.000000 -0.416574 2.108402 +v 0.078125 -0.396903 2.101243 +v 0.135316 -0.343161 2.081682 +v 0.156250 -0.269747 2.054962 +v 0.135316 -0.196334 2.028241 +v 0.078125 -0.142592 2.008681 +v 0.000000 -0.095498 2.191073 +v -0.058594 -0.110252 2.196443 +v -0.101488 -0.150559 2.211114 +v -0.117188 -0.205619 2.231154 +v -0.101488 -0.260679 2.251194 +v -0.058594 -0.300986 2.265865 +v 0.000000 -0.315739 2.271235 +v 0.058594 -0.300986 2.265865 +v 0.101487 -0.260679 2.251194 +v 0.117188 -0.205619 2.231154 +v 0.101487 -0.150559 2.211114 +v 0.058594 -0.110252 2.196443 +v 0.000000 -0.147536 2.276525 +v -0.019531 -0.152454 2.278315 +v -0.033830 -0.165889 2.283205 +v -0.039062 -0.184243 2.289885 +v -0.033830 -0.202596 2.296565 +v -0.019531 -0.216031 2.301455 +v 0.000000 -0.220949 2.303245 +v 0.019531 -0.216032 2.301455 +v 0.033829 -0.202596 2.296565 +v 0.039062 -0.184243 2.289885 +v 0.033829 -0.165889 2.283205 +v 0.019531 -0.152454 2.278315 +v 0.125000 -0.187500 1.375000 +v -0.125000 -0.187500 1.375000 +v 0.062500 -0.187500 1.875000 +v -0.062500 -0.187500 1.875000 +v -0.062500 -0.187500 1.375000 +v -0.125000 -0.187500 1.875000 +v 0.062500 -0.187500 1.375000 +v 0.125000 -0.187500 1.875000 +v 0.187500 -0.312500 1.875000 +v -0.187500 -0.312500 1.875000 +v 0.062500 -0.312500 1.875000 +v -0.062500 -0.312500 1.875000 +v 0.062500 -0.312500 1.375000 +v -0.062500 -0.312500 1.375000 +v 0.031250 0.875000 2.500000 +v 0.031250 0.875000 2.875000 +v -0.031250 0.875000 2.500000 +v -0.031250 0.875000 2.875000 +v 0.062500 0.500000 2.875000 +v 0.062500 0.500000 2.500000 +v -0.062500 0.500000 2.875000 +v -0.062500 0.500000 2.500000 +v 0.000000 1.000000 -4.625000 +v -0.062500 0.983253 -4.625000 +v -0.108253 0.937500 -4.625000 +v -0.125000 0.875000 -4.625000 +v -0.108253 0.812500 -4.625000 +v -0.062500 0.766747 -4.625000 +v 0.000000 0.750000 -4.625000 +v 0.062500 0.766747 -4.625000 +v 0.108253 0.812500 -4.625000 +v 0.125000 0.875000 -4.625000 +v 0.108253 0.937500 -4.625000 +v 0.062500 0.983253 -4.625000 +v 0.000000 0.937500 -4.625000 +v -0.031250 0.929127 -4.625000 +v -0.054127 0.906250 -4.625000 +v -0.062500 0.875000 -4.625000 +v -0.054127 0.843750 -4.625000 +v -0.031250 0.820873 -4.625000 +v 0.000000 0.812500 -4.625000 +v 0.031250 0.820873 -4.625000 +v 0.054127 0.843750 -4.625000 +v 0.062500 0.875000 -4.625000 +v 0.054127 0.906250 -4.625000 +v 0.031250 0.929127 -4.625000 +v -0.062500 0.983253 -4.500000 +v 0.000000 1.000000 -4.500000 +v -0.108253 0.937500 -4.500000 +v -0.125000 0.875000 -4.500000 +v -0.108253 0.812500 -4.500000 +v -0.062500 0.766747 -4.500000 +v 0.000000 0.750000 -4.500000 +v 0.062500 0.766747 -4.500000 +v 0.108253 0.812500 -4.500000 +v 0.125000 0.875000 -4.500000 +v 0.108253 0.937500 -4.500000 +v 0.062500 0.983253 -4.500000 +v -0.031250 0.929127 -4.500000 +v 0.000000 0.937500 -4.500000 +v -0.054127 0.906250 -4.500000 +v -0.062500 0.875000 -4.500000 +v -0.054127 0.843750 -4.500000 +v -0.031250 0.820873 -4.500000 +v 0.000000 0.812500 -4.500000 +v 0.031250 0.820873 -4.500000 +v 0.054127 0.843750 -4.500000 +v 0.062500 0.875000 -4.500000 +v 0.054127 0.906250 -4.500000 +v 0.031250 0.929127 -4.500000 +v -0.125000 0.875000 -4.531250 +v 0.125000 0.875000 -4.531250 +v -0.125000 0.875000 -4.593750 +v 0.125000 0.875000 -4.593750 +v -0.125000 0.812500 -4.531250 +v -0.125000 0.500000 -4.531250 +v -0.187500 0.500000 -4.531250 +v -0.187500 0.812500 -4.531250 +v 0.000000 0.750000 -4.531250 +v 0.000000 0.750000 -4.593750 +v -0.187500 0.812500 -4.593750 +v -0.187500 0.812500 -4.531250 +v -0.187500 0.500000 -4.593750 +v -0.187500 0.500000 -4.531250 +v 0.187500 0.812500 -4.531250 +v 0.187500 0.812500 -4.593750 +v 0.187500 0.500000 -4.531250 +v 0.187500 0.500000 -4.593750 +v -0.125000 0.625000 -4.031250 +v -0.187500 0.625000 -4.031250 +v -0.187500 0.500000 -4.031250 +v -0.125000 0.500000 -4.031250 +v 0.187500 0.812500 -4.531250 +v 0.187500 0.500000 -4.531250 +v 0.125000 0.500000 -4.531250 +v 0.125000 0.812500 -4.531250 +v 0.187500 0.625000 -4.031250 +v 0.125000 0.625000 -4.031250 +v 0.125000 0.500000 -4.031250 +v 0.187500 0.500000 -4.031250 +v 0.000000 0.187500 0.625000 +v -0.132583 0.132582 0.625000 +v -0.187500 -0.000000 0.625000 +v -0.132583 -0.132583 0.625000 +v 0.000000 -0.187500 0.625000 +v 0.132583 -0.132583 0.625000 +v 0.187500 -0.000000 0.625000 +v 0.132583 0.132582 0.625000 +v 0.000000 0.187500 2.750000 +v -0.132583 0.132583 2.750000 +v -0.187500 0.000000 2.750000 +v -0.132583 -0.132582 2.750000 +v 0.000000 -0.187500 2.750000 +v 0.132583 -0.132582 2.750000 +v 0.187500 0.000000 2.750000 +v 0.132583 0.132583 2.750000 +v 0.312500 -0.937500 2.187500 +v 0.312500 -1.687500 2.187500 +v 0.312500 -0.937500 1.437500 +v 0.312500 -1.687500 1.437500 +v 0.562500 -0.937500 1.437500 +v 0.562500 -0.937500 2.187500 +v 0.562500 -1.687500 2.187500 +v 0.562500 -1.687500 1.437500 +v -0.404197 0.167424 0.625000 +v -0.309359 0.309359 0.625000 +v -0.167424 0.404197 0.625000 +v 0.375000 -0.375000 -1.937500 +v 0.281250 -0.400120 -1.937500 +v 0.212620 -0.468750 -1.937500 +v 0.187500 -0.562500 -1.937500 +v 0.212620 -0.656250 -1.937500 +v 0.281250 -0.724880 -1.937500 +v 0.375000 -0.750000 -1.937500 +v 0.468750 -0.724880 -1.937500 +v 0.537379 -0.656250 -1.937500 +v 0.562500 -0.562500 -1.937500 +v 0.537379 -0.468750 -1.937500 +v 0.468750 -0.400120 -1.937500 +v 0.281250 -0.400120 1.062500 +v 0.375000 -0.375000 1.062500 +v 0.212620 -0.468750 1.062500 +v 0.187500 -0.562500 1.062500 +v 0.212620 -0.656250 1.062500 +v 0.281250 -0.724880 1.062500 +v 0.375000 -0.750000 1.062500 +v 0.468750 -0.724880 1.062500 +v 0.537379 -0.656250 1.062500 +v 0.562500 -0.562500 1.062500 +v 0.537379 -0.468750 1.062500 +v 0.468750 -0.400120 1.062500 +v 0.375000 -0.375000 -2.937500 +v 0.281250 -0.400120 -2.937500 +v 0.212620 -0.468750 -2.937500 +v 0.187500 -0.562500 -2.937500 +v 0.212620 -0.656250 -2.937500 +v 0.281250 -0.724880 -2.937500 +v 0.375000 -0.750000 -2.937500 +v 0.468750 -0.724880 -2.937500 +v 0.537379 -0.656250 -2.937500 +v 0.562500 -0.562500 -2.937500 +v 0.537379 -0.468750 -2.937500 +v 0.468750 -0.400120 -2.937500 +v 0.281250 -0.400120 -5.062500 +v 0.375000 -0.375000 -5.062500 +v 0.212620 -0.468750 -5.062500 +v 0.187500 -0.562500 -5.062500 +v 0.212620 -0.656250 -5.062500 +v 0.281250 -0.724880 -5.062500 +v 0.375000 -0.750000 -5.062500 +v 0.468750 -0.724880 -5.062500 +v 0.537379 -0.656250 -5.062500 +v 0.562500 -0.562500 -5.062500 +v 0.537379 -0.468750 -5.062500 +v 0.468750 -0.400120 -5.062500 +vt 0.202381 0.083333 +vt 0.205357 0.069444 +vt 0.205357 0.083333 +vt 0.205357 0.097222 +vt 0.202381 0.097222 +vt 0.205357 0.111111 +vt 0.202381 0.111111 +vt 0.205357 0.125000 +vt 0.202381 0.125000 +vt 0.205357 0.138889 +vt 0.202381 0.138889 +vt 0.205357 0.152778 +vt 0.202381 0.152778 +vt 0.205357 0.166667 +vt 0.202381 0.166667 +vt 0.205357 0.180556 +vt 0.202381 0.180556 +vt 0.205357 0.194444 +vt 0.202381 0.194444 +vt 0.202381 0.208333 +vt 0.205357 0.208333 +vt 0.202381 0.222222 +vt 0.205357 0.222222 +vt 0.202381 0.013889 +vt 0.205357 -0.000000 +vt 0.205357 0.013889 +vt 0.202381 0.027778 +vt 0.205357 0.027778 +vt 0.202381 0.041667 +vt 0.205357 0.041667 +vt 0.202381 0.055556 +vt 0.205357 0.055556 +vt 0.202381 0.069444 +vt 0.020833 0.444444 +vt 0.023810 0.416667 +vt 0.023810 0.444444 +vt 0.020833 0.222222 +vt 0.023810 0.250000 +vt 0.020833 0.250000 +vt 0.020833 0.472222 +vt 0.023810 0.277778 +vt 0.020833 0.277778 +vt 0.023810 0.472222 +vt 0.020833 0.500000 +vt 0.023810 0.305556 +vt 0.020833 0.305556 +vt 0.023810 0.527778 +vt 0.020833 0.527778 +vt 0.023810 0.555556 +vt 0.020833 0.555556 +vt 0.023810 0.333333 +vt 0.020833 0.333333 +vt 0.023810 0.583333 +vt 0.020833 0.583333 +vt 0.023810 0.361111 +vt 0.020833 0.361111 +vt 0.023810 0.611111 +vt 0.020833 0.611111 +vt 0.023810 0.388889 +vt 0.020833 0.388889 +vt 0.023810 0.638889 +vt 0.020833 0.638889 +vt 0.020833 0.416667 +vt 0.020833 0.666667 +vt 0.023810 0.666667 +vt -0.000000 0.388889 +vt 0.002976 0.361111 +vt 0.002976 0.388889 +vt -0.000000 0.361111 +vt 0.002976 0.333333 +vt -0.000000 0.305556 +vt 0.002976 0.305556 +vt 0.002976 0.277778 +vt -0.000000 0.250000 +vt 0.002976 0.250000 +vt -0.000000 0.222222 +vt 0.002976 0.222222 +vt 0.002976 0.666667 +vt -0.000000 0.638889 +vt 0.002976 0.638889 +vt -0.000000 0.611111 +vt 0.002976 0.611111 +vt -0.000000 0.583333 +vt 0.002976 0.583333 +vt -0.000000 0.555556 +vt 0.002976 0.555556 +vt 0.002976 0.527778 +vt -0.000000 0.527778 +vt 0.002976 0.500000 +vt -0.000000 0.500000 +vt 0.002976 0.472222 +vt -0.000000 0.444444 +vt 0.002976 0.444444 +vt -0.000000 0.416667 +vt 0.002976 0.416667 +vt 0.779762 0.041667 +vt 0.779762 0.750000 +vt 0.755952 0.750000 +vt 0.681548 0.069444 +vt 0.672619 0.048611 +vt 0.681548 0.000000 +vt 0.660714 0.263889 +vt 0.672619 0.069444 +vt 0.672619 0.263889 +vt 0.571429 0.263889 +vt 0.601190 0.069444 +vt 0.601190 0.263889 +vt 0.681548 0.263889 +vt 0.732143 0.069444 +vt 0.732143 0.263889 +vt 0.797619 0.041667 +vt 0.845238 0.041667 +vt 0.845238 0.750000 +vt 0.821429 0.750000 +vt 0.732143 0.041667 +vt 0.779762 -0.000000 +vt 0.863095 0.041667 +vt 0.845238 0.750000 +vt 0.845238 0.750000 +vt 0.651786 0.069444 +vt 0.660714 0.069444 +vt 0.651786 0.263889 +vt 0.437500 0.319084 +vt 0.431702 0.305555 +vt 0.437500 0.292027 +vt 0.526786 0.292027 +vt 0.532584 0.305556 +vt 0.526786 0.319084 +vt 0.394345 0.312500 +vt 0.398810 0.305556 +vt 0.398810 0.312500 +vt 0.407738 0.312500 +vt 0.407738 0.305556 +vt 0.416667 0.312500 +vt 0.416667 0.305556 +vt 0.425595 0.312500 +vt 0.361607 0.312500 +vt 0.357143 0.305556 +vt 0.361607 0.305556 +vt 0.348214 0.312500 +vt 0.357143 0.312500 +vt 0.339286 0.312500 +vt 0.348214 0.305556 +vt 0.330357 0.305556 +vt 0.339286 0.305556 +vt 0.461310 0.284722 +vt 0.544643 0.277778 +vt 0.544643 0.291667 +vt 0.544643 0.013889 +vt 0.461310 0.013889 +vt 0.461310 0.006944 +vt 0.571429 0.131944 +vt 0.568452 0.118056 +vt 0.571429 0.118056 +vt 0.431548 0.597222 +vt 0.532738 0.590278 +vt 0.431548 0.590278 +vt 0.449405 0.520833 +vt 0.431548 0.513889 +vt 0.431548 0.520833 +vt 0.449405 0.486111 +vt 0.514881 0.493056 +vt 0.514881 0.486111 +vt 0.529762 0.513889 +vt 0.532738 0.541667 +vt 0.532738 0.513889 +vt 0.532738 0.430556 +vt 0.529762 0.458333 +vt 0.532738 0.458333 +vt 0.529762 0.569444 +vt 0.532738 0.597222 +vt 0.532738 0.569444 +vt 0.529762 0.541667 +vt 0.431548 0.541667 +vt 0.434524 0.513889 +vt 0.434524 0.569444 +vt 0.431548 0.569444 +vt 0.434524 0.541667 +vt 0.529762 0.402778 +vt 0.529762 0.430556 +vt 0.532738 0.486111 +vt 0.529762 0.513889 +vt 0.532738 0.513889 +vt 0.529762 0.486111 +vt 0.434524 0.458333 +vt 0.431548 0.430556 +vt 0.431548 0.458333 +vt 0.434524 0.402778 +vt 0.431548 0.402778 +vt 0.434524 0.513889 +vt 0.431548 0.486111 +vt 0.431548 0.513889 +vt 0.434524 0.486111 +vt 0.449405 0.486111 +vt 0.514881 0.479167 +vt 0.449405 0.479167 +vt 0.532738 0.402778 +vt 0.431548 0.409722 +vt 0.532738 0.409722 +vt 0.517857 0.513889 +vt 0.514881 0.486111 +vt 0.514881 0.513889 +vt 0.446429 0.513889 +vt 0.449405 0.513889 +vt 0.449405 0.513889 +vt 0.452381 0.486111 +vt 0.511905 0.513889 +vt 0.514881 0.513889 +vt 0.514881 0.520833 +vt 0.532738 0.520833 +vt 0.110119 0.708333 +vt 0.175595 0.763889 +vt 0.110119 0.763889 +vt 0.175595 0.708333 +vt 0.264881 0.763889 +vt 0.264881 0.708333 +vt 0.312500 0.763889 +vt 0.312500 0.708333 +vt 0.324405 0.763889 +vt 0.312500 0.833333 +vt 0.324405 0.916667 +vt 0.324405 0.555556 +vt 0.324405 0.638889 +vt 0.312500 0.638889 +vt 0.083493 0.569817 +vt 0.112935 0.569817 +vt 0.112935 0.638516 +vt 0.571429 0.152778 +vt 0.568452 0.138889 +vt 0.571429 0.138889 +vt 0.571429 0.173611 +vt 0.568452 0.159722 +vt 0.571429 0.159722 +vt 0.571429 0.194444 +vt 0.568452 0.180556 +vt 0.571429 0.180556 +vt 0.571429 0.215278 +vt 0.568452 0.201389 +vt 0.571429 0.201389 +vt 0.571429 0.236111 +vt 0.568452 0.222222 +vt 0.571429 0.222222 +vt 0.571429 0.256944 +vt 0.568452 0.243056 +vt 0.571429 0.243056 +vt 0.571429 0.277778 +vt 0.568452 0.263889 +vt 0.571429 0.263889 +vt 0.571429 0.298611 +vt 0.568452 0.284722 +vt 0.571429 0.284722 +vt 0.571429 0.305556 +vt 0.568452 0.319444 +vt 0.568452 0.305556 +vt 0.571429 0.340278 +vt 0.568452 0.326389 +vt 0.571429 0.326389 +vt 0.571429 0.013889 +vt 0.568452 0.027778 +vt 0.568452 0.013889 +vt 0.571429 0.034722 +vt 0.568452 0.048611 +vt 0.568452 0.034722 +vt 0.571429 0.055556 +vt 0.568452 0.069444 +vt 0.568452 0.055556 +vt 0.571429 0.076389 +vt 0.568452 0.090278 +vt 0.568452 0.076389 +vt 0.571429 0.097222 +vt 0.568452 0.111111 +vt 0.568452 0.097222 +vt 0.372024 0.750000 +vt 0.401786 0.708333 +vt 0.401786 0.750000 +vt 0.324405 0.750000 +vt 0.372024 0.708333 +vt 0.372024 0.666667 +vt 0.324405 0.555556 +vt 0.401786 0.555556 +vt 0.324405 0.902778 +vt 0.324405 0.791667 +vt 0.372024 0.791667 +vt 0.514881 0.812500 +vt 0.491071 0.805556 +vt 0.514881 0.805556 +vt 0.514881 0.861111 +vt 0.491071 0.854167 +vt 0.514881 0.854167 +vt 0.491071 0.861111 +vt 0.479167 0.854167 +vt 0.479167 0.812500 +vt 0.491071 0.812500 +vt 0.479167 0.861111 +vt 0.431548 0.854167 +vt 0.431548 0.805556 +vt 0.479167 0.805556 +vt 0.431548 0.861111 +vt 0.401786 0.854167 +vt 0.401786 0.812500 +vt 0.401786 0.805556 +vt 0.520833 0.763889 +vt 0.538690 0.736111 +vt 0.538690 0.763889 +vt 0.526786 0.666667 +vt 0.544643 0.666667 +vt 0.538690 0.708333 +vt 0.538690 0.791667 +vt 0.544643 0.833333 +vt 0.526786 0.833333 +vt 0.717262 0.500032 +vt 0.727560 0.513905 +vt 0.727560 0.541651 +vt 0.668008 0.736165 +vt 0.668008 0.763835 +vt 0.647468 0.763835 +vt 0.647468 0.680609 +vt 0.657738 0.666774 +vt 0.668008 0.680609 +vt 0.577381 0.722222 +vt 0.571429 0.708333 +vt 0.577381 0.708333 +vt 0.636905 0.722222 +vt 0.625000 0.708333 +vt 0.636905 0.708333 +vt 0.636905 0.680556 +vt 0.625000 0.666667 +vt 0.636905 0.666667 +vt 0.625000 0.722222 +vt 0.577381 0.680556 +vt 0.577381 0.666667 +vt 0.571429 0.666667 +vt 0.711309 0.694407 +vt 0.706168 0.687481 +vt 0.706168 0.673629 +vt 0.533983 0.531184 +vt 0.541666 0.500130 +vt 0.549350 0.531185 +vt 0.549351 0.572852 +vt 0.541667 0.583203 +vt 0.533983 0.552149 +vt 0.418398 0.670074 +vt 0.410714 0.680425 +vt 0.403030 0.649371 +vt 0.403031 0.628407 +vt 0.410715 0.597353 +vt 0.418398 0.628407 +vt 0.518695 0.923665 +vt 0.528925 0.923665 +vt 0.523810 0.944337 +vt 0.518695 0.937446 +vt 0.523810 0.916775 +vt 0.528925 0.937446 +vt 0.676595 0.272573 +vt 0.683036 0.263897 +vt 0.689476 0.289927 +vt 0.797619 0.805556 +vt 0.800595 0.861111 +vt 0.797619 0.861111 +vt 0.806548 0.861111 +vt 0.800595 0.805556 +vt 0.806548 0.805556 +vt 0.776786 0.805556 +vt 0.779762 0.861111 +vt 0.776786 0.861111 +vt 0.770833 0.805556 +vt 0.770833 0.861111 +vt 0.797619 0.875000 +vt 0.803571 0.875000 +vt 0.779762 0.875000 +vt 0.773810 0.875000 +vt 0.797619 0.750000 +vt 0.791667 0.805556 +vt 0.785714 0.805556 +vt 0.791667 0.861111 +vt 0.785714 0.861111 +vt 0.779762 0.805556 +vt 0.779762 0.791667 +vt 0.797619 0.791667 +vt 0.708333 0.347222 +vt 0.711310 0.305556 +vt 0.711310 0.347222 +vt 0.708333 0.388889 +vt 0.729167 0.347222 +vt 0.708333 0.305556 +vt 0.714286 0.263889 +vt 0.690476 0.305556 +vt 0.616071 0.451389 +vt 0.613095 0.458333 +vt 0.613095 0.451389 +vt 0.610119 0.451389 +vt 0.607143 0.458333 +vt 0.607143 0.451389 +vt 0.604167 0.451389 +vt 0.601190 0.458333 +vt 0.601190 0.451389 +vt 0.598214 0.451389 +vt 0.595238 0.458333 +vt 0.595238 0.451389 +vt 0.592262 0.451389 +vt 0.589286 0.458333 +vt 0.589286 0.451389 +vt 0.625000 0.458333 +vt 0.622024 0.451389 +vt 0.625000 0.451389 +vt 0.619048 0.458333 +vt 0.619048 0.451389 +vt 0.616071 0.437500 +vt 0.613095 0.430556 +vt 0.616071 0.430556 +vt 0.610119 0.437500 +vt 0.613095 0.437500 +vt 0.607143 0.430556 +vt 0.610119 0.430556 +vt 0.604167 0.437500 +vt 0.607143 0.437500 +vt 0.601190 0.430556 +vt 0.604167 0.430556 +vt 0.598214 0.437500 +vt 0.601190 0.437500 +vt 0.595238 0.430556 +vt 0.598214 0.430556 +vt 0.592262 0.437500 +vt 0.595238 0.437500 +vt 0.589286 0.430556 +vt 0.592262 0.430556 +vt 0.622024 0.437500 +vt 0.625000 0.430556 +vt 0.625000 0.437500 +vt 0.619048 0.430556 +vt 0.622024 0.430556 +vt 0.619048 0.437500 +vt 0.556548 0.458333 +vt 0.559524 0.402778 +vt 0.559524 0.458333 +vt 0.556548 0.388889 +vt 0.556548 0.402778 +vt 0.538690 0.354167 +vt 0.535714 0.361111 +vt 0.529762 0.347222 +vt 0.532738 0.388889 +vt 0.532738 0.423611 +vt 0.541667 0.319444 +vt 0.541667 0.354167 +vt 0.538690 0.361111 +vt 0.541667 0.361111 +vt 0.583333 0.388889 +vt 0.559524 0.388889 +vt 0.529762 0.347222 +vt 0.520833 0.354167 +vt 0.520833 0.319444 +vt 0.538690 0.354167 +vt 0.541667 0.319444 +vt 0.541667 0.354167 +vt 0.538690 0.361111 +vt 0.541667 0.361111 +vt 0.532738 0.388889 +vt 0.556548 0.402778 +vt 0.532738 0.423611 +vt 0.556548 0.388889 +vt 0.559524 0.402778 +vt 0.556548 0.458333 +vt 0.559524 0.458333 +vt 0.583333 0.388889 +vt 0.559524 0.388889 +vt 0.645833 0.347538 +vt 0.654627 0.368056 +vt 0.645833 0.388573 +vt 0.583333 0.291667 +vt 0.625000 0.388889 +vt 0.583333 0.388889 +vt 0.625000 0.263889 +vt 0.583333 0.263889 +vt 0.583333 0.416667 +vt 0.625000 0.416667 +vt 0.636905 0.388889 +vt 0.625000 0.291667 +vt 0.636905 0.291667 +vt 0.571429 0.291667 +vt 0.571429 0.388889 +vt 0.130952 0.576389 +vt 0.133929 0.555556 +vt 0.133929 0.576389 +vt 0.130952 0.597222 +vt 0.133929 0.597222 +vt 0.130952 0.618056 +vt 0.133929 0.618056 +vt 0.130952 0.628472 +vt 0.162711 0.648943 +vt 0.154762 0.652632 +vt 0.150788 0.650788 +vt 0.533983 0.531184 +vt 0.541666 0.500130 +vt 0.549350 0.531185 +vt 0.549351 0.572852 +vt 0.541667 0.583203 +vt 0.533983 0.552149 +vt 0.418398 0.670074 +vt 0.410714 0.680425 +vt 0.403030 0.649371 +vt 0.403031 0.628407 +vt 0.410715 0.597353 +vt 0.418398 0.628407 +vt 0.202381 0.000000 +vt 0.023810 0.222222 +vt 0.023810 0.500000 +vt -0.000000 0.333333 +vt -0.000000 0.277778 +vt -0.000000 0.666667 +vt -0.000000 0.472222 +vt 0.732143 0.750000 +vt 0.672619 0.020833 +vt 0.732143 0.000000 +vt 0.571429 0.069444 +vt 0.732143 0.000000 +vt 0.863095 0.750000 +vt 0.443298 0.305555 +vt 0.441600 0.315121 +vt 0.433400 0.315121 +vt 0.433400 0.295990 +vt 0.441600 0.295990 +vt 0.522686 0.315121 +vt 0.520988 0.305556 +vt 0.522686 0.295990 +vt 0.530885 0.295990 +vt 0.530885 0.315121 +vt 0.394345 0.305556 +vt 0.425595 0.305556 +vt 0.330357 0.312500 +vt 0.449405 0.291667 +vt 0.449405 0.284722 +vt 0.461310 0.277778 +vt 0.449405 0.006944 +vt 0.449405 -0.000000 +vt 0.544643 -0.000000 +vt 0.568452 0.131944 +vt 0.449405 0.493056 +vt 0.529762 0.597222 +vt 0.434524 0.597222 +vt 0.434524 0.430556 +vt 0.517857 0.486111 +vt 0.446429 0.486111 +vt 0.452381 0.513889 +vt 0.511905 0.486111 +vt 0.324405 0.708333 +vt 0.175595 0.916667 +vt 0.324405 0.833333 +vt 0.175595 0.555556 +vt 0.106181 0.649046 +vt 0.098214 0.652744 +vt 0.090247 0.649046 +vt 0.083493 0.638516 +vt 0.078980 0.622757 +vt 0.077395 0.604167 +vt 0.078980 0.585577 +vt 0.090247 0.559287 +vt 0.098214 0.555589 +vt 0.106181 0.559287 +vt 0.117448 0.585577 +vt 0.119033 0.604167 +vt 0.117448 0.622757 +vt 0.568452 0.152778 +vt 0.568452 0.173611 +vt 0.568452 0.194444 +vt 0.568452 0.215278 +vt 0.568452 0.236111 +vt 0.568452 0.256944 +vt 0.568452 0.277778 +vt 0.568452 0.298611 +vt 0.571429 0.319444 +vt 0.568452 0.340278 +vt 0.571429 0.027778 +vt 0.571429 0.048611 +vt 0.571429 0.069444 +vt 0.571429 0.090278 +vt 0.571429 0.111111 +vt 0.324405 0.708333 +vt 0.324405 0.666667 +vt 0.401786 0.902778 +vt 0.431548 0.812500 +vt 0.401786 0.861111 +vt 0.520833 0.736111 +vt 0.706964 0.541651 +vt 0.705371 0.527778 +vt 0.706964 0.513905 +vt 0.711316 0.503749 +vt 0.723207 0.503749 +vt 0.729153 0.527778 +vt 0.723207 0.551806 +vt 0.717262 0.555524 +vt 0.711316 0.551806 +vt 0.645879 0.750000 +vt 0.647468 0.736165 +vt 0.651809 0.726037 +vt 0.657738 0.722330 +vt 0.663667 0.726037 +vt 0.669597 0.750000 +vt 0.663667 0.773963 +vt 0.657738 0.777671 +vt 0.651809 0.773963 +vt 0.669597 0.694444 +vt 0.668008 0.708280 +vt 0.663667 0.718408 +vt 0.657738 0.722115 +vt 0.651809 0.718408 +vt 0.647468 0.708280 +vt 0.645879 0.694444 +vt 0.651809 0.670481 +vt 0.663667 0.670481 +vt 0.571429 0.722222 +vt 0.625000 0.680556 +vt 0.571429 0.680556 +vt 0.708341 0.668559 +vt 0.711309 0.666703 +vt 0.714278 0.668559 +vt 0.716451 0.673629 +vt 0.717246 0.680555 +vt 0.716451 0.687481 +vt 0.714278 0.692551 +vt 0.708341 0.692552 +vt 0.705373 0.680555 +vt 0.546103 0.538762 +vt 0.541666 0.541536 +vt 0.537230 0.538762 +vt 0.532794 0.520833 +vt 0.533983 0.510482 +vt 0.537230 0.502904 +vt 0.546103 0.502904 +vt 0.549350 0.510482 +vt 0.550539 0.520833 +vt 0.537231 0.580429 +vt 0.533983 0.572852 +vt 0.532794 0.562500 +vt 0.537231 0.544571 +vt 0.549351 0.552149 +vt 0.541667 0.541797 +vt 0.546103 0.544571 +vt 0.550540 0.562500 +vt 0.546103 0.580429 +vt 0.406278 0.677651 +vt 0.403030 0.670074 +vt 0.401842 0.659722 +vt 0.406278 0.641793 +vt 0.418398 0.649371 +vt 0.410714 0.639019 +vt 0.415151 0.641793 +vt 0.419587 0.659722 +vt 0.415151 0.677651 +vt 0.415151 0.635985 +vt 0.410715 0.638759 +vt 0.406278 0.635985 +vt 0.401842 0.618056 +vt 0.403031 0.607704 +vt 0.406278 0.600127 +vt 0.415151 0.600127 +vt 0.418398 0.607704 +vt 0.419587 0.618056 +vt 0.520857 0.942491 +vt 0.518695 0.937446 +vt 0.517904 0.930556 +vt 0.520857 0.918621 +vt 0.523810 0.916775 +vt 0.526763 0.918621 +vt 0.529716 0.930556 +vt 0.528925 0.937446 +vt 0.526763 0.942490 +vt 0.526763 0.942490 +vt 0.523810 0.944337 +vt 0.520857 0.942491 +vt 0.517904 0.930556 +vt 0.518695 0.923665 +vt 0.520857 0.918621 +vt 0.526763 0.918621 +vt 0.528925 0.923665 +vt 0.529716 0.930556 +vt 0.686754 0.296278 +vt 0.676595 0.289927 +vt 0.683036 0.298603 +vt 0.679317 0.296278 +vt 0.675599 0.281250 +vt 0.679317 0.266222 +vt 0.686754 0.266222 +vt 0.689476 0.272573 +vt 0.690473 0.281250 +vt 0.779762 0.805556 +vt 0.797619 0.805556 +vt 0.773810 0.791667 +vt 0.803571 0.791667 +vt 0.714286 0.388889 +vt 0.729167 0.305556 +vt 0.708333 0.263889 +vt 0.690476 0.347222 +vt 0.616071 0.458333 +vt 0.610119 0.458333 +vt 0.604167 0.458333 +vt 0.598214 0.458333 +vt 0.592262 0.458333 +vt 0.622024 0.458333 +vt 0.589286 0.437500 +vt 0.523810 0.361111 +vt 0.520833 0.354167 +vt 0.520833 0.319444 +vt 0.538690 0.319444 +vt 0.583333 0.423611 +vt 0.538690 0.319444 +vt 0.535714 0.361111 +vt 0.523810 0.361111 +vt 0.583333 0.423611 +vt 0.639616 0.382564 +vt 0.637040 0.368056 +vt 0.639616 0.353547 +vt 0.652051 0.353547 +vt 0.652051 0.382564 +vt 0.130952 0.555556 +vt 0.133929 0.628472 +vt 0.146813 0.648943 +vt 0.140075 0.638437 +vt 0.135572 0.622714 +vt 0.133991 0.604167 +vt 0.135572 0.585620 +vt 0.140075 0.569896 +vt 0.146813 0.559390 +vt 0.154762 0.555701 +vt 0.162711 0.559390 +vt 0.169449 0.569896 +vt 0.173952 0.585620 +vt 0.175533 0.604167 +vt 0.173952 0.622714 +vt 0.169449 0.638437 +vt 0.546103 0.538762 +vt 0.541666 0.541536 +vt 0.537230 0.538762 +vt 0.532794 0.520833 +vt 0.533983 0.510482 +vt 0.537230 0.502904 +vt 0.546103 0.502904 +vt 0.549350 0.510482 +vt 0.550539 0.520833 +vt 0.537231 0.580429 +vt 0.533983 0.572852 +vt 0.532794 0.562500 +vt 0.537231 0.544571 +vt 0.549351 0.552149 +vt 0.541667 0.541797 +vt 0.546103 0.544571 +vt 0.550540 0.562500 +vt 0.546103 0.580429 +vt 0.406278 0.677651 +vt 0.403030 0.670074 +vt 0.401842 0.659722 +vt 0.406278 0.641793 +vt 0.418398 0.649371 +vt 0.410714 0.639019 +vt 0.415151 0.641793 +vt 0.419587 0.659722 +vt 0.415151 0.677651 +vt 0.415151 0.635985 +vt 0.410715 0.638759 +vt 0.406278 0.635985 +vt 0.401842 0.618056 +vt 0.403031 0.607704 +vt 0.406278 0.600127 +vt 0.415151 0.600127 +vt 0.418398 0.607704 +vt 0.419587 0.618056 +vt 0.000000 0.125000 +vt 0.000000 0.111111 +vt 0.000000 0.138889 +vt 0.000000 0.152778 +vt 0.000000 0.166667 +vt 0.000000 0.180556 +vt 0.000000 0.194444 +vt 0.000000 0.208333 +vt 0.000000 0.222222 +vt 0.000000 0.013889 +vt 0.000000 -0.000000 +vt 0.000000 0.027778 +vt 0.000000 0.041667 +vt -0.000000 0.055556 +vt -0.000000 0.069444 +vt -0.000000 0.083333 +vt -0.000000 0.097222 +vt 0.449405 0.208333 +vt 0.449405 0.083333 +vt 0.449405 0.194444 +vt 0.449405 0.069444 +vt 0.449405 0.180556 +vt 0.449405 0.055556 +vt 0.449405 0.166667 +vt 0.449405 0.041667 +vt 0.449405 0.152778 +vt 0.449405 0.027778 +vt 0.449405 0.138889 +vt 0.449405 0.013889 +vt 0.449405 0.111111 +vt 0.449405 0.125000 +vt 0.449405 0.222222 +vt 0.449405 0.097222 +vt 0.047619 0.416667 +vt 0.059524 0.437500 +vt 0.047619 0.444444 +vt 0.077381 0.423611 +vt 0.077381 0.430556 +vt 0.047619 0.472222 +vt 0.059524 0.444444 +vt 0.059524 0.465278 +vt 0.059524 0.493056 +vt 0.047619 0.500000 +vt 0.059524 0.520833 +vt 0.047619 0.527778 +vt 0.047619 0.555556 +vt 0.059524 0.527778 +vt 0.059524 0.548611 +vt 0.047619 0.583333 +vt 0.059524 0.555556 +vt 0.059524 0.576389 +vt 0.047619 0.611111 +vt 0.059524 0.583333 +vt 0.059524 0.604167 +vt 0.047619 0.638889 +vt 0.059524 0.611111 +vt 0.059524 0.631944 +vt 0.059524 0.659722 +vt 0.047619 0.666667 +vt 0.047619 0.250000 +vt 0.059524 0.222222 +vt 0.059524 0.243056 +vt 0.059524 0.270833 +vt 0.047619 0.277778 +vt 0.059524 0.298611 +vt 0.047619 0.305556 +vt 0.059524 0.326389 +vt 0.047619 0.333333 +vt 0.047619 0.361111 +vt 0.059524 0.333333 +vt 0.059524 0.354167 +vt 0.047619 0.388889 +vt 0.059524 0.361111 +vt 0.059524 0.381944 +vt 0.059524 0.409722 +vt 0.077381 0.458333 +vt 0.077381 0.451389 +vt 0.077381 0.486111 +vt 0.059524 0.472222 +vt 0.077381 0.479167 +vt 0.077381 0.506944 +vt 0.077381 0.513889 +vt 0.077381 0.534722 +vt 0.077381 0.541667 +vt 0.077381 0.569444 +vt 0.077381 0.562500 +vt 0.077381 0.597222 +vt 0.077381 0.590278 +vt 0.077381 0.618056 +vt 0.077381 0.625000 +vt 0.077381 0.645833 +vt 0.077381 0.652778 +vt 0.077381 0.236111 +vt 0.077381 0.229167 +vt 0.077381 0.263889 +vt 0.059524 0.250000 +vt 0.077381 0.256944 +vt 0.077381 0.291667 +vt 0.059524 0.277778 +vt 0.077381 0.284722 +vt 0.077381 0.312500 +vt 0.077381 0.319444 +vt 0.077381 0.340278 +vt 0.077381 0.347222 +vt 0.077381 0.368056 +vt 0.077381 0.375000 +vt 0.077381 0.395833 +vt 0.077381 0.402778 +vt 0.032738 0.444444 +vt 0.032738 0.416667 +vt 0.032738 0.388889 +vt 0.032738 0.361111 +vt 0.032738 0.333333 +vt 0.032738 0.305556 +vt 0.032738 0.277778 +vt 0.032738 0.250000 +vt 0.032738 0.222222 +vt 0.032738 0.638889 +vt 0.032738 0.611111 +vt 0.032738 0.583333 +vt 0.032738 0.555556 +vt 0.032738 0.527778 +vt 0.032738 0.500000 +vt 0.032738 0.472222 +vt 0.035714 0.444444 +vt 0.035714 0.416667 +vt 0.035714 0.472222 +vt 0.035714 0.500000 +vt 0.035714 0.527778 +vt 0.035714 0.555556 +vt 0.035714 0.583333 +vt 0.035714 0.611111 +vt 0.035714 0.666667 +vt 0.035714 0.638889 +vt 0.035714 0.222222 +vt 0.035714 0.250000 +vt 0.035714 0.277778 +vt 0.035714 0.333333 +vt 0.035714 0.305556 +vt 0.035714 0.361111 +vt 0.035714 0.388889 +vt 0.038690 0.388889 +vt 0.038690 0.416667 +vt 0.038690 0.444444 +vt 0.038690 0.472222 +vt 0.038690 0.527778 +vt 0.038690 0.555556 +vt 0.038690 0.583333 +vt 0.038690 0.611111 +vt 0.038690 0.638889 +vt 0.038690 0.250000 +vt 0.038690 0.277778 +vt 0.038690 0.305556 +vt 0.038690 0.361111 +vt 0.038690 0.500000 +vt 0.038690 0.222222 +vt 0.047619 0.222222 +vt 0.038690 0.333333 +vt 0.431548 0.284722 +vt 0.095238 0.263889 +vt 0.431548 0.263889 +vt 0.431548 0.451389 +vt 0.095238 0.430556 +vt 0.431548 0.430556 +vt 0.095238 0.243056 +vt 0.431548 0.243056 +vt 0.095238 0.409722 +vt 0.431548 0.409722 +vt 0.095238 0.222222 +vt 0.431548 0.222222 +vt 0.095238 0.388889 +vt 0.431548 0.388889 +vt 0.431548 0.555556 +vt 0.095238 0.534722 +vt 0.431548 0.534722 +vt 0.095238 0.513889 +vt 0.431548 0.513889 +vt 0.095238 0.493056 +vt 0.431548 0.493056 +vt 0.095238 0.472222 +vt 0.431548 0.472222 +vt 0.330357 0.378472 +vt 0.095238 0.451389 +vt 0.443452 0.347222 +vt 0.520833 0.361111 +vt 0.443452 0.361111 +vt 0.443452 0.333333 +vt 0.520833 0.347222 +vt 0.443452 0.305556 +vt 0.520833 0.319444 +vt 0.443452 0.319444 +vt 0.443452 0.388889 +vt 0.520833 0.402778 +vt 0.443452 0.402778 +vt 0.520833 0.375000 +vt 0.443452 0.375000 +vt 0.520833 0.333333 +vt 0.443452 0.291667 +vt 0.520833 0.305556 +vt 0.520833 0.388889 +vt 0.425595 0.378472 +vt 0.431548 0.368056 +vt 0.330357 0.305556 +vt 0.095238 0.305556 +vt 0.095238 0.284722 +vt 0.425595 0.326389 +vt 0.431548 0.305556 +vt 0.431548 0.326389 +vt 0.425595 0.347222 +vt 0.431548 0.347222 +vt 0.425595 0.368056 +vt 0.095238 0.326389 +vt 0.330357 0.326389 +vt 0.095238 0.347222 +vt 0.330357 0.347222 +vt 0.095238 0.368056 +vt 0.330357 0.368056 +vt 0.544643 0.118056 +vt 0.461310 0.097222 +vt 0.544643 0.097222 +vt 0.544643 0.138889 +vt 0.461310 0.118056 +vt 0.544643 0.159722 +vt 0.461310 0.138889 +vt 0.544643 0.180556 +vt 0.461310 0.159722 +vt 0.544643 0.034722 +vt 0.544643 0.201389 +vt 0.461310 0.180556 +vt 0.544643 0.055556 +vt 0.461310 0.034722 +vt 0.544643 0.222222 +vt 0.461310 0.201389 +vt 0.544643 0.076389 +vt 0.461310 0.055556 +vt 0.544643 0.243056 +vt 0.461310 0.222222 +vt 0.461310 0.076389 +vt 0.461310 0.263889 +vt 0.544643 0.263889 +vt 0.461310 0.243056 +vt 0.119048 0.597222 +vt 0.119048 0.628472 +vt 0.119048 0.576389 +vt 0.119048 0.618056 +vt 0.544643 0.284722 +vt 0.544643 0.305556 +vt 0.544643 0.326389 +vt 0.544643 0.347222 +vt 0.532738 0.569444 +vt 0.431548 0.534722 +vt 0.532738 0.534722 +vt 0.449405 0.486111 +vt 0.514881 0.513889 +vt 0.449405 0.513889 +vt 0.532738 0.597222 +vt 0.431548 0.569444 +vt 0.077381 0.326389 +vt 0.077381 0.472222 +vt 0.077381 0.451389 +vt 0.077381 0.243056 +vt 0.077381 0.263889 +vt 0.077381 0.430556 +vt 0.077381 0.409722 +vt 0.095238 0.555556 +vt 0.077381 0.534722 +vt 0.077381 0.284722 +vt 0.077381 0.368056 +vt 0.077381 0.222222 +vt 0.077381 0.493056 +vt 1.000000 -0.000000 +vt 0.976190 0.055556 +vt 0.976190 -0.000000 +vt 0.976190 0.819444 +vt 1.000000 0.875000 +vt 0.976190 0.875000 +vt 0.976190 0.784722 +vt 1.000000 0.819444 +vt 0.976190 0.472222 +vt 1.000000 0.784722 +vt 0.976190 0.333333 +vt 1.000000 0.472222 +vt 1.000000 0.055556 +vt 0.976190 0.097222 +vt 1.000000 0.333333 +vt 0.931548 0.298611 +vt 0.925595 0.027778 +vt 0.892857 0.312500 +vt 0.952381 0.368056 +vt 0.892857 0.312500 +vt 0.931548 0.298611 +vt 0.949405 0.333333 +vt 0.964286 0.368056 +vt 0.875000 0.333333 +vt 0.863095 0.368056 +vt 0.863095 0.312500 +vt 0.880952 0.305556 +vt 0.925595 0.027778 +vt 0.916667 0.000000 +vt 0.961310 0.055556 +vt 0.976190 0.041667 +vt 0.940476 0.277778 +vt 0.958333 0.312500 +vt 0.949405 0.333333 +vt 0.964286 0.368056 +vt 0.958333 0.312500 +vt 0.875000 0.333333 +vt 0.863095 0.368056 +vt 0.875000 0.368056 +vt 0.880952 0.305556 +vt 0.863095 0.312500 +vt 0.961310 0.055556 +vt 0.916667 0.000000 +vt 0.940476 0.277778 +vt 0.976190 0.041667 +vt 0.491071 0.763889 +vt 0.514881 0.763889 +vt 0.479167 0.763889 +vt 0.431548 0.763889 +vt 0.401786 0.763889 +vt 0.550595 0.736111 +vt 0.568452 0.736111 +vt 0.550595 0.763889 +vt 0.705357 0.611111 +vt 0.693452 0.597222 +vt 0.705357 0.597222 +vt 0.705357 0.513889 +vt 0.693452 0.500000 +vt 0.705357 0.500000 +vt 0.705357 0.652778 +vt 0.693452 0.638889 +vt 0.705357 0.638889 +vt 0.705357 0.555556 +vt 0.693452 0.541667 +vt 0.705357 0.541667 +vt 0.693452 0.583333 +vt 0.705357 0.583333 +vt 0.693452 0.625000 +vt 0.705357 0.625000 +vt 0.693452 0.527778 +vt 0.705357 0.527778 +vt 0.693452 0.569444 +vt 0.705357 0.569444 +vt 0.693452 0.611111 +vt 0.693452 0.513889 +vt 0.705357 0.666667 +vt 0.693452 0.652778 +vt 0.693452 0.555556 +vt 0.636905 0.805556 +vt 0.645833 0.791667 +vt 0.645833 0.805556 +vt 0.636905 0.708333 +vt 0.645833 0.694444 +vt 0.645833 0.708333 +vt 0.636905 0.750000 +vt 0.645833 0.736111 +vt 0.645833 0.750000 +vt 0.636905 0.791667 +vt 0.645833 0.777778 +vt 0.636905 0.694444 +vt 0.645833 0.680556 +vt 0.636905 0.833333 +vt 0.645833 0.819444 +vt 0.645833 0.833333 +vt 0.636905 0.736111 +vt 0.645833 0.722222 +vt 0.636905 0.777778 +vt 0.645833 0.763889 +vt 0.636905 0.680556 +vt 0.645833 0.666667 +vt 0.636905 0.819444 +vt 0.636905 0.722222 +vt 0.636905 0.763889 +vt 0.577381 0.750000 +vt 0.625000 0.750000 +vt 0.705357 0.708333 +vt 0.669643 0.715278 +vt 0.669643 0.708333 +vt 0.705357 0.687500 +vt 0.669643 0.694444 +vt 0.669643 0.687500 +vt 0.705357 0.736111 +vt 0.669643 0.743056 +vt 0.669643 0.736111 +vt 0.705357 0.666667 +vt 0.669643 0.673611 +vt 0.669643 0.666667 +vt 0.705357 0.715278 +vt 0.669643 0.722222 +vt 0.705357 0.694444 +vt 0.669643 0.701389 +vt 0.705357 0.743056 +vt 0.669643 0.750000 +vt 0.705357 0.673611 +vt 0.669643 0.680556 +vt 0.705357 0.722222 +vt 0.669643 0.729167 +vt 0.705357 0.701389 +vt 0.705357 0.680556 +vt 0.705357 0.729167 +vt 0.550595 0.513889 +vt 0.693452 0.527778 +vt 0.550595 0.527778 +vt 0.550595 0.583333 +vt 0.693452 0.597222 +vt 0.550595 0.597222 +vt 0.550595 0.555556 +vt 0.693452 0.569444 +vt 0.550595 0.569444 +vt 0.550595 0.625000 +vt 0.693452 0.638889 +vt 0.550595 0.638889 +vt 0.550595 0.500000 +vt 0.693452 0.513889 +vt 0.550595 0.541667 +vt 0.693452 0.555556 +vt 0.550595 0.611111 +vt 0.693452 0.625000 +vt 0.550595 0.652778 +vt 0.693452 0.666667 +vt 0.550595 0.666667 +vt 0.693452 0.541667 +vt 0.693452 0.611111 +vt 0.693452 0.583333 +vt 0.693452 0.652778 +vt 0.520833 0.708333 +vt 0.419643 0.694444 +vt 0.520833 0.694444 +vt 0.520833 0.638889 +vt 0.419643 0.625000 +vt 0.520833 0.625000 +vt 0.419643 0.680556 +vt 0.520833 0.680556 +vt 0.419643 0.611111 +vt 0.520833 0.611111 +vt 0.419643 0.597222 +vt 0.520833 0.597222 +vt 0.520833 0.763889 +vt 0.419643 0.750000 +vt 0.520833 0.750000 +vt 0.419643 0.736111 +vt 0.520833 0.736111 +vt 0.419643 0.666667 +vt 0.520833 0.666667 +vt 0.419643 0.722222 +vt 0.520833 0.722222 +vt 0.419643 0.652778 +vt 0.520833 0.652778 +vt 0.419643 0.708333 +vt 0.419643 0.638889 +vt 0.369048 0.916667 +vt 0.377976 0.923611 +vt 0.369048 0.923611 +vt 0.369048 0.979167 +vt 0.377976 0.986111 +vt 0.369048 0.986111 +vt 0.369048 0.951389 +vt 0.377976 0.944444 +vt 0.377976 0.951389 +vt 0.369048 0.965278 +vt 0.377976 0.958333 +vt 0.377976 0.965278 +vt 0.369048 0.930556 +vt 0.377976 0.930556 +vt 0.369048 0.993056 +vt 0.377976 0.993056 +vt 0.369048 0.958333 +vt 0.369048 0.972222 +vt 0.377976 0.972222 +vt 0.377976 0.937500 +vt 0.369048 0.937500 +vt 0.369048 1.000000 +vt 0.377976 1.000000 +vt 0.377976 0.979167 +vt 0.369048 0.944444 +vt 0.386905 0.958333 +vt 0.386905 0.972222 +vt 0.386905 0.930556 +vt 0.386905 0.937500 +vt 0.386905 1.000000 +vt 0.386905 0.979167 +vt 0.386905 0.944444 +vt 0.377976 0.916667 +vt 0.386905 0.923611 +vt 0.386905 0.986111 +vt 0.386905 0.951389 +vt 0.386905 0.965278 +vt 0.386905 0.993056 +vt 0.395833 0.993056 +vt 0.395833 0.951389 +vt 0.395833 0.958333 +vt 0.395833 0.972222 +vt 0.395833 0.930556 +vt 0.395833 0.937500 +vt 0.395833 1.000000 +vt 0.395833 0.979167 +vt 0.395833 0.944444 +vt 0.386905 0.916667 +vt 0.395833 0.923611 +vt 0.395833 0.986111 +vt 0.395833 0.965278 +vt 0.491071 0.993056 +vt 0.491071 0.958333 +vt 0.491071 0.972222 +vt 0.491071 0.930556 +vt 0.491071 0.937500 +vt 0.491071 1.000000 +vt 0.491071 0.979167 +vt 0.491071 0.944444 +vt 0.395833 0.916667 +vt 0.491071 0.923611 +vt 0.491071 0.986111 +vt 0.491071 0.951389 +vt 0.491071 0.965278 +vt 0.500000 0.923611 +vt 0.500000 0.930556 +vt 0.500000 0.993056 +vt 0.500000 0.958333 +vt 0.500000 0.972222 +vt 0.500000 0.937500 +vt 0.500000 1.000000 +vt 0.500000 0.979167 +vt 0.500000 0.944444 +vt 0.491071 0.916667 +vt 0.500000 0.986111 +vt 0.500000 0.951389 +vt 0.500000 0.965278 +vt 0.508929 0.958333 +vt 0.508929 0.965278 +vt 0.508929 0.923611 +vt 0.508929 0.930556 +vt 0.508929 0.993056 +vt 0.508929 0.972222 +vt 0.508929 0.937500 +vt 0.508929 1.000000 +vt 0.508929 0.979167 +vt 0.508929 0.944444 +vt 0.500000 0.916667 +vt 0.508929 0.986111 +vt 0.508929 0.951389 +vt 0.517857 0.951389 +vt 0.517857 0.958333 +vt 0.517857 0.965278 +vt 0.517857 0.923611 +vt 0.517857 0.930556 +vt 0.517857 0.993056 +vt 0.517857 0.972222 +vt 0.517857 0.937500 +vt 0.517857 1.000000 +vt 0.517857 0.979167 +vt 0.517857 0.944444 +vt 0.508929 0.916667 +vt 0.517857 0.986111 +vt 0.377976 0.993056 +vt 0.369048 1.000000 +vt 0.369048 0.993056 +vt 0.377976 0.930556 +vt 0.369048 0.937500 +vt 0.369048 0.930556 +vt 0.369048 0.965278 +vt 0.377976 0.972222 +vt 0.369048 0.972222 +vt 0.369048 0.951389 +vt 0.377976 0.958333 +vt 0.369048 0.958333 +vt 0.377976 0.986111 +vt 0.369048 0.986111 +vt 0.377976 0.923611 +vt 0.369048 0.923611 +vt 0.377976 0.944444 +vt 0.369048 0.944444 +vt 0.369048 0.979167 +vt 0.369048 0.916667 +vt 0.377976 0.979167 +vt 0.386905 0.965278 +vt 0.377976 0.965278 +vt 0.386905 0.944444 +vt 0.377976 0.951389 +vt 0.386905 0.979167 +vt 0.377976 0.916667 +vt 0.386905 0.923611 +vt 0.377976 0.937500 +vt 0.386905 0.972222 +vt 0.386905 0.993056 +vt 0.377976 1.000000 +vt 0.386905 0.930556 +vt 0.386905 0.951389 +vt 0.395833 0.923611 +vt 0.395833 0.958333 +vt 0.386905 0.958333 +vt 0.395833 0.944444 +vt 0.395833 0.986111 +vt 0.386905 0.986111 +vt 0.386905 0.916667 +vt 0.395833 0.937500 +vt 0.386905 0.937500 +vt 0.395833 0.979167 +vt 0.395833 0.993056 +vt 0.386905 1.000000 +vt 0.395833 0.930556 +vt 0.395833 0.972222 +vt 0.491071 0.923611 +vt 0.491071 0.958333 +vt 0.395833 0.965278 +vt 0.491071 0.944444 +vt 0.395833 0.951389 +vt 0.491071 0.979167 +vt 0.395833 0.916667 +vt 0.491071 0.937500 +vt 0.491071 0.972222 +vt 0.491071 0.993056 +vt 0.395833 1.000000 +vt 0.491071 0.930556 +vt 0.491071 0.951389 +vt 0.491071 0.986111 +vt 0.500000 0.993056 +vt 0.500000 0.923611 +vt 0.500000 0.958333 +vt 0.491071 0.965278 +vt 0.500000 0.944444 +vt 0.500000 0.986111 +vt 0.491071 0.916667 +vt 0.500000 0.972222 +vt 0.491071 1.000000 +vt 0.500000 0.937500 +vt 0.500000 0.951389 +vt 0.508929 0.958333 +vt 0.508929 0.993056 +vt 0.508929 0.923611 +vt 0.500000 0.930556 +vt 0.500000 0.965278 +vt 0.508929 0.944444 +vt 0.508929 0.979167 +vt 0.500000 0.979167 +vt 0.508929 0.916667 +vt 0.500000 0.916667 +vt 0.500000 1.000000 +vt 0.508929 0.930556 +vt 0.508929 0.972222 +vt 0.517857 0.972222 +vt 0.508929 0.965278 +vt 0.517857 0.965278 +vt 0.517857 0.979167 +vt 0.508929 0.986111 +vt 0.517857 0.986111 +vt 0.517857 0.993056 +vt 0.517857 0.916667 +vt 0.517857 0.923611 +vt 0.517857 0.930556 +vt 0.508929 0.937500 +vt 0.517857 0.937500 +vt 0.517857 0.944444 +vt 0.508929 0.951389 +vt 0.517857 0.951389 +vt 0.000000 0.937500 +vt 0.000000 0.965278 +vt 0.000000 0.993056 +vt 0.000000 0.930556 +vt 0.000000 0.958333 +vt 0.000000 0.916667 +vt 0.000000 0.923611 +vt 0.000000 0.923611 +vt 0.000000 0.916667 +vt 0.000000 0.958333 +vt 0.000000 0.930556 +vt 0.000000 0.993056 +vt 0.000000 0.965278 +vt 0.000000 0.937500 +vt 0.000000 0.986111 +vt 0.000000 0.972222 +vt 0.000000 0.951389 +vt 0.000000 0.944444 +vt 0.000000 0.979167 +vt 0.000000 0.979167 +vt 0.000000 0.944444 +vt 0.000000 0.951389 +vt 0.000000 0.972222 +vt 0.000000 0.986111 +vt 0.636905 0.298611 +vt 0.660714 0.291667 +vt 0.660714 0.298611 +vt 0.636905 0.333333 +vt 0.660714 0.326389 +vt 0.660714 0.333333 +vt 0.636905 0.263889 +vt 0.660714 0.270833 +vt 0.636905 0.270833 +vt 0.636905 0.284722 +vt 0.636905 0.291667 +vt 0.636905 0.326389 +vt 0.660714 0.319444 +vt 0.636905 0.347222 +vt 0.660714 0.340278 +vt 0.660714 0.347222 +vt 0.636905 0.277778 +vt 0.660714 0.284722 +vt 0.636905 0.312500 +vt 0.636905 0.319444 +vt 0.636905 0.305556 +vt 0.660714 0.305556 +vt 0.636905 0.340278 +vt 0.660714 0.277778 +vt 0.660714 0.312500 +vt 0.669643 0.340278 +vt 0.669643 0.347222 +vt 0.669643 0.284722 +vt 0.669643 0.312500 +vt 0.669643 0.319444 +vt 0.669643 0.305556 +vt 0.669643 0.277778 +vt 0.669643 0.291667 +vt 0.669643 0.298611 +vt 0.669643 0.333333 +vt 0.660714 0.263889 +vt 0.669643 0.270833 +vt 0.669643 0.326389 +vt 0.675595 0.347222 +vt 0.675595 0.277778 +vt 0.675595 0.284722 +vt 0.675595 0.319444 +vt 0.675595 0.305556 +vt 0.675595 0.340278 +vt 0.675595 0.312500 +vt 0.675595 0.291667 +vt 0.675595 0.298611 +vt 0.675595 0.326389 +vt 0.675595 0.333333 +vt 0.675595 0.263889 +vt 0.675595 0.270833 +vt 0.676042 0.302196 +vt 0.681100 0.302196 +vt 0.678571 0.312365 +vt 0.619048 0.416667 +vt 0.616071 0.416667 +vt 0.604167 0.416667 +vt 0.601190 0.416667 +vt 0.613095 0.416667 +vt 0.598214 0.416667 +vt 0.610119 0.416667 +vt 0.595238 0.416667 +vt 0.607143 0.416667 +vt 0.592262 0.416667 +vt 0.589286 0.416667 +vt 0.625000 0.416667 +vt 0.622024 0.416667 +vt 0.625000 0.416667 +vt 0.726190 0.430556 +vt 0.625000 0.430556 +vt 0.625000 0.458333 +vt 0.726190 0.472222 +vt 0.625000 0.472222 +vt 0.625000 0.486111 +vt 0.726190 0.500000 +vt 0.625000 0.500000 +vt 0.625000 0.402778 +vt 0.726190 0.416667 +vt 0.726190 0.444444 +vt 0.625000 0.444444 +vt 0.726190 0.458333 +vt 0.726190 0.486111 +vt 0.625000 0.388889 +vt 0.726190 0.402778 +vt 0.550595 0.513889 +vt 0.693452 0.527778 +vt 0.550595 0.527778 +vt 0.550595 0.583333 +vt 0.693452 0.597222 +vt 0.550595 0.597222 +vt 0.550595 0.555556 +vt 0.693452 0.569444 +vt 0.550595 0.569444 +vt 0.550595 0.625000 +vt 0.693452 0.638889 +vt 0.550595 0.638889 +vt 0.550595 0.500000 +vt 0.693452 0.513889 +vt 0.550595 0.541667 +vt 0.693452 0.555556 +vt 0.550595 0.611111 +vt 0.693452 0.625000 +vt 0.550595 0.652778 +vt 0.693452 0.666667 +vt 0.550595 0.666667 +vt 0.693452 0.541667 +vt 0.693452 0.611111 +vt 0.693452 0.583333 +vt 0.693452 0.652778 +vt 0.520833 0.708333 +vt 0.419643 0.694444 +vt 0.520833 0.694444 +vt 0.520833 0.638889 +vt 0.419643 0.625000 +vt 0.520833 0.625000 +vt 0.419643 0.680556 +vt 0.520833 0.680556 +vt 0.419643 0.611111 +vt 0.520833 0.611111 +vt 0.419643 0.597222 +vt 0.520833 0.597222 +vt 0.520833 0.763889 +vt 0.419643 0.750000 +vt 0.520833 0.750000 +vt 0.419643 0.736111 +vt 0.520833 0.736111 +vt 0.419643 0.666667 +vt 0.520833 0.666667 +vt 0.419643 0.722222 +vt 0.520833 0.722222 +vt 0.419643 0.652778 +vt 0.520833 0.652778 +vt 0.419643 0.708333 +vt 0.419643 0.638889 +vt 0.449405 0.000000 +vt 0.059524 0.416667 +vt 0.059524 0.500000 +vt 0.059524 0.638889 +vt 0.059524 0.305556 +vt 0.059524 0.388889 +vt 0.032738 0.666667 +vt 0.038690 0.666667 +vt 0.520833 0.291667 +vt 0.425595 0.305556 +vt 0.119048 0.555556 +vt 0.514881 0.486111 +vt 0.431548 0.597222 +vt 0.532738 0.513889 +vt 0.431548 0.513889 +vt 0.077381 0.305556 +vt 0.077381 0.347222 +vt 0.077381 0.388889 +vt 0.077381 0.555556 +vt 0.077381 0.513889 +vt 1.000000 0.097222 +vt 0.952381 0.368056 +vt 0.875000 0.368056 +vt 0.568452 0.763889 +vt 0.693452 0.666667 +vt 0.636905 0.666667 +vt 0.636905 0.750000 +vt 0.571429 0.750000 +vt 0.705357 0.750000 +vt 0.693452 0.500000 +vt 0.419643 0.763889 +vt 0.508929 1.000000 +vt 0.000000 1.000000 +vt 0.000000 1.000000 +vt 0.669643 0.263889 +vt 0.677132 0.311457 +vt 0.676042 0.308915 +vt 0.675653 0.305556 +vt 0.677132 0.299654 +vt 0.678571 0.298746 +vt 0.680011 0.299654 +vt 0.681490 0.305556 +vt 0.681100 0.308915 +vt 0.680011 0.311457 +vt 0.726190 0.388889 +vt 0.693452 0.500000 +vt 0.419643 0.763889 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.7071 0.0000 0.7071 +vn -0.7071 0.0000 0.7071 +vn -0.9808 -0.1951 0.0000 +vn -0.0000 1.0000 0.0000 +vn -0.9239 -0.3827 0.0000 +vn -0.9239 0.3827 0.0000 +vn 0.0000 -0.8480 0.5300 +vn 0.0000 -0.8000 -0.6000 +vn 0.0000 0.8192 -0.5736 +vn 0.0000 -0.8192 0.5736 +vn 0.0000 -0.3420 -0.9397 +vn 0.8944 0.4472 0.0000 +vn -0.8944 0.4472 0.0000 +vn 0.9965 0.0830 0.0000 +vn -0.9965 0.0830 0.0000 +vn 0.0000 0.9363 0.3511 +vn -0.7071 0.7071 0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.3506 0.8465 0.4006 +vn -0.0000 0.9163 0.4006 +vn 0.3827 0.9239 0.0000 +vn 0.6479 0.6479 0.4006 +vn 0.8465 0.3506 0.4006 +vn 0.9239 0.3827 0.0000 +vn 0.9163 0.0000 0.4006 +vn 0.8465 -0.3506 0.4006 +vn 0.9239 -0.3827 -0.0000 +vn 0.6479 -0.6479 0.4006 +vn 0.3827 -0.9239 -0.0000 +vn 0.3506 -0.8465 0.4006 +vn -0.0000 -0.9163 0.4006 +vn -0.3506 -0.8465 0.4006 +vn -0.3827 -0.9239 -0.0000 +vn -0.6479 -0.6479 0.4006 +vn -0.7071 -0.7071 -0.0000 +vn -0.8465 -0.3506 0.4006 +vn -0.9163 -0.0000 0.4006 +vn -0.8465 0.3506 0.4006 +vn -0.6479 0.6479 0.4006 +vn -0.3506 0.8465 0.4006 +vn -0.3827 0.9239 0.0000 +vn 0.7071 -0.7071 0.0000 +vn -0.2123 0.5125 0.8321 +vn 0.0000 0.6265 0.7794 +vn 0.0000 0.5547 0.8321 +vn 0.2123 0.5125 0.8321 +vn 0.2398 0.5788 0.7794 +vn 0.4430 0.4430 0.7794 +vn 0.3922 0.3922 0.8321 +vn 0.5788 0.2398 0.7794 +vn 0.5125 0.2123 0.8321 +vn 0.5547 -0.0000 0.8321 +vn 0.6265 -0.0000 0.7794 +vn 0.5125 -0.2123 0.8321 +vn 0.5788 -0.2398 0.7794 +vn 0.3922 -0.3922 0.8320 +vn 0.4430 -0.4430 0.7794 +vn 0.2123 -0.5125 0.8321 +vn 0.2398 -0.5788 0.7794 +vn 0.0000 -0.6265 0.7794 +vn 0.0000 -0.5547 0.8321 +vn -0.2123 -0.5125 0.8321 +vn -0.2398 -0.5788 0.7794 +vn -0.4430 -0.4430 0.7794 +vn -0.3922 -0.3922 0.8321 +vn -0.5788 -0.2398 0.7794 +vn -0.5125 -0.2123 0.8321 +vn -0.6265 0.0000 0.7794 +vn -0.5547 0.0000 0.8321 +vn -0.5125 0.2123 0.8321 +vn -0.5788 0.2398 0.7794 +vn -0.3922 0.3922 0.8321 +vn -0.4430 0.4430 0.7794 +vn -0.2398 0.5788 0.7794 +vn -0.0000 0.7071 0.7071 +vn -0.2706 0.6533 0.7071 +vn 0.2706 0.6533 0.7071 +vn 0.5000 0.5000 0.7071 +vn 0.6533 0.2706 0.7071 +vn 0.6533 -0.2706 0.7071 +vn 0.5000 -0.5000 0.7071 +vn 0.2706 -0.6533 0.7071 +vn 0.0000 -0.7071 0.7071 +vn -0.2706 -0.6533 0.7071 +vn -0.5000 -0.5000 0.7071 +vn -0.6533 -0.2706 0.7071 +vn -0.6533 0.2706 0.7071 +vn -0.5000 0.5000 0.7071 +vn -0.5000 0.5000 -0.7071 +vn -0.2706 0.6533 -0.7071 +vn -0.0000 0.7071 -0.7071 +vn 0.2706 0.6533 -0.7071 +vn 0.5000 0.5000 -0.7071 +vn 0.6533 0.2706 -0.7071 +vn 0.7071 0.0000 -0.7071 +vn 0.6533 -0.2706 -0.7071 +vn 0.5000 -0.5000 -0.7071 +vn 0.2706 -0.6533 -0.7071 +vn -0.0000 -0.7071 -0.7071 +vn -0.2706 -0.6533 -0.7071 +vn -0.5000 -0.5000 -0.7071 +vn -0.6533 -0.2706 -0.7071 +vn -0.7071 -0.0000 -0.7071 +vn -0.6533 0.2706 -0.7071 +vn -0.6983 -0.6983 -0.1571 +vn 0.6983 0.6983 -0.1571 +vn -0.3779 -0.9124 -0.1571 +vn 0.3779 0.9124 -0.1571 +vn 0.0000 -0.9876 -0.1571 +vn 0.0000 0.9876 -0.1571 +vn 0.3779 -0.9124 -0.1571 +vn 0.6983 -0.6983 -0.1571 +vn 0.9124 -0.3779 -0.1571 +vn 0.9876 -0.0000 -0.1571 +vn -0.1951 0.9808 0.0000 +vn 0.9124 0.3779 -0.1571 +vn -0.9978 -0.0662 0.0000 +vn -0.9876 0.0000 -0.1571 +vn -0.9124 -0.3779 -0.1571 +vn -0.9124 0.3779 -0.1571 +vn -0.6983 0.6983 -0.1571 +vn -0.3779 0.9124 -0.1571 +vn -0.3768 0.9097 -0.1747 +vn 0.0000 0.9846 -0.1747 +vn -0.6962 0.6962 -0.1747 +vn -0.9097 0.3768 -0.1747 +vn -0.9846 -0.0000 -0.1747 +vn 0.9097 0.3768 -0.1747 +vn 0.9808 0.1951 0.0000 +vn 0.9699 0.0690 -0.2336 +vn -0.9097 -0.3768 -0.1747 +vn 0.6962 0.6962 -0.1747 +vn -0.6962 -0.6962 -0.1747 +vn 0.3768 0.9097 -0.1747 +vn -0.3768 -0.9097 -0.1747 +vn 0.1897 -0.9537 -0.2333 +vn 0.0000 -0.9846 -0.1747 +vn -0.9808 0.1951 0.0000 +vn 0.8651 0.3583 -0.3511 +vn 0.3583 0.8651 -0.3511 +vn 0.0000 0.9363 -0.3511 +vn -0.3583 0.8651 -0.3511 +vn -0.8651 0.3583 -0.3511 +vn -0.9363 -0.0000 -0.3511 +vn -0.8651 -0.3583 -0.3511 +vn -0.3583 -0.8651 -0.3511 +vn -0.6621 -0.6621 -0.3511 +vn 0.3583 -0.8651 -0.3511 +vn 0.6621 -0.6621 -0.3511 +vn 0.8651 -0.3583 -0.3511 +vn 0.9363 -0.0000 -0.3511 +vn 0.9808 -0.1951 0.0000 +vn -0.4430 0.8965 -0.0000 +vn 0.4430 -0.8965 0.0000 +vn 0.1951 -0.9808 0.0000 +vn 0.1951 0.9808 0.0000 +vn 0.4430 0.8965 -0.0000 +vn -0.8765 0.3630 -0.3162 +vn 0.9487 0.0000 -0.3162 +vn 0.8765 0.3630 -0.3162 +vn -0.3630 -0.8765 -0.3162 +vn -0.6708 -0.6708 -0.3162 +vn 0.6708 0.6708 -0.3162 +vn 0.3630 0.8765 -0.3162 +vn 0.3630 -0.8765 -0.3162 +vn -0.8765 -0.3630 -0.3162 +vn -0.3630 0.8765 -0.3162 +vn 0.0000 -0.9487 -0.3162 +vn 0.8765 -0.3630 -0.3162 +vn 0.5047 -0.1901 -0.8421 +vn -0.4878 -0.5029 -0.7136 +vn -0.5047 -0.1901 -0.8421 +vn -0.4787 -0.5675 0.6699 +vn 0.5257 0.0000 0.8507 +vn -0.5257 0.0000 0.8507 +vn -0.6633 -0.5552 0.5018 +vn 0.4787 -0.5675 0.6699 +vn -0.4797 -0.7672 0.4257 +vn 0.6633 -0.5552 0.5018 +vn -0.4799 -0.4009 -0.7804 +vn 0.4797 -0.7672 0.4257 +vn 0.4878 -0.5029 -0.7136 +vn -0.6945 -0.2306 -0.6815 +vn 0.4799 -0.4009 -0.7804 +vn -0.9939 -0.0353 -0.1043 +vn -0.9692 -0.2154 0.1195 +vn -0.9919 -0.0945 0.0854 +vn 0.9811 -0.0133 -0.1928 +vn 0.9919 -0.0945 0.0854 +vn 0.9939 -0.0353 -0.1043 +vn 0.9650 -0.1446 -0.2187 +vn 0.9665 -0.1658 0.1958 +vn 0.9692 -0.2154 0.1195 +vn 0.9694 -0.1121 -0.2183 +vn 0.6945 -0.2306 -0.6815 +vn -0.9650 -0.1446 -0.2187 +vn -0.9665 -0.1658 0.1958 +vn -0.9732 0.0000 0.2298 +vn -0.9694 -0.1121 -0.2183 +vn 0.0000 -0.3827 0.9239 +vn 0.0000 0.3827 -0.9239 +vn 0.0000 0.9239 -0.3827 +vn 0.0000 -0.9239 0.3827 +vn 0.0000 0.9820 0.1891 +vn 0.0000 -0.9820 -0.1891 +vn 0.0000 0.9285 0.3714 +vn 0.0000 -0.9285 -0.3714 +vn 0.0000 -0.1602 0.9871 +vn 0.0000 -0.3162 0.9487 +vn 0.0000 0.9962 -0.0872 +vn 0.0000 0.9063 0.4226 +vn 0.0000 -0.9063 -0.4226 +vn 0.0000 -0.5736 -0.8192 +vn 0.0000 -0.0872 -0.9962 +vn 0.0000 0.4226 -0.9063 +vn 0.0000 -0.4226 0.9063 +vn 0.0000 0.5736 0.8192 +vn 0.0000 -0.9962 0.0872 +vn 0.0000 0.0872 0.9962 +vn 0.9886 0.0865 0.1236 +vn -0.9886 -0.0865 -0.1236 +vn -0.5000 -0.8660 0.0000 +vn -0.8660 -0.5000 0.0000 +vn 0.5000 0.8660 0.0000 +vn -0.8660 0.5000 0.0000 +vn -0.5000 0.8660 0.0000 +vn 0.8660 -0.5000 0.0000 +vn 0.8660 0.5000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn -0.0000 -0.9911 0.1334 +vn 0.5194 -0.7400 0.4273 +vn 0.5065 -0.8546 0.1144 +vn -0.9998 0.0215 -0.0058 +vn -0.8846 -0.4039 0.2332 +vn -0.8738 -0.4822 0.0628 +vn 0.4883 0.8653 -0.1129 +vn 0.8474 0.4598 -0.2654 +vn 0.4823 0.7586 -0.4380 +vn -0.4883 0.8653 -0.1129 +vn 0.0000 0.8660 -0.5000 +vn -0.4823 0.7586 -0.4380 +vn 0.8738 -0.4822 0.0628 +vn 0.8846 -0.4039 0.2332 +vn -0.5065 -0.8546 0.1144 +vn -0.5194 -0.7400 0.4273 +vn 0.0000 0.9918 -0.1278 +vn -0.8549 0.5140 -0.0698 +vn -0.8474 0.4598 -0.2654 +vn 0.9991 0.0373 -0.0215 +vn 0.9998 0.0215 -0.0058 +vn -0.0000 -0.8660 0.5000 +vn -0.9991 0.0373 -0.0215 +vn 0.8549 0.5140 -0.0698 +vn -0.0000 0.5000 -0.8660 +vn -0.8474 0.2655 -0.4598 +vn 0.8846 -0.2332 0.4039 +vn 0.9991 0.0215 -0.0373 +vn 0.0000 -0.5000 0.8660 +vn -0.9991 0.0215 -0.0373 +vn 0.8474 0.2655 -0.4598 +vn 0.5195 -0.4273 0.7400 +vn -0.8846 -0.2332 0.4039 +vn 0.4823 0.4380 -0.7586 +vn -0.4823 0.4380 -0.7586 +vn -0.5194 -0.4273 0.7400 +vn -0.5065 -0.1144 0.8546 +vn 0.4883 0.1129 -0.8653 +vn -0.0000 0.1278 -0.9918 +vn -0.8549 0.0698 -0.5140 +vn 0.8738 -0.0628 0.4822 +vn 0.9998 0.0058 -0.0215 +vn -0.0000 -0.1334 0.9911 +vn -0.9998 0.0058 -0.0215 +vn 0.8549 0.0698 -0.5140 +vn 0.5065 -0.1144 0.8546 +vn -0.8738 -0.0628 0.4822 +vn -0.4883 0.1129 -0.8653 +vn -0.5140 -0.0698 0.8549 +vn -0.0215 -0.0058 -0.9998 +vn -0.8653 -0.1129 -0.4883 +vn 0.8546 0.1144 0.5065 +vn 0.9911 0.1334 0.0000 +vn -0.0215 -0.0058 0.9998 +vn -0.9918 -0.1278 0.0000 +vn 0.8546 0.1144 -0.5065 +vn 0.4822 0.0628 0.8738 +vn -0.8653 -0.1129 0.4883 +vn 0.4822 0.0628 -0.8738 +vn -0.5140 -0.0698 -0.8549 +vn 0.4039 0.2332 0.8846 +vn 0.7400 0.4273 0.5195 +vn -0.4598 -0.2655 0.8474 +vn -0.0373 -0.0215 -0.9991 +vn -0.7586 -0.4380 -0.4823 +vn -0.0373 -0.0215 0.9991 +vn 0.7400 0.4273 -0.5195 +vn -0.7586 -0.4380 0.4823 +vn 0.4039 0.2332 -0.8846 +vn -0.4598 -0.2655 -0.8474 +vn -0.0215 -0.0373 -0.9991 +vn -0.2655 -0.4598 -0.8474 +vn 0.2332 0.4039 0.8846 +vn 0.4273 0.7400 0.5195 +vn -0.2655 -0.4598 0.8474 +vn -0.4380 -0.7586 -0.4823 +vn -0.0215 -0.0373 0.9991 +vn 0.4273 0.7400 -0.5194 +vn -0.4380 -0.7586 0.4823 +vn 0.2332 0.4039 -0.8846 +vn 0.0000 0.4664 -0.8846 +vn 0.0000 -0.0431 -0.9991 +vn 0.0000 -0.5309 -0.8474 +vn 0.0000 0.4664 0.8846 +vn 0.0000 0.8545 0.5195 +vn -0.0000 -0.5309 0.8474 +vn 0.0000 -0.8760 -0.4823 +vn 0.0000 -0.0431 0.9991 +vn 0.0000 0.8545 -0.5194 +vn 0.0000 -0.8760 0.4823 +vn -0.5194 -0.7400 0.4272 +vn 0.5195 -0.7400 0.4272 +vn 0.5194 -0.4273 0.7400 +vn 0.5140 -0.0698 0.8549 +vn 0.0215 -0.0058 -0.9998 +vn 0.8653 -0.1129 -0.4883 +vn -0.9911 0.1334 0.0000 +vn 0.9918 -0.1278 0.0000 +vn -0.8546 0.1144 -0.5065 +vn -0.4822 0.0628 0.8738 +vn 0.8653 -0.1129 0.4883 +vn 0.5140 -0.0698 -0.8549 +vn -0.8546 0.1144 0.5065 +vn -0.4039 0.2332 0.8846 +vn 0.4598 -0.2654 0.8474 +vn 0.0373 -0.0215 -0.9991 +vn -0.4822 0.0628 -0.8738 +vn 0.7586 -0.4380 -0.4823 +vn -0.7400 0.4272 0.5194 +vn 0.0215 -0.0058 0.9998 +vn -0.7400 0.4273 -0.5195 +vn 0.4598 -0.2654 -0.8474 +vn 0.0215 -0.0373 -0.9991 +vn -0.2332 0.4039 0.8846 +vn 0.2655 -0.4598 0.8474 +vn 0.7586 -0.4380 0.4823 +vn -0.4039 0.2332 -0.8846 +vn 0.4380 -0.7586 -0.4823 +vn 0.0215 -0.0373 0.9991 +vn 0.0373 -0.0215 0.9991 +vn 0.4380 -0.7586 0.4823 +vn -0.4273 0.7400 -0.5194 +vn -0.2332 0.4039 -0.8846 +vn -0.4273 0.7400 0.5194 +vn 0.2654 -0.4598 -0.8474 +vn -0.5000 0.8138 -0.2962 +vn -0.8616 0.5019 -0.0754 +vn -0.4975 0.8441 -0.1999 +vn 0.8660 -0.4698 0.1710 +vn 0.9949 0.0345 0.0948 +vn 0.8616 -0.4330 0.2649 +vn -0.0000 -0.9397 0.3420 +vn -0.4974 -0.7752 0.3894 +vn -0.5000 -0.8138 0.2962 +vn -0.8660 0.4698 -0.1710 +vn 0.8616 0.5019 -0.0754 +vn 0.4975 -0.7752 0.3894 +vn -0.0000 -0.9004 0.4350 +vn -0.8660 -0.4698 0.1710 +vn -0.9949 0.0345 0.0948 +vn 0.5000 0.8138 -0.2962 +vn 0.8660 0.4698 -0.1710 +vn 0.0000 0.9397 -0.3420 +vn -0.0000 0.9694 -0.2455 +vn 0.5000 -0.8138 0.2962 +vn -0.8616 -0.4330 0.2649 +vn 0.4975 0.8441 -0.1999 +vn 0.4331 -0.5339 0.7262 +vn 0.0000 -0.6430 0.7659 +vn -0.8661 0.1709 0.4697 +vn 0.4331 0.8758 0.2131 +vn 0.7501 0.5779 0.3215 +vn -0.0000 0.9848 0.1734 +vn -0.7501 -0.2360 0.6178 +vn -0.7501 0.5779 0.3215 +vn -0.4331 0.8758 0.2131 +vn 0.7501 -0.2360 0.6178 +vn -0.4331 -0.5339 0.7262 +vn 0.8661 0.1709 0.4697 +vn 0.0000 -0.0388 0.9992 +vn -0.3276 0.1389 0.9346 +vn -0.3782 0.3166 0.8699 +vn 0.3276 0.4943 0.8052 +vn 0.0000 0.6720 0.7405 +vn 0.1891 0.0088 0.9819 +vn 0.1891 0.6244 0.7579 +vn -0.3276 0.4943 0.8052 +vn -0.1891 0.6244 0.7579 +vn 0.3782 0.3166 0.8699 +vn 0.3276 0.1389 0.9346 +vn -0.1891 0.0088 0.9819 +vn 0.6621 0.6621 -0.3511 +vn -0.6621 0.6621 -0.3511 +vn -0.0000 -0.9363 -0.3511 +vn -0.5556 0.8315 0.0000 +vn 0.5556 -0.8315 0.0000 +vn -0.9487 0.0000 -0.3162 +vn -0.6708 0.6708 -0.3162 +vn 0.0000 0.9487 -0.3162 +vn 0.6708 -0.6708 -0.3162 +vn -0.9811 -0.0133 -0.1928 +vn 0.9732 0.0000 0.2298 +s off +f 30/1/1 36/2/1 35/3/1 +f 30/1/1 34/4/1 32/5/1 +f 32/5/1 33/6/1 2/7/1 +f 2/7/1 48/8/1 4/9/1 +f 4/9/1 47/10/1 6/11/1 +f 6/11/1 46/12/1 8/13/1 +f 8/13/1 45/14/1 10/15/1 +f 10/15/1 44/16/1 12/17/1 +f 12/17/1 43/18/1 14/19/1 +f 16/20/1 43/18/1 42/21/1 +f 18/22/1 42/21/1 41/23/1 +f 20/24/1 41/25/1 40/26/1 +f 22/27/1 40/26/1 39/28/1 +f 24/29/1 39/28/1 38/30/1 +f 26/31/1 38/30/1 37/32/1 +f 28/33/1 37/32/1 36/2/1 +f 129/34/2 121/35/2 122/36/2 +f 137/37/2 118/38/2 136/39/2 +f 122/36/2 144/40/2 129/34/2 +f 136/39/2 115/41/2 135/42/2 +f 119/43/2 143/44/2 144/40/2 +f 135/42/2 116/45/2 134/46/2 +f 143/44/2 113/47/2 142/48/2 +f 142/48/2 114/49/2 141/50/2 +f 134/46/2 128/51/2 133/52/2 +f 141/50/2 127/53/2 140/54/2 +f 133/52/2 126/55/2 132/56/2 +f 140/54/2 125/57/2 139/58/2 +f 132/56/2 124/59/2 131/60/2 +f 139/58/2 123/61/2 138/62/2 +f 131/60/2 121/35/2 130/63/2 +f 137/64/2 123/61/2 120/65/2 +f 195/66/2 109/67/2 110/68/2 +f 196/69/2 108/70/2 109/67/2 +f 108/70/2 198/71/2 107/72/2 +f 198/71/2 106/73/2 107/72/2 +f 106/73/2 200/74/2 105/75/2 +f 105/75/2 201/76/2 104/77/2 +f 104/78/2 202/79/2 103/80/2 +f 103/80/2 203/81/2 102/82/2 +f 102/82/2 204/83/2 101/84/2 +f 101/84/2 205/85/2 100/86/2 +f 205/85/2 99/87/2 100/86/2 +f 206/88/2 98/89/2 99/87/2 +f 207/90/2 97/91/2 98/89/2 +f 97/91/2 193/92/2 112/93/2 +f 112/93/2 194/94/2 111/95/2 +f 194/94/2 110/68/2 111/95/2 +f 234/96/3 229/97/3 877/98/3 +f 243/99/4 244/100/4 242/101/4 +f 238/102/1 244/103/1 239/104/1 +f 226/105/2 231/106/2 225/107/2 +f 240/108/5 232/109/5 226/110/5 +f 235/111/1 229/97/1 234/96/1 +f 236/112/5 227/113/5 876/114/5 +f 233/115/4 235/116/4 234/96/4 +f 233/117/2 881/118/2 880/119/2 +f 244/103/6 240/108/6 239/104/6 +f 238/102/7 242/120/7 241/121/7 +f 225/107/3 242/120/3 237/122/3 +f 253/123/2 259/124/2 257/125/2 +f 249/126/1 251/127/1 245/128/1 +f 269/129/2 272/130/2 262/131/2 +f 272/130/2 263/132/2 262/131/2 +f 273/133/2 264/134/2 263/132/2 +f 274/135/2 212/136/2 264/134/2 +f 270/137/1 310/138/1 306/139/1 +f 267/140/1 310/138/1 266/141/1 +f 268/142/1 309/143/1 267/140/1 +f 268/142/1 307/144/1 308/145/1 +f 311/146/8 287/147/8 269/148/8 +f 275/149/9 289/150/9 305/151/9 +f 59/152/2 318/153/2 58/154/2 +f 343/155/9 328/156/9 336/157/9 +f 375/158/10 340/159/10 339/160/10 +f 373/161/3 379/162/3 377/163/3 +f 331/164/2 334/165/2 333/166/2 +f 345/167/2 351/168/2 346/169/2 +f 329/170/2 332/171/2 335/172/2 +f 330/173/2 335/172/2 334/165/2 +f 341/174/1 339/175/1 340/159/1 +f 343/155/1 337/176/1 342/177/1 +f 342/177/1 338/178/1 341/174/1 +f 345/167/2 353/179/2 352/180/2 +f 347/181/2 349/182/2 348/183/2 +f 346/169/2 350/184/2 347/181/2 +f 361/185/1 354/186/1 355/187/1 +f 354/186/1 363/188/1 358/189/1 +f 360/190/1 356/191/1 357/192/1 +f 359/193/1 355/187/1 356/191/1 +f 368/194/11 367/195/11 370/196/11 +f 344/197/4 363/198/4 353/199/4 +f 366/200/1 364/201/1 365/202/1 +f 368/194/2 371/203/2 369/204/2 +f 372/205/1 374/206/1 373/161/1 +f 377/163/2 378/207/2 376/208/2 +f 333/166/10 378/209/10 331/210/10 +f 381/211/2 382/212/2 380/213/2 +f 383/214/4 384/215/4 382/212/4 +f 385/216/12 386/217/12 384/215/12 +f 387/218/4 388/219/4 386/217/4 +f 384/215/3 386/220/3 390/221/3 +f 391/222/5 389/223/5 387/224/5 +f 404/225/2 400/226/2 396/227/2 +f 60/228/2 317/229/2 59/230/2 +f 61/231/2 316/232/2 60/233/2 +f 62/234/2 315/235/2 61/236/2 +f 63/237/2 314/238/2 62/239/2 +f 64/240/2 313/241/2 63/242/2 +f 49/243/2 312/244/2 64/245/2 +f 50/246/2 327/247/2 49/248/2 +f 51/249/2 326/250/2 50/251/2 +f 51/252/2 324/253/2 325/254/2 +f 53/255/2 324/256/2 52/257/2 +f 53/258/2 322/259/2 323/260/2 +f 54/261/2 321/262/2 322/263/2 +f 55/264/2 320/265/2 321/266/2 +f 56/267/2 319/268/2 320/269/2 +f 57/270/2 318/271/2 319/272/2 +f 442/273/13 441/274/13 440/275/13 +f 444/276/4 443/277/4 442/273/4 +f 443/278/5 449/279/5 447/280/5 +f 448/281/3 444/282/3 442/283/3 +f 453/284/5 456/285/5 451/286/5 +f 450/287/3 455/288/3 452/289/3 +f 457/290/3 461/291/3 455/288/3 +f 460/292/5 456/285/5 454/293/5 +f 459/294/3 465/295/3 461/291/3 +f 460/292/5 462/296/5 458/297/5 +f 463/298/3 469/299/3 465/295/3 +f 462/296/5 468/300/5 466/301/5 +f 472/302/4 471/303/4 470/304/4 +f 479/305/5 477/306/5 475/307/5 +f 474/308/3 476/309/3 478/310/3 +f 502/311/3 500/312/3 498/313/3 +f 524/314/3 522/315/3 518/316/3 +f 512/317/5 514/318/5 504/319/5 +f 539/320/14 540/321/14 536/322/14 +f 531/323/14 532/324/14 530/325/14 +f 528/326/15 534/327/15 529/328/15 +f 535/329/14 536/322/14 532/324/14 +f 534/327/15 537/330/15 538/331/15 +f 537/330/15 542/332/15 538/331/15 +f 562/333/3 560/334/3 558/335/3 +f 578/336/2 574/337/2 570/338/2 +f 590/339/1 581/340/1 584/341/1 +f 602/342/1 592/343/1 596/344/1 +f 614/345/2 610/346/2 606/347/2 +f 800/348/1 804/349/1 796/350/1 +f 818/351/1 814/352/1 810/353/1 +f 828/354/16 826/355/16 822/356/16 +f 870/357/9 868/358/9 874/359/9 +f 227/360/17 875/361/17 876/362/17 +f 873/363/9 872/364/9 869/365/9 +f 877/366/18 869/365/18 230/367/18 +f 880/368/2 868/358/2 227/369/2 +f 869/365/2 881/370/2 230/371/2 +f 228/372/9 878/373/9 879/374/9 +f 870/357/3 880/375/3 878/373/3 +f 881/376/5 871/377/5 879/374/5 +f 879/374/9 880/375/9 881/376/9 +f 873/363/1 879/378/1 871/377/1 +f 878/379/1 875/361/1 870/357/1 +f 884/380/9 883/381/9 882/382/9 +f 882/382/2 889/383/2 884/380/2 +f 883/381/19 887/384/19 882/382/19 +f 885/385/1 886/386/1 883/381/1 +f 884/380/20 888/387/20 885/385/20 +f 899/388/2 912/389/2 900/390/2 +f 912/389/2 901/391/2 900/390/2 +f 901/391/2 902/392/2 890/393/2 +f 902/392/2 891/394/2 890/393/2 +f 891/394/2 904/395/2 892/396/2 +f 904/395/2 893/397/2 892/396/2 +f 893/397/2 906/398/2 894/399/2 +f 906/398/2 895/400/2 894/399/2 +f 895/400/2 908/401/2 896/402/2 +f 908/403/2 897/404/2 896/405/2 +f 897/404/2 910/406/2 898/407/2 +f 910/406/2 899/388/2 898/407/2 +f 923/408/1 936/409/1 935/410/1 +f 925/411/1 936/409/1 924/412/1 +f 925/411/1 927/413/1 937/414/1 +f 914/415/1 927/413/1 915/416/1 +f 914/415/1 928/417/1 926/418/1 +f 917/419/1 928/417/1 916/420/1 +f 917/419/1 930/421/1 929/422/1 +f 919/423/1 930/421/1 918/424/1 +f 919/423/1 932/425/1 931/426/1 +f 921/427/1 932/428/1 920/429/1 +f 921/427/1 934/430/1 933/431/1 +f 923/408/1 934/430/1 922/432/1 +f 945/433/21 956/434/21 942/435/21 +f 958/436/1 956/434/1 957/437/1 +f 948/438/2 940/439/2 947/440/2 +f 944/441/3 957/437/3 945/442/3 +f 948/438/3 951/443/3 949/444/3 +f 940/445/22 949/444/22 938/446/22 +f 943/447/5 956/434/5 959/448/5 +f 946/449/1 949/450/1 951/451/1 +f 952/452/5 955/453/5 953/454/5 +f 939/455/23 953/454/23 941/456/23 +f 962/457/3 965/458/3 963/459/3 +f 966/460/1 964/461/1 965/458/1 +f 963/462/21 964/461/21 960/463/21 +f 961/464/5 964/461/5 967/465/5 +f 980/466/1 982/467/1 976/468/1 +f 990/469/5 988/470/5 989/471/5 +f 987/472/4 990/469/4 985/473/4 +f 984/474/9 988/470/9 986/475/9 +f 986/476/2 991/477/2 987/478/2 +f 985/479/1 989/471/1 984/480/1 +f 304/481/1 289/482/1 992/483/1 +f 992/483/1 303/484/1 304/481/1 +f 993/485/1 302/486/1 303/484/1 +f 994/487/1 311/488/1 302/486/1 +f 300/489/1 288/490/1 301/491/1 +f 1005/492/2 1001/493/2 997/494/2 +f 1017/495/1 1008/496/1 1011/497/1 +f 1029/498/1 1019/499/1 1023/500/1 +f 1041/501/2 1037/502/2 1033/503/2 +f 30/1/1 28/33/1 36/2/1 +f 30/1/1 35/3/1 34/4/1 +f 32/5/1 34/4/1 33/6/1 +f 2/7/1 33/6/1 48/8/1 +f 4/9/1 48/8/1 47/10/1 +f 6/11/1 47/10/1 46/12/1 +f 8/13/1 46/12/1 45/14/1 +f 10/15/1 45/14/1 44/16/1 +f 12/17/1 44/16/1 43/18/1 +f 16/20/1 14/19/1 43/18/1 +f 18/22/1 16/20/1 42/21/1 +f 20/24/1 18/504/1 41/25/1 +f 22/27/1 20/24/1 40/26/1 +f 24/29/1 22/27/1 39/28/1 +f 26/31/1 24/29/1 38/30/1 +f 28/33/1 26/31/1 37/32/1 +f 129/34/2 130/63/2 121/35/2 +f 137/37/2 120/505/2 118/38/2 +f 122/36/2 119/43/2 144/40/2 +f 136/39/2 118/38/2 115/41/2 +f 119/43/2 117/506/2 143/44/2 +f 135/42/2 115/41/2 116/45/2 +f 143/44/2 117/506/2 113/47/2 +f 142/48/2 113/47/2 114/49/2 +f 134/46/2 116/45/2 128/51/2 +f 141/50/2 114/49/2 127/53/2 +f 133/52/2 128/51/2 126/55/2 +f 140/54/2 127/53/2 125/57/2 +f 132/56/2 126/55/2 124/59/2 +f 139/58/2 125/57/2 123/61/2 +f 131/60/2 124/59/2 121/35/2 +f 137/64/2 138/62/2 123/61/2 +f 195/66/2 196/69/2 109/67/2 +f 196/69/2 197/507/2 108/70/2 +f 108/70/2 197/507/2 198/71/2 +f 198/71/2 199/508/2 106/73/2 +f 106/73/2 199/508/2 200/74/2 +f 105/75/2 200/74/2 201/76/2 +f 104/78/2 201/509/2 202/79/2 +f 103/80/2 202/79/2 203/81/2 +f 102/82/2 203/81/2 204/83/2 +f 101/84/2 204/83/2 205/85/2 +f 205/85/2 206/88/2 99/87/2 +f 206/88/2 207/90/2 98/89/2 +f 207/90/2 208/510/2 97/91/2 +f 97/91/2 208/510/2 193/92/2 +f 112/93/2 193/92/2 194/94/2 +f 194/94/2 195/66/2 110/68/2 +f 230/511/3 233/115/3 877/98/3 +f 233/115/3 234/96/3 877/98/3 +f 244/100/4 241/512/4 242/101/4 +f 242/101/4 231/513/4 232/109/4 +f 232/109/4 243/99/4 242/101/4 +f 238/102/1 241/121/1 244/103/1 +f 226/105/2 232/514/2 231/106/2 +f 240/108/5 243/99/5 232/109/5 +f 235/111/1 228/372/1 229/97/1 +f 228/372/5 235/111/5 876/114/5 +f 235/111/5 236/112/5 876/114/5 +f 233/115/4 236/515/4 235/116/4 +f 227/113/2 236/112/2 880/119/2 +f 236/112/2 233/117/2 880/119/2 +f 233/117/2 230/516/2 881/118/2 +f 244/103/6 243/99/6 240/108/6 +f 238/102/7 237/122/7 242/120/7 +f 225/107/3 231/106/3 242/120/3 +f 255/517/2 254/518/2 253/123/2 +f 253/123/2 260/519/2 259/124/2 +f 259/124/2 258/520/2 257/125/2 +f 257/125/2 256/521/2 255/517/2 +f 255/517/2 253/123/2 257/125/2 +f 245/128/1 246/522/1 247/523/1 +f 247/523/1 248/524/1 249/126/1 +f 249/126/1 250/525/1 251/127/1 +f 251/127/1 252/526/1 245/128/1 +f 245/128/1 247/523/1 249/126/1 +f 269/129/2 287/527/2 272/130/2 +f 272/130/2 273/133/2 263/132/2 +f 273/133/2 274/135/2 264/134/2 +f 274/135/2 275/528/2 212/136/2 +f 270/137/1 266/141/1 310/138/1 +f 267/140/1 309/143/1 310/138/1 +f 268/142/1 308/145/1 309/143/1 +f 268/142/1 211/529/1 307/144/1 +f 269/148/8 270/530/8 311/146/8 +f 270/530/8 306/531/8 311/146/8 +f 311/146/8 301/532/8 287/147/8 +f 307/533/9 211/534/9 305/151/9 +f 211/534/9 212/535/9 305/151/9 +f 212/535/9 275/149/9 305/151/9 +f 59/152/2 317/536/2 318/153/2 +f 343/155/9 332/171/9 328/156/9 +f 375/158/10 372/205/10 340/159/10 +f 373/161/3 374/537/3 379/162/3 +f 331/164/2 330/173/2 334/165/2 +f 345/167/2 352/180/2 351/168/2 +f 329/170/2 328/538/2 332/171/2 +f 330/173/2 329/170/2 335/172/2 +f 341/174/1 338/178/1 339/175/1 +f 343/155/1 336/539/1 337/176/1 +f 342/177/1 337/176/1 338/178/1 +f 345/167/2 344/197/2 353/179/2 +f 347/181/2 350/184/2 349/182/2 +f 346/169/2 351/168/2 350/184/2 +f 361/185/1 362/540/1 354/186/1 +f 354/186/1 362/540/1 363/188/1 +f 360/190/1 359/193/1 356/191/1 +f 359/193/1 361/185/1 355/187/1 +f 368/194/11 364/201/11 367/195/11 +f 344/197/4 358/189/4 363/198/4 +f 366/200/1 367/541/1 364/201/1 +f 368/194/2 370/542/2 371/203/2 +f 372/205/1 375/543/1 374/206/1 +f 377/163/2 379/544/2 378/207/2 +f 333/166/10 376/208/10 378/209/10 +f 381/211/2 383/214/2 382/212/2 +f 383/214/4 385/216/4 384/215/4 +f 385/216/12 387/218/12 386/217/12 +f 387/218/4 389/545/4 388/219/4 +f 380/546/3 382/212/3 384/215/3 +f 386/220/3 388/547/3 390/221/3 +f 380/546/3 384/215/3 390/221/3 +f 383/214/5 381/548/5 385/216/5 +f 381/548/5 391/222/5 385/216/5 +f 385/216/5 391/222/5 387/224/5 +f 396/227/2 395/549/2 394/550/2 +f 394/550/2 409/551/2 396/227/2 +f 409/551/2 408/552/2 396/227/2 +f 408/552/2 407/553/2 406/554/2 +f 406/554/2 405/555/2 404/225/2 +f 404/225/2 403/556/2 402/557/2 +f 402/557/2 401/558/2 400/226/2 +f 400/226/2 399/559/2 398/560/2 +f 398/560/2 397/561/2 396/227/2 +f 408/552/2 406/554/2 404/225/2 +f 404/225/2 402/557/2 400/226/2 +f 400/226/2 398/560/2 396/227/2 +f 396/227/2 408/552/2 404/225/2 +f 60/228/2 316/562/2 317/229/2 +f 61/231/2 315/563/2 316/232/2 +f 62/234/2 314/564/2 315/235/2 +f 63/237/2 313/565/2 314/238/2 +f 64/240/2 312/566/2 313/241/2 +f 49/243/2 327/567/2 312/244/2 +f 50/246/2 326/568/2 327/247/2 +f 51/249/2 325/569/2 326/250/2 +f 51/252/2 52/570/2 324/253/2 +f 53/255/2 323/571/2 324/256/2 +f 53/258/2 54/572/2 322/259/2 +f 54/261/2 55/573/2 321/262/2 +f 55/264/2 56/574/2 320/265/2 +f 56/267/2 57/575/2 319/268/2 +f 57/270/2 58/576/2 318/271/2 +f 442/273/13 443/277/13 441/274/13 +f 444/276/4 445/577/4 443/277/4 +f 447/280/5 441/274/5 443/278/5 +f 443/278/5 445/578/5 449/279/5 +f 442/283/3 440/275/3 446/579/3 +f 446/579/3 448/281/3 442/283/3 +f 453/284/5 454/293/5 456/285/5 +f 450/287/3 457/290/3 455/288/3 +f 457/290/3 459/294/3 461/291/3 +f 460/292/5 458/297/5 456/285/5 +f 459/294/3 463/298/3 465/295/3 +f 460/292/5 464/580/5 462/296/5 +f 463/298/3 467/581/3 469/299/3 +f 462/296/5 464/580/5 468/300/5 +f 472/302/4 473/582/4 471/303/4 +f 475/307/5 471/303/5 473/582/5 +f 473/582/5 479/305/5 475/307/5 +f 478/310/3 472/302/3 474/308/3 +f 472/302/3 470/304/3 474/308/3 +f 494/583/3 493/584/3 492/585/3 +f 492/585/3 503/586/3 502/311/3 +f 502/311/3 501/587/3 500/312/3 +f 500/312/3 499/588/3 498/313/3 +f 498/313/3 497/589/3 494/583/3 +f 497/589/3 496/590/3 494/583/3 +f 496/590/3 495/591/3 494/583/3 +f 494/583/3 492/585/3 498/313/3 +f 492/585/3 502/311/3 498/313/3 +f 518/316/3 517/592/3 516/593/3 +f 516/593/3 527/594/3 526/595/3 +f 526/595/3 525/596/3 524/314/3 +f 524/314/3 523/597/3 522/315/3 +f 522/315/3 521/598/3 518/316/3 +f 521/598/3 520/599/3 518/316/3 +f 520/599/3 519/600/3 518/316/3 +f 518/316/3 516/593/3 526/595/3 +f 526/595/3 524/314/3 518/316/3 +f 504/319/5 505/601/5 506/602/5 +f 506/602/5 507/603/5 508/604/5 +f 508/604/5 509/605/5 512/317/5 +f 509/605/5 510/606/5 512/317/5 +f 510/606/5 511/607/5 512/317/5 +f 512/317/5 513/608/5 514/318/5 +f 514/318/5 515/609/5 504/319/5 +f 504/319/5 506/602/5 512/317/5 +f 506/602/5 508/604/5 512/317/5 +f 539/320/14 543/610/14 540/321/14 +f 531/323/14 535/329/14 532/324/14 +f 528/326/15 533/611/15 534/327/15 +f 535/329/14 539/320/14 536/322/14 +f 534/327/15 533/611/15 537/330/15 +f 537/330/15 541/612/15 542/332/15 +f 558/335/3 557/613/3 556/614/3 +f 556/614/3 567/615/3 558/335/3 +f 567/615/3 566/616/3 558/335/3 +f 566/616/3 565/617/3 564/618/3 +f 564/618/3 563/619/3 562/333/3 +f 562/333/3 561/620/3 560/334/3 +f 560/334/3 559/621/3 558/335/3 +f 566/616/3 564/618/3 558/335/3 +f 564/618/3 562/333/3 558/335/3 +f 570/338/2 569/622/2 578/336/2 +f 569/622/2 568/623/2 578/336/2 +f 568/623/2 579/624/2 578/336/2 +f 578/336/2 577/625/2 576/626/2 +f 576/626/2 575/627/2 574/337/2 +f 574/337/2 573/628/2 572/629/2 +f 572/629/2 571/630/2 574/337/2 +f 571/630/2 570/338/2 574/337/2 +f 578/336/2 576/626/2 574/337/2 +f 581/340/1 580/631/1 582/632/1 +f 582/632/1 583/633/1 581/340/1 +f 583/633/1 584/341/1 581/340/1 +f 584/341/1 585/634/1 588/635/1 +f 585/634/1 586/636/1 588/635/1 +f 586/636/1 587/637/1 588/635/1 +f 588/635/1 589/638/1 590/339/1 +f 590/339/1 591/639/1 581/340/1 +f 588/635/1 590/339/1 584/341/1 +f 592/343/1 593/640/1 594/641/1 +f 594/641/1 595/642/1 592/343/1 +f 595/642/1 596/344/1 592/343/1 +f 596/344/1 597/643/1 600/644/1 +f 597/643/1 598/645/1 600/644/1 +f 598/645/1 599/646/1 600/644/1 +f 600/644/1 601/647/1 602/342/1 +f 602/342/1 603/648/1 592/343/1 +f 600/644/1 602/342/1 596/344/1 +f 606/347/2 604/649/2 614/345/2 +f 604/649/2 605/650/2 614/345/2 +f 605/650/2 615/651/2 614/345/2 +f 614/345/2 613/652/2 612/653/2 +f 612/653/2 611/654/2 610/346/2 +f 610/346/2 609/655/2 608/656/2 +f 608/656/2 607/657/2 610/346/2 +f 607/657/2 606/347/2 610/346/2 +f 614/345/2 612/653/2 610/346/2 +f 796/350/1 797/658/1 798/659/1 +f 798/659/1 799/660/1 796/350/1 +f 799/660/1 800/348/1 796/350/1 +f 800/348/1 801/661/1 804/349/1 +f 801/661/1 802/662/1 804/349/1 +f 802/662/1 803/663/1 804/349/1 +f 804/349/1 805/664/1 806/665/1 +f 806/665/1 807/666/1 804/349/1 +f 807/666/1 796/350/1 804/349/1 +f 810/353/1 809/667/1 808/668/1 +f 808/668/1 819/669/1 810/353/1 +f 819/669/1 818/351/1 810/353/1 +f 818/351/1 817/670/1 816/671/1 +f 816/671/1 815/672/1 818/351/1 +f 815/672/1 814/352/1 818/351/1 +f 814/352/1 813/673/1 810/353/1 +f 813/673/1 812/674/1 810/353/1 +f 812/674/1 811/675/1 810/353/1 +f 822/356/16 821/676/16 830/677/16 +f 821/676/16 820/678/16 830/677/16 +f 820/678/16 831/679/16 830/677/16 +f 830/677/16 829/680/16 828/354/16 +f 828/354/16 827/681/16 826/355/16 +f 826/355/16 825/682/16 824/683/16 +f 824/683/16 823/684/16 826/355/16 +f 823/684/16 822/356/16 826/355/16 +f 830/677/16 828/354/16 822/356/16 +f 870/357/9 875/361/9 868/358/9 +f 227/360/17 868/358/17 875/361/17 +f 873/363/9 871/377/9 872/364/9 +f 877/366/18 873/363/18 869/365/18 +f 880/368/2 874/359/2 868/358/2 +f 869/365/2 872/364/2 881/370/2 +f 877/685/9 229/97/9 879/374/9 +f 229/97/9 228/372/9 879/374/9 +f 228/372/9 876/686/9 878/373/9 +f 870/357/3 874/359/3 880/375/3 +f 881/376/5 872/364/5 871/377/5 +f 879/374/9 878/373/9 880/375/9 +f 873/363/1 877/687/1 879/378/1 +f 878/379/1 876/688/1 875/361/1 +f 884/380/9 885/385/9 883/381/9 +f 882/382/2 887/689/2 889/383/2 +f 883/381/19 886/690/19 887/384/19 +f 885/385/1 888/691/1 886/386/1 +f 884/380/20 889/692/20 888/387/20 +f 899/388/2 911/693/2 912/389/2 +f 912/389/2 913/694/2 901/391/2 +f 901/391/2 913/694/2 902/392/2 +f 902/392/2 903/695/2 891/394/2 +f 891/394/2 903/695/2 904/395/2 +f 904/395/2 905/696/2 893/397/2 +f 893/397/2 905/696/2 906/398/2 +f 906/398/2 907/697/2 895/400/2 +f 895/400/2 907/697/2 908/401/2 +f 908/403/2 909/698/2 897/404/2 +f 897/404/2 909/698/2 910/406/2 +f 910/406/2 911/693/2 899/388/2 +f 923/408/1 924/412/1 936/409/1 +f 925/411/1 937/414/1 936/409/1 +f 925/411/1 915/416/1 927/413/1 +f 914/415/1 926/418/1 927/413/1 +f 914/415/1 916/420/1 928/417/1 +f 917/419/1 929/422/1 928/417/1 +f 917/419/1 918/424/1 930/421/1 +f 919/423/1 931/426/1 930/421/1 +f 919/423/1 920/699/1 932/425/1 +f 921/427/1 933/431/1 932/428/1 +f 921/427/1 922/432/1 934/430/1 +f 923/408/1 935/410/1 934/430/1 +f 945/433/21 957/437/21 956/434/21 +f 958/436/1 959/448/1 956/434/1 +f 947/440/2 941/700/2 953/701/2 +f 953/701/2 955/702/2 947/440/2 +f 955/702/2 950/703/2 947/440/2 +f 950/703/2 948/438/2 947/440/2 +f 944/441/3 958/436/3 957/437/3 +f 948/438/3 950/703/3 951/443/3 +f 940/445/22 948/438/22 949/444/22 +f 943/447/5 942/704/5 956/434/5 +f 951/451/1 954/705/1 946/449/1 +f 954/705/1 952/452/1 946/449/1 +f 952/452/1 939/706/1 946/449/1 +f 946/449/1 938/707/1 949/450/1 +f 952/452/5 954/705/5 955/453/5 +f 939/455/23 952/452/23 953/454/23 +f 962/457/3 966/460/3 965/458/3 +f 966/460/1 967/465/1 964/461/1 +f 963/462/21 965/458/21 964/461/21 +f 961/464/5 960/708/5 964/461/5 +f 976/468/1 977/709/1 978/710/1 +f 978/710/1 979/711/1 980/466/1 +f 980/466/1 981/712/1 982/467/1 +f 982/467/1 983/713/1 976/468/1 +f 976/468/1 978/710/1 980/466/1 +f 990/469/5 991/477/5 988/470/5 +f 987/472/4 991/477/4 990/469/4 +f 984/474/9 989/471/9 988/470/9 +f 986/476/2 988/470/2 991/477/2 +f 985/479/1 990/469/1 989/471/1 +f 304/481/1 305/714/1 289/482/1 +f 992/483/1 993/485/1 303/484/1 +f 993/485/1 994/487/1 302/486/1 +f 994/487/1 301/715/1 311/488/1 +f 301/491/1 994/716/1 993/717/1 +f 993/717/1 992/718/1 301/491/1 +f 992/718/1 289/719/1 301/491/1 +f 289/719/1 290/720/1 301/491/1 +f 290/720/1 291/721/1 301/491/1 +f 291/721/1 292/722/1 301/491/1 +f 292/722/1 293/723/1 301/491/1 +f 293/723/1 294/724/1 301/491/1 +f 294/724/1 295/725/1 301/491/1 +f 295/725/1 296/726/1 301/491/1 +f 296/726/1 297/727/1 301/491/1 +f 297/727/1 298/728/1 301/491/1 +f 298/728/1 299/729/1 301/491/1 +f 299/729/1 300/489/1 301/491/1 +f 997/494/2 996/730/2 1005/492/2 +f 996/730/2 995/731/2 1005/492/2 +f 995/731/2 1006/732/2 1005/492/2 +f 1005/492/2 1004/733/2 1003/734/2 +f 1003/734/2 1002/735/2 1001/493/2 +f 1001/493/2 1000/736/2 999/737/2 +f 999/737/2 998/738/2 1001/493/2 +f 998/738/2 997/494/2 1001/493/2 +f 1005/492/2 1003/734/2 1001/493/2 +f 1008/496/1 1007/739/1 1009/740/1 +f 1009/740/1 1010/741/1 1008/496/1 +f 1010/741/1 1011/497/1 1008/496/1 +f 1011/497/1 1012/742/1 1015/743/1 +f 1012/742/1 1013/744/1 1015/743/1 +f 1013/744/1 1014/745/1 1015/743/1 +f 1015/743/1 1016/746/1 1017/495/1 +f 1017/495/1 1018/747/1 1008/496/1 +f 1015/743/1 1017/495/1 1011/497/1 +f 1019/499/1 1020/748/1 1021/749/1 +f 1021/749/1 1022/750/1 1019/499/1 +f 1022/750/1 1023/500/1 1019/499/1 +f 1023/500/1 1024/751/1 1027/752/1 +f 1024/751/1 1025/753/1 1027/752/1 +f 1025/753/1 1026/754/1 1027/752/1 +f 1027/752/1 1028/755/1 1029/498/1 +f 1029/498/1 1030/756/1 1019/499/1 +f 1027/752/1 1029/498/1 1023/500/1 +f 1033/503/2 1031/757/2 1041/501/2 +f 1031/757/2 1032/758/2 1041/501/2 +f 1032/758/2 1042/759/2 1041/501/2 +f 1041/501/2 1040/760/2 1039/761/2 +f 1039/761/2 1038/762/2 1037/502/2 +f 1037/502/2 1036/763/2 1035/764/2 +f 1035/764/2 1034/765/2 1037/502/2 +f 1034/765/2 1033/503/2 1037/502/2 +f 1041/501/2 1039/761/2 1037/502/2 +s 1 +f 2/7/9 3/766/24 1/767/25 +f 4/9/26 5/768/27 3/766/24 +f 6/11/23 7/769/28 5/768/27 +f 8/13/29 9/770/30 7/769/28 +f 10/15/5 11/771/31 9/770/30 +f 12/17/32 13/772/33 11/771/31 +f 13/772/33 16/20/34 15/773/35 +f 16/20/34 17/774/36 15/773/35 +f 18/504/4 19/775/37 17/776/36 +f 20/24/38 21/777/39 19/775/37 +f 22/27/40 23/778/41 21/777/39 +f 24/29/10 25/779/42 23/778/41 +f 26/31/3 27/780/43 25/779/42 +f 28/33/11 29/781/44 27/780/43 +f 30/1/22 31/782/45 29/781/44 +f 31/782/45 2/7/9 1/767/25 +f 43/18/22 58/783/46 42/21/46 +f 36/2/32 51/784/47 35/3/47 +f 44/16/11 59/785/22 43/18/22 +f 37/32/5 52/786/32 36/2/32 +f 45/14/3 60/787/11 44/16/11 +f 38/30/29 53/788/5 37/32/5 +f 46/12/10 61/789/3 45/14/3 +f 39/28/23 54/790/29 38/30/29 +f 47/10/40 62/791/10 46/12/10 +f 40/26/26 55/792/23 39/28/23 +f 48/8/38 63/793/40 47/10/40 +f 41/25/9 56/794/26 40/26/26 +f 34/4/34 49/795/4 33/6/4 +f 33/6/4 64/796/38 48/8/38 +f 42/21/46 57/797/9 41/23/9 +f 35/3/47 50/798/34 34/4/34 +f 66/799/48 81/800/49 65/801/50 +f 81/800/49 31/802/45 1/803/25 +f 80/804/51 81/805/49 96/806/52 +f 80/804/51 95/807/53 79/808/54 +f 79/808/54 94/809/55 78/810/56 +f 77/811/57 94/812/55 93/813/58 +f 76/814/59 93/815/58 92/816/60 +f 75/817/61 92/818/60 91/819/62 +f 74/820/63 91/821/62 90/822/64 +f 74/820/63 89/823/65 73/824/66 +f 72/825/67 89/826/65 88/827/68 +f 72/825/67 87/828/69 71/829/70 +f 71/829/70 86/830/71 70/831/72 +f 70/831/72 85/832/73 69/833/74 +f 68/834/75 85/835/73 84/836/76 +f 67/837/77 84/838/76 83/839/78 +f 67/837/77 82/840/79 66/799/48 +f 3/841/24 81/805/49 1/842/25 +f 5/843/27 96/844/52 3/845/24 +f 94/809/55 5/846/27 7/847/28 +f 93/813/58 7/848/28 9/849/30 +f 11/850/31 93/815/58 9/851/30 +f 13/852/33 92/818/60 11/853/31 +f 90/822/64 13/854/33 15/855/35 +f 89/823/65 15/856/35 17/857/36 +f 19/858/37 89/826/65 17/859/36 +f 21/860/39 88/861/68 19/862/37 +f 23/863/41 87/864/69 21/865/39 +f 85/832/73 23/866/41 25/867/42 +f 84/836/76 25/868/42 27/869/43 +f 83/839/78 27/870/43 29/871/44 +f 82/840/79 29/872/44 31/873/45 +f 129/34/9 111/95/46 130/63/46 +f 144/40/26 112/93/9 129/34/9 +f 137/64/4 103/80/34 138/62/34 +f 130/63/46 110/68/22 131/60/22 +f 138/62/34 102/82/47 139/58/47 +f 131/60/22 109/67/11 132/56/11 +f 139/58/47 101/84/32 140/54/32 +f 132/56/11 108/70/3 133/52/3 +f 140/54/32 100/86/5 141/50/5 +f 133/52/3 107/72/10 134/46/10 +f 141/50/5 99/87/29 142/48/29 +f 134/46/10 106/73/40 135/42/40 +f 142/48/29 98/89/23 143/44/23 +f 135/42/40 105/75/38 136/39/38 +f 143/44/23 97/91/26 144/40/26 +f 136/39/38 104/77/4 137/37/4 +f 154/874/9 119/43/26 122/36/9 +f 153/875/46 122/36/9 121/35/46 +f 156/876/22 121/35/46 124/59/22 +f 158/877/11 124/59/22 126/55/11 +f 160/878/3 126/55/11 128/51/3 +f 148/879/10 128/51/3 116/45/10 +f 147/880/40 116/45/10 115/41/40 +f 150/881/38 115/41/40 118/38/38 +f 152/882/4 118/38/38 120/505/4 +f 155/883/34 120/65/4 123/61/34 +f 157/884/47 123/61/34 125/57/47 +f 159/885/32 125/57/47 127/53/32 +f 146/886/5 127/53/32 114/49/5 +f 145/887/29 114/49/5 113/47/29 +f 149/888/23 113/47/29 117/506/23 +f 151/889/26 117/506/23 119/43/26 +f 192/890/80 153/875/81 191/891/81 +f 177/892/82 154/874/80 192/890/80 +f 178/893/83 151/889/82 177/892/82 +f 178/893/83 145/887/84 149/888/83 +f 179/894/84 146/886/6 145/887/84 +f 180/895/6 159/885/85 146/886/6 +f 181/896/85 157/884/86 159/885/85 +f 182/897/86 155/883/87 157/884/86 +f 184/898/88 155/883/87 183/899/87 +f 184/900/88 150/881/89 152/882/88 +f 185/901/89 147/880/90 150/881/89 +f 186/902/90 148/879/91 147/880/90 +f 188/903/7 148/879/91 187/904/91 +f 188/903/7 158/877/92 160/878/7 +f 189/905/92 156/876/93 158/877/92 +f 190/906/93 153/875/81 156/876/93 +f 172/907/94 191/891/95 190/906/94 +f 169/908/95 192/890/96 191/891/95 +f 170/909/96 177/892/97 192/890/96 +f 167/910/97 178/893/98 177/892/97 +f 178/893/98 161/911/99 179/894/99 +f 179/894/99 162/912/100 180/895/100 +f 180/895/100 175/913/101 181/896/101 +f 181/896/101 173/914/102 182/897/102 +f 173/914/102 183/899/103 182/897/102 +f 171/915/103 184/898/104 183/899/103 +f 184/900/104 166/916/105 185/901/105 +f 185/901/105 163/917/106 186/902/106 +f 186/902/106 164/918/107 187/904/107 +f 164/918/107 188/903/108 187/904/107 +f 188/903/108 174/919/109 189/905/109 +f 189/905/109 172/907/94 190/906/94 +f 66/799/46 172/907/22 67/837/22 +f 65/801/9 169/908/46 66/799/46 +f 80/804/26 170/909/9 65/801/9 +f 79/808/23 167/910/26 80/804/26 +f 78/810/29 165/920/23 79/808/23 +f 77/811/5 161/911/29 78/810/29 +f 76/814/32 162/912/5 77/811/5 +f 75/817/47 175/913/32 76/814/32 +f 74/820/34 173/914/47 75/817/47 +f 73/824/4 171/915/34 74/820/34 +f 72/825/38 168/921/4 73/922/4 +f 71/829/40 166/916/38 72/825/38 +f 70/831/10 163/917/40 71/829/40 +f 69/833/3 164/918/10 70/831/10 +f 68/834/11 176/923/3 69/833/3 +f 67/837/22 174/919/11 68/834/11 +f 198/924/10 215/925/110 199/926/40 +f 206/927/29 223/928/111 207/929/23 +f 199/926/40 216/930/112 200/931/38 +f 207/929/23 224/932/113 208/933/26 +f 200/931/38 217/934/114 201/935/4 +f 208/933/26 209/936/115 193/937/9 +f 201/938/4 218/939/116 202/940/34 +f 202/940/34 219/941/117 203/942/47 +f 203/942/47 220/943/118 204/944/32 +f 204/944/32 221/945/119 205/946/5 +f 270/947/120 193/937/9 209/936/115 +f 205/946/5 222/948/121 206/927/29 +f 245/949/9 254/950/22 246/951/22 +f 252/952/23 253/953/9 245/949/9 +f 250/954/47 259/955/5 251/956/5 +f 248/957/40 257/958/4 249/959/4 +f 246/951/22 255/960/3 247/961/3 +f 251/956/5 260/962/23 252/952/23 +f 249/963/4 258/964/47 250/954/47 +f 247/961/3 256/965/40 248/957/40 +f 269/966/120 194/967/46 193/937/9 +f 211/968/122 213/969/123 214/970/124 +f 264/971/11 197/972/3 196/973/11 +f 263/974/22 196/973/11 195/975/22 +f 262/976/46 195/975/22 194/967/46 +f 261/977/125 211/968/122 268/978/11 +f 265/979/126 268/978/11 267/980/22 +f 210/981/127 267/980/22 266/982/46 +f 210/981/127 270/947/120 209/936/115 +f 280/983/128 293/984/9 279/985/129 +f 281/986/130 294/987/46 280/983/128 +f 282/988/131 295/989/22 281/986/130 +f 283/990/132 296/991/11 282/988/131 +f 276/992/133 289/150/134 275/149/135 +f 284/993/136 297/994/3 283/990/132 +f 277/995/137 290/996/29 276/992/133 +f 285/997/138 298/998/10 284/993/136 +f 278/999/139 291/1000/23 277/995/137 +f 286/1001/140 299/1002/40 285/997/138 +f 279/985/129 292/1003/26 278/999/139 +f 287/147/141 288/1004/4 271/1005/142 +f 271/1005/142 300/1006/38 286/1001/140 +f 309/1007/22 304/481/11 303/484/22 +f 306/1008/120 302/486/46 311/488/120 +f 308/1009/11 305/714/143 304/481/11 +f 310/1010/46 303/484/22 302/486/46 +f 322/263/144 277/995/137 276/992/133 +f 277/995/137 320/265/145 278/999/139 +f 278/999/139 319/268/146 279/985/129 +f 319/272/146 280/983/128 279/985/129 +f 318/153/147 281/986/130 280/983/128 +f 281/986/130 316/562/148 282/988/131 +f 316/232/148 283/990/132 282/988/131 +f 315/235/149 284/993/136 283/990/132 +f 314/238/150 285/997/138 284/993/136 +f 312/244/151 271/1005/142 286/1001/140 +f 313/241/152 286/1001/140 285/997/138 +f 326/568/153 272/1011/153 287/147/141 +f 326/250/153 273/1012/154 272/1011/153 +f 325/254/154 274/1013/155 273/1012/154 +f 274/1013/155 323/571/156 275/1014/135 +f 323/260/156 276/992/133 275/149/135 +f 337/1015/11 330/1016/22 338/1017/22 +f 342/177/32 332/171/157 343/155/157 +f 379/1018/120 375/1019/158 378/1020/158 +f 336/1021/143 329/1022/11 337/1015/11 +f 341/174/47 335/172/32 342/177/32 +f 372/205/159 377/163/160 376/208/159 +f 346/169/23 354/186/29 345/167/29 +f 345/167/29 358/189/134 344/197/134 +f 365/202/161 347/181/26 348/183/161 +f 356/191/26 369/204/161 357/192/161 +f 364/201/162 368/194/162 355/187/23 +f 375/1019/158 330/1016/22 378/1020/158 +f 376/208/159 334/165/47 341/174/47 +f 397/1023/163 213/969/123 261/977/125 +f 220/943/118 406/1024/164 221/945/119 +f 221/945/119 407/1025/165 222/948/121 +f 407/1025/165 223/928/111 222/948/121 +f 215/925/110 401/1026/166 216/930/112 +f 214/970/124 400/1027/167 215/925/110 +f 408/1028/168 224/932/113 223/928/111 +f 265/979/126 397/1023/163 261/977/125 +f 409/1029/169 209/936/115 224/932/113 +f 217/1030/114 403/1031/170 218/939/116 +f 213/969/123 399/1032/171 214/970/124 +f 209/936/115 395/1033/172 210/981/127 +f 403/1031/170 219/941/117 218/939/116 +f 216/930/112 402/1034/173 217/934/114 +f 395/1033/172 265/979/126 210/981/127 +f 219/941/117 405/1035/174 220/943/118 +f 392/1036/175 432/1037/176 393/1038/177 +f 433/1039/178 413/1040/179 412/1041/180 +f 435/1042/181 426/1043/182 433/1039/178 +f 437/1044/183 428/1045/184 435/1042/181 +f 438/1046/185 429/1047/186 437/1044/183 +f 424/1048/187 439/1049/188 432/1037/176 +f 439/1049/188 430/1050/189 438/1046/185 +f 423/1051/190 418/1052/191 416/1053/192 +f 425/1054/193 417/1055/194 422/1056/195 +f 410/1057/196 392/1058/175 425/1054/193 +f 415/1059/197 413/1060/179 426/1061/182 +f 415/1059/197 428/1062/184 417/1055/194 +f 419/1063/198 428/1062/184 429/1064/186 +f 421/1065/199 429/1064/186 430/1066/189 +f 410/1057/196 431/1067/200 424/1068/187 +f 421/1065/199 431/1067/200 422/1056/195 +f 411/1069/201 393/1070/177 432/1071/176 +f 414/1072/202 412/1073/180 436/1074/203 +f 414/1072/202 435/1075/181 433/1076/178 +f 418/1052/191 435/1075/181 416/1053/192 +f 420/1077/204 437/1078/183 418/1052/191 +f 411/1069/201 439/1079/188 423/1051/190 +f 420/1077/204 439/1079/188 438/1080/185 +f 452/289/1 454/293/205 453/284/1 +f 451/286/2 457/1081/206 450/1082/2 +f 456/285/206 459/1083/207 457/1081/206 +f 455/288/205 460/292/208 454/293/205 +f 458/297/207 463/1084/209 459/1083/207 +f 461/291/208 464/580/210 460/292/208 +f 462/296/209 467/1085/211 463/1084/209 +f 465/295/210 468/300/212 464/580/210 +f 475/1086/213 470/304/1 471/303/1 +f 477/1087/214 474/1088/213 475/1086/213 +f 484/1089/215 497/1090/216 485/1091/216 +f 491/1092/217 492/1093/218 480/1094/218 +f 481/1095/219 494/1096/220 482/1097/220 +f 488/1098/221 501/1099/15 489/1100/15 +f 485/1091/216 498/1101/222 486/1102/222 +f 482/1097/220 495/1103/14 483/1104/14 +f 489/1100/15 502/1105/223 490/1106/223 +f 486/1102/222 499/1107/224 487/1108/224 +f 483/1104/14 496/1109/215 484/1089/215 +f 490/1106/223 503/1110/217 491/1092/217 +f 480/1111/218 493/1112/219 481/1095/219 +f 487/1108/224 500/1113/221 488/1098/221 +f 518/1114/220 507/1115/14 506/1116/220 +f 525/1117/15 514/1118/223 513/1119/15 +f 522/1120/222 511/1121/224 510/1122/222 +f 519/1123/14 508/1124/215 507/1115/14 +f 526/1125/223 515/1126/217 514/1118/223 +f 516/1127/218 505/1128/219 504/1129/218 +f 523/1130/224 512/1131/221 511/1121/224 +f 520/1132/215 509/1133/216 508/1124/215 +f 527/1134/217 504/1135/218 515/1126/217 +f 517/1136/219 506/1116/220 505/1128/219 +f 524/1137/221 513/1119/15 512/1131/221 +f 521/1138/216 510/1122/222 509/1133/216 +f 535/329/225 538/1139/225 539/320/225 +f 531/323/5 534/1140/225 535/329/225 +f 530/325/3 533/611/226 528/326/3 +f 532/324/226 537/330/226 533/611/226 +f 562/1141/222 551/1142/224 550/1143/222 +f 538/1139/225 543/610/5 539/320/225 +f 536/322/226 541/612/3 537/330/226 +f 559/1144/14 548/1145/215 547/1146/14 +f 566/1147/223 555/1148/217 554/1149/223 +f 556/1150/218 545/1151/219 544/1152/218 +f 563/1153/224 552/1154/221 551/1142/224 +f 560/1155/215 549/1156/216 548/1145/215 +f 567/1157/217 544/1158/218 555/1148/217 +f 557/1159/219 546/1160/220 545/1151/219 +f 564/1161/221 553/1162/15 552/1154/221 +f 561/1163/216 550/1143/222 549/1156/216 +f 558/1164/220 547/1146/14 546/1160/220 +f 565/1165/15 554/1149/223 553/1162/15 +f 573/1166/227 584/1167/228 572/1168/228 +f 568/1169/9 591/1170/229 579/1171/229 +f 570/1172/230 580/1173/231 569/1174/231 +f 577/1175/5 588/1176/232 576/1177/232 +f 574/1178/4 585/1179/227 573/1166/227 +f 571/1180/3 582/1181/230 570/1172/230 +f 578/1182/233 589/1183/5 577/1175/5 +f 575/1184/234 586/1185/4 574/1186/4 +f 572/1168/228 583/1187/3 571/1180/3 +f 579/1171/229 590/1188/233 578/1182/233 +f 569/1174/231 581/1189/9 568/1169/9 +f 576/1177/232 587/1190/234 575/1184/234 +f 602/1191/233 615/1192/229 603/1193/229 +f 595/1194/3 608/1195/228 596/1196/228 +f 603/1193/229 605/1197/9 592/1198/9 +f 596/1196/228 609/1199/227 597/1200/227 +f 597/1200/227 610/1201/4 598/1202/4 +f 598/1203/4 611/1204/234 599/1205/234 +f 599/1205/234 612/1206/232 600/1207/232 +f 592/1198/9 604/1208/231 593/1209/231 +f 600/1207/232 613/1210/5 601/1211/5 +f 593/1209/231 606/1212/230 594/1213/230 +f 601/1211/5 614/1214/233 602/1191/233 +f 594/1213/230 607/1215/3 595/1194/3 +f 622/1216/235 636/1217/236 623/1218/237 +f 619/1219/238 633/1220/239 620/1221/240 +f 627/1222/241 639/1223/242 640/1224/243 +f 617/1225/244 629/1226/245 630/1227/246 +f 624/1228/247 636/1217/236 637/1229/248 +f 621/1230/249 633/1220/239 634/1231/250 +f 627/1222/241 629/1226/245 616/1232/251 +f 618/1233/252 630/1227/246 631/1234/253 +f 624/1228/247 638/1235/254 625/1236/255 +f 622/1237/235 634/1231/250 635/1238/256 +f 618/1233/252 632/1239/257 619/1219/238 +f 625/1236/255 639/1223/242 626/1240/258 +f 640/1224/243 641/1241/259 629/1226/245 +f 630/1227/246 643/1242/260 631/1234/253 +f 638/1235/254 649/1243/261 650/1244/262 +f 634/1231/250 647/1245/263 635/1238/256 +f 631/1234/253 644/1246/264 632/1239/257 +f 638/1235/254 651/1247/265 639/1223/242 +f 635/1248/256 648/1249/266 636/1217/236 +f 632/1239/257 645/1250/267 633/1220/239 +f 640/1224/243 651/1247/265 652/1251/268 +f 630/1227/246 641/1241/259 642/1252/269 +f 637/1229/248 648/1249/266 649/1243/261 +f 633/1220/239 646/1253/270 634/1231/250 +f 645/1250/267 658/1254/271 646/1253/270 +f 641/1241/259 664/1255/272 653/1256/273 +f 642/1252/269 655/1257/274 643/1242/260 +f 650/1244/262 661/1258/275 662/1259/276 +f 647/1245/263 658/1254/271 659/1260/277 +f 643/1242/260 656/1261/278 644/1246/264 +f 651/1247/265 662/1259/276 663/1262/279 +f 647/1263/263 660/1264/280 648/1249/266 +f 644/1246/264 657/1265/281 645/1250/267 +f 652/1251/268 663/1262/279 664/1255/272 +f 642/1252/269 653/1256/273 654/1266/282 +f 649/1243/261 660/1264/280 661/1258/275 +f 657/1265/281 669/1267/283 658/1254/271 +f 664/1255/272 628/1268/284 653/1256/273 +f 654/1266/282 666/1269/285 655/1257/274 +f 662/1259/276 672/1270/286 673/1271/287 +f 658/1254/271 670/1272/288 659/1260/277 +f 655/1257/274 667/1273/289 656/1261/278 +f 662/1259/276 674/1274/290 663/1262/279 +f 659/1275/277 671/1276/291 660/1264/280 +f 656/1261/278 668/1277/292 657/1265/281 +f 663/1262/279 675/1278/293 664/1255/272 +f 654/1266/282 628/1268/284 665/1279/294 +f 661/1258/275 671/1276/291 672/1270/286 +f 672/1270/286 684/1280/295 685/1281/296 +f 668/1277/292 682/1282/297 669/1267/283 +f 675/1278/293 677/1283/298 628/1268/284 +f 665/1279/294 679/1284/299 666/1269/285 +f 673/1271/287 685/1281/296 686/1285/233 +f 670/1272/288 682/1282/297 683/1286/300 +f 667/1273/289 679/1284/299 680/1287/228 +f 673/1271/287 687/1288/301 674/1274/290 +f 670/1289/288 684/1280/295 671/1276/291 +f 668/1277/292 680/1287/228 681/1290/302 +f 675/1278/293 687/1288/301 688/1291/303 +f 665/1279/294 677/1283/298 678/1292/304 +f 678/1292/304 689/1293/305 690/1294/306 +f 685/1281/296 696/1295/307 697/1296/308 +f 681/1290/302 694/1297/309 682/1282/297 +f 688/1291/303 689/1293/305 677/1283/298 +f 679/1284/299 690/1294/306 691/1298/310 +f 685/1281/296 698/1299/229 686/1285/233 +f 683/1286/300 694/1297/309 695/1300/311 +f 680/1287/228 691/1298/310 692/1301/227 +f 687/1288/301 698/1299/229 699/1302/312 +f 683/1303/300 696/1295/307 684/1280/295 +f 680/1287/228 693/1304/313 681/1290/302 +f 688/1291/303 699/1302/312 700/1305/314 +f 699/1302/312 712/1306/315 700/1305/314 +f 690/1294/306 701/1307/316 702/1308/317 +f 697/1296/308 708/1309/318 709/1310/319 +f 693/1304/313 706/1311/320 694/1297/309 +f 700/1305/314 701/1307/316 689/1293/305 +f 690/1294/306 703/1312/321 691/1298/310 +f 698/1299/229 709/1310/319 710/1313/9 +f 695/1300/311 706/1311/320 707/1314/322 +f 692/1301/227 703/1312/321 704/1315/4 +f 699/1302/312 710/1313/9 711/1316/323 +f 695/1317/311 708/1309/318 696/1295/307 +f 692/1301/227 705/1318/324 693/1304/313 +f 732/1319/325 718/1320/235 719/1321/249 +f 729/1322/248 715/1323/255 716/1324/247 +f 723/1325/244 735/1326/253 722/1327/252 +f 713/1328/241 725/1329/245 676/1330/251 +f 733/1331/239 719/1321/249 720/1332/240 +f 730/1333/326 716/1324/247 717/1334/237 +f 725/1329/245 723/1325/244 676/1330/251 +f 727/1335/242 713/1328/241 714/1336/258 +f 721/1337/238 733/1331/239 720/1332/240 +f 718/1338/235 730/1333/326 717/1334/237 +f 715/1323/255 727/1335/242 714/1336/258 +f 722/1327/252 734/1339/257 721/1337/238 +f 725/1329/245 748/1340/269 736/1341/246 +f 739/1342/265 726/1343/243 727/1335/242 +f 746/1344/264 733/1331/239 734/1339/257 +f 731/1345/256 742/1346/327 730/1333/326 +f 728/1347/254 739/1342/265 727/1335/242 +f 747/1348/260 734/1339/257 735/1326/253 +f 744/1349/270 731/1350/256 732/1319/325 +f 741/1351/261 728/1347/254 729/1322/248 +f 736/1341/246 747/1348/260 735/1326/253 +f 738/1352/268 725/1329/245 726/1343/243 +f 733/1331/239 744/1349/270 732/1319/325 +f 742/1346/327 729/1322/248 730/1333/326 +f 754/1353/280 741/1351/261 742/1346/327 +f 749/1354/273 748/1340/269 737/1355/259 +f 751/1356/279 738/1352/268 739/1342/265 +f 746/1344/264 757/1357/281 745/1358/267 +f 743/1359/263 754/1353/280 742/1346/327 +f 752/1360/276 739/1342/265 740/1361/262 +f 747/1348/260 758/1362/278 746/1344/264 +f 756/1363/271 743/1364/263 744/1349/270 +f 753/1365/275 740/1361/262 741/1351/261 +f 748/1340/269 759/1366/274 747/1348/260 +f 738/1352/268 749/1354/273 737/1355/259 +f 745/1358/267 756/1363/271 744/1349/270 +f 765/1367/328 753/1365/275 754/1353/280 +f 724/1368/329 760/1369/282 749/1354/273 +f 762/1370/330 750/1371/272 751/1356/279 +f 769/1372/331 757/1357/281 758/1362/278 +f 755/1373/277 765/1367/328 754/1353/280 +f 763/1374/332 751/1356/279 752/1360/276 +f 770/1375/333 758/1362/278 759/1366/274 +f 767/1376/334 755/1377/277 756/1363/271 +f 764/1378/335 752/1360/276 753/1365/275 +f 760/1369/282 770/1375/333 759/1366/274 +f 761/1379/336 749/1354/273 750/1371/272 +f 757/1357/281 767/1376/334 756/1363/271 +f 768/1380/337 779/1381/338 767/1376/334 +f 777/1382/339 764/1378/335 765/1367/328 +f 772/1383/340 771/1384/341 724/1368/329 +f 774/1385/342 761/1379/336 762/1370/330 +f 769/1372/331 780/1386/343 768/1380/337 +f 766/1387/344 777/1382/339 765/1367/328 +f 763/1374/332 774/1385/342 762/1370/330 +f 782/1388/345 769/1372/331 770/1375/333 +f 779/1381/338 766/1389/344 767/1376/334 +f 764/1378/335 775/1390/232 763/1374/332 +f 771/1384/341 782/1388/345 770/1375/333 +f 761/1379/336 772/1383/340 724/1368/329 +f 773/1391/346 784/1392/347 772/1383/340 +f 780/1386/343 791/1393/348 779/1381/338 +f 789/1394/349 776/1395/350 777/1382/339 +f 784/1392/347 783/1396/351 772/1383/340 +f 786/1397/352 773/1391/346 774/1385/342 +f 793/1398/231 780/1386/343 781/1399/230 +f 790/1400/353 777/1382/339 778/1401/354 +f 775/1390/232 786/1397/352 774/1385/342 +f 782/1388/345 793/1398/231 781/1399/230 +f 791/1393/348 778/1402/354 779/1381/338 +f 788/1403/355 775/1390/232 776/1395/350 +f 783/1396/351 794/1404/356 782/1388/345 +f 711/1405/323 795/1406/357 712/1407/315 +f 710/1408/9 794/1404/356 711/1405/323 +f 792/1409/358 710/1408/9 709/1410/319 +f 791/1393/348 709/1410/319 708/1411/318 +f 707/1314/322 791/1393/348 708/1411/318 +f 789/1394/349 707/1412/322 706/1413/320 +f 705/1414/324 789/1394/349 706/1413/320 +f 787/1415/234 705/1414/324 704/1416/4 +f 703/1417/321 787/1415/234 704/1416/4 +f 785/1418/359 703/1417/321 702/1419/317 +f 701/1307/316 785/1418/359 702/1419/317 +f 795/1406/357 701/1307/316 712/1407/315 +f 714/1336/258 811/1420/5 715/1323/255 +f 722/1327/252 819/1421/231 723/1325/244 +f 622/1237/235 801/1422/227 621/1230/249 +f 715/1323/255 812/1423/232 716/1324/247 +f 723/1325/244 808/1424/9 676/1330/251 +f 623/1218/237 802/1425/4 622/1216/235 +f 716/1324/247 813/1426/234 717/1334/237 +f 624/1228/247 803/1427/234 623/1218/237 +f 717/1334/237 814/1428/4 718/1338/235 +f 617/1225/244 796/1429/9 616/1232/251 +f 625/1236/255 804/1430/232 624/1228/247 +f 718/1320/235 815/1431/227 719/1321/249 +f 618/1233/252 797/1432/231 617/1225/244 +f 626/1240/258 805/1433/5 625/1236/255 +f 719/1321/249 816/1434/228 720/1332/240 +f 619/1219/238 798/1435/230 618/1233/252 +f 676/1330/251 809/1436/229 713/1328/241 +f 627/1222/241 806/1437/233 626/1240/258 +f 720/1332/240 817/1438/3 721/1337/238 +f 620/1221/240 799/1439/3 619/1219/238 +f 713/1328/241 810/1440/233 714/1336/258 +f 616/1232/251 807/1441/229 627/1222/241 +f 721/1337/238 818/1442/230 722/1327/252 +f 621/1230/249 800/1443/228 620/1221/240 +f 821/1444/360 834/1445/361 833/1446/362 +f 828/1447/363 841/1448/364 840/1449/365 +f 826/1450/366 837/1451/367 825/1452/368 +f 823/1453/3 834/1445/361 822/1454/369 +f 829/1455/5 842/1456/370 841/1448/364 +f 826/1457/366 839/1458/371 838/1459/372 +f 824/1460/373 835/1461/374 823/1453/3 +f 831/1462/375 842/1456/370 830/1463/376 +f 820/1464/377 833/1446/362 832/1465/378 +f 828/1447/363 839/1458/371 827/1466/379 +f 824/1460/373 837/1451/367 836/1467/380 +f 820/1464/377 843/1468/381 831/1462/375 +f 838/1459/372 851/1469/382 850/1470/383 +f 836/1467/380 847/1471/384 835/1461/374 +f 842/1456/370 855/1472/385 854/1473/386 +f 833/1446/362 844/1474/387 832/1465/378 +f 840/1449/365 851/1469/382 839/1458/371 +f 837/1451/367 848/1475/388 836/1467/380 +f 843/1468/381 844/1474/387 855/1472/385 +f 833/1446/362 846/1476/389 845/1477/390 +f 841/1448/364 852/1478/391 840/1449/365 +f 838/1479/372 849/1480/392 837/1451/367 +f 835/1461/374 846/1476/389 834/1445/361 +f 841/1448/364 854/1473/386 853/1481/393 +f 851/1469/382 862/1482/394 850/1470/383 +f 847/1471/384 860/1483/395 859/1484/396 +f 855/1472/385 866/1485/397 854/1473/386 +f 845/1477/390 856/1486/398 844/1474/387 +f 852/1478/391 863/1487/399 851/1469/382 +f 849/1480/392 860/1483/395 848/1475/388 +f 855/1472/385 856/1486/398 867/1488/400 +f 845/1477/390 858/1489/401 857/1490/402 +f 852/1478/391 865/1491/403 864/1492/404 +f 849/1480/392 862/1493/394 861/1494/405 +f 847/1471/384 858/1489/401 846/1476/389 +f 854/1473/386 865/1491/403 853/1481/393 +f 860/1495/395 864/1496/404 856/1497/398 +f 896/402/4 919/423/227 895/400/227 +f 910/1498/230 935/410/3 911/1499/3 +f 903/1500/234 928/417/232 904/1501/232 +f 897/404/234 920/429/4 896/405/4 +f 911/1499/3 936/409/228 912/1502/228 +f 904/1501/232 929/422/5 905/1503/5 +f 898/407/232 921/427/234 897/404/234 +f 912/1502/228 937/414/227 913/1504/227 +f 891/394/231 915/416/9 890/393/9 +f 905/1503/5 930/421/233 906/1505/233 +f 899/388/5 922/432/232 898/407/232 +f 913/1504/227 927/413/4 902/1506/4 +f 892/396/230 914/415/231 891/394/231 +f 906/1505/233 931/426/229 907/1507/229 +f 900/390/233 923/408/5 899/388/5 +f 893/397/3 916/420/230 892/396/230 +f 907/1507/229 932/425/9 908/1508/9 +f 901/391/229 924/412/233 900/390/233 +f 894/399/228 917/419/3 893/397/3 +f 908/1509/9 933/431/231 909/1510/231 +f 890/393/9 925/411/229 901/391/229 +f 895/400/227 918/424/228 894/399/228 +f 909/1510/231 934/430/230 910/1498/230 +f 902/1506/4 926/418/234 903/1500/234 +f 970/1511/3 977/1512/22 969/1513/22 +f 975/1514/23 982/1515/5 974/1516/5 +f 973/1517/47 980/1518/4 972/1519/4 +f 971/1520/40 978/1521/3 970/1511/3 +f 969/1513/22 976/1522/9 968/1523/9 +f 968/1523/9 983/1524/23 975/1514/23 +f 974/1516/5 981/1525/47 973/1517/47 +f 972/1526/4 979/1527/40 971/1520/40 +f 1000/1528/227 1011/1529/228 999/1530/228 +f 995/1531/9 1018/1532/229 1006/1533/229 +f 997/1534/230 1007/1535/231 996/1536/231 +f 1004/1537/5 1015/1538/232 1003/1539/232 +f 1001/1540/4 1012/1541/227 1000/1528/227 +f 998/1542/3 1009/1543/230 997/1534/230 +f 1005/1544/233 1016/1545/5 1004/1537/5 +f 1002/1546/234 1013/1547/4 1001/1548/4 +f 999/1530/228 1010/1549/3 998/1542/3 +f 1006/1533/229 1017/1550/233 1005/1544/233 +f 996/1536/231 1008/1551/9 995/1531/9 +f 1003/1539/232 1014/1552/234 1002/1546/234 +f 1029/1553/233 1042/1554/229 1030/1555/229 +f 1022/1556/3 1035/1557/228 1023/1558/228 +f 1030/1555/229 1032/1559/9 1019/1560/9 +f 1023/1558/228 1036/1561/227 1024/1562/227 +f 1024/1562/227 1037/1563/4 1025/1564/4 +f 1025/1565/4 1038/1566/234 1026/1567/234 +f 1026/1567/234 1039/1568/232 1027/1569/232 +f 1019/1560/9 1031/1570/231 1020/1571/231 +f 1027/1569/232 1040/1572/5 1028/1573/5 +f 1020/1571/231 1033/1574/230 1021/1575/230 +f 1028/1573/5 1041/1576/233 1029/1553/233 +f 1021/1575/230 1034/1577/3 1022/1556/3 +f 2/7/9 4/9/26 3/766/24 +f 4/9/26 6/11/23 5/768/27 +f 6/11/23 8/13/29 7/769/28 +f 8/13/29 10/15/5 9/770/30 +f 10/15/5 12/17/32 11/771/31 +f 12/17/32 14/19/47 13/772/33 +f 13/772/33 14/19/47 16/20/34 +f 16/20/34 18/22/4 17/774/36 +f 18/504/4 20/24/38 19/775/37 +f 20/24/38 22/27/40 21/777/39 +f 22/27/40 24/29/10 23/778/41 +f 24/29/10 26/31/3 25/779/42 +f 26/31/3 28/33/11 27/780/43 +f 28/33/11 30/1/22 29/781/44 +f 30/1/22 32/5/46 31/782/45 +f 31/782/45 32/5/46 2/7/9 +f 43/18/22 59/785/22 58/783/46 +f 36/2/32 52/786/32 51/784/47 +f 44/16/11 60/787/11 59/785/22 +f 37/32/5 53/788/5 52/786/32 +f 45/14/3 61/789/3 60/787/11 +f 38/30/29 54/790/29 53/788/5 +f 46/12/10 62/791/10 61/789/3 +f 39/28/23 55/792/23 54/790/29 +f 47/10/40 63/793/40 62/791/10 +f 40/26/26 56/794/26 55/792/23 +f 48/8/38 64/796/38 63/793/40 +f 41/25/9 57/1578/9 56/794/26 +f 34/4/34 50/798/34 49/795/4 +f 33/6/4 49/795/4 64/796/38 +f 42/21/46 58/783/46 57/797/9 +f 35/3/47 51/784/47 50/798/34 +f 66/799/48 82/1579/79 81/800/49 +f 81/800/49 82/1579/79 31/802/45 +f 80/804/51 65/801/50 81/805/49 +f 80/804/51 96/844/52 95/807/53 +f 79/808/54 95/1580/53 94/809/55 +f 77/811/57 78/810/56 94/812/55 +f 76/814/59 77/811/57 93/815/58 +f 75/817/61 76/814/59 92/818/60 +f 74/820/63 75/817/61 91/821/62 +f 74/820/63 90/1581/64 89/823/65 +f 72/825/67 73/922/66 89/826/65 +f 72/825/67 88/861/68 87/828/69 +f 71/829/70 87/864/69 86/830/71 +f 70/831/72 86/1582/71 85/832/73 +f 68/834/75 69/833/74 85/835/73 +f 67/837/77 68/834/75 84/838/76 +f 67/837/77 83/1583/78 82/840/79 +f 3/841/24 96/806/52 81/805/49 +f 5/843/27 95/807/53 96/844/52 +f 94/809/55 95/1580/53 5/846/27 +f 93/813/58 94/812/55 7/848/28 +f 11/850/31 92/816/60 93/815/58 +f 13/852/33 91/819/62 92/818/60 +f 90/822/64 91/821/62 13/854/33 +f 89/823/65 90/1581/64 15/856/35 +f 19/858/37 88/827/68 89/826/65 +f 21/860/39 87/828/69 88/861/68 +f 23/863/41 86/830/71 87/864/69 +f 85/832/73 86/1582/71 23/866/41 +f 84/836/76 85/835/73 25/868/42 +f 83/839/78 84/838/76 27/870/43 +f 82/840/79 83/1583/78 29/872/44 +f 129/34/9 112/93/9 111/95/46 +f 144/40/26 97/91/26 112/93/9 +f 137/64/4 104/78/4 103/80/34 +f 130/63/46 111/95/46 110/68/22 +f 138/62/34 103/80/34 102/82/47 +f 131/60/22 110/68/22 109/67/11 +f 139/58/47 102/82/47 101/84/32 +f 132/56/11 109/67/11 108/70/3 +f 140/54/32 101/84/32 100/86/5 +f 133/52/3 108/70/3 107/72/10 +f 141/50/5 100/86/5 99/87/29 +f 134/46/10 107/72/10 106/73/40 +f 142/48/29 99/87/29 98/89/23 +f 135/42/40 106/73/40 105/75/38 +f 143/44/23 98/89/23 97/91/26 +f 136/39/38 105/75/38 104/77/4 +f 154/874/9 151/889/26 119/43/26 +f 153/875/46 154/874/9 122/36/9 +f 156/876/22 153/875/46 121/35/46 +f 158/877/11 156/876/22 124/59/22 +f 160/878/3 158/877/11 126/55/11 +f 148/879/10 160/878/3 128/51/3 +f 147/880/40 148/879/10 116/45/10 +f 150/881/38 147/880/40 115/41/40 +f 152/882/4 150/881/38 118/38/38 +f 155/883/34 152/1584/4 120/65/4 +f 157/884/47 155/883/34 123/61/34 +f 159/885/32 157/884/47 125/57/47 +f 146/886/5 159/885/32 127/53/32 +f 145/887/29 146/886/5 114/49/5 +f 149/888/23 145/887/29 113/47/29 +f 151/889/26 149/888/23 117/506/23 +f 192/890/80 154/874/80 153/875/81 +f 177/892/82 151/889/82 154/874/80 +f 178/893/83 149/888/83 151/889/82 +f 178/893/83 179/894/84 145/887/84 +f 179/894/84 180/895/6 146/886/6 +f 180/895/6 181/896/85 159/885/85 +f 181/896/85 182/897/86 157/884/86 +f 182/897/86 183/899/87 155/883/87 +f 184/898/88 152/1584/88 155/883/87 +f 184/900/88 185/901/89 150/881/89 +f 185/901/89 186/902/90 147/880/90 +f 186/902/90 187/904/91 148/879/91 +f 188/903/7 160/878/7 148/879/91 +f 188/903/7 189/905/92 158/877/92 +f 189/905/92 190/906/93 156/876/93 +f 190/906/93 191/891/81 153/875/81 +f 172/907/94 169/908/95 191/891/95 +f 169/908/95 170/909/96 192/890/96 +f 170/909/96 167/910/97 177/892/97 +f 167/910/97 165/920/98 178/893/98 +f 178/893/98 165/920/98 161/911/99 +f 179/894/99 161/911/99 162/912/100 +f 180/895/100 162/912/100 175/913/101 +f 181/896/101 175/913/101 173/914/102 +f 173/914/102 171/915/103 183/899/103 +f 171/915/103 168/1585/104 184/898/104 +f 184/900/104 168/921/104 166/916/105 +f 185/901/105 166/916/105 163/917/106 +f 186/902/106 163/917/106 164/918/107 +f 164/918/107 176/923/108 188/903/108 +f 188/903/108 176/923/108 174/919/109 +f 189/905/109 174/919/109 172/907/94 +f 66/799/46 169/908/46 172/907/22 +f 65/801/9 170/909/9 169/908/46 +f 80/804/26 167/910/26 170/909/9 +f 79/808/23 165/920/23 167/910/26 +f 78/810/29 161/911/29 165/920/23 +f 77/811/5 162/912/5 161/911/29 +f 76/814/32 175/913/32 162/912/5 +f 75/817/47 173/914/47 175/913/32 +f 74/820/34 171/915/34 173/914/47 +f 73/824/4 168/1585/4 171/915/34 +f 72/825/38 166/916/38 168/921/4 +f 71/829/40 163/917/40 166/916/38 +f 70/831/10 164/918/10 163/917/40 +f 69/833/3 176/923/3 164/918/10 +f 68/834/11 174/919/11 176/923/3 +f 67/837/22 172/907/22 174/919/11 +f 198/924/10 214/970/124 215/925/110 +f 206/927/29 222/948/121 223/928/111 +f 199/926/40 215/925/110 216/930/112 +f 207/929/23 223/928/111 224/932/113 +f 200/931/38 216/930/112 217/934/114 +f 208/933/26 224/932/113 209/936/115 +f 201/938/4 217/1030/114 218/939/116 +f 202/940/34 218/939/116 219/941/117 +f 203/942/47 219/941/117 220/943/118 +f 204/944/32 220/943/118 221/945/119 +f 270/947/120 269/966/120 193/937/9 +f 205/946/5 221/945/119 222/948/121 +f 245/949/9 253/953/9 254/950/22 +f 252/952/23 260/962/23 253/953/9 +f 250/954/47 258/964/47 259/955/5 +f 248/957/40 256/965/40 257/958/4 +f 246/951/22 254/950/22 255/960/3 +f 251/956/5 259/955/5 260/962/23 +f 249/963/4 257/1586/4 258/964/47 +f 247/961/3 255/960/3 256/965/40 +f 269/966/120 262/976/46 194/967/46 +f 214/970/124 198/924/10 211/968/122 +f 198/924/10 197/972/3 212/1587/122 +f 212/1587/122 211/968/122 198/924/10 +f 264/971/11 212/1587/122 197/972/3 +f 263/974/22 264/971/11 196/973/11 +f 262/976/46 263/974/22 195/975/22 +f 261/977/125 213/969/123 211/968/122 +f 265/979/126 261/977/125 268/978/11 +f 210/981/127 265/979/126 267/980/22 +f 210/981/127 266/982/46 270/947/120 +f 280/983/128 294/987/46 293/984/9 +f 281/986/130 295/989/22 294/987/46 +f 282/988/131 296/991/11 295/989/22 +f 283/990/132 297/994/3 296/991/11 +f 276/992/133 290/996/29 289/150/134 +f 284/993/136 298/998/10 297/994/3 +f 277/995/137 291/1000/23 290/996/29 +f 285/997/138 299/1002/40 298/998/10 +f 278/999/139 292/1003/26 291/1000/23 +f 286/1001/140 300/1006/38 299/1002/40 +f 279/985/129 293/984/9 292/1003/26 +f 287/147/141 301/532/160 288/1004/4 +f 271/1005/142 288/1004/4 300/1006/38 +f 309/1007/22 308/1009/11 304/481/11 +f 306/1008/120 310/1010/46 302/486/46 +f 308/1009/11 307/1588/143 305/714/143 +f 310/1010/46 309/1007/22 303/484/22 +f 322/263/144 321/262/406 277/995/137 +f 277/995/137 321/266/406 320/265/145 +f 278/999/139 320/269/145 319/268/146 +f 319/272/146 318/271/147 280/983/128 +f 318/153/147 317/536/407 281/986/130 +f 281/986/130 317/229/407 316/562/148 +f 316/232/148 315/563/149 283/990/132 +f 315/235/149 314/564/150 284/993/136 +f 314/238/150 313/565/152 285/997/138 +f 312/244/151 327/567/408 271/1005/142 +f 313/241/152 312/566/151 286/1001/140 +f 287/147/141 271/1005/142 327/247/408 +f 327/247/408 326/568/153 287/147/141 +f 326/250/153 325/569/154 273/1012/154 +f 325/254/154 324/253/155 274/1013/155 +f 274/1013/155 324/256/155 323/571/156 +f 323/260/156 322/259/144 276/992/133 +f 337/1015/11 329/1022/11 330/1016/22 +f 342/177/32 335/172/32 332/171/157 +f 379/1018/120 374/1589/120 375/1019/158 +f 336/1021/143 328/1590/143 329/1022/11 +f 341/174/47 334/165/47 335/172/32 +f 372/205/159 373/161/160 377/163/160 +f 346/169/23 355/187/23 354/186/29 +f 345/167/29 354/186/29 358/189/134 +f 365/202/161 364/201/162 347/181/26 +f 356/191/26 368/194/162 369/204/161 +f 346/169/23 347/181/26 364/201/162 +f 368/194/162 356/191/26 355/187/23 +f 346/169/23 364/201/162 355/187/23 +f 375/1019/158 339/1591/409 338/1017/22 +f 338/1017/22 330/1016/22 375/1019/158 +f 330/1016/22 331/1592/409 378/1020/158 +f 341/174/47 340/159/410 372/205/159 +f 376/208/159 333/166/410 334/165/47 +f 341/174/47 372/205/159 376/208/159 +f 397/1023/163 398/1593/411 213/969/123 +f 220/943/118 405/1035/174 406/1024/164 +f 221/945/119 406/1024/164 407/1025/165 +f 407/1025/165 408/1028/168 223/928/111 +f 215/925/110 400/1027/167 401/1026/166 +f 214/970/124 399/1032/171 400/1027/167 +f 408/1028/168 409/1029/169 224/932/113 +f 265/979/126 396/1594/412 397/1023/163 +f 409/1029/169 394/1595/413 209/936/115 +f 217/1030/114 402/1596/173 403/1031/170 +f 213/969/123 398/1593/411 399/1032/171 +f 209/936/115 394/1595/413 395/1033/172 +f 403/1031/170 404/1597/414 219/941/117 +f 216/930/112 401/1026/166 402/1034/173 +f 395/1033/172 396/1594/412 265/979/126 +f 219/941/117 404/1597/414 405/1035/174 +f 392/1036/175 424/1048/187 432/1037/176 +f 433/1039/178 426/1043/182 413/1040/179 +f 435/1042/181 428/1045/184 426/1043/182 +f 437/1044/183 429/1047/186 428/1045/184 +f 438/1046/185 430/1050/189 429/1047/186 +f 424/1048/187 431/1598/200 439/1049/188 +f 439/1049/188 431/1598/200 430/1050/189 +f 436/1074/203 434/1599/415 416/1053/192 +f 434/1599/415 411/1069/201 423/1051/190 +f 423/1051/190 420/1077/204 418/1052/191 +f 434/1599/415 423/1051/190 416/1053/192 +f 416/1053/192 414/1072/202 436/1074/203 +f 422/1056/195 410/1057/196 425/1054/193 +f 425/1054/193 427/1600/416 417/1055/194 +f 427/1600/416 415/1059/197 417/1055/194 +f 417/1055/194 419/1063/198 422/1056/195 +f 419/1063/198 421/1065/199 422/1056/195 +f 410/1057/196 424/1068/187 392/1058/175 +f 415/1059/197 427/1600/416 413/1060/179 +f 415/1059/197 426/1061/182 428/1062/184 +f 419/1063/198 417/1055/194 428/1062/184 +f 421/1065/199 419/1063/198 429/1064/186 +f 410/1057/196 422/1056/195 431/1067/200 +f 421/1065/199 430/1066/189 431/1067/200 +f 411/1069/201 434/1599/415 393/1070/177 +f 414/1072/202 433/1076/178 412/1073/180 +f 414/1072/202 416/1053/192 435/1075/181 +f 418/1052/191 437/1078/183 435/1075/181 +f 420/1077/204 438/1080/185 437/1078/183 +f 411/1069/201 432/1071/176 439/1079/188 +f 420/1077/204 423/1051/190 439/1079/188 +f 452/289/1 455/288/205 454/293/205 +f 451/286/2 456/285/206 457/1081/206 +f 456/285/206 458/297/207 459/1083/207 +f 455/288/205 461/291/208 460/292/208 +f 458/297/207 462/296/209 463/1084/209 +f 461/291/208 465/295/210 464/580/210 +f 462/296/209 466/301/211 467/1085/211 +f 465/295/210 469/299/212 468/300/212 +f 475/1086/213 474/1088/213 470/304/1 +f 477/1087/214 476/1601/214 474/1088/213 +f 484/1089/215 496/1109/215 497/1090/216 +f 491/1092/217 503/1110/217 492/1093/218 +f 481/1095/219 493/1112/219 494/1096/220 +f 488/1098/221 500/1113/221 501/1099/15 +f 485/1091/216 497/1090/216 498/1101/222 +f 482/1097/220 494/1096/220 495/1103/14 +f 489/1100/15 501/1099/15 502/1105/223 +f 486/1102/222 498/1101/222 499/1107/224 +f 483/1104/14 495/1103/14 496/1109/215 +f 490/1106/223 502/1105/223 503/1110/217 +f 480/1111/218 492/1602/218 493/1112/219 +f 487/1108/224 499/1107/224 500/1113/221 +f 518/1114/220 519/1123/14 507/1115/14 +f 525/1117/15 526/1125/223 514/1118/223 +f 522/1120/222 523/1130/224 511/1121/224 +f 519/1123/14 520/1132/215 508/1124/215 +f 526/1125/223 527/1134/217 515/1126/217 +f 516/1127/218 517/1136/219 505/1128/219 +f 523/1130/224 524/1137/221 512/1131/221 +f 520/1132/215 521/1138/216 509/1133/216 +f 527/1134/217 516/1603/218 504/1135/218 +f 517/1136/219 518/1114/220 506/1116/220 +f 524/1137/221 525/1117/15 513/1119/15 +f 521/1138/216 522/1120/222 510/1122/222 +f 535/329/225 534/1140/225 538/1139/225 +f 531/323/5 529/1604/5 534/1140/225 +f 530/325/3 532/324/226 533/611/226 +f 532/324/226 536/322/226 537/330/226 +f 562/1141/222 563/1153/224 551/1142/224 +f 538/1139/225 542/1605/5 543/610/5 +f 536/322/226 540/321/3 541/612/3 +f 559/1144/14 560/1155/215 548/1145/215 +f 566/1147/223 567/1157/217 555/1148/217 +f 556/1150/218 557/1159/219 545/1151/219 +f 563/1153/224 564/1161/221 552/1154/221 +f 560/1155/215 561/1163/216 549/1156/216 +f 567/1157/217 556/1606/218 544/1158/218 +f 557/1159/219 558/1164/220 546/1160/220 +f 564/1161/221 565/1165/15 553/1162/15 +f 561/1163/216 562/1141/222 550/1143/222 +f 558/1164/220 559/1144/14 547/1146/14 +f 565/1165/15 566/1147/223 554/1149/223 +f 573/1166/227 585/1179/227 584/1167/228 +f 568/1169/9 581/1189/9 591/1170/229 +f 570/1172/230 582/1181/230 580/1173/231 +f 577/1175/5 589/1183/5 588/1176/232 +f 574/1178/4 586/1607/4 585/1179/227 +f 571/1180/3 583/1187/3 582/1181/230 +f 578/1182/233 590/1188/233 589/1183/5 +f 575/1184/234 587/1190/234 586/1185/4 +f 572/1168/228 584/1167/228 583/1187/3 +f 579/1171/229 591/1170/229 590/1188/233 +f 569/1174/231 580/1173/231 581/1189/9 +f 576/1177/232 588/1176/232 587/1190/234 +f 602/1191/233 614/1214/233 615/1192/229 +f 595/1194/3 607/1215/3 608/1195/228 +f 603/1193/229 615/1192/229 605/1197/9 +f 596/1196/228 608/1195/228 609/1199/227 +f 597/1200/227 609/1199/227 610/1201/4 +f 598/1203/4 610/1608/4 611/1204/234 +f 599/1205/234 611/1204/234 612/1206/232 +f 592/1198/9 605/1197/9 604/1208/231 +f 600/1207/232 612/1206/232 613/1210/5 +f 593/1209/231 604/1208/231 606/1212/230 +f 601/1211/5 613/1210/5 614/1214/233 +f 594/1213/230 606/1212/230 607/1215/3 +f 622/1216/235 635/1248/256 636/1217/236 +f 619/1219/238 632/1239/257 633/1220/239 +f 627/1222/241 626/1240/258 639/1223/242 +f 617/1225/244 616/1232/251 629/1226/245 +f 624/1228/247 623/1218/237 636/1217/236 +f 621/1230/249 620/1221/240 633/1220/239 +f 627/1222/241 640/1224/243 629/1226/245 +f 618/1233/252 617/1225/244 630/1227/246 +f 624/1228/247 637/1229/248 638/1235/254 +f 622/1237/235 621/1230/249 634/1231/250 +f 618/1233/252 631/1234/253 632/1239/257 +f 625/1236/255 638/1235/254 639/1223/242 +f 640/1224/243 652/1251/268 641/1241/259 +f 630/1227/246 642/1252/269 643/1242/260 +f 638/1235/254 637/1229/248 649/1243/261 +f 634/1231/250 646/1253/270 647/1245/263 +f 631/1234/253 643/1242/260 644/1246/264 +f 638/1235/254 650/1244/262 651/1247/265 +f 635/1248/256 647/1263/263 648/1249/266 +f 632/1239/257 644/1246/264 645/1250/267 +f 640/1224/243 639/1223/242 651/1247/265 +f 630/1227/246 629/1226/245 641/1241/259 +f 637/1229/248 636/1217/236 648/1249/266 +f 633/1220/239 645/1250/267 646/1253/270 +f 645/1250/267 657/1265/281 658/1254/271 +f 641/1241/259 652/1251/268 664/1255/272 +f 642/1252/269 654/1266/282 655/1257/274 +f 650/1244/262 649/1243/261 661/1258/275 +f 647/1245/263 646/1253/270 658/1254/271 +f 643/1242/260 655/1257/274 656/1261/278 +f 651/1247/265 650/1244/262 662/1259/276 +f 647/1263/263 659/1275/277 660/1264/280 +f 644/1246/264 656/1261/278 657/1265/281 +f 652/1251/268 651/1247/265 663/1262/279 +f 642/1252/269 641/1241/259 653/1256/273 +f 649/1243/261 648/1249/266 660/1264/280 +f 657/1265/281 668/1277/292 669/1267/283 +f 664/1255/272 675/1278/293 628/1268/284 +f 654/1266/282 665/1279/294 666/1269/285 +f 662/1259/276 661/1258/275 672/1270/286 +f 658/1254/271 669/1267/283 670/1272/288 +f 655/1257/274 666/1269/285 667/1273/289 +f 662/1259/276 673/1271/287 674/1274/290 +f 659/1275/277 670/1289/288 671/1276/291 +f 656/1261/278 667/1273/289 668/1277/292 +f 663/1262/279 674/1274/290 675/1278/293 +f 654/1266/282 653/1256/273 628/1268/284 +f 661/1258/275 660/1264/280 671/1276/291 +f 672/1270/286 671/1276/291 684/1280/295 +f 668/1277/292 681/1290/302 682/1282/297 +f 675/1278/293 688/1291/303 677/1283/298 +f 665/1279/294 678/1292/304 679/1284/299 +f 673/1271/287 672/1270/286 685/1281/296 +f 670/1272/288 669/1267/283 682/1282/297 +f 667/1273/289 666/1269/285 679/1284/299 +f 673/1271/287 686/1285/233 687/1288/301 +f 670/1289/288 683/1303/300 684/1280/295 +f 668/1277/292 667/1273/289 680/1287/228 +f 675/1278/293 674/1274/290 687/1288/301 +f 665/1279/294 628/1268/284 677/1283/298 +f 678/1292/304 677/1283/298 689/1293/305 +f 685/1281/296 684/1280/295 696/1295/307 +f 681/1290/302 693/1304/313 694/1297/309 +f 688/1291/303 700/1305/314 689/1293/305 +f 679/1284/299 678/1292/304 690/1294/306 +f 685/1281/296 697/1296/308 698/1299/229 +f 683/1286/300 682/1282/297 694/1297/309 +f 680/1287/228 679/1284/299 691/1298/310 +f 687/1288/301 686/1285/233 698/1299/229 +f 683/1303/300 695/1317/311 696/1295/307 +f 680/1287/228 692/1301/227 693/1304/313 +f 688/1291/303 687/1288/301 699/1302/312 +f 699/1302/312 711/1316/323 712/1306/315 +f 690/1294/306 689/1293/305 701/1307/316 +f 697/1296/308 696/1295/307 708/1309/318 +f 693/1304/313 705/1318/324 706/1311/320 +f 700/1305/314 712/1306/315 701/1307/316 +f 690/1294/306 702/1308/317 703/1312/321 +f 698/1299/229 697/1296/308 709/1310/319 +f 695/1300/311 694/1297/309 706/1311/320 +f 692/1301/227 691/1298/310 703/1312/321 +f 699/1302/312 698/1299/229 710/1313/9 +f 695/1317/311 707/1412/322 708/1309/318 +f 692/1301/227 704/1315/4 705/1318/324 +f 732/1319/325 731/1350/256 718/1320/235 +f 729/1322/248 728/1347/254 715/1323/255 +f 723/1325/244 736/1341/246 735/1326/253 +f 713/1328/241 726/1343/243 725/1329/245 +f 733/1331/239 732/1319/325 719/1321/249 +f 730/1333/326 729/1322/248 716/1324/247 +f 725/1329/245 736/1341/246 723/1325/244 +f 727/1335/242 726/1343/243 713/1328/241 +f 721/1337/238 734/1339/257 733/1331/239 +f 718/1338/235 731/1345/256 730/1333/326 +f 715/1323/255 728/1347/254 727/1335/242 +f 722/1327/252 735/1326/253 734/1339/257 +f 725/1329/245 737/1355/259 748/1340/269 +f 739/1342/265 738/1352/268 726/1343/243 +f 746/1344/264 745/1358/267 733/1331/239 +f 731/1345/256 743/1359/263 742/1346/327 +f 728/1347/254 740/1361/262 739/1342/265 +f 747/1348/260 746/1344/264 734/1339/257 +f 744/1349/270 743/1364/263 731/1350/256 +f 741/1351/261 740/1361/262 728/1347/254 +f 736/1341/246 748/1340/269 747/1348/260 +f 738/1352/268 737/1355/259 725/1329/245 +f 733/1331/239 745/1358/267 744/1349/270 +f 742/1346/327 741/1351/261 729/1322/248 +f 754/1353/280 753/1365/275 741/1351/261 +f 749/1354/273 760/1369/282 748/1340/269 +f 751/1356/279 750/1371/272 738/1352/268 +f 746/1344/264 758/1362/278 757/1357/281 +f 743/1359/263 755/1373/277 754/1353/280 +f 752/1360/276 751/1356/279 739/1342/265 +f 747/1348/260 759/1366/274 758/1362/278 +f 756/1363/271 755/1377/277 743/1364/263 +f 753/1365/275 752/1360/276 740/1361/262 +f 748/1340/269 760/1369/282 759/1366/274 +f 738/1352/268 750/1371/272 749/1354/273 +f 745/1358/267 757/1357/281 756/1363/271 +f 765/1367/328 764/1378/335 753/1365/275 +f 724/1368/329 771/1384/341 760/1369/282 +f 762/1370/330 761/1379/336 750/1371/272 +f 769/1372/331 768/1380/337 757/1357/281 +f 755/1373/277 766/1387/344 765/1367/328 +f 763/1374/332 762/1370/330 751/1356/279 +f 770/1375/333 769/1372/331 758/1362/278 +f 767/1376/334 766/1389/344 755/1377/277 +f 764/1378/335 763/1374/332 752/1360/276 +f 760/1369/282 771/1384/341 770/1375/333 +f 761/1379/336 724/1368/329 749/1354/273 +f 757/1357/281 768/1380/337 767/1376/334 +f 768/1380/337 780/1386/343 779/1381/338 +f 777/1382/339 776/1395/350 764/1378/335 +f 772/1383/340 783/1396/351 771/1384/341 +f 774/1385/342 773/1391/346 761/1379/336 +f 769/1372/331 781/1399/230 780/1386/343 +f 766/1387/344 778/1401/354 777/1382/339 +f 763/1374/332 775/1390/232 774/1385/342 +f 782/1388/345 781/1399/230 769/1372/331 +f 779/1381/338 778/1402/354 766/1389/344 +f 764/1378/335 776/1395/350 775/1390/232 +f 771/1384/341 783/1396/351 782/1388/345 +f 761/1379/336 773/1391/346 772/1383/340 +f 773/1391/346 785/1418/359 784/1392/347 +f 780/1386/343 792/1409/358 791/1393/348 +f 789/1394/349 788/1403/355 776/1395/350 +f 784/1392/347 795/1406/357 783/1396/351 +f 786/1397/352 785/1418/359 773/1391/346 +f 793/1398/231 792/1409/358 780/1386/343 +f 790/1400/353 789/1394/349 777/1382/339 +f 775/1390/232 787/1415/234 786/1397/352 +f 782/1388/345 794/1404/356 793/1398/231 +f 791/1393/348 790/1609/353 778/1402/354 +f 788/1403/355 787/1415/234 775/1390/232 +f 783/1396/351 795/1406/357 794/1404/356 +f 711/1405/323 794/1404/356 795/1406/357 +f 710/1408/9 793/1398/231 794/1404/356 +f 792/1409/358 793/1398/231 710/1408/9 +f 791/1393/348 792/1409/358 709/1410/319 +f 707/1314/322 790/1609/353 791/1393/348 +f 789/1394/349 790/1400/353 707/1412/322 +f 705/1414/324 788/1403/355 789/1394/349 +f 787/1415/234 788/1403/355 705/1414/324 +f 703/1417/321 786/1397/352 787/1415/234 +f 785/1418/359 786/1397/352 703/1417/321 +f 701/1307/316 784/1392/347 785/1418/359 +f 795/1406/357 784/1392/347 701/1307/316 +f 714/1336/258 810/1440/233 811/1420/5 +f 722/1327/252 818/1442/230 819/1421/231 +f 622/1237/235 802/1610/4 801/1422/227 +f 715/1323/255 811/1420/5 812/1423/232 +f 723/1325/244 819/1421/231 808/1424/9 +f 623/1218/237 803/1427/234 802/1425/4 +f 716/1324/247 812/1423/232 813/1426/234 +f 624/1228/247 804/1430/232 803/1427/234 +f 717/1334/237 813/1426/234 814/1428/4 +f 617/1225/244 797/1432/231 796/1429/9 +f 625/1236/255 805/1433/5 804/1430/232 +f 718/1320/235 814/1611/4 815/1431/227 +f 618/1233/252 798/1435/230 797/1432/231 +f 626/1240/258 806/1437/233 805/1433/5 +f 719/1321/249 815/1431/227 816/1434/228 +f 619/1219/238 799/1439/3 798/1435/230 +f 676/1330/251 808/1424/9 809/1436/229 +f 627/1222/241 807/1441/229 806/1437/233 +f 720/1332/240 816/1434/228 817/1438/3 +f 620/1221/240 800/1443/228 799/1439/3 +f 713/1328/241 809/1436/229 810/1440/233 +f 616/1232/251 796/1429/9 807/1441/229 +f 721/1337/238 817/1438/3 818/1442/230 +f 621/1230/249 801/1422/227 800/1443/228 +f 821/1444/360 822/1454/369 834/1445/361 +f 828/1447/363 829/1455/5 841/1448/364 +f 826/1450/366 838/1479/372 837/1451/367 +f 823/1453/3 835/1461/374 834/1445/361 +f 829/1455/5 830/1463/376 842/1456/370 +f 826/1457/366 827/1466/379 839/1458/371 +f 824/1460/373 836/1467/380 835/1461/374 +f 831/1462/375 843/1468/381 842/1456/370 +f 820/1464/377 821/1444/360 833/1446/362 +f 828/1447/363 840/1449/365 839/1458/371 +f 824/1460/373 825/1452/368 837/1451/367 +f 820/1464/377 832/1465/378 843/1468/381 +f 838/1459/372 839/1458/371 851/1469/382 +f 836/1467/380 848/1475/388 847/1471/384 +f 842/1456/370 843/1468/381 855/1472/385 +f 833/1446/362 845/1477/390 844/1474/387 +f 840/1449/365 852/1478/391 851/1469/382 +f 837/1451/367 849/1480/392 848/1475/388 +f 843/1468/381 832/1465/378 844/1474/387 +f 833/1446/362 834/1445/361 846/1476/389 +f 841/1448/364 853/1481/393 852/1478/391 +f 838/1479/372 850/1612/383 849/1480/392 +f 835/1461/374 847/1471/384 846/1476/389 +f 841/1448/364 842/1456/370 854/1473/386 +f 851/1469/382 863/1487/399 862/1482/394 +f 847/1471/384 848/1475/388 860/1483/395 +f 855/1472/385 867/1488/400 866/1485/397 +f 845/1477/390 857/1490/402 856/1486/398 +f 852/1478/391 864/1492/404 863/1487/399 +f 849/1480/392 861/1494/405 860/1483/395 +f 855/1472/385 844/1474/387 856/1486/398 +f 845/1477/390 846/1476/389 858/1489/401 +f 852/1478/391 853/1481/393 865/1491/403 +f 849/1480/392 850/1612/383 862/1493/394 +f 847/1471/384 859/1484/396 858/1489/401 +f 854/1473/386 866/1485/397 865/1491/403 +f 856/1497/398 857/1613/402 858/1614/401 +f 858/1614/401 859/1615/396 856/1497/398 +f 859/1615/396 860/1495/395 856/1497/398 +f 860/1495/395 861/1616/405 864/1496/404 +f 861/1616/405 862/1617/394 864/1496/404 +f 862/1617/394 863/1618/399 864/1496/404 +f 864/1496/404 865/1619/403 866/1620/397 +f 866/1620/397 867/1621/400 856/1497/398 +f 864/1496/404 866/1620/397 856/1497/398 +f 896/402/4 920/699/4 919/423/227 +f 910/1498/230 934/430/230 935/410/3 +f 903/1500/234 926/418/234 928/417/232 +f 897/404/234 921/427/234 920/429/4 +f 911/1499/3 935/410/3 936/409/228 +f 904/1501/232 928/417/232 929/422/5 +f 898/407/232 922/432/232 921/427/234 +f 912/1502/228 936/409/228 937/414/227 +f 891/394/231 914/415/231 915/416/9 +f 905/1503/5 929/422/5 930/421/233 +f 899/388/5 923/408/5 922/432/232 +f 913/1504/227 937/414/227 927/413/4 +f 892/396/230 916/420/230 914/415/231 +f 906/1505/233 930/421/233 931/426/229 +f 900/390/233 924/412/233 923/408/5 +f 893/397/3 917/419/3 916/420/230 +f 907/1507/229 931/426/229 932/425/9 +f 901/391/229 925/411/229 924/412/233 +f 894/399/228 918/424/228 917/419/3 +f 908/1509/9 932/428/9 933/431/231 +f 890/393/9 915/416/9 925/411/229 +f 895/400/227 919/423/227 918/424/228 +f 909/1510/231 933/431/231 934/430/230 +f 902/1506/4 927/413/4 926/418/234 +f 970/1511/3 978/1521/3 977/1512/22 +f 975/1514/23 983/1524/23 982/1515/5 +f 973/1517/47 981/1525/47 980/1518/4 +f 971/1520/40 979/1527/40 978/1521/3 +f 969/1513/22 977/1512/22 976/1522/9 +f 968/1523/9 976/1522/9 983/1524/23 +f 974/1516/5 982/1515/5 981/1525/47 +f 972/1526/4 980/1622/4 979/1527/40 +f 1000/1528/227 1012/1541/227 1011/1529/228 +f 995/1531/9 1008/1551/9 1018/1532/229 +f 997/1534/230 1009/1543/230 1007/1535/231 +f 1004/1537/5 1016/1545/5 1015/1538/232 +f 1001/1540/4 1013/1623/4 1012/1541/227 +f 998/1542/3 1010/1549/3 1009/1543/230 +f 1005/1544/233 1017/1550/233 1016/1545/5 +f 1002/1546/234 1014/1552/234 1013/1547/4 +f 999/1530/228 1011/1529/228 1010/1549/3 +f 1006/1533/229 1018/1532/229 1017/1550/233 +f 996/1536/231 1007/1535/231 1008/1551/9 +f 1003/1539/232 1015/1538/232 1014/1552/234 +f 1029/1553/233 1041/1576/233 1042/1554/229 +f 1022/1556/3 1034/1577/3 1035/1557/228 +f 1030/1555/229 1042/1554/229 1032/1559/9 +f 1023/1558/228 1035/1557/228 1036/1561/227 +f 1024/1562/227 1036/1561/227 1037/1563/4 +f 1025/1565/4 1037/1624/4 1038/1566/234 +f 1026/1567/234 1038/1566/234 1039/1568/232 +f 1019/1560/9 1032/1559/9 1031/1570/231 +f 1027/1569/232 1039/1568/232 1040/1572/5 +f 1020/1571/231 1031/1570/231 1033/1574/230 +f 1028/1573/5 1040/1572/5 1041/1576/233 +f 1021/1575/230 1033/1574/230 1034/1577/3 diff --git a/src/main/resources/assets/hbm/models/weapons/mike_hawk.obj b/src/main/resources/assets/hbm/models/weapons/mike_hawk.obj new file mode 100644 index 000000000..fc5e21aa0 --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/mike_hawk.obj @@ -0,0 +1,1688 @@ +# Blender v2.79 (sub 0) OBJ File: 'mike_hawk.blend' +# www.blender.org +o Cylinder +v 0.000000 1.000000 0.250000 +v -10.125000 1.000000 0.250001 +v 0.000000 0.875000 0.216506 +v -10.125000 0.875000 0.216507 +v 0.000000 0.783494 0.125000 +v -10.125000 0.783494 0.125001 +v -0.000000 0.750000 0.000000 +v -10.125000 0.750000 0.000001 +v -0.000000 0.783494 -0.125000 +v -10.125000 0.783494 -0.124999 +v -0.000000 0.875000 -0.216506 +v -10.125000 0.875000 -0.216506 +v -0.000000 1.000000 -0.250000 +v -10.125000 1.000000 -0.249999 +v -0.000000 1.125000 -0.216506 +v -10.125000 1.125000 -0.216506 +v -0.000000 1.216506 -0.125000 +v -10.125000 1.216506 -0.124999 +v -0.000000 1.250000 0.000000 +v -10.125000 1.250000 0.000001 +v 0.000000 1.216506 0.125000 +v -10.125000 1.216506 0.125001 +v 0.000000 1.125000 0.216506 +v -10.125000 1.125000 0.216507 +v -10.125000 0.906250 0.162381 +v -10.125000 1.000000 0.187501 +v -10.125000 0.837620 0.093751 +v -10.125000 0.812500 0.000001 +v -10.125000 0.837620 -0.093749 +v -10.125000 0.906250 -0.162379 +v -10.125000 1.000000 -0.187499 +v -10.125000 1.093750 -0.162379 +v -10.125000 1.162380 -0.093749 +v -10.125000 1.187500 0.000001 +v -10.125000 1.162380 0.093751 +v -10.125000 1.093750 0.162381 +v 0.000000 0.906250 0.162368 +v 0.000000 1.000000 0.187489 +v 0.000000 0.837620 0.093739 +v -0.000000 0.812500 -0.000011 +v -0.000000 0.837620 -0.093761 +v -0.000000 0.906250 -0.162391 +v -0.000000 1.000000 -0.187511 +v -0.000000 1.093750 -0.162391 +v -0.000000 1.162380 -0.093761 +v -0.000000 1.187500 -0.000011 +v 0.000000 1.162380 0.093739 +v 0.000000 1.093750 0.162368 +v -10.000000 0.000000 -0.374999 +v -10.000000 0.000000 0.375001 +v -3.500000 0.000000 -0.375000 +v -10.000000 1.000000 0.250001 +v -10.000000 0.875000 0.216507 +v -10.000000 0.783494 0.125001 +v -10.000000 0.750000 0.000001 +v -10.000000 0.783494 -0.124999 +v -10.000000 0.875000 -0.216506 +v -10.000000 1.000000 -0.249999 +v -10.000000 1.125000 -0.216506 +v -10.000000 1.216506 -0.124999 +v -10.000000 1.250000 0.000001 +v -10.000000 1.216506 0.125000 +v -10.000000 1.125000 0.216507 +v -10.000000 -0.250000 -0.124999 +v -10.000000 -0.250000 0.125001 +v -10.000000 1.500000 -0.249999 +v -10.000000 1.375000 -0.374999 +v -10.000000 1.375000 0.375001 +v -10.000000 1.500000 0.250001 +v -1.500000 1.500000 0.250000 +v -1.500000 1.375000 -0.375000 +v -1.500000 1.500000 -0.250000 +v -1.500000 1.500000 0.000000 +v -1.500000 1.000000 -0.375000 +v 0.000000 1.125000 0.216506 +v 0.000000 1.216506 0.125000 +v 0.000000 1.500000 0.250000 +v 0.000000 1.000000 0.250000 +v 0.000000 1.500000 0.000000 +v 0.000000 1.000000 -0.375000 +v -1.500000 1.000000 -0.250000 +v 0.000000 1.000000 -0.250000 +v -1.500000 1.375000 0.000000 +v 0.000000 1.375000 0.000000 +v -1.500000 1.375000 -0.250000 +v -1.500000 1.000000 -0.250000 +v -1.500000 1.375000 0.000000 +v -1.500000 1.375000 -0.250000 +v -0.000000 1.000000 -0.250000 +v 0.000000 1.375000 0.000000 +v -0.000000 1.375000 -0.250000 +v 0.000000 1.375000 0.250000 +v 0.000000 1.250000 0.000000 +v -0.000000 1.125000 -0.216506 +v -0.000000 1.216506 -0.125000 +v 0.000000 1.375000 -0.375000 +v 0.000000 1.500000 -0.250000 +v 0.000000 1.375000 -0.250000 +v -3.500000 -0.250000 0.125000 +v -3.500000 -0.250000 -0.125000 +v 3.000000 1.500000 0.250000 +v 3.062500 1.375000 0.375000 +v 3.062500 1.375000 -0.375000 +v 3.000000 1.500000 -0.250000 +v 1.500000 1.375000 -0.250000 +v 0.000000 0.875000 0.216506 +v 0.000000 0.783494 0.125000 +v -0.000000 0.750000 0.000000 +v -0.000000 0.783494 -0.125000 +v -0.000000 0.875000 -0.216506 +v 1.500000 1.000000 -0.250000 +v 1.500000 1.000000 0.250000 +v 1.500000 0.875000 0.216506 +v 1.500000 0.783494 0.125000 +v 1.500000 0.750000 0.000000 +v 1.500000 0.783494 -0.125000 +v 1.500000 0.875000 -0.216506 +v 1.500000 1.000000 -0.250000 +v 1.500000 1.375000 0.000000 +v 1.500000 1.375000 0.250000 +v 3.500000 0.500000 -0.375000 +v 3.500000 0.500000 0.375000 +v 3.500000 0.000000 -0.375000 +v 3.500000 0.000000 0.375000 +v -3.500000 0.000000 0.375000 +v -3.500000 -0.187500 0.125000 +v 3.500000 -0.187500 0.125000 +v -3.500000 -0.187500 -0.125000 +v 3.500000 -0.187500 -0.125000 +v -3.500000 0.000000 -0.312500 +v -3.500000 0.000000 0.312500 +v 3.500000 0.000000 0.312500 +v 3.500000 0.000000 -0.312500 +v 3.500000 0.500000 0.125000 +v 3.500000 0.500000 -0.125000 +v 3.125000 1.250000 0.125000 +v 3.125000 1.250000 -0.125000 +v 3.500000 0.000000 0.125000 +v 3.500000 0.000000 -0.125000 +v 1.500000 0.000000 0.125000 +v 1.500000 0.000000 -0.125000 +v 3.000000 1.250000 0.125000 +v 3.000000 1.250000 -0.125000 +v 3.000000 0.000000 -0.125000 +v 3.000000 0.000000 0.125000 +v 1.500000 1.250000 -0.125000 +v 1.500000 1.250000 0.125000 +v 3.125000 0.375000 -0.125000 +v 3.125000 0.375000 0.125000 +v 3.301777 0.301777 -0.125000 +v 3.301777 0.301777 0.125000 +v 3.375000 0.125000 -0.125000 +v 3.375000 0.125000 0.125000 +v 3.301777 -0.051777 -0.125000 +v 3.301777 -0.051777 0.125000 +v 3.125000 -0.125000 -0.125000 +v 3.125000 -0.125000 0.125000 +v 2.948223 -0.051777 -0.125000 +v 2.948223 -0.051777 0.125000 +v 2.875000 0.125000 -0.125000 +v 2.875000 0.125000 0.125000 +v 2.948223 0.301777 -0.125000 +v 2.948223 0.301777 0.125000 +v 3.000000 0.250000 0.093750 +v 3.250000 0.250000 0.093750 +v 3.000000 0.250000 -0.093750 +v 3.250000 0.250000 -0.093750 +v 3.000000 1.125000 -0.093750 +v 3.000000 1.125000 0.093750 +v 3.250000 1.000000 0.093750 +v 3.250000 1.000000 -0.093750 +v 3.375000 1.125000 -0.125000 +v 3.375000 1.125000 0.125000 +v 3.551777 1.051777 -0.125000 +v 3.551777 1.051777 0.125000 +v 3.625000 0.875000 -0.125000 +v 3.625000 0.875000 0.125000 +v 3.551777 0.698223 -0.125000 +v 3.551777 0.698223 0.125000 +v 3.375000 0.625000 -0.125000 +v 3.375000 0.625000 0.125000 +v 3.198223 0.698223 -0.125000 +v 3.198223 0.698223 0.125000 +v 3.125000 0.875000 -0.125000 +v 3.125000 0.875000 0.125000 +v 3.198223 1.051777 -0.125000 +v 3.198223 1.051777 0.125000 +v 3.250000 0.875000 -0.125000 +v 3.250000 0.875000 0.125000 +v 3.286612 0.963388 -0.125000 +v 3.286612 0.963388 0.125000 +v 3.375000 1.000000 -0.125000 +v 3.375000 1.000000 0.125000 +v 3.463388 0.963388 -0.125000 +v 3.463388 0.963388 0.125000 +v 3.500000 0.875000 -0.125000 +v 3.500000 0.875000 0.125000 +v 3.463388 0.786612 -0.125000 +v 3.463388 0.786612 0.125000 +v 3.375000 0.750000 -0.125000 +v 3.375000 0.750000 0.125000 +v 3.286612 0.786612 -0.125000 +v 3.286612 0.786612 0.125000 +v 1.250000 -1.687500 0.125000 +v 1.250000 -1.687500 -0.125000 +v 0.500000 -1.437500 0.125000 +v 0.500000 -1.437500 -0.125000 +v -1.000000 -1.437500 0.125000 +v -1.000000 -1.437500 -0.125000 +v -1.250000 -0.687500 0.125000 +v -1.250000 -0.687500 -0.125000 +v -1.750000 -0.187500 0.125000 +v -1.750000 -0.187500 -0.125000 +v -0.750000 -0.187500 0.125000 +v -0.750000 -0.187500 -0.125000 +v -1.000000 -0.687500 0.125000 +v -1.000000 -0.687500 -0.125000 +v -0.875000 -1.187500 0.125000 +v -0.875000 -1.187500 -0.125000 +v 0.500000 -1.187500 0.125000 +v 0.500000 -1.187500 -0.125000 +v 0.750000 -0.687500 0.125000 +v 0.750000 -0.687500 -0.125000 +v 0.625000 0.062500 0.125000 +v 0.625000 0.062500 -0.125000 +v 1.000000 0.187500 0.125000 +v 0.750000 -0.187500 0.125000 +v 1.750000 -3.187500 0.250000 +v 2.625000 -0.187500 0.250000 +v 2.750000 -0.937500 0.250000 +v 3.112560 -1.437500 0.250000 +v 3.500000 -2.437500 0.250000 +v 1.500000 -3.437500 0.250000 +v 3.500000 -3.437500 0.250000 +v 1.000000 0.187500 -0.125000 +v 0.750000 -0.187500 -0.125000 +v 0.000000 -0.187500 0.125000 +v 0.000000 -0.187500 -0.125000 +v 0.125000 -0.562500 0.125000 +v 0.125000 -0.562500 -0.125000 +v 0.000000 -1.062500 0.125000 +v 0.000000 -1.062500 -0.125000 +v 0.375000 -0.562500 0.125000 +v 0.375000 -0.562500 -0.125000 +v 0.437500 -0.187500 0.125000 +v 0.437500 -0.187500 -0.125000 +v -9.812500 1.500000 0.187501 +v -8.937500 1.500000 0.187501 +v -9.812500 1.500000 -0.187499 +v -8.937500 1.500000 -0.187499 +v -9.812500 1.625000 -0.187499 +v -9.812500 1.625000 0.187501 +v -9.187500 1.625000 0.187501 +v -9.187500 1.625000 -0.187499 +v -9.750000 1.625000 0.062501 +v -9.250000 1.625000 0.062501 +v -9.750000 1.625000 -0.062499 +v -9.250000 1.625000 -0.062499 +v -9.750000 1.750000 -0.062499 +v -9.750000 1.750000 0.062501 +v -9.250000 1.750000 0.062501 +v -9.250000 1.750000 -0.062499 +v 1.812500 1.500000 0.187500 +v 2.437500 1.500000 0.187500 +v 1.812500 1.500000 -0.187500 +v 2.437500 1.500000 -0.187500 +v 2.062500 1.625000 -0.187500 +v 2.062500 1.625000 0.187500 +v 2.437500 1.625000 0.062500 +v 2.437500 1.625000 -0.062500 +v 2.437500 1.750000 0.187500 +v 2.437500 1.750000 -0.187500 +v 2.437500 1.750000 0.062500 +v 2.437500 1.750000 -0.062500 +v 2.187500 1.625000 0.187500 +v 2.187500 1.625000 -0.187500 +v 2.312500 1.750000 0.187500 +v 2.312500 1.750000 -0.187500 +v 2.312500 1.750000 0.062500 +v 2.312500 1.750000 -0.062500 +v 2.187500 1.625000 0.062500 +v 2.187500 1.625000 -0.062500 +v 1.875000 -3.437500 0.437500 +v 3.250000 -3.437500 0.437500 +v 3.375000 -3.437500 0.312500 +v 3.375000 -3.437500 -0.312500 +v 1.750000 -3.437500 -0.312500 +v 1.750000 -3.437500 0.312500 +v 3.250000 -3.437500 -0.437500 +v 1.875000 -3.437500 -0.437500 +v 3.375000 -3.562500 0.312500 +v 3.375000 -3.562500 -0.312500 +v 1.750000 -3.562500 0.312500 +v 1.750000 -3.562500 -0.312500 +v 1.875000 -3.562500 0.437500 +v 3.250000 -3.562500 0.437500 +v 3.250000 -3.562500 -0.437500 +v 1.875000 -3.562500 -0.437500 +v 1.937500 -3.437500 -0.312500 +v 1.937500 -3.437500 0.312500 +v 3.312500 -3.437500 -0.312500 +v 3.312500 -3.437500 0.312500 +v 0.875000 0.562500 0.312500 +v 0.875000 0.562500 -0.312500 +v 2.250000 0.562500 0.312500 +v 2.250000 0.562500 -0.312500 +v 3.500000 -3.437500 -0.250000 +v 1.500000 -3.437500 -0.250000 +v 3.500000 -2.437500 -0.250000 +v 3.112560 -1.437500 -0.250000 +v 2.750000 -0.937500 -0.250000 +v 2.625000 -0.187500 -0.250000 +v 1.750000 -3.187500 -0.250000 +v 1.250000 -1.687500 -0.250000 +v 1.750000 -3.437500 -0.500000 +v 3.250000 -3.437500 -0.500000 +v 3.250000 -2.437500 -0.500000 +v 2.862560 -1.437500 -0.500000 +v 2.500000 -0.937500 -0.500000 +v 2.375000 -0.187500 -0.500000 +v 2.000000 -3.187500 -0.500000 +v 1.000000 -0.187500 -0.500000 +v 2.375000 0.187500 -0.250000 +v 1.000000 0.187500 -0.250000 +v 0.750000 -0.187500 -0.250000 +v 1.250000 -1.687500 0.250000 +v 3.250000 -3.437500 0.500000 +v 1.750000 -3.437500 0.500000 +v 3.250000 -2.437500 0.500000 +v 2.862560 -1.437500 0.500000 +v 2.500000 -0.937500 0.500000 +v 2.375000 -0.187500 0.500000 +v 2.000000 -3.187500 0.500000 +v 2.375000 0.187500 0.250000 +v 1.000000 -0.187500 0.500000 +v 1.000000 0.187500 0.250000 +v 0.750000 -0.187500 0.250000 +v 3.000000 -0.187500 0.250000 +v 3.000000 -0.187500 -0.250000 +v 3.250000 0.062500 0.250000 +v 3.250000 0.062500 -0.250000 +v 2.750000 -0.562500 0.250000 +v 2.750000 -0.562500 -0.250000 +v 1.187500 0.562500 -0.187500 +v 2.187500 0.562500 -0.187500 +v 1.187500 0.429918 -0.132583 +v 2.187500 0.429918 -0.132583 +v 1.187500 0.375000 0.000000 +v 2.187500 0.375000 0.000000 +v 1.187500 0.429918 0.132583 +v 2.187500 0.429918 0.132583 +v 1.187500 0.562500 0.187500 +v 2.187500 0.562500 0.187500 +v 1.187500 0.695083 0.132583 +v 2.187500 0.695083 0.132583 +v 1.187500 0.750000 0.000000 +v 2.187500 0.750000 0.000000 +v 1.187500 0.695083 -0.132583 +v 2.187500 0.695083 -0.132583 +v 1.000000 0.562500 -0.093750 +v 1.000000 0.496209 -0.066291 +v 1.000000 0.468750 0.000000 +v 1.000000 0.496209 0.066291 +v 1.000000 0.562500 0.093750 +v 1.000000 0.628792 0.066291 +v 1.000000 0.656250 0.000000 +v 1.000000 0.628792 -0.066291 +v -3.000000 0.000000 0.385001 +v -3.000000 1.375000 0.385001 +v -1.625000 0.000000 0.385001 +v -1.625000 1.375000 0.385001 +v -9.000000 0.000000 0.385001 +v -9.000000 1.375000 0.385001 +v -3.500000 0.000000 0.385001 +v -3.500000 1.375000 0.385001 +vt 0.000050 0.000050 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.999950 0.000050 +vt -0.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 1.000000 -0.003906 +vt 0.417949 0.031008 +vt 0.420513 0.046512 +vt 0.417949 0.046512 +vt 0.002564 0.186047 +vt -0.000000 0.170543 +vt 0.002564 0.170543 +vt 0.417949 0.015504 +vt 0.420513 0.031008 +vt 0.417949 0.000000 +vt 0.420513 0.015504 +vt 0.417949 0.124031 +vt 0.420513 0.139535 +vt 0.417949 0.139535 +vt 0.417949 0.155039 +vt 0.420513 0.155039 +vt 0.417949 0.170543 +vt 0.420513 0.186047 +vt 0.417949 0.186047 +vt 0.420513 0.108527 +vt 0.420513 0.124031 +vt 0.420513 0.170543 +vt 0.417949 0.108527 +vt 0.420513 0.093023 +vt 0.417949 0.077519 +vt 0.417949 0.093023 +vt 0.420513 0.062016 +vt 0.420513 0.077519 +vt 0.417949 0.062016 +vt 0.002564 0.015504 +vt 0.000000 -0.000000 +vt 0.002564 -0.000000 +vt 0.002564 0.031008 +vt 0.000000 0.015504 +vt 0.002564 0.046512 +vt 0.000000 0.031008 +vt 0.000000 0.062016 +vt 0.000000 0.046512 +vt 0.002564 0.062016 +vt -0.000000 0.077519 +vt 0.002564 0.077519 +vt -0.000000 0.093023 +vt 0.002564 0.093023 +vt 0.000000 0.108527 +vt 0.002564 0.108527 +vt 0.000000 0.124031 +vt 0.002564 0.124031 +vt 0.000000 0.139535 +vt 0.002564 0.155039 +vt 0.002564 0.139535 +vt 0.000000 0.155039 +vt 0.430769 0.542636 +vt 0.430769 0.589147 +vt 0.348718 0.713178 +vt 0.348718 0.217054 +vt 0.082051 0.186047 +vt 0.348718 0.186047 +vt 0.430769 0.527132 +vt 0.082051 0.542636 +vt 0.082051 0.527132 +vt 0.082051 0.465116 +vt 0.430769 0.465116 +vt 0.430769 0.496124 +vt 0.069231 0.511628 +vt 0.071795 0.496124 +vt 0.069231 0.480620 +vt 0.076923 0.449612 +vt 0.076923 0.542636 +vt 0.066667 0.519380 +vt 0.061538 0.527132 +vt 0.020513 0.542636 +vt 0.061538 0.472868 +vt 0.020513 0.449612 +vt 0.053846 0.511628 +vt 0.053846 0.496124 +vt 0.492308 0.496124 +vt 0.492308 0.573643 +vt 0.492308 0.589147 +vt 0.430769 0.511628 +vt 0.116983 0.508758 +vt 0.131570 0.486708 +vt 0.131570 0.508758 +vt 0.138863 0.420561 +vt 0.138863 0.486708 +vt 0.184615 0.852713 +vt 0.246154 0.806202 +vt 0.246154 0.852713 +vt 0.246154 0.883721 +vt 0.179487 0.829457 +vt 0.182051 0.821705 +vt 0.146351 0.442610 +vt 0.139058 0.442610 +vt 0.146351 0.420561 +vt 0.139058 0.486708 +vt 0.146351 0.486708 +vt 0.168230 0.442610 +vt 0.168230 0.420561 +vt 0.492308 0.542636 +vt 0.615385 0.527132 +vt 0.615385 0.542636 +vt 0.615385 0.449612 +vt 0.615385 0.465116 +vt 0.492308 0.465116 +vt 0.492308 0.527132 +vt 0.169231 0.829457 +vt 0.174359 0.852713 +vt 0.164103 0.852713 +vt 0.164103 0.883721 +vt 0.102564 0.852713 +vt 0.092308 0.852713 +vt 0.082051 0.806202 +vt 0.102564 0.806202 +vt 0.084615 0.790698 +vt 0.087179 0.782946 +vt 0.082051 0.279070 +vt 0.348718 0.248062 +vt 0.348718 0.279070 +vt 0.676923 0.480620 +vt 0.656410 0.449612 +vt 0.676923 0.449612 +vt 0.082051 0.217054 +vt 0.082051 0.248062 +vt 0.082051 0.449612 +vt 0.358974 0.279070 +vt 0.358974 0.186047 +vt 0.082051 0.821705 +vt 0.082051 0.883721 +vt 0.000000 0.883721 +vt 0.253846 0.829457 +vt 0.541026 0.860465 +vt 0.253846 0.860465 +vt 0.541026 0.883721 +vt 0.253846 0.961240 +vt 0.253846 0.883721 +vt 0.541026 0.806202 +vt 0.541026 0.829457 +vt 0.548718 0.883721 +vt 0.246154 0.806202 +vt 0.625641 0.480620 +vt 0.625641 0.511628 +vt 0.620513 0.449612 +vt 0.620513 0.542636 +vt 0.656410 0.542636 +vt 0.553846 0.744186 +vt 0.553846 0.775194 +vt 0.348718 0.806202 +vt 0.656410 0.511628 +vt 0.676923 0.542636 +vt 0.000000 0.341085 +vt 0.010256 0.186047 +vt 0.010256 0.341085 +vt 0.000000 0.542636 +vt 0.082051 0.542636 +vt 0.082051 0.604651 +vt 0.066667 0.728682 +vt 0.000000 0.697674 +vt 0.066667 0.697674 +vt 0.028205 0.279070 +vt 0.035897 0.310078 +vt 0.028205 0.310078 +vt 0.035897 0.186047 +vt 0.028205 0.186047 +vt 0.017949 0.186047 +vt 0.010256 0.294574 +vt 0.010256 0.186047 +vt 0.046154 0.186047 +vt 0.035897 0.279070 +vt 0.017949 0.294574 +vt 0.051282 0.418605 +vt 0.046154 0.403101 +vt 0.051282 0.403101 +vt 0.061538 0.418605 +vt 0.056410 0.403101 +vt 0.061538 0.403101 +vt 0.051282 0.372093 +vt 0.056410 0.387597 +vt 0.051282 0.387597 +vt 0.061538 0.372093 +vt 0.061538 0.387597 +vt 0.066667 0.372093 +vt 0.071795 0.387597 +vt 0.066667 0.387597 +vt 0.071795 0.372093 +vt 0.076923 0.387597 +vt 0.071795 0.418605 +vt 0.066667 0.403101 +vt 0.071795 0.403101 +vt 0.082051 0.372093 +vt 0.082051 0.387597 +vt 0.076923 0.403101 +vt 0.041026 0.372093 +vt 0.046154 0.387597 +vt 0.041026 0.387597 +vt 0.082051 0.418605 +vt 0.082051 0.403101 +vt 0.041026 0.418605 +vt 0.041026 0.403101 +vt 0.066667 0.418605 +vt 0.835897 0.790698 +vt 0.805128 0.759690 +vt 0.835897 0.759690 +vt 0.805128 0.790698 +vt 0.743590 0.759690 +vt 0.743590 0.790698 +vt 0.712821 0.759690 +vt 0.712821 0.790698 +vt 0.692308 0.759690 +vt 0.692308 0.790698 +vt 0.712821 0.821705 +vt 0.692308 0.821705 +vt 0.712821 0.790698 +vt 0.733333 0.821705 +vt 0.733333 0.790698 +vt 0.789744 0.821705 +vt 0.789744 0.790698 +vt 0.810256 0.821705 +vt 0.810256 0.790698 +vt 0.841026 0.821705 +vt 0.928205 0.744186 +vt 0.923077 0.728682 +vt 0.928205 0.635659 +vt 0.884615 0.868217 +vt 0.905128 0.930233 +vt 0.864103 0.930233 +vt 0.900000 0.806202 +vt 0.894872 0.775194 +vt 0.956410 0.775194 +vt 0.956410 0.806202 +vt 0.987179 0.744186 +vt 0.961538 0.961240 +vt 0.966667 0.868217 +vt 0.966667 0.930233 +vt 0.976923 0.976744 +vt 0.900000 0.806202 +vt 0.956410 0.775194 +vt 0.894872 0.775194 +vt 0.966667 0.930233 +vt 0.961538 0.961240 +vt 0.976923 0.976744 +vt 0.966667 0.868217 +vt 0.884615 0.868217 +vt 0.987179 0.744186 +vt 0.956410 0.806202 +vt 0.905128 0.930233 +vt 0.864103 0.930233 +vt 0.671795 0.697674 +vt 0.661538 0.651163 +vt 0.671795 0.651163 +vt 0.671795 0.759690 +vt 0.661538 0.697674 +vt 0.671795 0.821705 +vt 0.661538 0.759690 +vt 0.671795 0.868217 +vt 0.661538 0.821705 +vt 0.651282 0.821705 +vt 0.661538 0.868217 +vt 0.682051 0.759690 +vt 0.682051 0.821705 +vt 0.194872 0.728682 +vt 0.169231 0.775194 +vt 0.169231 0.728682 +vt 0.164103 0.728682 +vt 0.164103 0.775194 +vt 0.169231 0.790698 +vt 0.194872 0.775194 +vt 0.205128 0.790698 +vt 0.169231 0.713178 +vt 0.205128 0.775194 +vt 0.205128 0.728682 +vt 0.230769 0.728682 +vt 0.210256 0.744186 +vt 0.210256 0.728682 +vt 0.235897 0.744186 +vt 0.235897 0.728682 +vt 0.205128 0.728682 +vt 0.205128 0.744186 +vt 0.210256 0.759690 +vt 0.230769 0.744186 +vt 0.230769 0.759690 +vt 0.230769 0.713178 +vt 0.210256 0.713178 +vt 0.074359 0.232558 +vt 0.066667 0.217054 +vt 0.071795 0.217054 +vt 0.071795 0.325581 +vt 0.082051 0.310078 +vt 0.082051 0.325581 +vt 0.071795 0.294574 +vt 0.056410 0.279070 +vt 0.061538 0.279070 +vt 0.082051 0.263566 +vt 0.076923 0.232558 +vt 0.082051 0.217054 +vt 0.056410 0.294574 +vt 0.066667 0.341085 +vt 0.056410 0.341085 +vt 0.071795 0.263566 +vt 0.066667 0.248062 +vt 0.071795 0.248062 +vt 0.076923 0.341085 +vt 0.082051 0.341085 +vt 0.076923 0.294574 +vt 0.082051 0.294574 +vt 0.061538 0.232558 +vt 0.066667 0.232558 +vt 0.061538 0.263566 +vt 0.066667 0.263566 +vt 0.066667 0.294574 +vt 0.071795 0.310078 +vt 0.071795 0.186047 +vt 0.061538 0.201550 +vt 0.046154 0.186047 +vt 0.984615 0.511628 +vt 0.989744 0.527132 +vt 0.984615 0.620155 +vt 0.861538 0.496124 +vt 0.917949 0.573643 +vt 0.861538 0.573643 +vt 1.000000 0.000000 +vt 0.943590 0.496124 +vt 0.943590 0.000000 +vt 0.861538 0.000000 +vt 0.835897 0.496124 +vt 0.835897 -0.000000 +vt 0.917949 0.496124 +vt 0.917949 -0.000000 +vt 0.800000 0.186047 +vt 0.810256 0.217054 +vt 0.810256 0.279070 +vt 0.846154 0.713178 +vt 0.830769 0.666667 +vt 0.830769 0.620155 +vt 0.810256 0.620155 +vt 0.810256 0.666667 +vt 0.794872 0.713178 +vt 0.866667 0.759690 +vt 0.830769 0.713178 +vt 0.810256 0.713178 +vt 0.774359 0.759690 +vt 0.612821 0.852407 +vt 0.605230 0.829458 +vt 0.612821 0.806508 +vt 0.635897 0.713178 +vt -0.000000 0.186047 +vt 0.420513 0.000000 +vt 0.082051 0.713178 +vt 0.066667 0.472868 +vt 0.056410 0.519380 +vt 0.056410 0.472868 +vt 0.010256 0.511628 +vt 0.010256 0.480620 +vt 0.053846 0.488372 +vt 0.430769 0.573643 +vt 0.492308 0.511628 +vt 0.116983 0.486709 +vt 0.131570 0.420561 +vt 0.184615 0.806202 +vt 0.184615 0.883721 +vt 0.174359 0.837209 +vt 0.164103 0.806202 +vt 0.166667 0.821705 +vt 0.102564 0.883721 +vt 0.082051 0.852713 +vt 0.100000 0.790698 +vt 0.082051 0.806202 +vt 0.097436 0.782946 +vt 0.092308 0.775194 +vt 0.656410 0.480620 +vt 0.635897 0.279070 +vt 0.635897 0.341085 +vt 0.000000 0.728682 +vt 0.541026 0.961240 +vt 0.253846 0.806202 +vt 0.548718 0.806202 +vt 0.246154 0.883721 +vt 0.635897 0.744186 +vt 0.635897 0.775194 +vt 0.635897 0.806202 +vt 0.676923 0.511628 +vt 0.000000 0.186047 +vt 0.046154 0.294574 +vt 0.046154 0.418605 +vt 0.056410 0.418605 +vt 0.056410 0.372093 +vt 0.076923 0.372093 +vt 0.076923 0.418605 +vt 0.046154 0.372093 +vt 0.692308 0.790698 +vt 0.841026 0.790698 +vt 0.923077 0.651163 +vt 0.984615 0.635659 +vt 0.984615 0.744186 +vt 0.989744 0.651163 +vt 0.989744 0.728682 +vt 0.894872 0.868217 +vt 0.894872 0.868217 +vt 0.643590 0.868217 +vt 0.651282 0.759690 +vt 0.689744 0.868217 +vt 0.205128 0.713178 +vt 0.046154 0.294574 +vt 0.076923 0.248062 +vt 0.061538 0.217054 +vt 0.061538 0.248062 +vt 0.071795 0.341085 +vt 0.071795 0.294574 +vt 0.056410 0.201550 +vt 0.989744 0.604651 +vt 0.928205 0.620155 +vt 0.928205 0.511628 +vt 0.923077 0.604651 +vt 0.923077 0.527132 +vt 1.000000 0.496124 +vt 0.800000 0.310078 +vt 0.738462 0.310078 +vt 0.728205 0.279070 +vt 0.728205 0.217054 +vt 0.738462 0.186047 +vt 0.830769 0.759690 +vt 0.810256 0.759690 +vt 0.618188 0.813230 +vt 0.620412 0.829458 +vt 0.618188 0.845685 +vt 0.607453 0.845685 +vt 0.607453 0.813230 +vt 0.635897 0.651163 +vt 0.835897 0.046512 +vt 0.835897 0.186047 +vt 0.835897 0.108527 +vt 0.835897 0.062016 +vt 0.835897 0.015504 +vt 0.835897 0.124031 +vt 0.835897 0.155039 +vt 0.835897 0.077519 +vt 0.835897 0.031008 +vt 0.835897 0.139535 +vt 0.835897 0.170543 +vt 0.835897 0.093023 +vt 0.164103 0.759690 +vt 0.102564 0.744186 +vt 0.164103 0.744186 +vt 0.164103 0.790698 +vt 0.102564 0.775194 +vt 0.164103 0.775194 +vt 0.102564 0.728682 +vt 0.164103 0.728682 +vt 0.102564 0.759690 +vt 0.102564 0.790698 +vt 0.164103 0.713178 +vt 0.102564 0.713178 +vt 0.051282 0.418605 +vt 0.058974 0.449612 +vt 0.051282 0.449612 +vt 0.058974 0.418605 +vt 0.066667 0.449612 +vt 0.066667 0.418605 +vt 0.074359 0.449612 +vt 0.074359 0.418605 +vt 0.082051 0.449612 +vt 0.020513 0.418605 +vt 0.028205 0.449612 +vt 0.020513 0.449612 +vt 0.028205 0.418605 +vt 0.035897 0.449612 +vt 0.035897 0.418605 +vt 0.043590 0.449612 +vt 0.043590 0.418605 +vt 0.051282 0.356589 +vt 0.046154 0.356589 +vt 0.056410 0.356589 +vt 0.061538 0.356589 +vt 0.066667 0.356589 +vt 0.071795 0.356589 +vt 0.076923 0.356589 +vt 0.082051 0.356589 +vt 0.041026 0.356589 +vt 0.810256 0.434109 +vt 0.830769 0.310078 +vt 0.830769 0.434109 +vt 0.810256 0.558140 +vt 0.830769 0.558140 +vt 0.676923 0.310078 +vt 0.697436 0.341085 +vt 0.676923 0.341085 +vt 0.697436 0.527132 +vt 0.692308 0.527132 +vt 0.692308 0.759690 +vt 0.697436 0.713178 +vt 0.697436 0.759690 +vt 0.748718 0.341085 +vt 0.692308 0.713178 +vt 0.748718 0.341085 +vt 0.738462 0.341085 +vt 0.717949 0.527132 +vt 0.707692 0.713178 +vt 0.769231 0.620155 +vt 0.707692 0.759690 +vt 0.764103 0.759690 +vt 0.764103 0.713178 +vt 0.774359 0.713178 +vt 0.779487 0.620155 +vt 0.810256 0.310078 +vt 0.784615 0.558140 +vt 0.794872 0.558140 +vt 0.800000 0.434109 +vt 0.738462 0.341085 +vt 0.917949 0.527132 +vt 0.917949 0.604651 +vt 0.989744 0.620155 +vt 0.989744 0.635659 +vt 0.928205 0.496124 +vt 0.923077 0.511628 +vt 0.923077 0.496124 +vt 0.994872 0.604651 +vt 0.994872 0.527132 +vt 0.923077 0.635659 +vt 0.989744 0.496124 +vt 0.984615 0.496124 +vt 0.784615 0.558140 +vt 0.800000 0.434109 +vt 0.738462 0.310078 +vt 0.728205 0.310078 +vt 0.800000 0.310078 +vt 0.810256 0.434109 +vt 0.810256 0.310078 +vt 0.794872 0.558140 +vt 0.779487 0.620155 +vt 0.769231 0.620155 +vt 0.774359 0.713178 +vt 0.764103 0.759690 +vt 0.707692 0.713178 +vt 0.707692 0.759690 +vt 0.764103 0.713178 +vt 0.697436 0.713178 +vt 0.682051 0.759690 +vt 0.676923 0.713178 +vt 0.682051 0.713178 +vt 0.682051 0.527132 +vt 0.605128 0.899225 +vt 0.564103 0.914729 +vt 0.564103 0.899225 +vt 0.605128 0.914729 +vt 0.564103 0.930233 +vt 0.605128 0.806202 +vt 0.564103 0.821705 +vt 0.564103 0.806202 +vt 0.605128 0.821705 +vt 0.564103 0.837209 +vt 0.605128 0.837209 +vt 0.564103 0.852713 +vt 0.605128 0.852713 +vt 0.564103 0.868217 +vt 0.605128 0.868217 +vt 0.564103 0.883721 +vt 0.605128 0.883721 +vt 0.556410 0.844961 +vt 0.556410 0.837209 +vt 0.554054 0.807659 +vt 0.556123 0.813913 +vt 0.549060 0.822757 +vt 0.556410 0.883721 +vt 0.556410 0.906977 +vt 0.556410 0.899225 +vt 0.556410 0.813953 +vt 0.556410 0.806202 +vt 0.556410 0.852713 +vt 0.556410 0.821705 +vt 0.556410 0.868217 +vt 0.556410 0.914729 +vt 0.717949 0.527132 +vt 0.835897 0.000000 +vt 0.082051 0.418605 +vt 0.697436 0.310078 +vt 0.676923 0.527132 +vt 0.728205 0.310078 +vt 0.923077 0.620155 +vt 0.989744 0.511628 +vt 0.676923 0.759690 +vt 0.605128 0.930233 +vt 0.556123 0.822757 +vt 0.554054 0.829011 +vt 0.551129 0.829011 +vt 0.549060 0.813913 +vt 0.551129 0.807659 +vt 0.556410 0.891473 +vt 0.556410 0.860465 +vt 0.556410 0.829457 +vt 0.556410 0.875969 +vt 0.556410 0.922481 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 -0.0000 -0.0000 +vn 0.0000 0.0000 -1.0000 +vn -0.0000 -0.7071 -0.7071 +vn -0.0000 0.7071 -0.7071 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.7071 0.7071 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 -0.7071 0.7071 +vn 0.8944 0.4472 0.0000 +vn 0.4472 0.8944 0.0000 +vn -0.3162 -0.9487 0.0000 +vn -0.9487 -0.3162 0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.8944 -0.4472 0.0000 +vn 0.9701 0.2425 0.0000 +vn -0.8944 0.4472 0.0000 +vn -0.9864 -0.1644 0.0000 +vn -0.9701 0.2425 0.0000 +vn 0.8000 -0.6000 0.0000 +vn 0.9864 -0.1644 0.0000 +vn -0.4472 0.8944 0.0000 +vn -0.7071 0.7071 0.0000 +vn -0.9665 -0.2567 0.0000 +vn 0.9665 0.2567 0.0000 +vn 0.0000 -0.5000 0.8660 +vn 0.0000 -0.8660 0.5000 +vn -0.0000 -0.8660 -0.5000 +vn -0.0000 -0.5000 -0.8660 +vn -0.0000 0.5000 -0.8660 +vn -0.0000 0.8660 -0.5000 +vn 0.0000 0.8660 0.5000 +vn 0.0000 0.5000 0.8660 +vn -0.0000 0.1305 -0.9914 +vn 0.0000 0.2588 0.9659 +vn 0.7071 0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn 0.9162 0.1662 0.3645 +vn 0.9239 0.0000 -0.3827 +vn 0.9162 0.1662 -0.3645 +vn 0.8287 0.4395 0.3465 +vn 0.8287 0.4395 -0.3465 +vn 0.8603 0.3367 0.3828 +vn 0.8603 0.3367 -0.3828 +vn 0.9571 -0.2898 0.0000 +vn 0.7733 -0.6340 0.0000 +vn -0.6861 0.6861 -0.2418 +vn -0.8727 0.2440 0.4229 +vn -0.8727 0.2440 -0.4229 +vn -0.8812 -0.2937 0.3705 +vn -0.8321 0.5547 0.0000 +vn -0.9301 0.1173 0.3481 +vn -0.5496 0.6292 0.5496 +vn -0.2557 0.0494 0.9655 +vn -0.4602 0.4602 0.7592 +vn 0.3827 0.0000 0.9239 +vn -0.9912 0.1327 0.0000 +vn -0.2557 0.0494 -0.9655 +vn -0.8812 -0.2937 -0.3705 +vn -0.3931 0.1897 0.8997 +vn 0.3243 0.1224 0.9380 +vn 0.2291 0.5399 0.8099 +vn 0.3304 0.2876 0.8989 +vn 0.6853 0.2467 0.6853 +vn 0.9239 0.0000 0.3827 +vn 0.3830 0.2240 0.8962 +vn 0.4161 0.0853 0.9053 +vn -0.9239 0.0000 -0.3827 +vn -0.9239 0.0000 0.3827 +vn -0.3827 0.0000 -0.9239 +vn -0.3827 0.0000 0.9239 +vn 0.3827 0.0000 -0.9239 +vn 0.3830 0.2240 -0.8962 +vn 0.4161 0.0853 -0.9053 +vn -0.4602 0.4602 -0.7592 +vn 0.3243 0.1224 -0.9380 +vn 0.6853 0.2467 -0.6853 +vn 0.2291 0.5399 -0.8099 +vn -0.3931 0.1897 -0.8997 +vn -0.5496 0.6292 -0.5496 +vn 0.3304 0.2876 -0.8989 +vn -0.9301 0.1173 -0.3481 +vn -0.4472 0.0000 0.8944 +vn -0.7940 0.4299 0.4299 +vn -0.7940 0.0000 0.6080 +vn -0.7940 0.6080 -0.0000 +vn -0.7940 0.4299 -0.4299 +vn -0.7940 -0.4299 0.4299 +vn -0.4472 0.0000 -0.8944 +vn -0.4472 0.6325 -0.6325 +vn -0.7940 -0.4299 -0.4299 +vn -0.7940 0.0000 -0.6080 +vn -0.4472 -0.8944 0.0000 +vn -0.7940 -0.6080 0.0000 +vn -0.4472 0.6325 0.6325 +vn -0.4472 -0.6325 0.6325 +vn -0.4472 -0.6325 -0.6325 +vn -0.6861 0.6861 0.2418 +s off +f 372/1/1 375/2/1 373/3/1 +f 372/1/1 374/4/1 375/2/1 +f 368/5/1 371/6/1 369/7/1 +f 368/5/1 370/8/1 371/6/1 +f 12/9/2 31/10/2 14/11/2 +f 7/12/3 39/13/3 5/14/3 +f 10/15/2 30/16/2 12/9/2 +f 8/17/2 29/18/2 10/15/2 +f 24/19/2 26/20/2 2/21/2 +f 4/22/2 26/20/2 25/23/2 +f 6/24/2 28/25/2 8/26/2 +f 24/19/2 35/27/2 36/28/2 +f 6/24/2 25/23/2 27/29/2 +f 22/30/2 34/31/2 35/27/2 +f 18/32/2 34/31/2 20/33/2 +f 18/32/2 32/34/2 33/35/2 +f 16/36/2 31/10/2 32/34/2 +f 9/37/3 40/38/3 7/39/3 +f 11/40/3 41/41/3 9/37/3 +f 13/42/3 42/43/3 11/40/3 +f 13/42/3 44/44/3 43/45/3 +f 15/46/3 45/47/3 44/44/3 +f 17/48/3 46/49/3 45/47/3 +f 19/50/3 47/51/3 46/49/3 +f 21/52/3 48/53/3 47/51/3 +f 23/54/3 38/55/3 48/53/3 +f 3/56/3 38/55/3 1/57/3 +f 5/14/3 37/58/3 3/56/3 +f 71/59/4 74/60/4 51/61/4 +f 100/62/5 49/63/5 51/64/5 +f 72/65/6 67/66/6 66/67/6 +f 69/68/7 70/69/7 73/70/7 +f 66/67/2 60/71/2 61/72/2 +f 62/73/2 68/74/2 69/68/2 +f 60/71/2 67/75/2 59/76/2 +f 58/77/2 67/75/2 49/78/2 +f 52/79/2 50/80/2 68/74/2 +f 56/81/2 49/78/2 55/82/2 +f 70/69/7 79/83/7 73/70/7 +f 74/60/7 82/84/7 80/85/7 +f 79/83/4 83/86/4 73/70/4 +f 73/87/3 85/88/3 72/89/3 +f 85/88/3 74/90/3 71/91/3 +f 71/91/3 72/89/3 85/88/3 +f 91/92/4 86/93/4 88/94/4 +f 87/95/7 91/92/7 88/94/7 +f 95/96/3 94/97/3 91/92/3 +f 98/98/2 97/99/2 96/100/2 +f 79/101/2 98/98/2 84/102/2 +f 82/103/2 96/100/2 80/104/2 +f 96/105/6 104/106/6 103/107/6 +f 80/85/4 51/61/4 74/60/4 +f 102/108/8 101/109/8 77/110/8 +f 104/106/7 97/111/7 79/83/7 +f 76/112/3 90/113/3 92/114/3 +f 90/115/9 120/116/9 92/114/9 +f 119/117/2 111/118/2 112/119/2 +f 111/118/2 117/120/2 116/121/2 +f 50/122/10 99/123/10 125/124/10 +f 138/125/3 122/126/3 124/127/3 +f 64/128/9 99/123/9 65/129/9 +f 102/108/1 68/130/1 125/124/1 +f 125/131/3 100/62/3 51/132/3 +f 134/133/4 138/134/4 140/135/4 +f 128/136/9 127/137/9 126/138/9 +f 132/139/7 130/140/7 131/141/7 +f 128/136/5 133/142/5 129/143/5 +f 127/137/10 131/141/10 126/138/10 +f 129/143/3 132/144/3 127/137/3 +f 126/138/2 130/145/2 128/136/2 +f 104/106/11 136/146/11 137/147/11 +f 101/109/11 102/148/11 136/146/11 +f 103/149/11 104/106/11 137/147/11 +f 137/147/11 121/150/11 103/149/11 +f 122/126/11 136/146/11 102/148/11 +f 141/151/9 140/152/9 125/153/9 +f 135/154/3 123/155/3 121/150/3 +f 142/156/3 144/157/3 143/158/3 +f 141/159/1 139/160/1 135/161/1 +f 136/162/9 146/163/9 137/164/9 +f 170/165/12 168/166/12 169/167/12 +f 167/168/3 170/165/3 165/169/3 +f 164/170/2 168/171/2 166/172/2 +f 166/173/4 171/174/4 167/168/4 +f 164/170/1 170/165/1 169/175/1 +f 190/176/4 184/177/4 186/178/4 +f 194/179/4 172/180/4 174/181/4 +f 191/182/1 173/183/1 187/184/1 +f 173/183/1 195/185/1 175/186/1 +f 197/187/1 179/188/1 177/189/1 +f 195/185/1 177/189/1 175/186/1 +f 199/190/1 181/191/1 179/188/1 +f 198/192/4 176/193/4 178/194/4 +f 181/191/1 203/195/1 183/196/1 +f 180/197/4 198/192/4 178/194/4 +f 203/198/1 185/199/1 183/200/1 +f 202/201/4 180/197/4 182/202/4 +f 172/180/4 190/176/4 186/178/4 +f 184/177/4 202/203/4 182/204/4 +f 185/199/1 191/182/1 187/184/1 +f 196/205/4 174/181/4 176/193/4 +f 204/206/13 207/207/13 205/208/13 +f 206/209/9 209/210/9 207/207/9 +f 208/211/14 211/212/14 209/210/14 +f 210/213/15 213/214/15 211/212/15 +f 214/215/16 217/216/16 215/217/16 +f 216/218/17 219/219/17 217/216/17 +f 218/220/7 221/221/7 219/219/7 +f 220/222/18 223/223/18 221/221/18 +f 222/224/19 225/225/19 223/223/19 +f 290/226/7 287/227/7 283/228/7 +f 210/229/1 214/230/1 212/231/1 +f 218/232/1 210/229/1 208/233/1 +f 206/234/1 218/232/1 208/233/1 +f 220/235/1 206/234/1 204/236/1 +f 224/237/1 222/238/1 227/239/1 +f 227/239/1 226/240/1 224/237/1 +f 219/241/4 207/242/4 209/243/4 +f 236/244/4 225/245/4 235/246/4 +f 225/245/4 236/244/4 223/247/4 +f 211/248/4 219/241/4 209/243/4 +f 223/247/4 205/249/4 221/250/4 +f 215/251/4 211/248/4 213/252/4 +f 240/253/14 237/254/14 238/255/14 +f 242/256/20 239/257/20 240/253/20 +f 244/258/21 241/259/21 242/256/21 +f 246/260/22 243/261/22 244/258/22 +f 239/262/1 243/261/1 245/263/1 +f 244/258/4 242/264/4 240/265/4 +f 253/266/7 251/267/7 252/268/7 +f 247/269/2 251/267/2 249/270/2 +f 249/271/4 254/272/4 250/273/4 +f 247/274/1 253/266/1 252/268/1 +f 250/275/12 253/266/12 248/276/12 +f 261/277/7 259/278/7 260/279/7 +f 258/280/3 261/277/3 256/281/3 +f 255/282/2 259/278/2 257/283/2 +f 257/284/4 262/285/4 258/286/4 +f 256/287/1 260/279/1 255/288/1 +f 273/289/7 277/290/7 271/291/7 +f 282/292/7 269/293/7 270/294/7 +f 266/295/4 267/296/4 276/297/4 +f 266/298/3 269/299/3 264/300/3 +f 263/301/23 267/302/23 265/303/23 +f 272/304/7 280/305/7 274/306/7 +f 280/307/1 270/294/1 274/308/1 +f 269/293/4 279/309/4 273/310/4 +f 281/311/24 277/290/24 279/312/24 +f 276/313/24 280/305/24 278/314/24 +f 268/315/7 281/316/7 282/292/7 +f 264/317/1 275/318/1 263/319/1 +f 297/320/9 292/321/9 296/322/9 +f 303/323/7 306/324/7 304/325/7 +f 299/326/4 306/327/4 301/328/4 +f 300/329/25 304/330/25 299/331/25 +f 300/329/1 305/332/1 303/323/1 +f 301/328/26 305/332/26 302/333/26 +f 316/334/9 307/335/9 234/336/9 +f 312/337/4 343/338/4 311/339/4 +f 230/340/1 342/341/1 229/342/1 +f 323/343/4 339/344/4 312/337/4 +f 338/345/1 334/346/1 229/342/1 +f 343/338/4 312/337/4 339/344/4 +f 338/345/1 229/342/1 342/341/1 +f 357/347/3 353/348/3 349/349/3 +f 80/85/4 103/107/4 123/350/4 +f 12/9/2 30/16/2 31/10/2 +f 7/12/3 40/351/3 39/13/3 +f 10/15/2 29/18/2 30/16/2 +f 8/17/2 28/352/2 29/18/2 +f 24/19/2 36/28/2 26/20/2 +f 4/22/2 2/21/2 26/20/2 +f 6/24/2 27/29/2 28/25/2 +f 24/19/2 22/30/2 35/27/2 +f 6/24/2 4/22/2 25/23/2 +f 22/30/2 20/33/2 34/31/2 +f 18/32/2 33/35/2 34/31/2 +f 18/32/2 16/36/2 32/34/2 +f 16/36/2 14/11/2 31/10/2 +f 9/37/3 41/41/3 40/38/3 +f 11/40/3 42/43/3 41/41/3 +f 13/42/3 43/45/3 42/43/3 +f 13/42/3 15/46/3 44/44/3 +f 15/46/3 17/48/3 45/47/3 +f 17/48/3 19/50/3 46/49/3 +f 19/50/3 21/52/3 47/51/3 +f 21/52/3 23/54/3 48/53/3 +f 23/54/3 1/57/3 38/55/3 +f 3/56/3 37/58/3 38/55/3 +f 5/14/3 39/13/3 37/58/3 +f 51/61/4 49/353/4 67/66/4 +f 67/66/4 71/59/4 51/61/4 +f 100/62/5 64/128/5 49/63/5 +f 72/65/6 71/59/6 67/66/6 +f 72/65/7 66/67/7 73/70/7 +f 66/67/7 69/68/7 73/70/7 +f 61/72/2 62/73/2 69/68/2 +f 69/68/2 66/67/2 61/72/2 +f 62/73/2 63/354/2 68/74/2 +f 60/71/2 66/67/2 67/75/2 +f 49/78/2 57/355/2 58/77/2 +f 58/77/2 59/76/2 67/75/2 +f 52/79/2 53/356/2 50/80/2 +f 68/74/2 63/354/2 52/79/2 +f 57/355/2 49/78/2 56/81/2 +f 49/78/2 64/357/2 50/80/2 +f 64/357/2 65/358/2 50/80/2 +f 50/80/2 53/356/2 54/359/2 +f 50/80/2 54/359/2 55/82/2 +f 49/78/2 50/80/2 55/82/2 +f 70/69/7 77/110/7 79/83/7 +f 74/60/7 81/360/7 82/84/7 +f 79/83/4 84/361/4 83/86/4 +f 73/87/3 83/362/3 85/88/3 +f 85/88/3 81/363/3 74/90/3 +f 91/92/4 89/364/4 86/93/4 +f 87/95/7 90/365/7 91/92/7 +f 91/92/3 90/113/3 95/96/3 +f 90/113/3 93/366/3 95/96/3 +f 94/97/3 89/364/3 91/92/3 +f 79/101/2 97/99/2 98/98/2 +f 82/103/2 98/98/2 96/100/2 +f 96/105/6 97/111/6 104/106/6 +f 80/85/4 123/350/4 51/61/4 +f 69/68/8 68/130/8 70/69/8 +f 68/130/8 102/108/8 70/69/8 +f 70/69/8 102/108/8 77/110/8 +f 79/83/7 77/110/7 101/109/7 +f 101/109/7 104/106/7 79/83/7 +f 76/112/3 93/366/3 90/113/3 +f 92/114/3 78/367/3 75/368/3 +f 75/368/3 76/112/3 92/114/3 +f 90/115/9 119/369/9 120/116/9 +f 112/119/2 120/116/2 119/117/2 +f 119/117/2 105/370/2 111/118/2 +f 113/371/2 112/119/2 111/118/2 +f 111/118/1 118/372/1 117/120/1 +f 114/373/2 113/371/2 116/121/2 +f 113/371/2 111/118/2 116/121/2 +f 116/121/2 115/374/2 114/373/2 +f 50/122/10 65/129/10 99/123/10 +f 138/125/3 134/375/3 122/126/3 +f 64/128/9 100/62/9 99/123/9 +f 68/130/1 50/122/1 125/124/1 +f 125/124/1 124/376/1 102/108/1 +f 124/376/1 122/377/1 102/108/1 +f 125/131/3 99/123/3 100/62/3 +f 147/378/4 136/162/4 140/135/4 +f 136/162/4 134/133/4 140/135/4 +f 128/136/9 129/143/9 127/137/9 +f 132/139/7 133/379/7 130/140/7 +f 128/136/5 130/380/5 133/142/5 +f 127/137/10 132/139/10 131/141/10 +f 129/143/3 133/381/3 132/144/3 +f 126/138/2 131/382/2 130/145/2 +f 104/106/11 101/109/11 136/146/11 +f 137/147/11 135/154/11 121/150/11 +f 122/126/11 134/375/11 136/146/11 +f 125/153/9 51/61/9 141/151/9 +f 51/61/9 123/350/9 141/151/9 +f 123/350/9 139/383/9 141/151/9 +f 140/152/9 138/384/9 124/385/9 +f 140/152/9 124/385/9 125/153/9 +f 135/154/3 139/386/3 123/155/3 +f 142/156/3 145/387/3 144/157/3 +f 135/161/1 137/164/1 141/159/1 +f 137/164/1 146/163/1 141/159/1 +f 136/162/9 147/378/9 146/163/9 +f 170/165/12 171/174/12 168/166/12 +f 167/168/3 171/174/3 170/165/3 +f 164/170/2 169/175/2 168/171/2 +f 166/173/4 168/388/4 171/174/4 +f 164/170/1 165/169/1 170/165/1 +f 190/176/4 188/389/4 184/177/4 +f 194/179/4 192/390/4 172/180/4 +f 191/182/1 193/391/1 173/183/1 +f 173/183/1 193/391/1 195/185/1 +f 197/187/1 199/190/1 179/188/1 +f 195/185/1 197/187/1 177/189/1 +f 199/190/1 201/392/1 181/191/1 +f 198/192/4 196/205/4 176/193/4 +f 181/191/1 201/392/1 203/195/1 +f 180/197/4 200/393/4 198/192/4 +f 203/198/1 189/394/1 185/199/1 +f 202/201/4 200/393/4 180/197/4 +f 172/180/4 192/390/4 190/176/4 +f 184/177/4 188/389/4 202/203/4 +f 185/199/1 189/394/1 191/182/1 +f 196/205/4 194/179/4 174/181/4 +f 204/206/13 206/209/13 207/207/13 +f 206/209/9 208/211/9 209/210/9 +f 208/211/14 210/213/14 211/212/14 +f 210/213/15 212/395/15 213/214/15 +f 214/215/16 216/218/16 217/216/16 +f 216/218/17 218/220/17 219/219/17 +f 218/220/7 220/222/7 221/221/7 +f 220/222/18 222/224/18 223/223/18 +f 222/224/19 224/396/19 225/225/19 +f 287/227/7 288/397/7 283/228/7 +f 283/228/7 284/398/7 289/399/7 +f 284/398/7 285/400/7 289/399/7 +f 285/400/7 286/401/7 289/399/7 +f 289/399/7 290/226/7 283/228/7 +f 210/229/1 216/402/1 214/230/1 +f 218/232/1 216/402/1 210/229/1 +f 206/234/1 220/235/1 218/232/1 +f 204/236/1 227/239/1 222/238/1 +f 222/238/1 220/235/1 204/236/1 +f 219/241/4 221/250/4 207/242/4 +f 211/248/4 217/403/4 219/241/4 +f 223/247/4 236/244/4 205/249/4 +f 205/249/4 207/242/4 221/250/4 +f 215/251/4 217/403/4 211/248/4 +f 240/253/14 239/257/14 237/254/14 +f 242/256/20 241/259/20 239/257/20 +f 244/258/21 243/261/21 241/259/21 +f 246/260/22 245/263/22 243/261/22 +f 245/263/1 237/404/1 239/262/1 +f 239/262/1 241/405/1 243/261/1 +f 240/265/4 238/406/4 246/260/4 +f 246/260/4 244/258/4 240/265/4 +f 253/266/7 254/272/7 251/267/7 +f 247/269/2 252/268/2 251/267/2 +f 249/271/4 251/267/4 254/272/4 +f 247/274/1 248/407/1 253/266/1 +f 250/275/12 254/272/12 253/266/12 +f 261/277/7 262/285/7 259/278/7 +f 258/280/3 262/285/3 261/277/3 +f 255/282/2 260/279/2 259/278/2 +f 257/284/4 259/278/4 262/285/4 +f 256/287/1 261/277/1 260/279/1 +f 273/289/7 279/312/7 277/290/7 +f 282/292/7 281/316/7 269/293/7 +f 278/314/4 272/304/4 266/295/4 +f 266/295/4 265/408/4 267/296/4 +f 276/297/4 278/314/4 266/295/4 +f 266/298/3 272/304/3 270/409/3 +f 272/304/3 274/306/3 270/409/3 +f 273/289/3 271/291/3 269/299/3 +f 271/291/3 264/300/3 269/299/3 +f 266/298/3 270/409/3 269/299/3 +f 263/301/23 268/315/23 267/302/23 +f 272/304/7 278/314/7 280/305/7 +f 280/307/1 282/292/1 270/294/1 +f 269/293/4 281/316/4 279/309/4 +f 281/311/24 275/410/24 277/290/24 +f 276/313/24 282/411/24 280/305/24 +f 276/412/7 267/302/7 282/292/7 +f 267/302/7 268/315/7 282/292/7 +f 268/315/7 275/413/7 281/316/7 +f 264/317/1 271/291/1 277/290/1 +f 275/318/1 268/414/1 263/319/1 +f 264/317/1 277/290/1 275/318/1 +f 292/321/9 291/415/9 296/322/9 +f 296/322/9 295/416/9 298/417/9 +f 295/416/9 293/418/9 298/417/9 +f 293/418/9 294/419/9 298/417/9 +f 298/417/9 297/320/9 296/322/9 +f 303/323/7 305/332/7 306/324/7 +f 299/326/4 304/420/4 306/327/4 +f 300/329/25 303/323/25 304/330/25 +f 300/329/1 302/333/1 305/332/1 +f 301/328/26 306/327/26 305/332/26 +f 234/336/9 327/421/9 316/334/9 +f 327/421/9 328/422/9 316/334/9 +f 328/422/9 233/423/9 308/424/9 +f 308/424/9 315/425/9 328/422/9 +f 315/425/9 316/334/9 328/422/9 +f 323/343/4 341/426/4 339/344/4 +f 338/345/1 340/427/1 334/346/1 +f 349/349/3 347/428/3 345/429/3 +f 345/429/3 359/430/3 357/347/3 +f 357/347/3 355/431/3 353/348/3 +f 353/348/3 351/432/3 349/349/3 +f 349/349/3 345/429/3 357/347/3 +f 96/105/4 103/107/4 80/85/4 +f 103/107/4 121/433/4 123/350/4 +s 1 +f 2/21/1 3/56/27 1/57/1 +f 4/22/27 5/14/28 3/56/27 +f 6/24/28 7/12/9 5/14/28 +f 8/17/9 9/37/29 7/39/9 +f 10/15/29 11/40/30 9/37/29 +f 12/9/30 13/42/4 11/40/30 +f 14/11/4 15/46/31 13/42/4 +f 16/36/31 17/48/32 15/46/31 +f 18/32/32 19/50/7 17/48/32 +f 20/33/7 21/52/33 19/50/7 +f 22/30/33 23/54/34 21/52/33 +f 24/19/34 1/57/1 23/54/34 +f 30/16/34 43/434/1 31/10/1 +f 27/29/32 40/435/7 28/25/7 +f 34/31/9 47/436/29 35/27/29 +f 31/10/1 44/437/27 32/34/27 +f 28/352/7 41/438/33 29/18/33 +f 35/27/29 48/439/30 36/28/30 +f 26/20/4 37/440/31 25/23/31 +f 32/34/27 45/441/28 33/35/28 +f 29/18/33 42/442/34 30/16/34 +f 36/28/30 38/443/4 26/20/4 +f 25/23/31 39/444/32 27/29/32 +f 33/35/28 46/445/9 34/31/9 +f 108/446/7 116/447/33 109/448/33 +f 106/449/31 114/450/32 107/451/32 +f 109/448/33 117/452/34 110/453/34 +f 107/451/32 115/454/7 108/446/7 +f 113/455/31 78/367/35 112/119/35 +f 89/456/36 117/452/34 118/457/36 +f 120/116/4 78/367/35 92/114/4 +f 149/458/7 150/459/37 148/460/7 +f 151/461/37 152/462/3 150/459/37 +f 153/463/3 154/464/38 152/462/3 +f 155/465/38 156/466/9 154/464/38 +f 157/467/9 158/468/15 156/469/9 +f 159/470/15 160/471/2 158/468/15 +f 161/472/2 162/473/24 160/471/2 +f 163/474/24 148/460/7 162/473/24 +f 173/183/7 174/181/37 172/180/7 +f 175/186/37 176/193/3 174/181/37 +f 177/189/3 178/194/38 176/193/3 +f 179/188/38 180/197/9 178/194/38 +f 181/191/9 182/202/15 180/197/9 +f 183/200/15 184/177/2 182/204/15 +f 185/199/2 186/178/24 184/177/2 +f 187/184/24 172/180/7 186/178/24 +f 190/475/38 189/394/3 188/476/3 +f 192/477/9 191/182/38 190/475/38 +f 194/478/15 193/391/9 192/477/9 +f 196/479/2 195/185/15 194/478/15 +f 198/480/24 197/187/2 196/479/2 +f 200/481/7 199/190/24 198/480/24 +f 202/482/37 201/392/7 200/481/7 +f 188/476/3 203/198/37 202/483/37 +f 232/484/39 307/485/40 309/486/41 +f 231/487/42 309/486/41 310/488/43 +f 230/340/44 310/488/43 311/339/45 +f 343/338/46 338/345/47 342/341/46 +f 308/489/48 228/490/49 313/491/50 +f 228/490/49 326/492/51 204/493/14 +f 339/344/47 340/427/38 338/345/47 +f 226/494/52 337/495/53 336/496/54 +f 333/497/55 328/422/56 327/421/57 +f 227/498/58 326/492/51 337/495/53 +f 321/499/59 313/500/50 314/501/60 +f 335/502/61 333/497/55 331/503/62 +f 335/502/61 336/504/54 337/495/53 +f 334/505/63 335/502/61 332/506/64 +f 332/506/64 229/507/65 334/505/63 +f 229/507/65 331/503/62 230/508/44 +f 232/484/39 327/421/57 234/509/66 +f 230/508/44 330/510/67 231/511/42 +f 231/511/42 329/512/68 232/484/39 +f 228/513/49 328/422/56 333/497/55 +f 287/514/69 293/418/70 288/515/70 +f 284/398/57 291/516/66 285/517/66 +f 290/518/71 294/519/69 287/520/69 +f 283/228/72 296/322/57 284/398/57 +f 285/521/66 292/321/40 286/522/40 +f 288/523/70 295/416/72 283/228/72 +f 286/524/40 297/320/73 289/525/73 +f 289/525/73 298/417/71 290/518/71 +f 318/526/74 317/527/75 321/499/59 +f 313/500/50 315/528/76 308/529/48 +f 316/530/73 309/531/41 307/532/40 +f 317/527/75 310/533/43 309/531/41 +f 318/526/74 311/534/45 310/533/43 +f 319/535/77 312/536/78 311/534/45 +f 323/537/79 322/538/80 324/539/81 +f 320/540/82 323/537/79 312/536/78 +f 324/539/81 322/538/80 325/541/83 +f 321/499/59 316/530/73 315/528/76 +f 235/542/52 325/543/83 236/544/58 +f 325/543/83 205/545/14 236/544/58 +f 311/339/45 342/341/46 230/340/44 +f 345/546/4 346/547/5 344/548/4 +f 347/549/5 348/550/9 346/547/5 +f 349/551/9 350/552/10 348/553/9 +f 351/554/10 352/555/1 350/552/10 +f 353/556/1 354/557/8 352/555/1 +f 355/558/8 356/559/7 354/557/8 +f 357/560/7 358/561/6 356/559/7 +f 359/562/6 344/548/4 358/561/6 +f 352/555/84 365/563/85 364/564/86 +f 366/565/87 367/566/88 363/567/89 +f 344/548/90 367/568/88 358/561/91 +f 344/548/90 361/569/92 360/570/93 +f 348/553/94 363/571/89 362/572/95 +f 356/559/23 365/573/85 354/557/96 +f 352/555/84 363/574/89 350/552/97 +f 358/561/91 366/575/87 356/559/23 +f 348/550/94 361/576/92 346/547/98 +f 335/502/61 326/577/51 333/497/55 +f 2/21/1 4/22/27 3/56/27 +f 4/22/27 6/24/28 5/14/28 +f 6/24/28 8/26/9 7/12/9 +f 8/17/9 10/15/29 9/37/29 +f 10/15/29 12/9/30 11/40/30 +f 12/9/30 14/11/4 13/42/4 +f 14/11/4 16/36/31 15/46/31 +f 16/36/31 18/32/32 17/48/32 +f 18/32/32 20/33/7 19/50/7 +f 20/33/7 22/30/33 21/52/33 +f 22/30/33 24/19/34 23/54/34 +f 24/19/34 2/21/1 1/57/1 +f 30/16/34 42/442/34 43/434/1 +f 27/29/32 39/444/32 40/435/7 +f 34/31/9 46/445/9 47/436/29 +f 31/10/1 43/434/1 44/437/27 +f 28/352/7 40/578/7 41/438/33 +f 35/27/29 47/436/29 48/439/30 +f 26/20/4 38/443/4 37/440/31 +f 32/34/27 44/437/27 45/441/28 +f 29/18/33 41/438/33 42/442/34 +f 36/28/30 48/439/30 38/443/4 +f 25/23/31 37/440/31 39/444/32 +f 33/35/28 45/441/28 46/445/9 +f 108/446/7 115/454/7 116/447/33 +f 106/449/31 113/455/31 114/450/32 +f 109/448/33 116/447/33 117/452/34 +f 107/451/32 114/450/32 115/454/7 +f 113/455/31 106/449/31 78/367/35 +f 89/456/36 110/453/34 117/452/34 +f 120/116/4 112/119/35 78/367/35 +f 149/458/7 151/461/37 150/459/37 +f 151/461/37 153/463/3 152/462/3 +f 153/463/3 155/465/38 154/464/38 +f 155/465/38 157/579/9 156/466/9 +f 157/467/9 159/470/15 158/468/15 +f 159/470/15 161/472/2 160/471/2 +f 161/472/2 163/474/24 162/473/24 +f 163/474/24 149/458/7 148/460/7 +f 173/183/7 175/186/37 174/181/37 +f 175/186/37 177/189/3 176/193/3 +f 177/189/3 179/188/38 178/194/38 +f 179/188/38 181/191/9 180/197/9 +f 181/191/9 183/196/15 182/202/15 +f 183/200/15 185/199/2 184/177/2 +f 185/199/2 187/184/24 186/178/24 +f 187/184/24 173/183/7 172/180/7 +f 190/475/38 191/182/38 189/394/3 +f 192/477/9 193/391/9 191/182/38 +f 194/478/15 195/185/15 193/391/9 +f 196/479/2 197/187/2 195/185/15 +f 198/480/24 199/190/24 197/187/2 +f 200/481/7 201/392/7 199/190/24 +f 202/482/37 203/195/37 201/392/7 +f 188/476/3 189/394/3 203/198/37 +f 232/484/39 234/509/66 307/485/40 +f 231/487/42 232/484/39 309/486/41 +f 230/340/44 231/487/42 310/488/43 +f 343/338/46 339/344/47 338/345/47 +f 308/489/48 233/580/99 228/490/49 +f 204/493/14 205/545/14 228/490/49 +f 205/545/14 314/581/60 313/491/50 +f 228/490/49 205/545/14 313/491/50 +f 339/344/47 341/426/38 340/427/38 +f 226/494/52 227/498/58 337/495/53 +f 227/498/58 204/493/14 326/492/51 +f 325/541/83 322/538/80 314/501/60 +f 322/538/80 321/499/59 314/501/60 +f 333/497/55 327/421/57 329/512/68 +f 329/512/68 330/510/67 333/497/55 +f 330/510/67 331/503/62 333/497/55 +f 331/503/62 332/506/64 335/502/61 +f 334/505/63 336/504/54 335/502/61 +f 229/507/65 332/506/64 331/503/62 +f 232/484/39 329/512/68 327/421/57 +f 230/508/44 331/503/62 330/510/67 +f 231/511/42 330/510/67 329/512/68 +f 228/513/49 233/582/99 328/422/56 +f 287/514/69 294/419/69 293/418/70 +f 284/398/57 296/322/57 291/516/66 +f 290/518/71 298/417/71 294/519/69 +f 283/228/72 295/416/72 296/322/57 +f 285/521/66 291/415/66 292/321/40 +f 288/523/70 293/583/70 295/416/72 +f 286/524/40 292/584/40 297/320/73 +f 289/525/73 297/320/73 298/417/71 +f 317/527/75 316/530/73 321/499/59 +f 321/499/59 322/538/80 319/535/77 +f 322/538/80 320/540/82 319/535/77 +f 319/535/77 318/526/74 321/499/59 +f 313/500/50 321/499/59 315/528/76 +f 316/530/73 317/527/75 309/531/41 +f 317/527/75 318/526/74 310/533/43 +f 318/526/74 319/535/77 311/534/45 +f 319/535/77 320/540/82 312/536/78 +f 323/537/79 320/540/82 322/538/80 +f 235/542/52 324/585/81 325/543/83 +f 325/543/83 314/581/60 205/545/14 +f 311/339/45 343/338/46 342/341/46 +f 345/546/4 347/549/5 346/547/5 +f 347/549/5 349/586/9 348/550/9 +f 349/551/9 351/554/10 350/552/10 +f 351/554/10 353/556/1 352/555/1 +f 353/556/1 355/558/8 354/557/8 +f 355/558/8 357/560/7 356/559/7 +f 357/560/7 359/562/6 358/561/6 +f 359/562/6 345/546/4 344/548/4 +f 352/555/84 354/557/96 365/563/85 +f 367/566/88 360/587/93 361/588/92 +f 361/588/92 362/589/95 367/566/88 +f 362/589/95 363/567/89 367/566/88 +f 363/567/89 364/590/86 365/591/85 +f 365/591/85 366/565/87 363/567/89 +f 344/548/90 360/592/93 367/568/88 +f 344/548/90 346/547/98 361/569/92 +f 348/553/94 350/552/97 363/571/89 +f 356/559/23 366/593/87 365/573/85 +f 352/555/84 364/594/86 363/574/89 +f 358/561/91 367/595/88 366/575/87 +f 348/550/94 362/596/95 361/576/92 +f 337/495/53 326/577/51 335/502/61 +f 326/577/51 228/513/49 333/497/55 diff --git a/src/main/resources/assets/hbm/models/weapons/panzerschreck.obj b/src/main/resources/assets/hbm/models/weapons/panzerschreck.obj new file mode 100644 index 000000000..1686f3b41 --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/panzerschreck.obj @@ -0,0 +1,3896 @@ +# Blender v2.79 (sub 0) OBJ File: 'panzerschreck.blend' +# www.blender.org +o Cylinder +v 0.000000 0.500000 -6.375000 +v 0.000000 0.500000 6.375000 +v 0.191342 0.461940 -6.375000 +v 0.191342 0.461939 6.375000 +v 0.353553 0.353554 -6.375000 +v 0.353553 0.353553 6.375000 +v 0.461940 0.191342 -6.375000 +v 0.461940 0.191341 6.375000 +v 0.500000 0.000000 -6.375000 +v 0.500000 -0.000000 6.375000 +v 0.461940 -0.191341 -6.375000 +v 0.461940 -0.191342 6.375000 +v 0.353553 -0.353553 -6.375000 +v 0.353553 -0.353554 6.375000 +v 0.191342 -0.461939 -6.375000 +v 0.191342 -0.461940 6.375000 +v 0.000000 -0.500000 -6.375000 +v 0.000000 -0.500000 6.375000 +v -0.191341 -0.461939 -6.375000 +v -0.191341 -0.461940 6.375000 +v -0.353553 -0.353553 -6.375000 +v -0.353553 -0.353554 6.375000 +v -0.461940 -0.191341 -6.375000 +v -0.461940 -0.191342 6.375000 +v -0.500000 0.000000 -6.375000 +v -0.500000 -0.000000 6.375000 +v -0.461940 0.191342 -6.375000 +v -0.461940 0.191341 6.375000 +v -0.353553 0.353554 -6.375000 +v -0.353553 0.353553 6.375000 +v -0.191341 0.461940 -6.375000 +v -0.191341 0.461940 6.375000 +v 0.000000 0.437500 6.375000 +v -0.167424 0.404197 6.375000 +v -0.309359 0.309359 6.375000 +v -0.404197 0.167424 6.375000 +v -0.437500 -0.000000 6.375000 +v -0.404197 -0.167424 6.375000 +v -0.309359 -0.309359 6.375000 +v -0.167424 -0.404198 6.375000 +v 0.000000 -0.437500 6.375000 +v 0.167424 -0.404198 6.375000 +v 0.309359 -0.309360 6.375000 +v 0.404197 -0.167424 6.375000 +v 0.437500 -0.000000 6.375000 +v 0.404197 0.167424 6.375000 +v 0.309359 0.309359 6.375000 +v 0.167424 0.404197 6.375000 +v 0.000000 0.437500 -6.375000 +v -0.167424 0.404197 -6.375000 +v -0.309359 0.309359 -6.375000 +v -0.404197 0.167424 -6.375000 +v -0.437500 -0.000000 -6.375000 +v -0.404197 -0.167424 -6.375000 +v -0.309359 -0.309359 -6.375000 +v -0.167424 -0.404198 -6.375000 +v 0.000000 -0.437500 -6.375000 +v 0.167424 -0.404198 -6.375000 +v 0.309359 -0.309360 -6.375000 +v 0.404197 -0.167424 -6.375000 +v 0.437500 -0.000000 -6.375000 +v 0.404197 0.167424 -6.375000 +v 0.309359 0.309359 -6.375000 +v 0.167424 0.404197 -6.375000 +v 0.000000 0.750000 -6.875000 +v -0.287013 0.692910 -6.875000 +v -0.530330 0.530330 -6.875000 +v -0.692910 0.287013 -6.875000 +v -0.750000 0.000000 -6.875000 +v -0.692910 -0.287013 -6.875000 +v -0.530330 -0.530330 -6.875000 +v -0.287013 -0.692910 -6.875000 +v 0.000000 -0.750000 -6.875000 +v 0.287013 -0.692910 -6.875000 +v 0.530330 -0.530330 -6.875000 +v 0.692910 -0.287013 -6.875000 +v 0.750000 0.000000 -6.875000 +v 0.692910 0.287013 -6.875000 +v 0.530330 0.530330 -6.875000 +v 0.287012 0.692910 -6.875000 +v 0.000000 0.750000 -7.000000 +v -0.287013 0.692910 -7.000000 +v -0.530330 0.530330 -7.000000 +v -0.692910 0.287013 -7.000000 +v -0.750000 0.000000 -7.000000 +v -0.692910 -0.287013 -7.000000 +v -0.530330 -0.530330 -7.000000 +v -0.287013 -0.692910 -7.000000 +v 0.000000 -0.750000 -7.000000 +v 0.287013 -0.692910 -7.000000 +v 0.530330 -0.530330 -7.000000 +v 0.692910 -0.287013 -7.000000 +v 0.750000 0.000000 -7.000000 +v 0.692910 0.287013 -7.000000 +v 0.530330 0.530330 -7.000000 +v 0.287012 0.692910 -7.000000 +v 0.000000 0.625000 -6.875000 +v -0.239177 0.577425 -6.875000 +v -0.441942 0.441942 -6.875000 +v -0.577425 0.239177 -6.875000 +v -0.625000 0.000000 -6.875000 +v -0.577425 -0.239177 -6.875000 +v -0.441942 -0.441942 -6.875000 +v -0.239177 -0.577425 -6.875000 +v 0.000000 -0.625000 -6.875000 +v 0.239177 -0.577425 -6.875000 +v 0.441942 -0.441942 -6.875000 +v 0.577425 -0.239177 -6.875000 +v 0.625000 0.000000 -6.875000 +v 0.577425 0.239177 -6.875000 +v 0.441942 0.441942 -6.875000 +v 0.239177 0.577425 -6.875000 +v 0.000000 0.625000 -7.000000 +v -0.239177 0.577425 -7.000000 +v -0.441942 0.441942 -7.000000 +v -0.577425 0.239177 -7.000000 +v -0.625000 0.000000 -7.000000 +v -0.577425 -0.239177 -7.000000 +v -0.441942 -0.441942 -7.000000 +v -0.239177 -0.577425 -7.000000 +v 0.000000 -0.625000 -7.000000 +v 0.239177 -0.577425 -7.000000 +v 0.441942 -0.441942 -7.000000 +v 0.577425 -0.239177 -7.000000 +v 0.625000 0.000000 -7.000000 +v 0.577425 0.239177 -7.000000 +v 0.441942 0.441942 -7.000000 +v 0.239177 0.577425 -7.000000 +v 0.484375 0.062500 -6.375000 +v 0.484375 -0.062500 -6.375000 +v 0.671875 0.062500 -6.875000 +v 0.671875 -0.062500 -6.875000 +v -0.124479 0.624959 -5.629740 +v 0.125521 0.624959 -5.629740 +v -0.124479 0.624959 -6.629740 +v 0.125521 0.624959 -6.629740 +v -0.124479 0.437459 -6.629740 +v 0.125521 0.437459 -6.629740 +v -0.124479 0.437459 -6.379740 +v 0.125521 0.437459 -6.379740 +v -0.124479 0.562459 -5.629740 +v 0.125521 0.562459 -5.629740 +v 0.687500 0.187500 -5.687500 +v 0.687500 -0.187500 -5.687500 +v 0.687500 0.187500 -6.312500 +v 0.687500 -0.187500 -6.312500 +v 0.437500 0.187500 -6.312500 +v 0.437500 0.187500 -5.687500 +v 0.437500 -0.187500 -5.687500 +v 0.437500 -0.187500 -6.312500 +v -0.093750 -0.437500 1.125000 +v 0.093750 -0.437500 1.125000 +v -0.093750 -0.437500 0.750000 +v 0.093750 -0.437500 0.750000 +v -0.093750 -1.687500 1.125000 +v 0.093750 -1.687500 1.125000 +v -0.093750 -1.562500 0.750000 +v 0.093750 -1.562500 0.750000 +v -0.093750 -1.687500 -1.125000 +v 0.093750 -1.687500 -1.125000 +v -0.093750 -1.562500 -1.125000 +v 0.093750 -1.562500 -1.125000 +v -0.093750 -0.812500 -1.875000 +v 0.093750 -0.812500 -1.875000 +v -0.093750 -0.812500 -0.375000 +v 0.093750 -0.812500 -0.375000 +v -0.093750 -0.437500 -1.875000 +v 0.093750 -0.437500 -1.875000 +v -0.093750 -0.437500 -0.375000 +v 0.093750 -0.437500 -0.375000 +v -0.093750 -0.812500 -2.062500 +v 0.093750 -0.812500 -2.062500 +v -0.093750 -0.812500 -1.687500 +v 0.093750 -0.812500 -1.687500 +v -0.093750 -1.562500 -2.187500 +v 0.093750 -1.562500 -2.187500 +v -0.093750 -1.562500 -1.812500 +v 0.093750 -1.562500 -1.812500 +v -0.062500 -0.812500 -1.562500 +v 0.062500 -0.812500 -1.562500 +v -0.062500 -1.187500 -1.562500 +v 0.062500 -1.187500 -1.562500 +v -0.062500 -0.812500 -1.750000 +v 0.062500 -0.812500 -1.750000 +v -0.062500 -1.187500 -1.750000 +v 0.062500 -1.187500 -1.750000 +v -0.093750 -0.937500 -0.625000 +v 0.093750 -0.937500 -0.625000 +v -0.093750 -0.937500 -0.875000 +v 0.093750 -0.937500 -0.875000 +v 0.093750 -0.812500 -1.000000 +v -0.093750 -0.812500 -1.000000 +v -0.062500 -0.742418 -0.705806 +v 0.062500 -0.742418 -0.705806 +v -0.062500 -0.919195 -0.882583 +v 0.062500 -0.919195 -0.882583 +v -0.062500 -1.449525 -0.529029 +v -0.062500 -1.095971 -0.175476 +v 0.062500 -1.095971 -0.175476 +v 0.062500 -1.449525 -0.529029 +v 0.062500 -0.812500 -1.000000 +v -0.062500 -0.812500 -1.000000 +v 0.062500 -1.562500 -1.125000 +v -0.062500 -1.562500 -1.125000 +v 0.062500 -1.562500 -1.812500 +v -0.062500 -1.562500 -1.812500 +v -0.125000 -0.812500 -3.375000 +v 0.125000 -0.812500 -3.375000 +v -0.125000 -0.437500 -3.375000 +v 0.125000 -0.437500 -3.375000 +v -0.125000 -2.062500 -3.875000 +v 0.125000 -2.062500 -3.875000 +v -0.125000 -2.062500 -4.125000 +v 0.125000 -2.062500 -4.125000 +v -0.125000 -1.062500 -4.125000 +v 0.125000 -1.062500 -4.125000 +v -0.125000 -0.687500 -4.500000 +v 0.125000 -0.687500 -4.500000 +v -0.125000 -0.437500 -4.500000 +v 0.125000 -0.437500 -4.500000 +v 0.062500 -1.500000 -1.187500 +v -0.062500 -1.500000 -1.187500 +v 0.062500 -1.500000 -1.812500 +v -0.062500 -1.500000 -1.812500 +v 0.062500 -0.812500 -1.062500 +v -0.062500 -0.812500 -1.062500 +v -0.125000 -2.000000 -3.937500 +v 0.125000 -2.000000 -3.937500 +v -0.125000 -2.000000 -4.062500 +v 0.125000 -2.000000 -4.062500 +v -0.125000 -1.062500 -4.062500 +v 0.125000 -1.062500 -4.062500 +v -0.125000 -0.687500 -4.437500 +v 0.125000 -0.687500 -4.437500 +v -0.125000 -0.437500 -4.437500 +v 0.125000 -0.437500 -4.437500 +v -0.125000 -0.812500 -3.437500 +v 0.125000 -0.812500 -3.437500 +v -0.125000 -0.437500 -3.437500 +v 0.125000 -0.437500 -3.437500 +v 0.000000 -0.531250 -3.375000 +v -0.066291 -0.558709 -3.375000 +v -0.093750 -0.625000 -3.375000 +v -0.066291 -0.691292 -3.375000 +v 0.000000 -0.718750 -3.375000 +v 0.066291 -0.691292 -3.375000 +v 0.093750 -0.625000 -3.375000 +v 0.066291 -0.558709 -3.375000 +v 0.000000 -0.531250 -2.875000 +v -0.066291 -0.558709 -2.875000 +v -0.093750 -0.625000 -2.875000 +v -0.066291 -0.691292 -2.875000 +v 0.000000 -0.718750 -2.875000 +v 0.066291 -0.691292 -2.875000 +v 0.093750 -0.625000 -2.875000 +v 0.066291 -0.558709 -2.875000 +v 0.000000 -0.562500 -1.875000 +v -0.044194 -0.580806 -1.875000 +v -0.062500 -0.625000 -1.875000 +v -0.044194 -0.669195 -1.875000 +v 0.000000 -0.687500 -1.875000 +v 0.044194 -0.669195 -1.875000 +v 0.062500 -0.625000 -1.875000 +v 0.044194 -0.580806 -1.875000 +v 0.000000 -0.562500 -2.250000 +v -0.044194 -0.580806 -2.250000 +v -0.062500 -0.625000 -2.250000 +v -0.044194 -0.669195 -2.250000 +v 0.000000 -0.687500 -2.250000 +v 0.044194 -0.669195 -2.250000 +v 0.062500 -0.625000 -2.250000 +v 0.044194 -0.580806 -2.250000 +v 0.000000 -0.578125 -2.250000 +v -0.033145 -0.591855 -2.250000 +v -0.046875 -0.625000 -2.250000 +v -0.033145 -0.658146 -2.250000 +v 0.000000 -0.671875 -2.250000 +v 0.033146 -0.658146 -2.250000 +v 0.046875 -0.625000 -2.250000 +v 0.033146 -0.591855 -2.250000 +v 0.000000 -0.578125 -2.875000 +v -0.033145 -0.591855 -2.875000 +v -0.046875 -0.625000 -2.875000 +v -0.033145 -0.658146 -2.875000 +v 0.000000 -0.671875 -2.875000 +v 0.033146 -0.658146 -2.875000 +v 0.046875 -0.625000 -2.875000 +v 0.033146 -0.591855 -2.875000 +v 0.000000 -0.578125 -3.437500 +v -0.033145 -0.591855 -3.437500 +v -0.046875 -0.625000 -3.437500 +v -0.033145 -0.658146 -3.437500 +v 0.000000 -0.671875 -3.437500 +v 0.033146 -0.658146 -3.437500 +v 0.046875 -0.625000 -3.437500 +v 0.033146 -0.591855 -3.437500 +v 0.000000 -0.578125 -3.937500 +v -0.033145 -0.591855 -3.937500 +v -0.046875 -0.625000 -3.937500 +v -0.033145 -0.658146 -3.937500 +v 0.000000 -0.671875 -3.937500 +v 0.033146 -0.658146 -3.937500 +v 0.046875 -0.625000 -3.937500 +v 0.033146 -0.591855 -3.937500 +v 0.000000 -0.484375 -4.312500 +v 0.033146 -0.484375 -4.152459 +v -0.046875 -0.484375 -4.218750 +v 0.000000 -0.484375 -4.125000 +v 0.046875 -0.484375 -4.218750 +v -0.033145 -0.484375 -4.285041 +v -0.033145 -0.484375 -4.152459 +v 0.033146 -0.484375 -4.285041 +v 0.000000 -0.562500 -0.375000 +v -0.044194 -0.580806 -0.375000 +v -0.062500 -0.625000 -0.375000 +v -0.044194 -0.669195 -0.375000 +v 0.000000 -0.687500 -0.375000 +v 0.044194 -0.669195 -0.375000 +v 0.062500 -0.625000 -0.375000 +v 0.044194 -0.580806 -0.375000 +v 0.000000 -0.562500 -0.125000 +v -0.044194 -0.580806 -0.125000 +v -0.062500 -0.625000 -0.125000 +v -0.044194 -0.669195 -0.125000 +v 0.000000 -0.687500 -0.125000 +v 0.044194 -0.669195 -0.125000 +v 0.062500 -0.625000 -0.125000 +v 0.044194 -0.580806 -0.125000 +v 0.000000 0.500000 5.875000 +v 0.191342 0.461939 5.875000 +v 0.353553 0.353553 5.875000 +v 0.461940 0.191341 5.875000 +v 0.500000 -0.000000 5.875000 +v 0.461940 -0.191342 5.875000 +v 0.353553 -0.353554 5.875000 +v 0.191342 -0.461940 5.875000 +v 0.000000 -0.500000 5.875000 +v -0.191341 -0.461940 5.875000 +v -0.353553 -0.353554 5.875000 +v -0.461940 -0.191342 5.875000 +v -0.500000 -0.000000 5.875000 +v -0.461940 0.191341 5.875000 +v -0.353553 0.353553 5.875000 +v -0.191341 0.461940 5.875000 +v 0.000000 0.562500 5.875000 +v -0.215260 0.519682 5.875000 +v -0.397748 0.397747 5.875000 +v -0.519682 0.215259 5.875000 +v -0.562500 -0.000000 5.875000 +v -0.519682 -0.215260 5.875000 +v -0.397748 -0.397748 5.875000 +v -0.215260 -0.519683 5.875000 +v 0.000000 -0.562500 5.875000 +v 0.215260 -0.519683 5.875000 +v 0.397748 -0.397748 5.875000 +v 0.519682 -0.215260 5.875000 +v 0.562500 -0.000000 5.875000 +v 0.519682 0.215259 5.875000 +v 0.397748 0.397747 5.875000 +v 0.215259 0.519682 5.875000 +v 0.000000 0.500000 5.625000 +v 0.191342 0.461939 5.625000 +v 0.353553 0.353553 5.625000 +v 0.461940 0.191341 5.625000 +v 0.500000 -0.000000 5.625000 +v 0.461940 -0.191342 5.625000 +v 0.353553 -0.353554 5.625000 +v 0.191342 -0.461940 5.625000 +v 0.000000 -0.500000 5.625000 +v -0.191341 -0.461940 5.625000 +v -0.353553 -0.353554 5.625000 +v -0.461940 -0.191342 5.625000 +v -0.500000 -0.000000 5.625000 +v -0.461940 0.191341 5.625000 +v -0.353553 0.353553 5.625000 +v -0.191341 0.461940 5.625000 +v 0.000000 0.562500 5.625000 +v -0.215260 0.519682 5.625000 +v -0.397748 0.397747 5.625000 +v -0.519682 0.215259 5.625000 +v -0.562500 -0.000000 5.625000 +v -0.519682 -0.215260 5.625000 +v -0.397748 -0.397748 5.625000 +v -0.215260 -0.519683 5.625000 +v 0.000000 -0.562500 5.625000 +v 0.215260 -0.519683 5.625000 +v 0.397748 -0.397748 5.625000 +v 0.519682 -0.215260 5.625000 +v 0.562500 -0.000000 5.625000 +v 0.519682 0.215259 5.625000 +v 0.397748 0.397747 5.625000 +v 0.215259 0.519682 5.625000 +v -0.500000 -1.125000 5.812500 +v 0.500000 -1.125000 5.812500 +v -0.500000 -1.125000 5.687500 +v 0.500000 -1.125000 5.687500 +v -0.375000 -1.000000 5.687500 +v -0.375000 -1.000000 5.812500 +v 0.375000 -1.000000 5.812500 +v 0.375000 -1.000000 5.687500 +v -0.375000 -0.375000 5.687500 +v -0.375000 -0.375000 5.812500 +v 0.375000 -0.375000 5.812500 +v 0.375000 -0.375000 5.687500 +v -0.500000 -0.125000 5.812500 +v 0.500000 -0.125000 5.812500 +v -0.500000 -0.125000 5.687500 +v 0.500000 -0.125000 5.687500 +v -0.500000 -1.500000 1.687500 +v 2.500000 -1.500000 1.687500 +v -0.500000 1.500000 1.687500 +v 2.500000 1.500000 1.687500 +v 0.500000 -2.000000 1.687500 +v 1.500000 -2.000000 1.687500 +v 1.500000 2.000000 1.687500 +v 0.500000 2.000000 1.687500 +v -0.500000 0.500000 1.687500 +v -0.500000 -0.500000 1.687500 +v 0.500000 0.500000 1.687500 +v 0.500000 -0.500000 1.687500 +v -0.500000 -0.500000 1.812500 +v -0.500000 -1.500000 1.812500 +v 1.500000 -2.000000 1.812500 +v 2.500000 -1.500000 1.812500 +v 2.500000 1.500000 1.812500 +v 0.500000 2.000000 1.812500 +v -0.500000 1.500000 1.812500 +v 0.500000 -2.000000 1.812500 +v 1.500000 2.000000 1.812500 +v -0.500000 0.500000 1.812500 +v 0.500000 0.500000 1.812500 +v 0.500000 -0.500000 1.812500 +v 0.375000 0.625000 1.687500 +v 1.125000 0.625000 1.687500 +v 0.375000 1.375000 1.687500 +v 1.125000 1.375000 1.687500 +v 0.375000 1.375000 1.812500 +v 0.375000 0.625000 1.812500 +v 1.125000 0.625000 1.812500 +v 1.125000 1.375000 1.812500 +v 0.000000 0.500000 1.875000 +v 0.191342 0.461939 1.875000 +v 0.353553 0.353553 1.875000 +v 0.461940 0.191341 1.875000 +v 0.500000 -0.000000 1.875000 +v 0.461940 -0.191342 1.875000 +v 0.353553 -0.353554 1.875000 +v 0.191342 -0.461940 1.875000 +v 0.000000 -0.500000 1.875000 +v -0.191341 -0.461940 1.875000 +v -0.353553 -0.353554 1.875000 +v -0.461940 -0.191342 1.875000 +v -0.500000 -0.000000 1.875000 +v -0.461940 0.191341 1.875000 +v -0.353553 0.353553 1.875000 +v -0.191341 0.461940 1.875000 +v 0.000000 0.562500 1.875000 +v -0.215260 0.519682 1.875000 +v -0.397748 0.397747 1.875000 +v -0.519682 0.215259 1.875000 +v -0.562500 -0.000000 1.875000 +v -0.519682 -0.215260 1.875000 +v -0.397748 -0.397748 1.875000 +v -0.215260 -0.519683 1.875000 +v 0.000000 -0.562500 1.875000 +v 0.215260 -0.519683 1.875000 +v 0.397748 -0.397748 1.875000 +v 0.519682 -0.215260 1.875000 +v 0.562500 -0.000000 1.875000 +v 0.519682 0.215259 1.875000 +v 0.397748 0.397747 1.875000 +v 0.215259 0.519682 1.875000 +v 0.000000 0.500000 1.625000 +v 0.191342 0.461939 1.625000 +v 0.353553 0.353553 1.625000 +v 0.461940 0.191341 1.625000 +v 0.500000 -0.000000 1.625000 +v 0.461940 -0.191342 1.625000 +v 0.353553 -0.353554 1.625000 +v 0.191342 -0.461940 1.625000 +v 0.000000 -0.500000 1.625000 +v -0.191341 -0.461940 1.625000 +v -0.353553 -0.353554 1.625000 +v -0.461940 -0.191342 1.625000 +v -0.500000 -0.000000 1.625000 +v -0.461940 0.191341 1.625000 +v -0.353553 0.353553 1.625000 +v -0.191341 0.461940 1.625000 +v 0.000000 0.562500 1.625000 +v -0.215260 0.519682 1.625000 +v -0.397748 0.397747 1.625000 +v -0.519682 0.215259 1.625000 +v -0.562500 -0.000000 1.625000 +v -0.519682 -0.215260 1.625000 +v -0.397748 -0.397748 1.625000 +v -0.215260 -0.519683 1.625000 +v 0.000000 -0.562500 1.625000 +v 0.215260 -0.519683 1.625000 +v 0.397748 -0.397748 1.625000 +v 0.519682 -0.215260 1.625000 +v 0.562500 -0.000000 1.625000 +v 0.519682 0.215259 1.625000 +v 0.397748 0.397747 1.625000 +v 0.215259 0.519682 1.625000 +v 0.562500 0.875000 6.312500 +v 0.937500 0.875000 6.312500 +v 0.562500 1.000000 6.312500 +v 0.937500 1.000000 6.312500 +v 0.562500 1.000000 6.187500 +v 0.562500 0.875000 6.187500 +v 0.937500 0.875000 6.187500 +v 0.937500 1.000000 6.187500 +v 0.000000 0.500000 6.312500 +v 0.000000 0.500000 6.187500 +v 0.625000 -0.000000 6.312500 +v 0.625000 -0.000000 6.187500 +v 0.500000 -0.000000 6.312500 +v 0.500000 -0.000000 6.187500 +v 0.191342 0.461939 6.312500 +v 0.353553 0.353553 6.312500 +v 0.461940 0.191341 6.312500 +v 0.191342 0.461939 6.187500 +v 0.353553 0.353553 6.187500 +v 0.461940 0.191341 6.187500 +v 0.000000 0.625000 6.312500 +v 0.000000 0.625000 6.187500 +v 0.500000 1.125000 6.312500 +v 1.000000 0.375000 6.312500 +v 1.000000 1.125000 6.312500 +v 0.500000 1.125000 6.187500 +v 1.000000 0.375000 6.187500 +v 1.000000 1.125000 6.187500 +v 0.687500 0.875000 6.250000 +v 0.812500 0.875000 6.250000 +v 0.687500 0.875000 6.187500 +v 0.812500 0.875000 6.187500 +v 0.687500 0.937500 6.187500 +v 0.687500 0.937500 6.250000 +v 0.812500 0.937500 6.250000 +v 0.812500 0.937500 6.187500 +v 0.375000 1.000000 1.187500 +v 0.000000 0.625000 1.312500 +v 1.000000 1.000000 1.187500 +v 0.687500 1.000000 1.187500 +v 0.812500 1.000000 1.187500 +v 0.687500 0.875000 1.187500 +v 0.812500 0.875000 1.187500 +v 0.375000 1.000000 1.312500 +v 0.000000 0.625000 1.187500 +v 1.000000 1.000000 1.312500 +v 0.812500 1.000000 1.312500 +v 0.687500 1.000000 1.312500 +v 0.687500 0.875000 1.312500 +v 0.812500 0.875000 1.312500 +v 0.375000 0.687500 1.187500 +v 0.375000 0.687500 1.312500 +v 0.000000 0.500000 1.312500 +v 0.191342 0.461939 1.312500 +v 0.353553 0.353553 1.312500 +v 0.461940 0.191341 1.312500 +v 0.500000 -0.000000 1.312500 +v 0.000000 0.500000 1.187500 +v 0.191342 0.461939 1.187500 +v 0.353553 0.353553 1.187500 +v 0.461940 0.191341 1.187500 +v 0.500000 -0.000000 1.187500 +v 0.239177 0.577424 1.312500 +v 0.441942 0.441942 1.312500 +v 0.577425 0.239177 1.312500 +v 0.239177 0.577424 1.187500 +v 0.441942 0.441942 1.187500 +v 0.577425 0.239177 1.187500 +v 1.000000 -0.000000 1.312500 +v 1.000000 -0.000000 1.187500 +v 0.875000 0.125000 1.312500 +v 0.875000 0.125000 1.187500 +v 0.625000 0.125000 1.312500 +v 0.625000 0.125000 1.187500 +v 0.875000 0.687500 1.312500 +v 0.875000 0.687500 1.187500 +v 0.640625 0.062500 -6.875000 +v 0.453125 0.062500 -6.375000 +v 0.453125 -0.062500 -6.375000 +v 0.640625 -0.062500 -6.875000 +v -0.484375 -0.062500 -6.375000 +v -0.484375 0.062500 -6.375000 +v -0.671875 -0.062500 -6.875000 +v -0.671875 0.062500 -6.875000 +v -0.640625 -0.062500 -6.875000 +v -0.453125 -0.062500 -6.375000 +v -0.453125 0.062500 -6.375000 +v -0.640625 0.062500 -6.875000 +v 0.296314 -0.388231 -6.375000 +v 0.188061 -0.450731 -6.375000 +v 0.390064 -0.550611 -6.875000 +v 0.281811 -0.613111 -6.875000 +v 0.374439 -0.523548 -6.875000 +v 0.280689 -0.361168 -6.375000 +v 0.172436 -0.423668 -6.375000 +v 0.266186 -0.586048 -6.875000 +v -0.296314 0.388231 -6.375000 +v -0.188061 0.450731 -6.375000 +v -0.390064 0.550611 -6.875000 +v -0.281811 0.613111 -6.875000 +v -0.374439 0.523548 -6.875000 +v -0.280689 0.361168 -6.375000 +v -0.172436 0.423668 -6.375000 +v -0.266186 0.586048 -6.875000 +v -0.188061 -0.450731 -6.375000 +v -0.296314 -0.388231 -6.375000 +v -0.281811 -0.613111 -6.875000 +v -0.390064 -0.550611 -6.875000 +v -0.266186 -0.586047 -6.875000 +v -0.172436 -0.423668 -6.375000 +v -0.280689 -0.361168 -6.375000 +v -0.374439 -0.523547 -6.875000 +v 0.188061 0.450731 -6.375000 +v 0.296314 0.388231 -6.375000 +v 0.281811 0.613111 -6.875000 +v 0.390064 0.550611 -6.875000 +v 0.266186 0.586047 -6.875000 +v 0.172436 0.423668 -6.375000 +v 0.280689 0.361168 -6.375000 +v 0.374439 0.523547 -6.875000 +v 0.000000 2.437500 -6.375000 +v -0.167424 2.404197 -6.375000 +v -0.309359 2.309359 -6.375000 +v -0.404197 2.167424 -6.375000 +v -0.437500 2.000000 -6.375000 +v -0.404197 1.832576 -6.375000 +v -0.309359 1.690641 -6.375000 +v -0.167424 1.595803 -6.375000 +v 0.000000 1.562500 -6.375000 +v 0.167424 1.595803 -6.375000 +v 0.309359 1.690640 -6.375000 +v 0.404197 1.832576 -6.375000 +v 0.437500 2.000000 -6.375000 +v 0.404197 2.167424 -6.375000 +v 0.309359 2.309359 -6.375000 +v 0.167424 2.404197 -6.375000 +v 0.000000 2.437500 -5.750000 +v -0.167424 2.404197 -5.750000 +v -0.309359 2.309359 -5.750000 +v -0.404197 2.167424 -5.750000 +v -0.437500 2.000000 -5.750000 +v -0.404197 1.832576 -5.750000 +v -0.309359 1.690641 -5.750000 +v -0.167424 1.595803 -5.750000 +v 0.000000 1.562500 -5.750000 +v 0.167424 1.595803 -5.750000 +v 0.309359 1.690640 -5.750000 +v 0.404197 1.832576 -5.750000 +v 0.437500 2.000000 -5.750000 +v 0.404197 2.167424 -5.750000 +v 0.309359 2.309359 -5.750000 +v 0.167424 2.404197 -5.750000 +v 0.000000 2.375000 -6.375000 +v -0.143507 2.346455 -6.375000 +v -0.265165 2.265165 -6.375000 +v -0.346455 2.143506 -6.375000 +v -0.375000 2.000000 -6.375000 +v -0.346455 1.856493 -6.375000 +v -0.265165 1.734835 -6.375000 +v -0.143507 1.653545 -6.375000 +v 0.000000 1.625000 -6.375000 +v 0.143506 1.653545 -6.375000 +v 0.265165 1.734835 -6.375000 +v 0.346455 1.856493 -6.375000 +v 0.375000 2.000000 -6.375000 +v 0.346455 2.143507 -6.375000 +v 0.265165 2.265165 -6.375000 +v 0.143506 2.346455 -6.375000 +v 0.000000 2.375000 -5.750000 +v -0.143507 2.346455 -5.750000 +v -0.265165 2.265165 -5.750000 +v -0.346455 2.143506 -5.750000 +v -0.375000 2.000000 -5.750000 +v -0.346455 1.856493 -5.750000 +v -0.265165 1.734835 -5.750000 +v -0.143507 1.653545 -5.750000 +v 0.000000 1.625000 -5.750000 +v 0.143506 1.653545 -5.750000 +v 0.265165 1.734835 -5.750000 +v 0.346455 1.856493 -5.750000 +v 0.375000 2.000000 -5.750000 +v 0.346455 2.143507 -5.750000 +v 0.265165 2.265165 -5.750000 +v 0.143506 2.346455 -5.750000 +v 0.000000 2.250000 -6.375000 +v -0.095671 2.230970 -6.375000 +v -0.176777 2.176777 -6.375000 +v -0.230970 2.095671 -6.375000 +v -0.250000 2.000000 -6.375000 +v -0.230970 1.904329 -6.375000 +v -0.176777 1.823223 -6.375000 +v -0.095671 1.769030 -6.375000 +v 0.000000 1.750000 -6.375000 +v 0.095671 1.769030 -6.375000 +v 0.176776 1.823223 -6.375000 +v 0.230970 1.904329 -6.375000 +v 0.250000 2.000000 -6.375000 +v 0.230970 2.095671 -6.375000 +v 0.176776 2.176777 -6.375000 +v 0.095671 2.230970 -6.375000 +v -0.095671 2.230972 -3.375000 +v 0.000000 2.250002 -3.375000 +v -0.176777 2.176779 -3.375000 +v -0.230970 2.095673 -3.375000 +v -0.250000 2.000002 -3.375000 +v -0.230970 1.904331 -3.375000 +v -0.176777 1.823225 -3.375000 +v -0.095671 1.769032 -3.375000 +v 0.000000 1.750002 -3.375000 +v 0.095671 1.769032 -3.375000 +v 0.176776 1.823225 -3.375000 +v 0.230970 1.904331 -3.375000 +v 0.250000 2.000002 -3.375000 +v 0.230970 2.095673 -3.375000 +v 0.176776 2.176779 -3.375000 +v 0.095671 2.230972 -3.375000 +v -0.031250 2.406250 -5.750000 +v 0.031250 2.406250 -5.750000 +v -0.031250 2.406250 -6.250000 +v 0.031250 2.406250 -6.250000 +v -0.031250 2.218750 -5.250000 +v 0.031250 2.218750 -5.250000 +v -0.031250 2.218750 -6.250000 +v 0.031250 2.218750 -6.250000 +v 0.000000 2.437500 -2.250000 +v -0.167424 2.404197 -2.250000 +v -0.309359 2.309359 -2.250000 +v -0.404197 2.167424 -2.250000 +v -0.437500 2.000000 -2.250000 +v -0.404197 1.832576 -2.250000 +v -0.309359 1.690641 -2.250000 +v -0.167424 1.595803 -2.250000 +v 0.000000 1.562500 -2.250000 +v 0.167424 1.595803 -2.250000 +v 0.309359 1.690640 -2.250000 +v 0.404197 1.832576 -2.250000 +v 0.437500 2.000000 -2.250000 +v 0.404197 2.167424 -2.250000 +v 0.309359 2.309359 -2.250000 +v 0.167424 2.404197 -2.250000 +v 0.000000 2.437500 -1.624000 +v -0.167424 2.404197 -1.624000 +v -0.309359 2.309359 -1.624000 +v -0.404197 2.167424 -1.624000 +v -0.437500 2.000000 -1.624000 +v -0.404197 1.832576 -1.624000 +v -0.309359 1.690641 -1.624000 +v -0.167424 1.595803 -1.624000 +v 0.000000 1.562500 -1.624000 +v 0.167424 1.595803 -1.624000 +v 0.309359 1.690640 -1.624000 +v 0.404197 1.832576 -1.624000 +v 0.437500 2.000000 -1.624000 +v 0.404197 2.167424 -1.624000 +v 0.309359 2.309359 -1.624000 +v 0.167424 2.404197 -1.624000 +v 0.000000 2.375000 -1.624000 +v -0.143507 2.346455 -1.624000 +v -0.265165 2.265165 -1.624000 +v -0.346455 2.143506 -1.624000 +v -0.375000 2.000000 -1.624000 +v -0.346455 1.856494 -1.624000 +v -0.265165 1.734835 -1.624000 +v -0.143507 1.653545 -1.624000 +v 0.000000 1.625000 -1.624000 +v 0.143506 1.653545 -1.624000 +v 0.265165 1.734835 -1.624000 +v 0.346455 1.856494 -1.624000 +v 0.375000 2.000000 -1.624000 +v 0.346455 2.143506 -1.624000 +v 0.265165 2.265165 -1.624000 +v 0.143506 2.346455 -1.624000 +v 0.000000 2.187500 -1.124000 +v -0.071754 2.173228 -1.124000 +v -0.132583 2.132583 -1.124000 +v -0.173227 2.071753 -1.124000 +v -0.187500 2.000000 -1.124000 +v -0.173227 1.928247 -1.124000 +v -0.132583 1.867418 -1.124000 +v -0.071754 1.826773 -1.124000 +v 0.000000 1.812500 -1.124000 +v 0.071753 1.826773 -1.124000 +v 0.132582 1.867418 -1.124000 +v 0.173227 1.928247 -1.124000 +v 0.187500 2.000000 -1.124000 +v 0.173227 2.071753 -1.124000 +v 0.132582 2.132583 -1.124000 +v 0.071753 2.173228 -1.124000 +v 0.000000 2.187500 -0.624000 +v -0.071754 2.173228 -0.624000 +v -0.132583 2.132583 -0.624000 +v -0.173227 2.071753 -0.624000 +v -0.187500 2.000000 -0.624000 +v -0.173227 1.928247 -0.624000 +v -0.132583 1.867418 -0.624000 +v -0.071754 1.826773 -0.624000 +v 0.000000 1.812500 -0.624000 +v 0.071753 1.826773 -0.624000 +v 0.132582 1.867418 -0.624000 +v 0.173227 1.928247 -0.624000 +v 0.187500 2.000000 -0.624000 +v 0.173227 2.071753 -0.624000 +v 0.132582 2.132583 -0.624000 +v 0.071753 2.173228 -0.624000 +v 0.000000 2.125000 -0.499000 +v -0.047836 2.115485 -0.499000 +v -0.088388 2.088389 -0.499000 +v -0.115485 2.047836 -0.499000 +v -0.125000 2.000000 -0.499000 +v -0.115485 1.952165 -0.499000 +v -0.088388 1.911612 -0.499000 +v -0.047836 1.884515 -0.499000 +v 0.000000 1.875000 -0.499000 +v 0.047835 1.884515 -0.499000 +v 0.088388 1.911612 -0.499000 +v 0.115485 1.952165 -0.499000 +v 0.125000 2.000000 -0.499000 +v 0.115485 2.047836 -0.499000 +v 0.088388 2.088389 -0.499000 +v 0.047835 2.115485 -0.499000 +v -0.095671 2.230972 -2.875000 +v 0.000000 2.250002 -2.875000 +v -0.176777 2.176779 -2.875000 +v -0.230970 2.095673 -2.875000 +v -0.250000 2.000002 -2.875000 +v -0.230970 1.904331 -2.875000 +v -0.176777 1.823225 -2.875000 +v -0.095671 1.769032 -2.875000 +v 0.000000 1.750002 -2.875000 +v 0.095671 1.769032 -2.875000 +v 0.176776 1.823225 -2.875000 +v 0.230970 1.904331 -2.875000 +v 0.250000 2.000002 -2.875000 +v 0.230970 2.095673 -2.875000 +v 0.176776 2.176779 -2.875000 +v 0.095671 2.230972 -2.875000 +v 0.000000 2.187500 -3.374000 +v -0.071754 2.173228 -3.374000 +v -0.132583 2.132583 -3.374000 +v -0.173227 2.071753 -3.374000 +v -0.187500 2.000000 -3.374000 +v -0.173227 1.928247 -3.374000 +v -0.132583 1.867418 -3.374000 +v -0.071754 1.826773 -3.374000 +v 0.000000 1.812500 -3.374000 +v 0.071753 1.826773 -3.374000 +v 0.132582 1.867418 -3.374000 +v 0.173227 1.928247 -3.374000 +v 0.187500 2.000000 -3.374000 +v 0.173227 2.071753 -3.374000 +v 0.132582 2.132583 -3.374000 +v 0.071753 2.173228 -3.374000 +v 0.000000 2.187500 -2.874000 +v -0.071754 2.173228 -2.874000 +v -0.132583 2.132583 -2.874000 +v -0.173227 2.071753 -2.874000 +v -0.187500 2.000000 -2.874000 +v -0.173227 1.928247 -2.874000 +v -0.132583 1.867418 -2.874000 +v -0.071754 1.826773 -2.874000 +v 0.000000 1.812500 -2.874000 +v 0.071753 1.826773 -2.874000 +v 0.132582 1.867418 -2.874000 +v 0.173227 1.928247 -2.874000 +v 0.187500 2.000000 -2.874000 +v 0.173227 2.071753 -2.874000 +v 0.132582 2.132583 -2.874000 +v 0.071753 2.173228 -2.874000 +v 0.031250 1.593750 -5.750000 +v -0.031250 1.593750 -5.750000 +v 0.031250 1.593750 -6.250000 +v -0.031250 1.593750 -6.250000 +v 0.031250 1.781250 -5.250000 +v -0.031250 1.781250 -5.250000 +v 0.031250 1.781250 -6.250000 +v -0.031250 1.781250 -6.250000 +v 0.406250 2.031250 -5.750000 +v 0.406250 1.968750 -5.750000 +v 0.406250 2.031250 -6.250000 +v 0.406250 1.968750 -6.250000 +v 0.218750 2.031250 -5.250000 +v 0.218750 1.968750 -5.250000 +v 0.218750 2.031250 -6.250000 +v 0.218750 1.968750 -6.250000 +v -0.406250 1.968750 -5.750000 +v -0.406250 2.031250 -5.750000 +v -0.406250 1.968750 -6.250000 +v -0.406250 2.031250 -6.250000 +v -0.218750 1.968750 -5.250000 +v -0.218750 2.031250 -5.250000 +v -0.218750 1.968750 -6.250000 +v -0.218750 2.031250 -6.250000 +v 0.265165 2.309359 -5.750000 +v 0.309359 2.265165 -5.750000 +v 0.265165 2.309359 -6.250000 +v 0.309359 2.265165 -6.250000 +v 0.132583 2.176777 -5.250000 +v 0.176777 2.132582 -5.250000 +v 0.132583 2.176777 -6.250000 +v 0.176777 2.132582 -6.250000 +v -0.265165 1.690641 -5.750000 +v -0.309359 1.734835 -5.750000 +v -0.265165 1.690641 -6.250000 +v -0.309359 1.734835 -6.250000 +v -0.132583 1.823223 -5.250000 +v -0.176777 1.867417 -5.250000 +v -0.132583 1.823223 -6.250000 +v -0.176777 1.867417 -6.250000 +v 0.309359 1.734835 -5.750000 +v 0.265165 1.690641 -5.750000 +v 0.309359 1.734835 -6.250000 +v 0.265165 1.690641 -6.250000 +v 0.176777 1.867417 -5.250000 +v 0.132583 1.823223 -5.250000 +v 0.176777 1.867417 -6.250000 +v 0.132583 1.823223 -6.250000 +v -0.309359 2.265165 -5.750000 +v -0.265165 2.309359 -5.750000 +v -0.309359 2.265165 -6.250000 +v -0.265165 2.309359 -6.250000 +v -0.176777 2.132582 -5.250000 +v -0.132583 2.176777 -5.250000 +v -0.176777 2.132582 -6.250000 +v -0.132583 2.176777 -6.250000 +vt 0.500000 0.393939 +vt 0.495146 0.363636 +vt 0.500000 0.363636 +vt 0.500000 0.424242 +vt 0.495146 0.393939 +vt 0.500000 0.333333 +vt 0.495146 0.333333 +vt 0.500000 0.303030 +vt 0.495146 0.303030 +vt 0.495146 0.272727 +vt 0.500000 0.272727 +vt 0.495146 0.242424 +vt 0.500000 0.242424 +vt 0.495146 0.212121 +vt 0.500000 0.212121 +vt 0.495146 0.181818 +vt 0.500000 0.181818 +vt 0.495146 0.151515 +vt 0.500000 0.151515 +vt 0.495146 0.121212 +vt 0.500000 0.121212 +vt 0.500000 0.090909 +vt 0.495146 0.090909 +vt 0.500000 0.060606 +vt 0.495146 0.060606 +vt 0.500000 0.030303 +vt 0.495146 0.030303 +vt 0.500000 -0.000000 +vt 0.495146 -0.000000 +vt 0.500000 0.454545 +vt 0.495146 0.484848 +vt 0.495146 0.454545 +vt 0.495146 0.424242 +vt 0.995146 0.121212 +vt 1.000000 0.151515 +vt 0.995146 0.151515 +vt 1.000000 0.181818 +vt 0.995146 0.181818 +vt 0.995146 0.212121 +vt 1.000000 0.212121 +vt 0.995146 0.242424 +vt 1.000000 0.242424 +vt 0.995146 0.272727 +vt 1.000000 0.272727 +vt 0.995146 0.303030 +vt 1.000000 0.303030 +vt 0.995146 0.333333 +vt 1.000000 0.333333 +vt 0.995146 0.363636 +vt 1.000000 0.363636 +vt 0.995146 0.393939 +vt 1.000000 0.393939 +vt 0.995146 0.424242 +vt 1.000000 0.424242 +vt 0.995146 0.454545 +vt 1.000000 0.484848 +vt 0.995146 0.484848 +vt 0.995146 -0.000000 +vt 1.000000 0.030303 +vt 0.995146 0.030303 +vt 1.000000 0.060606 +vt 0.995146 0.060606 +vt 1.000000 0.090909 +vt 0.995146 0.090909 +vt 1.000000 0.121212 +vt 0.786408 0.666667 +vt 0.776699 0.651515 +vt 0.786408 0.651515 +vt 0.640777 0.666667 +vt 0.631068 0.651515 +vt 0.640777 0.651515 +vt 0.650485 0.666667 +vt 0.650485 0.651515 +vt 0.660194 0.651515 +vt 0.660194 0.666667 +vt 0.669903 0.651515 +vt 0.669903 0.666667 +vt 0.679612 0.666667 +vt 0.679612 0.651515 +vt 0.689320 0.666667 +vt 0.689320 0.651515 +vt 0.699029 0.651515 +vt 0.699029 0.666667 +vt 0.708738 0.651515 +vt 0.708738 0.666667 +vt 0.718447 0.651515 +vt 0.718447 0.666667 +vt 0.728155 0.666667 +vt 0.728155 0.651515 +vt 0.737864 0.666667 +vt 0.737864 0.651515 +vt 0.747573 0.651515 +vt 0.747573 0.666667 +vt 0.757282 0.666667 +vt 0.757282 0.651515 +vt 0.766990 0.651515 +vt 0.766990 0.666667 +vt 0.776699 0.666667 +vt 0.786408 0.681818 +vt 0.776699 0.696970 +vt 0.776699 0.681818 +vt 0.640777 0.681818 +vt 0.631068 0.696970 +vt 0.631068 0.681818 +vt 0.650485 0.681818 +vt 0.640777 0.696970 +vt 0.660194 0.696970 +vt 0.660194 0.681818 +vt 0.669903 0.696970 +vt 0.669903 0.681818 +vt 0.679612 0.681818 +vt 0.689320 0.681818 +vt 0.679612 0.696970 +vt 0.699029 0.696970 +vt 0.699029 0.681818 +vt 0.708738 0.696970 +vt 0.708738 0.681818 +vt 0.718447 0.696970 +vt 0.718447 0.681818 +vt 0.728155 0.681818 +vt 0.737864 0.681818 +vt 0.728155 0.696970 +vt 0.747573 0.696970 +vt 0.747573 0.681818 +vt 0.757282 0.681818 +vt 0.766990 0.696970 +vt 0.766990 0.681818 +vt 0.470874 0.833333 +vt 0.490291 0.848485 +vt 0.470874 0.848485 +vt 0.422330 0.863636 +vt 0.461165 0.893939 +vt 0.422330 0.893939 +vt 0.461165 0.863636 +vt 0.470874 0.893939 +vt 0.461165 0.833333 +vt 0.451456 0.803030 +vt 0.461165 0.803030 +vt 0.451456 0.833333 +vt 0.422330 0.803030 +vt 0.417476 0.893939 +vt 0.451456 0.924242 +vt 0.422330 0.909091 +vt 0.597087 0.681818 +vt 0.621359 0.727273 +vt 0.597087 0.727273 +vt 0.708738 0.515152 +vt 0.699029 0.530303 +vt 0.699029 0.515152 +vt 0.621359 0.651515 +vt 0.621359 0.681818 +vt 0.597087 0.757576 +vt 0.631068 0.727273 +vt 0.587379 0.681818 +vt 0.611650 0.484848 +vt 0.611650 0.515152 +vt 0.601942 0.651515 +vt 0.611650 0.651515 +vt 0.626214 0.530303 +vt 0.626214 0.651515 +vt 0.587379 0.530303 +vt 0.601942 0.515152 +vt 0.635922 0.530303 +vt 0.635922 0.651515 +vt 0.514563 0.560606 +vt 0.587379 0.560606 +vt 0.514563 0.515152 +vt 0.495146 0.590909 +vt 0.504854 0.621212 +vt 0.495146 0.621212 +vt 0.475728 0.803030 +vt 0.461165 0.787879 +vt 0.475728 0.787879 +vt 0.461165 0.636364 +vt 0.485437 0.681818 +vt 0.427184 0.681818 +vt 0.495146 0.636364 +vt 0.485437 0.636364 +vt 0.519417 0.636364 +vt 0.553398 0.681818 +vt 0.495146 0.681818 +vt 0.563107 0.636364 +vt 0.553398 0.636364 +vt 0.461165 0.696970 +vt 0.475728 0.681818 +vt 0.475728 0.696970 +vt 0.480583 0.696970 +vt 0.480583 0.787879 +vt 0.441748 0.787879 +vt 0.456311 0.696970 +vt 0.456311 0.787879 +vt 0.354369 0.833333 +vt 0.359223 0.787879 +vt 0.359223 0.833333 +vt 0.354369 0.787879 +vt 0.359223 0.757576 +vt 0.368932 0.833333 +vt 0.504854 0.590909 +vt 0.514563 0.621212 +vt 0.344660 0.787879 +vt 0.475728 0.621212 +vt 0.514563 0.590909 +vt 0.519417 0.621212 +vt 0.553398 0.590909 +vt 0.553398 0.621212 +vt 0.281553 0.833333 +vt 0.310680 0.848485 +vt 0.281553 0.848485 +vt 0.524272 0.757576 +vt 0.504854 0.772727 +vt 0.504854 0.757576 +vt 0.509709 0.848485 +vt 0.524272 0.772727 +vt 0.519417 0.848485 +vt 0.519417 0.681818 +vt 0.509709 0.681818 +vt 0.548544 0.772727 +vt 0.548544 0.757576 +vt 0.480583 0.757576 +vt 0.480583 0.772727 +vt 0.310680 0.833333 +vt 0.334951 0.848485 +vt 0.281553 0.924242 +vt 0.296117 0.893939 +vt 0.296117 0.924242 +vt 0.344660 0.893939 +vt 0.354369 0.893939 +vt 0.344660 0.924242 +vt 0.393204 0.893939 +vt 0.354369 0.924242 +vt 0.407767 0.893939 +vt 0.393204 0.924242 +vt 0.417476 0.893939 +vt 0.407767 0.924242 +vt 0.334951 0.833333 +vt 0.310680 0.818182 +vt 0.334951 0.818182 +vt 0.310680 0.863636 +vt 0.281553 0.818182 +vt 0.281553 0.863636 +vt 0.334951 0.878788 +vt 0.334951 0.863636 +vt 0.310680 0.878788 +vt 0.281553 0.878788 +vt 0.354369 0.939394 +vt 0.349515 0.878788 +vt 0.407767 0.878788 +vt 0.417476 0.878788 +vt 0.407767 0.939394 +vt 0.393204 0.939394 +vt 0.417476 0.924242 +vt 0.354369 0.878788 +vt 0.393204 0.878788 +vt 0.281553 0.939394 +vt 0.281553 0.893939 +vt 0.296117 0.878788 +vt 0.344660 0.878788 +vt 0.344660 0.939394 +vt 0.296117 0.939394 +vt 0.296117 0.969697 +vt 0.281553 0.969697 +vt 0.344660 0.969697 +vt 0.349515 0.969697 +vt 0.354369 0.969697 +vt 0.393204 0.969697 +vt 0.407767 0.969697 +vt 0.417476 0.939394 +vt 0.417476 0.969697 +vt 0.703883 0.485145 +vt 0.708643 0.500000 +vt 0.703883 0.514855 +vt 0.650485 0.575758 +vt 0.655340 0.590909 +vt 0.650485 0.590909 +vt 0.650485 0.560606 +vt 0.655340 0.545455 +vt 0.655340 0.560606 +vt 0.650485 0.651515 +vt 0.655340 0.636364 +vt 0.655340 0.651515 +vt 0.650485 0.606061 +vt 0.655340 0.621212 +vt 0.650485 0.621212 +vt 0.655340 0.575758 +vt 0.650485 0.545455 +vt 0.655340 0.530303 +vt 0.650485 0.636364 +vt 0.655340 0.606061 +vt 0.572816 0.560904 +vt 0.577575 0.575758 +vt 0.572816 0.590612 +vt 0.247573 0.636364 +vt 0.242718 0.666667 +vt 0.242718 0.636364 +vt 0.247573 0.666667 +vt 0.242718 0.696970 +vt 0.247573 0.696970 +vt 0.242718 0.727273 +vt 0.247573 0.727273 +vt 0.242718 0.757576 +vt 0.247573 0.757576 +vt 0.242718 0.787879 +vt 0.247573 0.818182 +vt 0.242718 0.818182 +vt 0.247573 0.848485 +vt 0.242718 0.848485 +vt 0.242718 0.878788 +vt 0.247573 0.878788 +vt 0.242718 0.909091 +vt 0.247573 0.939394 +vt 0.242718 0.939394 +vt 0.247573 0.969697 +vt 0.242718 0.969697 +vt 0.242718 0.484848 +vt 0.247573 0.515152 +vt 0.242718 0.515152 +vt 0.247573 0.545455 +vt 0.242718 0.545455 +vt 0.242718 0.575758 +vt 0.247573 0.606061 +vt 0.242718 0.606061 +vt 0.262136 0.666667 +vt 0.257282 0.636364 +vt 0.262136 0.636364 +vt 0.262136 0.696970 +vt 0.257282 0.666667 +vt 0.262136 0.727273 +vt 0.257282 0.696970 +vt 0.262136 0.757576 +vt 0.257282 0.727273 +vt 0.262136 0.787879 +vt 0.257282 0.757576 +vt 0.257282 0.818182 +vt 0.257282 0.787879 +vt 0.262136 0.818182 +vt 0.257282 0.848485 +vt 0.262136 0.878788 +vt 0.262136 0.848485 +vt 0.262136 0.909091 +vt 0.257282 0.878788 +vt 0.257282 0.939394 +vt 0.257282 0.909091 +vt 0.262136 0.939394 +vt 0.257282 0.969697 +vt 0.262136 0.484848 +vt 0.257282 0.515152 +vt 0.257282 0.484848 +vt 0.262136 0.515152 +vt 0.257282 0.545455 +vt 0.262136 0.575758 +vt 0.262136 0.545455 +vt 0.257282 0.606061 +vt 0.257282 0.575758 +vt 0.262136 0.606061 +vt 0.436893 0.545455 +vt 0.359223 0.515152 +vt 0.436893 0.515152 +vt 0.368932 0.606061 +vt 0.427184 0.575758 +vt 0.427184 0.606061 +vt 0.368932 0.575758 +vt 0.359223 0.545455 +vt 0.427184 0.484848 +vt 0.446602 0.575758 +vt 0.495146 0.606061 +vt 0.446602 0.606061 +vt 0.349515 0.606061 +vt 0.300971 0.575758 +vt 0.349515 0.575758 +vt 0.281553 0.515152 +vt 0.514563 0.545455 +vt 0.281553 0.545455 +vt 0.300971 0.484848 +vt 0.349515 0.484848 +vt 0.495146 0.575758 +vt 0.495146 0.484848 +vt 0.514563 0.515152 +vt 0.179612 0.909091 +vt 0.165049 0.984848 +vt 0.126214 0.924242 +vt 0.208738 0.818182 +vt 0.179612 0.833333 +vt 0.179612 0.818182 +vt 0.242718 0.681818 +vt 0.203883 0.696970 +vt 0.203883 0.681818 +vt -0.000000 0.560606 +vt 0.004854 0.681818 +vt -0.000000 0.681818 +vt 0.043689 1.000000 +vt 0.082524 0.984848 +vt 0.082524 1.000000 +vt 0.043689 0.484848 +vt 0.004854 0.500000 +vt 0.004854 0.484848 +vt 0.038835 0.681818 +vt 0.043689 0.803030 +vt 0.038835 0.803030 +vt 0.121359 0.484848 +vt 0.082524 0.500000 +vt 0.082524 0.484848 +vt -0.000000 0.803030 +vt 0.004854 0.924242 +vt 0.000000 0.924242 +vt 0.043689 0.500000 +vt 0.121359 0.560606 +vt 0.126214 0.560606 +vt 0.203883 0.803030 +vt 0.242718 0.787879 +vt 0.242718 0.803030 +vt 0.121359 0.984848 +vt 0.121359 1.000000 +vt 0.004854 1.000000 +vt 0.043689 0.984848 +vt 0.063107 0.818182 +vt 0.067961 0.909091 +vt 0.063107 0.909091 +vt 0.121359 0.924242 +vt 0.067961 0.818182 +vt 0.203883 0.984848 +vt 0.208738 0.909091 +vt 0.004854 0.803030 +vt 0.038835 0.818182 +vt 0.242718 0.924242 +vt 0.043689 0.681818 +vt 0.203883 0.500000 +vt 0.242718 0.560606 +vt 0.043689 0.909091 +vt 0.043689 0.818182 +vt 0.208738 0.893939 +vt 0.266990 0.636364 +vt 0.262136 0.666667 +vt 0.262136 0.636364 +vt 0.266990 0.666667 +vt 0.262136 0.696970 +vt 0.266990 0.696970 +vt 0.262136 0.727273 +vt 0.266990 0.727273 +vt 0.262136 0.757576 +vt 0.266990 0.757576 +vt 0.262136 0.787879 +vt 0.266990 0.818182 +vt 0.262136 0.818182 +vt 0.266990 0.848485 +vt 0.262136 0.848485 +vt 0.262136 0.878788 +vt 0.266990 0.878788 +vt 0.262136 0.909091 +vt 0.266990 0.939394 +vt 0.262136 0.939394 +vt 0.266990 0.969697 +vt 0.262136 0.969697 +vt 0.262136 0.484848 +vt 0.266990 0.515152 +vt 0.262136 0.515152 +vt 0.266990 0.545455 +vt 0.262136 0.545455 +vt 0.262136 0.575758 +vt 0.266990 0.606061 +vt 0.262136 0.606061 +vt 0.281553 0.666667 +vt 0.276699 0.636364 +vt 0.281553 0.636364 +vt 0.281553 0.696970 +vt 0.276699 0.666667 +vt 0.281553 0.727273 +vt 0.276699 0.696970 +vt 0.281553 0.757576 +vt 0.276699 0.727273 +vt 0.281553 0.787879 +vt 0.276699 0.757576 +vt 0.276699 0.818182 +vt 0.276699 0.787879 +vt 0.281553 0.818182 +vt 0.276699 0.848485 +vt 0.281553 0.878788 +vt 0.281553 0.848485 +vt 0.281553 0.909091 +vt 0.276699 0.878788 +vt 0.276699 0.939394 +vt 0.276699 0.909091 +vt 0.281553 0.939394 +vt 0.276699 0.969697 +vt 0.281553 0.484848 +vt 0.276699 0.515152 +vt 0.276699 0.484848 +vt 0.281553 0.515152 +vt 0.276699 0.545455 +vt 0.281553 0.575758 +vt 0.281553 0.545455 +vt 0.276699 0.606061 +vt 0.276699 0.575758 +vt 0.281553 0.606061 +vt 0.349515 0.727273 +vt 0.344660 0.742424 +vt 0.344660 0.727273 +vt 0.320388 0.727273 +vt 0.310680 0.712121 +vt 0.320388 0.712121 +vt 0.325243 0.666667 +vt 0.330097 0.757576 +vt 0.325243 0.757576 +vt 0.305825 0.772727 +vt 0.305825 0.757576 +vt 0.281553 0.757576 +vt 0.286408 0.772727 +vt 0.281553 0.772727 +vt 0.330097 0.621212 +vt 0.330097 0.666667 +vt 0.325243 0.621212 +vt 0.330097 0.606061 +vt 0.286408 0.757576 +vt 0.355176 0.665482 +vt 0.361363 0.678385 +vt 0.347207 0.727559 +vt 0.322755 0.727325 +vt 0.325147 0.757190 +vt 0.322755 0.742258 +vt 0.306010 0.757190 +vt 0.308403 0.742258 +vt 0.300406 0.665035 +vt 0.304554 0.645658 +vt 0.325147 0.667597 +vt 0.332904 0.727559 +vt 0.330520 0.757320 +vt 0.330520 0.668035 +vt 0.347207 0.742440 +vt 0.332904 0.742440 +vt 0.310680 0.742424 +vt 0.320388 0.757576 +vt 0.310680 0.757576 +vt 0.330097 0.742424 +vt 0.334951 0.727273 +vt 0.334951 0.742424 +vt 0.296117 0.787879 +vt 0.286408 0.803030 +vt 0.286408 0.787879 +vt 0.296117 0.772727 +vt 0.286408 0.772727 +vt 0.300971 0.803030 +vt 0.300971 0.787879 +vt 0.281553 0.787879 +vt 0.281553 0.803030 +vt 0.286408 0.818182 +vt 0.296117 0.803030 +vt 0.296117 0.818182 +vt 0.388350 0.803030 +vt 0.368932 0.787879 +vt 0.388350 0.787879 +vt 0.400485 0.803030 +vt 0.405340 0.787879 +vt 0.405340 0.803030 +vt 0.395631 0.803030 +vt 0.400485 0.787879 +vt 0.405340 0.803030 +vt 0.412621 0.787879 +vt 0.412621 0.803030 +vt 0.410194 0.787879 +vt 0.410194 0.803030 +vt 0.400485 0.787879 +vt 0.400485 0.803030 +vt 0.300971 0.772727 +vt 0.305825 0.787879 +vt 0.300971 0.787879 +vt 0.325243 0.772727 +vt 0.315534 0.787879 +vt 0.315534 0.772727 +vt 0.315534 0.803030 +vt 0.325243 0.818182 +vt 0.315534 0.818182 +vt 0.325243 0.787879 +vt 0.305825 0.772727 +vt 0.305825 0.818182 +vt 0.334951 0.787879 +vt 0.334951 0.803030 +vt 0.325243 0.803030 +vt 0.417476 0.666667 +vt 0.412621 0.606061 +vt 0.417476 0.606061 +vt 0.402913 0.742424 +vt 0.407767 0.681818 +vt 0.407767 0.742424 +vt 0.383495 0.742424 +vt 0.368932 0.803030 +vt 0.383495 0.848485 +vt 0.373786 0.848485 +vt 0.402913 0.621212 +vt 0.407767 0.651515 +vt 0.402913 0.651515 +vt 0.339806 0.803030 +vt 0.407767 0.742424 +vt 0.402913 0.681818 +vt 0.407767 0.681818 +vt 0.422330 0.742424 +vt 0.441748 0.727273 +vt 0.441748 0.742424 +vt 0.412621 0.666667 +vt 0.417476 0.787879 +vt 0.422330 0.651515 +vt 0.334951 0.818182 +vt 0.344660 0.818182 +vt 0.407767 0.621212 +vt 0.339806 0.787879 +vt 0.334951 0.772727 +vt 0.344660 0.772727 +vt 0.400485 0.772727 +vt 0.388350 0.742424 +vt 0.429612 0.772727 +vt 0.424757 0.772727 +vt 0.490291 0.803030 +vt 0.470874 0.818182 +vt 0.470874 0.803030 +vt 0.490291 0.818182 +vt 0.490291 0.833333 +vt 0.490291 0.863636 +vt 0.470874 0.863636 +vt 0.470874 0.833333 +vt 0.490291 0.848485 +vt 0.470874 0.848485 +vt 0.490291 0.803030 +vt 0.470874 0.818182 +vt 0.470874 0.803030 +vt 0.490291 0.818182 +vt 0.490291 0.833333 +vt 0.490291 0.863636 +vt 0.470874 0.863636 +vt 0.470874 0.833333 +vt 0.490291 0.848485 +vt 0.470874 0.848485 +vt 0.470874 0.803030 +vt 0.490291 0.818182 +vt 0.470874 0.818182 +vt 0.490291 0.833333 +vt 0.490291 0.863636 +vt 0.470874 0.863636 +vt 0.470874 0.833333 +vt 0.490291 0.848485 +vt 0.470874 0.848485 +vt 0.490291 0.803030 +vt 0.470874 0.818182 +vt 0.470874 0.803030 +vt 0.490291 0.818182 +vt 0.490291 0.833333 +vt 0.490291 0.863636 +vt 0.470874 0.863636 +vt 0.470874 0.848485 +vt 0.490291 0.833333 +vt 0.490291 0.848485 +vt 0.470874 0.803030 +vt 0.490291 0.818182 +vt 0.470874 0.818182 +vt 0.470874 0.833333 +vt 0.490291 0.863636 +vt 0.470874 0.863636 +vt 0.470874 0.833333 +vt 0.490291 0.848485 +vt 0.470874 0.848485 +vt 0.470874 0.803030 +vt 0.490291 0.818182 +vt 0.470874 0.818182 +vt 0.490291 0.833333 +vt 0.490291 0.863636 +vt 0.470874 0.863636 +vt 0.951456 0.818182 +vt 0.946602 0.833333 +vt 0.946602 0.818182 +vt 0.951456 0.833333 +vt 0.946602 0.848485 +vt 0.951456 0.848485 +vt 0.946602 0.863636 +vt 0.951456 0.878788 +vt 0.946602 0.878788 +vt 0.946602 0.893939 +vt 0.951456 0.893939 +vt 0.946602 0.909091 +vt 0.951456 0.924242 +vt 0.946602 0.924242 +vt 0.951456 0.939394 +vt 0.946602 0.939394 +vt 0.951456 0.954545 +vt 0.946602 0.954545 +vt 0.951456 0.969697 +vt 0.946602 0.969697 +vt 0.951456 0.984848 +vt 0.946602 0.984848 +vt 0.951456 1.000000 +vt 0.946602 1.000000 +vt 0.951456 0.757576 +vt 0.946602 0.772727 +vt 0.946602 0.757576 +vt 0.951456 0.772727 +vt 0.946602 0.787879 +vt 0.951456 0.787879 +vt 0.946602 0.803030 +vt 0.951456 0.803030 +vt 0.932039 0.848485 +vt 0.927184 0.833333 +vt 0.932039 0.833333 +vt 0.932039 0.863636 +vt 0.927184 0.848485 +vt 0.927184 0.878788 +vt 0.927184 0.863636 +vt 0.932039 0.893939 +vt 0.932039 0.878788 +vt 0.932039 0.909091 +vt 0.927184 0.893939 +vt 0.927184 0.924242 +vt 0.927184 0.909091 +vt 0.932039 0.924242 +vt 0.927184 0.939394 +vt 0.932039 0.939394 +vt 0.927184 0.954545 +vt 0.932039 0.954545 +vt 0.927184 0.969697 +vt 0.932039 0.969697 +vt 0.927184 0.984848 +vt 0.932039 0.984848 +vt 0.927184 1.000000 +vt 0.932039 0.772727 +vt 0.927184 0.757576 +vt 0.932039 0.757576 +vt 0.932039 0.787879 +vt 0.927184 0.772727 +vt 0.932039 0.803030 +vt 0.927184 0.787879 +vt 0.932039 0.818182 +vt 0.927184 0.803030 +vt 0.927184 0.818182 +vt 0.970863 0.924242 +vt 0.968023 0.945646 +vt 0.954307 0.902838 +vt 0.970874 0.863636 +vt 0.951456 0.848485 +vt 0.970874 0.848485 +vt 0.990291 0.848485 +vt 1.000000 0.863636 +vt 0.990291 0.863636 +vt 0.990291 0.818182 +vt 0.990291 0.893939 +vt 0.970874 0.863636 +vt 0.951456 0.848485 +vt 0.970874 0.848485 +vt 0.718447 0.833333 +vt 0.713592 0.818182 +vt 0.718447 0.818182 +vt 0.718447 0.848485 +vt 0.713592 0.833333 +vt 0.718447 0.863636 +vt 0.713592 0.848485 +vt 0.718447 0.878788 +vt 0.713592 0.863636 +vt 0.713592 0.893939 +vt 0.713592 0.878788 +vt 0.718447 0.893939 +vt 0.713592 0.909091 +vt 0.718447 0.909091 +vt 0.713592 0.924242 +vt 0.718447 0.924242 +vt 0.713592 0.939394 +vt 0.718447 0.939394 +vt 0.713592 0.954545 +vt 0.718447 0.954545 +vt 0.713592 0.969697 +vt 0.718447 0.969697 +vt 0.713592 0.984848 +vt 0.718447 0.984848 +vt 0.713592 1.000000 +vt 0.718447 0.772727 +vt 0.713592 0.757576 +vt 0.718447 0.757576 +vt 0.718447 0.787879 +vt 0.713592 0.772727 +vt 0.718447 0.803030 +vt 0.713592 0.787879 +vt 0.713592 0.803030 +vt 0.951467 0.969697 +vt 0.956311 0.954577 +vt 0.961155 0.969697 +vt 0.796117 0.818182 +vt 0.791262 0.833333 +vt 0.791262 0.818182 +vt 0.796117 0.833333 +vt 0.791262 0.848485 +vt 0.796117 0.848485 +vt 0.791262 0.863636 +vt 0.796117 0.863636 +vt 0.791262 0.878788 +vt 0.796117 0.893939 +vt 0.796117 0.878788 +vt 0.796117 0.909091 +vt 0.791262 0.893939 +vt 0.796117 0.924242 +vt 0.791262 0.909091 +vt 0.796117 0.939394 +vt 0.791262 0.924242 +vt 0.796117 0.954545 +vt 0.791262 0.939394 +vt 0.796117 0.969697 +vt 0.791262 0.954545 +vt 0.796117 0.984848 +vt 0.791262 0.969697 +vt 0.796117 1.000000 +vt 0.791262 0.984848 +vt 0.796117 0.757576 +vt 0.791262 0.772727 +vt 0.791262 0.757576 +vt 0.796117 0.772727 +vt 0.791262 0.787879 +vt 0.796117 0.787879 +vt 0.791262 0.803030 +vt 0.796117 0.803030 +vt 0.766990 0.833333 +vt 0.771845 0.848485 +vt 0.766990 0.848485 +vt 0.771845 0.863636 +vt 0.766990 0.863636 +vt 0.771845 0.878788 +vt 0.766990 0.878788 +vt 0.766990 0.893939 +vt 0.771845 0.893939 +vt 0.766990 0.909091 +vt 0.771845 0.909091 +vt 0.766990 0.924242 +vt 0.771845 0.924242 +vt 0.766990 0.939394 +vt 0.771845 0.939394 +vt 0.766990 0.954545 +vt 0.771845 0.954545 +vt 0.766990 0.969697 +vt 0.771845 0.969697 +vt 0.766990 0.984848 +vt 0.771845 0.984848 +vt 0.766990 1.000000 +vt 0.766990 0.757576 +vt 0.771845 0.772727 +vt 0.766990 0.772727 +vt 0.771845 0.787879 +vt 0.766990 0.787879 +vt 0.771845 0.803030 +vt 0.766990 0.803030 +vt 0.771845 0.818182 +vt 0.766990 0.818182 +vt 0.771845 0.833333 +vt 0.990291 0.848485 +vt 1.000000 0.863636 +vt 0.990291 0.863636 +vt 0.990291 0.818182 +vt 0.990291 0.893939 +vt 0.970874 0.863636 +vt 0.951456 0.848485 +vt 0.970874 0.848485 +vt 0.990291 0.848485 +vt 1.000000 0.863636 +vt 0.990291 0.863636 +vt 0.990291 0.818182 +vt 0.990291 0.893939 +vt 0.970874 0.863636 +vt 0.951456 0.848485 +vt 0.970874 0.848485 +vt 0.990291 0.848485 +vt 1.000000 0.863636 +vt 0.990291 0.863636 +vt 0.990291 0.818182 +vt 0.990291 0.893939 +vt 0.970874 0.863636 +vt 0.951456 0.848485 +vt 0.970874 0.848485 +vt 0.990291 0.863636 +vt 1.000000 0.848485 +vt 1.000000 0.863636 +vt 0.990291 0.818182 +vt 0.990291 0.848485 +vt 0.990291 0.893939 +vt 0.970874 0.863636 +vt 0.951456 0.848485 +vt 0.970874 0.848485 +vt 0.990291 0.848485 +vt 1.000000 0.863636 +vt 0.990291 0.863636 +vt 0.990291 0.818182 +vt 0.990291 0.893939 +vt 0.970874 0.848485 +vt 0.951456 0.863636 +vt 0.951456 0.848485 +vt 0.990291 0.848485 +vt 1.000000 0.863636 +vt 0.990291 0.863636 +vt 0.990291 0.818182 +vt 0.990291 0.893939 +vt 0.970874 0.863636 +vt 0.970874 0.848485 +vt 0.951456 0.863636 +vt 0.951456 0.848485 +vt 0.990291 0.848485 +vt 1.000000 0.863636 +vt 0.990291 0.863636 +vt 0.990291 0.818182 +vt 0.990291 0.893939 +vt 0.970874 0.863636 +vt 0.500000 0.484848 +vt 1.000000 0.454545 +vt 1.000000 0.000000 +vt 0.631068 0.666667 +vt 0.786408 0.696970 +vt 0.650485 0.696970 +vt 0.689320 0.696970 +vt 0.737864 0.696970 +vt 0.757282 0.696970 +vt 0.470874 0.863636 +vt 0.422330 0.833333 +vt 0.417476 0.863636 +vt 0.461165 0.924242 +vt 0.422330 0.848485 +vt 0.708738 0.530303 +vt 0.597087 0.651515 +vt 0.621359 0.757576 +vt 0.631068 0.681818 +vt 0.587379 0.727273 +vt 0.699029 0.484848 +vt 0.587379 0.651515 +vt 0.514563 0.530303 +vt 0.461165 0.803030 +vt 0.427184 0.636364 +vt 0.563107 0.681818 +vt 0.461165 0.681818 +vt 0.441748 0.696970 +vt 0.354369 0.757576 +vt 0.368932 0.787879 +vt 0.344660 0.833333 +vt 0.466019 0.621212 +vt 0.519417 0.590909 +vt 0.349515 0.939394 +vt 0.281553 0.878788 +vt 0.700518 0.510504 +vt 0.699124 0.500000 +vt 0.700518 0.489496 +vt 0.707249 0.489496 +vt 0.707249 0.510504 +vt 0.650485 0.530303 +vt 0.569451 0.586261 +vt 0.568057 0.575758 +vt 0.569451 0.565255 +vt 0.576181 0.565255 +vt 0.576181 0.586261 +vt 0.247573 0.787879 +vt 0.247573 0.909091 +vt 0.247573 0.484848 +vt 0.247573 0.575758 +vt 0.262136 0.969697 +vt 0.368932 0.484848 +vt 0.300971 0.606061 +vt 0.446602 0.484848 +vt 0.208738 0.833333 +vt 0.242718 0.696970 +vt 0.004854 0.560606 +vt 0.121359 0.500000 +vt 0.203883 0.787879 +vt 0.004854 0.984848 +vt 0.038835 0.909091 +vt 0.165049 0.500000 +vt 0.179612 0.893939 +vt 0.266990 0.787879 +vt 0.266990 0.909091 +vt 0.266990 0.484848 +vt 0.266990 0.575758 +vt 0.281553 0.969697 +vt 0.349515 0.742424 +vt 0.310680 0.727273 +vt 0.325243 0.772727 +vt 0.325243 0.606061 +vt 0.344823 0.623392 +vt 0.351042 0.646171 +vt 0.349591 0.623392 +vt 0.349591 0.757320 +vt 0.368661 0.682916 +vt 0.368661 0.697797 +vt 0.308403 0.727325 +vt 0.286874 0.697461 +vt 0.286874 0.682529 +vt 0.294197 0.677983 +vt 0.306010 0.622801 +vt 0.310795 0.622801 +vt 0.320388 0.742424 +vt 0.330097 0.727273 +vt 0.395631 0.787879 +vt 0.405340 0.787879 +vt 0.305825 0.803030 +vt 0.402913 0.681818 +vt 0.373786 0.742424 +vt 0.402913 0.742424 +vt 0.422330 0.727273 +vt 0.422330 0.681818 +vt 0.422330 0.621212 +vt 0.405340 0.772727 +vt 0.424757 0.787879 +vt 0.441748 0.787879 +vt 0.429612 0.787879 +vt 0.490291 0.803030 +vt 0.490291 0.803030 +vt 0.490291 0.803030 +vt 0.951456 0.863636 +vt 0.951456 0.909091 +vt 0.932039 1.000000 +vt 0.964876 0.952208 +vt 0.961165 0.954512 +vt 0.957454 0.952208 +vt 0.954307 0.945646 +vt 0.952205 0.935826 +vt 0.951467 0.924242 +vt 0.952205 0.912658 +vt 0.957454 0.896276 +vt 0.961165 0.893972 +vt 0.964876 0.896276 +vt 0.968023 0.902838 +vt 0.970125 0.912658 +vt 0.970125 0.935826 +vt 0.951456 0.863636 +vt 1.000000 0.848485 +vt 0.951456 0.818182 +vt 0.951456 0.893939 +vt 0.951456 0.863636 +vt 0.718447 1.000000 +vt 0.956311 0.984817 +vt 0.954457 0.983666 +vt 0.952885 0.980388 +vt 0.951835 0.975483 +vt 0.951835 0.963911 +vt 0.952885 0.959006 +vt 0.954457 0.955728 +vt 0.958164 0.955728 +vt 0.959736 0.959006 +vt 0.960786 0.963911 +vt 0.960786 0.975483 +vt 0.959736 0.980388 +vt 0.958164 0.983666 +vt 0.791262 1.000000 +vt 0.771845 1.000000 +vt 0.771845 0.757576 +vt 1.000000 0.848485 +vt 0.951456 0.818182 +vt 0.951456 0.893939 +vt 0.951456 0.863636 +vt 1.000000 0.848485 +vt 0.951456 0.818182 +vt 0.951456 0.893939 +vt 0.951456 0.863636 +vt 1.000000 0.848485 +vt 0.951456 0.818182 +vt 0.951456 0.893939 +vt 0.951456 0.863636 +vt 0.951456 0.818182 +vt 0.951456 0.893939 +vt 0.951456 0.863636 +vt 1.000000 0.848485 +vt 0.951456 0.818182 +vt 0.951456 0.893939 +vt 1.000000 0.848485 +vt 0.951456 0.818182 +vt 0.951456 0.893939 +vt 1.000000 0.848485 +vt 0.951456 0.818182 +vt 0.951456 0.893939 +vt 0.000000 0.181818 +vt 0.000000 0.454545 +vt 0.000000 0.242424 +vt 0.000000 0.212121 +vt -0.000000 0.000000 +vt 0.000000 0.272727 +vt -0.000000 0.030303 +vt 0.000000 0.303030 +vt 0.000000 0.060606 +vt 0.000000 0.333333 +vt 0.000000 0.090909 +vt 0.000000 0.363636 +vt 0.000000 0.121212 +vt 0.000000 0.393939 +vt 0.000000 0.151515 +vt 0.000000 0.424242 +vt 0.737864 0.712121 +vt 0.747573 0.712121 +vt 0.650485 0.712121 +vt 0.660194 0.712121 +vt 0.728155 0.712121 +vt 0.640777 0.712121 +vt 0.718447 0.712121 +vt 0.631068 0.712121 +vt 0.699029 0.712121 +vt 0.708738 0.712121 +vt 0.776699 0.712121 +vt 0.786408 0.712121 +vt 0.689320 0.712121 +vt 0.766990 0.712121 +vt 0.679612 0.712121 +vt 0.757282 0.712121 +vt 0.669903 0.712121 +vt 0.728155 0.530303 +vt 0.708738 0.515152 +vt 0.728155 0.515152 +vt 0.728155 0.500000 +vt 0.708738 0.484848 +vt 0.728155 0.484848 +vt 0.728155 0.590909 +vt 0.708738 0.575758 +vt 0.728155 0.575758 +vt 0.728155 0.560606 +vt 0.708738 0.545455 +vt 0.728155 0.545455 +vt 0.708738 0.530303 +vt 0.708738 0.500000 +vt 0.728155 0.606061 +vt 0.708738 0.590909 +vt 0.708738 0.560606 +vt 0.635922 0.545455 +vt 0.635922 0.530303 +vt 0.635922 0.636364 +vt 0.635922 0.621212 +vt 0.635922 0.606061 +vt 0.635922 0.590909 +vt 0.635922 0.575758 +vt 0.635922 0.560606 +vt 0.635922 0.651515 +vt 0.679612 0.636364 +vt 0.679612 0.606061 +vt 0.679612 0.590909 +vt 0.679612 0.560606 +vt 0.679612 0.651515 +vt 0.679612 0.621212 +vt 0.679612 0.575758 +vt 0.679612 0.545455 +vt 0.728155 0.575758 +vt 0.747573 0.590909 +vt 0.728155 0.590909 +vt 0.728155 0.545455 +vt 0.747573 0.560606 +vt 0.728155 0.560606 +vt 0.728155 0.530303 +vt 0.747573 0.545455 +vt 0.728155 0.500000 +vt 0.747573 0.515152 +vt 0.728155 0.515152 +vt 0.747573 0.606061 +vt 0.728155 0.606061 +vt 0.747573 0.575758 +vt 0.747573 0.530303 +vt 0.728155 0.484848 +vt 0.747573 0.500000 +vt 0.757282 0.530303 +vt 0.762136 0.575758 +vt 0.762136 0.590909 +vt 0.757282 0.545455 +vt 0.757282 0.560606 +vt 0.762136 0.515152 +vt 0.747573 0.484848 +vt 0.762136 0.500000 +vt 0.762136 0.606061 +vt 0.587379 0.621212 +vt 0.577670 0.606061 +vt 0.587379 0.606061 +vt 0.587379 0.590909 +vt 0.577670 0.575758 +vt 0.587379 0.575758 +vt 0.587379 0.681818 +vt 0.577670 0.666667 +vt 0.587379 0.666667 +vt 0.587379 0.651515 +vt 0.577670 0.636364 +vt 0.587379 0.636364 +vt 0.577670 0.590909 +vt 0.577670 0.560606 +vt 0.587379 0.560606 +vt 0.577670 0.651515 +vt 0.577670 0.621212 +vt 0.912621 0.803030 +vt 0.912621 0.818182 +vt 0.912621 0.939394 +vt 0.912621 0.954545 +vt 0.912621 0.833333 +vt 0.912621 0.969697 +vt 0.912621 0.848485 +vt 0.912621 0.984848 +vt 0.912621 0.863636 +vt 0.912621 1.000000 +vt 0.912621 0.878788 +vt 0.912621 0.893939 +vt 0.912621 0.757576 +vt 0.912621 0.772727 +vt 0.912621 0.909091 +vt 0.912621 0.787879 +vt 0.912621 0.924242 +vt 0.742718 0.833333 +vt 0.742718 0.818182 +vt 0.912621 0.969697 +vt 0.912621 0.954545 +vt 0.912621 0.848485 +vt 0.912621 0.833333 +vt 0.912621 0.863636 +vt 0.912621 0.984848 +vt 0.912621 0.893939 +vt 0.912621 0.878788 +vt 0.912621 0.757576 +vt 0.912621 0.909091 +vt 0.912621 0.787879 +vt 0.912621 0.772727 +vt 0.912621 0.924242 +vt 0.912621 0.803030 +vt 0.912621 0.939394 +vt 0.912621 0.818182 +vt 0.742718 0.803030 +vt 0.742718 0.787879 +vt 0.742718 0.772727 +vt 0.742718 0.757576 +vt 0.742718 1.000000 +vt 0.742718 0.984848 +vt 0.742718 0.969697 +vt 0.742718 0.954545 +vt 0.742718 0.939394 +vt 0.742718 0.924242 +vt 0.742718 0.909091 +vt 0.742718 0.893939 +vt 0.742718 0.878788 +vt 0.742718 0.863636 +vt 0.742718 0.848485 +vt 0.694175 0.893939 +vt 0.694175 0.878788 +vt 0.694175 0.863636 +vt 0.694175 0.848485 +vt 0.694175 0.833333 +vt 0.694175 0.818182 +vt 0.694175 0.803030 +vt 0.694175 0.787879 +vt 0.694175 0.772727 +vt 0.694175 0.757576 +vt 0.694175 0.984848 +vt 0.694175 0.969697 +vt 0.694175 0.954545 +vt 0.694175 0.939394 +vt 0.694175 0.924242 +vt 0.694175 0.909091 +vt 0.674757 0.772727 +vt 0.674757 0.909091 +vt 0.674757 0.787879 +vt 0.674757 0.924242 +vt 0.674757 0.803030 +vt 0.674757 0.939394 +vt 0.674757 0.818182 +vt 0.674757 0.954545 +vt 0.674757 0.833333 +vt 0.674757 0.969697 +vt 0.674757 0.848485 +vt 0.694175 1.000000 +vt 0.674757 0.984848 +vt 0.674757 0.878788 +vt 0.674757 0.863636 +vt 0.674757 0.757576 +vt 0.674757 0.893939 +vt 0.669903 0.848485 +vt 0.669903 0.833333 +vt 0.669903 0.818182 +vt 0.669903 0.803030 +vt 0.669903 0.787879 +vt 0.669903 0.772727 +vt 0.669903 0.757576 +vt 0.674757 1.000000 +vt 0.669903 0.984848 +vt 0.669903 0.969697 +vt 0.669903 0.954545 +vt 0.669903 0.939394 +vt 0.669903 0.924242 +vt 0.669903 0.909091 +vt 0.669903 0.893939 +vt 0.669903 0.878788 +vt 0.669903 0.863636 +vt -0.000000 0.484848 +vt 0.708738 0.606061 +vt 0.679612 0.530303 +vt 0.762136 0.484848 +vt 0.577670 0.681818 +vt 0.912621 1.000000 +vt 0.669903 1.000000 +vn -0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.9363 0.0000 0.3511 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 -0.9864 0.1644 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -0.8944 0.4472 +vn 0.0000 0.1644 -0.9864 +vn 0.0000 -0.1644 0.9864 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 -0.5547 -0.8321 +vn 0.0000 0.8321 0.5547 +vn 0.0000 -0.3714 0.9285 +vn 0.0000 0.1789 -0.9839 +vn 0.0000 0.3881 -0.9216 +vn 0.0000 0.7071 0.7071 +vn -0.4472 -0.8944 0.0000 +vn 0.4472 -0.8944 0.0000 +vn 0.4472 0.8944 0.0000 +vn -0.4472 0.8944 0.0000 +vn 0.7071 -0.7071 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.5556 0.8315 0.0000 +vn 0.8315 0.5556 0.0000 +vn 0.6296 -0.7769 0.0000 +vn 0.9231 0.3846 0.0000 +vn -0.9363 0.0000 -0.3511 +vn -0.9363 0.0000 0.3511 +vn 0.9363 0.0000 -0.3511 +vn 0.4682 -0.8109 0.3511 +vn -0.4682 0.8109 -0.3511 +vn -0.8660 -0.5000 0.0000 +vn 0.8660 0.5000 -0.0000 +vn -0.4682 0.8109 0.3511 +vn 0.4682 -0.8109 -0.3511 +vn -0.4682 -0.8109 0.3511 +vn 0.4682 0.8109 -0.3511 +vn -0.8660 0.5000 -0.0000 +vn 0.8660 -0.5000 0.0000 +vn 0.4682 0.8109 0.3511 +vn -0.4682 -0.8109 -0.3511 +vn 0.0000 0.9363 0.3511 +vn 0.0000 -0.9363 0.3511 +vn 0.0160 0.0032 0.9999 +vn 0.0136 0.0091 0.9999 +vn 0.0091 0.0136 0.9999 +vn 0.0032 0.0160 0.9999 +vn -0.0032 0.0160 0.9999 +vn -0.0091 0.0136 0.9999 +vn -0.0136 0.0091 0.9999 +vn -0.0160 0.0032 0.9999 +vn -0.0160 -0.0032 0.9999 +vn -0.0136 -0.0091 0.9999 +vn -0.0091 -0.0136 0.9999 +vn -0.0032 -0.0160 0.9999 +vn 0.0032 -0.0160 0.9999 +vn 0.0091 -0.0136 0.9999 +vn 0.0136 -0.0091 0.9999 +vn 0.0160 -0.0032 0.9999 +vn -0.0136 -0.0091 -0.9999 +vn -0.0091 -0.0136 -0.9999 +vn -0.0032 -0.0160 -0.9999 +vn 0.0032 -0.0160 -0.9999 +vn 0.0091 -0.0136 -0.9999 +vn 0.0136 -0.0091 -0.9999 +vn 0.0160 -0.0032 -0.9999 +vn 0.0160 0.0032 -0.9999 +vn 0.0136 0.0091 -0.9999 +vn 0.0091 0.0136 -0.9999 +vn 0.0032 0.0160 -0.9999 +vn -0.0032 0.0160 -0.9999 +vn -0.0091 0.0136 -0.9999 +vn -0.0136 0.0091 -0.9999 +vn -0.0160 0.0032 -0.9999 +vn -0.0160 -0.0032 -0.9999 +vn 0.6621 0.6621 0.3511 +vn -0.6621 -0.6621 0.3511 +vn 0.6621 -0.6621 0.3511 +vn -0.7071 -0.7071 0.0000 +vn 0.7071 0.7071 0.0000 +vn -0.6621 0.6621 0.3511 +vn 0.3827 0.9239 0.0000 +vn 0.9239 0.3827 0.0000 +vn 0.9239 -0.3827 -0.0000 +vn 0.3827 -0.9239 -0.0000 +vn -0.3827 -0.9239 -0.0000 +vn -0.9239 -0.3827 -0.0000 +vn -0.9239 0.3827 0.0000 +vn -0.3827 0.9239 0.0000 +vn -0.6736 -0.7187 -0.1724 +vn -0.7285 0.6658 0.1611 +vn -0.0000 0.9699 0.2434 +vn 0.9981 -0.0555 -0.0278 +vn -0.0000 -0.9759 -0.2181 +vn -0.9981 -0.0555 -0.0278 +vn 0.7285 0.6658 0.1611 +vn 0.6736 -0.7187 -0.1724 +vn 0.8048 0.5308 0.2654 +vn -0.9539 -0.2684 -0.1342 +vn -0.4741 -0.7875 -0.3938 +vn -0.0000 0.8944 0.4472 +vn -0.8048 0.5309 0.2654 +vn 0.9539 -0.2684 -0.1342 +vn 0.4741 -0.7875 -0.3938 +vn -0.0000 -0.8944 -0.4472 +vn 0.9578 0.0000 -0.2873 +vn 0.8849 0.3665 -0.2873 +vn 0.8849 -0.3665 -0.2873 +vn 0.6773 -0.6773 -0.2874 +vn 0.3665 -0.8849 -0.2874 +vn 0.0000 -0.9578 -0.2874 +vn -0.3665 -0.8849 -0.2874 +vn -0.6773 -0.6773 -0.2873 +vn -0.8849 -0.3665 -0.2873 +vn -0.9578 -0.0000 -0.2873 +vn -0.8849 0.3665 -0.2873 +vn -0.6773 0.6773 -0.2873 +vn -0.3665 0.8849 -0.2873 +vn 0.0000 0.9578 -0.2873 +vn 0.3665 0.8849 -0.2873 +vn 0.6773 0.6773 -0.2873 +vn -0.3583 0.8651 0.3511 +vn 0.3583 0.8651 0.3511 +vn 0.8651 0.3583 0.3511 +vn 0.8651 -0.3583 0.3511 +vn 0.3583 -0.8651 0.3511 +vn -0.3583 -0.8651 0.3511 +vn -0.8651 -0.3583 0.3511 +vn -0.8651 0.3583 0.3511 +vn 0.3423 0.8263 0.4472 +vn 0.6325 0.6325 0.4472 +vn 0.8263 0.3423 0.4472 +vn 0.8944 0.0000 0.4472 +vn 0.8263 -0.3423 0.4472 +vn 0.6325 -0.6325 0.4472 +vn 0.3423 -0.8263 0.4472 +vn -0.3423 -0.8263 0.4472 +vn -0.6325 -0.6325 0.4472 +vn -0.8263 -0.3423 0.4472 +vn -0.8944 0.0000 0.4472 +vn -0.8263 0.3423 0.4472 +vn -0.6325 0.6325 0.4472 +vn -0.3423 0.8263 0.4472 +s off +f 24/1/1 37/2/1 26/3/1 +f 22/4/1 38/5/1 24/1/1 +f 28/6/1 37/2/1 36/7/1 +f 30/8/1 36/7/1 35/9/1 +f 30/8/1 34/10/1 32/11/1 +f 32/11/1 33/12/1 2/13/1 +f 2/13/1 48/14/1 4/15/1 +f 4/15/1 47/16/1 6/17/1 +f 6/17/1 46/18/1 8/19/1 +f 8/19/1 45/20/1 10/21/1 +f 12/22/1 45/20/1 44/23/1 +f 14/24/1 44/23/1 43/25/1 +f 16/26/1 43/25/1 42/27/1 +f 18/28/1 42/27/1 41/29/1 +f 20/30/1 41/31/1 40/32/1 +f 22/4/1 40/32/1 39/33/1 +f 9/34/2 62/35/2 7/36/2 +f 7/36/2 63/37/2 5/38/2 +f 63/37/2 3/39/2 5/38/2 +f 64/40/2 1/41/2 3/39/2 +f 49/42/2 31/43/2 1/41/2 +f 50/44/2 29/45/2 31/43/2 +f 51/46/2 27/47/2 29/45/2 +f 52/48/2 25/49/2 27/47/2 +f 53/50/2 23/51/2 25/49/2 +f 54/52/2 21/53/2 23/51/2 +f 55/54/2 19/55/2 21/53/2 +f 19/55/2 57/56/2 17/57/2 +f 17/58/2 58/59/2 15/60/2 +f 15/60/2 59/61/2 13/62/2 +f 13/62/2 60/63/2 11/64/2 +f 11/64/2 61/65/2 9/34/2 +f 73/66/1 106/67/1 105/68/1 +f 72/69/1 105/70/1 104/71/1 +f 71/72/1 104/71/1 103/73/1 +f 71/72/1 102/74/1 70/75/1 +f 70/75/1 101/76/1 69/77/1 +f 68/78/1 101/76/1 100/79/1 +f 67/80/1 100/79/1 99/81/1 +f 67/80/1 98/82/1 66/83/1 +f 66/83/1 97/84/1 65/85/1 +f 65/85/1 112/86/1 80/87/1 +f 79/88/1 112/86/1 111/89/1 +f 78/90/1 111/89/1 110/91/1 +f 78/90/1 109/92/1 77/93/1 +f 76/94/1 109/92/1 108/95/1 +f 76/94/1 107/96/1 75/97/1 +f 75/97/1 106/67/1 74/98/1 +f 89/99/2 122/100/2 90/101/2 +f 88/102/2 121/103/2 89/104/2 +f 87/105/2 120/106/2 88/102/2 +f 118/107/2 87/105/2 86/108/2 +f 117/109/2 86/108/2 85/110/2 +f 84/111/2 117/109/2 85/110/2 +f 83/112/2 116/113/2 84/111/2 +f 114/114/2 83/112/2 82/115/2 +f 113/116/2 82/115/2 81/117/2 +f 128/118/2 81/117/2 96/119/2 +f 95/120/2 128/118/2 96/119/2 +f 94/121/2 127/122/2 95/120/2 +f 125/123/2 94/121/2 93/124/2 +f 92/125/2 125/123/2 93/124/2 +f 123/126/2 92/125/2 91/127/2 +f 122/100/2 91/127/2 90/101/2 +f 130/128/3 131/129/3 129/130/3 +f 134/131/4 135/132/4 133/133/4 +f 136/134/2 137/135/2 135/132/2 +f 138/136/5 139/137/5 137/138/5 +f 140/139/6 141/140/6 139/137/6 +f 141/141/1 134/131/1 133/133/1 +f 139/142/7 141/143/7 133/133/7 +f 140/139/8 138/136/8 136/134/8 +f 144/144/8 145/145/8 143/146/8 +f 159/147/2 162/148/2 160/149/2 +f 144/144/5 150/150/5 146/151/5 +f 145/145/4 148/152/4 143/146/4 +f 146/151/2 147/153/2 145/145/2 +f 143/146/1 149/154/1 144/144/1 +f 155/155/5 160/149/5 156/156/5 +f 151/157/1 156/156/1 152/158/1 +f 152/158/8 158/159/8 154/160/8 +f 151/157/7 157/161/7 155/162/7 +f 154/160/2 157/163/2 153/164/2 +f 162/165/4 157/161/4 158/166/4 +f 157/161/7 159/167/7 155/162/7 +f 160/149/8 158/159/8 156/156/8 +f 165/168/9 188/169/9 166/170/9 +f 171/171/4 174/172/4 172/173/4 +f 192/174/7 169/175/7 167/176/7 +f 166/177/1 169/175/1 165/178/1 +f 191/179/8 168/180/8 170/181/8 +f 163/182/2 168/180/2 164/183/2 +f 178/184/5 175/185/5 176/186/5 +f 172/173/8 178/184/8 176/186/8 +f 172/173/10 175/187/10 171/188/10 +f 171/189/7 177/190/7 173/191/7 +f 173/191/11 178/184/11 174/172/11 +f 179/192/1 182/193/1 180/194/1 +f 188/169/8 191/179/8 166/177/8 +f 181/195/5 186/196/5 182/193/5 +f 182/193/8 184/197/8 180/194/8 +f 187/198/5 190/199/5 188/169/5 +f 179/192/7 185/200/7 181/195/7 +f 192/174/7 187/201/7 165/178/7 +f 189/202/12 191/203/12 190/199/12 +f 191/203/5 163/204/5 164/205/5 +f 202/206/11 203/207/11 201/208/11 +f 197/209/13 199/210/13 198/211/13 +f 194/212/8 200/213/8 196/214/8 +f 195/215/7 198/211/7 193/216/7 +f 196/217/14 197/209/14 195/218/14 +f 193/219/15 199/210/15 194/220/15 +f 204/221/5 205/222/5 203/207/5 +f 210/223/1 207/224/1 208/225/1 +f 211/226/16 208/225/16 207/224/16 +f 213/227/5 212/228/5 211/226/5 +f 215/229/2 214/230/2 213/227/2 +f 217/231/12 216/232/12 215/229/12 +f 219/233/2 218/234/2 217/231/2 +f 206/235/7 222/236/7 224/237/7 +f 205/222/8 221/238/8 203/207/8 +f 222/236/7 202/206/7 226/239/7 +f 201/208/8 221/238/8 225/240/8 +f 224/241/4 221/238/4 223/242/4 +f 225/240/17 222/243/17 226/244/17 +f 230/245/8 212/228/8 214/230/8 +f 227/246/7 213/227/7 211/226/7 +f 215/229/7 233/247/7 217/231/7 +f 217/231/7 235/248/7 219/233/7 +f 216/232/8 234/249/8 232/250/8 +f 220/251/8 234/249/8 218/234/8 +f 215/229/7 229/252/7 231/253/7 +f 216/232/8 230/245/8 214/230/8 +f 208/225/8 240/254/8 210/223/8 +f 209/255/7 237/256/7 207/224/7 +f 207/224/7 227/257/7 211/226/7 +f 208/225/8 228/258/8 238/259/8 +f 240/254/2 237/260/2 239/261/2 +f 238/259/18 227/262/18 237/260/18 +f 227/263/4 230/245/4 229/264/4 +f 229/264/1 232/250/1 231/265/1 +f 231/265/19 234/249/19 233/266/19 +f 233/266/1 236/267/1 235/268/1 +f 253/269/1 255/270/1 249/271/1 +f 272/272/2 273/273/2 265/274/2 +f 271/275/2 278/276/2 279/277/2 +f 269/278/2 276/279/2 277/280/2 +f 266/281/2 275/282/2 267/283/2 +f 271/275/2 280/284/2 272/272/2 +f 270/285/2 277/286/2 278/276/2 +f 268/287/2 275/282/2 276/279/2 +f 265/274/2 274/288/2 266/281/2 +f 325/289/1 327/290/1 321/291/1 +f 358/292/1 331/293/1 332/294/1 +f 359/295/1 330/296/1 331/293/1 +f 360/297/1 329/298/1 330/296/1 +f 345/299/1 344/300/1 329/298/1 +f 346/301/1 343/302/1 344/300/1 +f 343/302/1 348/303/1 342/304/1 +f 342/304/1 349/305/1 341/306/1 +f 349/305/1 340/307/1 341/306/1 +f 350/308/1 339/309/1 340/307/1 +f 339/309/1 352/310/1 338/311/1 +f 338/311/1 353/312/1 337/313/1 +f 337/314/1 354/315/1 336/316/1 +f 336/316/1 355/317/1 335/318/1 +f 355/317/1 334/319/1 335/318/1 +f 334/319/1 357/320/1 333/321/1 +f 357/320/1 332/294/1 333/321/1 +f 363/322/2 390/323/2 364/324/2 +f 362/325/2 391/326/2 363/322/2 +f 361/327/2 392/328/2 362/325/2 +f 376/329/2 377/330/2 361/327/2 +f 375/331/2 378/332/2 376/329/2 +f 375/331/2 380/333/2 379/334/2 +f 374/335/2 381/336/2 380/333/2 +f 372/337/2 381/336/2 373/338/2 +f 371/339/2 382/340/2 372/337/2 +f 371/339/2 384/341/2 383/342/2 +f 370/343/2 385/344/2 384/341/2 +f 369/345/2 386/346/2 385/347/2 +f 368/348/2 387/349/2 386/346/2 +f 366/350/2 387/349/2 367/351/2 +f 366/350/2 389/352/2 388/353/2 +f 364/324/2 389/352/2 365/354/2 +f 395/355/5 394/356/5 393/357/5 +f 399/358/4 397/359/4 398/360/4 +f 395/355/2 400/361/2 396/362/2 +f 394/356/1 398/363/1 393/357/1 +f 397/364/8 402/365/8 398/366/8 +f 399/367/7 404/368/7 400/369/7 +f 396/362/8 406/370/8 394/356/8 +f 393/357/7 407/371/7 395/355/7 +f 396/362/2 404/368/2 408/372/2 +f 394/356/1 403/373/1 399/374/1 +f 395/355/2 401/375/2 397/364/2 +f 393/357/1 402/376/1 405/377/1 +f 436/378/2 415/379/2 412/380/2 +f 433/381/4 439/382/4 434/383/4 +f 418/384/4 432/385/4 420/386/4 +f 409/387/7 421/388/7 418/389/7 +f 416/390/4 429/391/4 415/392/4 +f 413/393/20 422/394/20 409/395/20 +f 420/396/7 431/397/7 419/398/7 +f 410/399/21 423/400/21 414/401/21 +f 417/402/7 427/403/7 411/404/7 +f 414/401/5 428/405/5 413/393/5 +f 412/380/8 424/406/8 410/407/8 +f 419/408/5 430/409/5 417/410/5 +f 415/392/22 425/411/22 412/412/22 +f 411/413/23 426/414/23 416/390/23 +f 434/415/7 440/416/7 436/417/7 +f 425/418/1 440/416/1 439/419/1 +f 416/420/2 436/378/2 435/421/2 +f 426/414/1 440/416/1 429/391/1 +f 427/403/1 430/422/1 438/423/1 +f 433/381/2 417/410/2 411/424/2 +f 431/397/1 432/425/1 439/419/1 +f 419/408/2 433/381/2 434/383/2 +f 428/405/1 423/400/1 432/425/1 +f 420/386/2 413/426/2 409/427/2 +f 435/428/8 438/423/8 433/429/8 +f 436/378/5 437/430/5 435/421/5 +f 470/431/1 443/432/1 444/433/1 +f 471/434/1 442/435/1 443/432/1 +f 472/436/1 441/437/1 442/435/1 +f 457/438/1 456/439/1 441/437/1 +f 458/440/1 455/441/1 456/439/1 +f 455/441/1 460/442/1 454/443/1 +f 454/443/1 461/444/1 453/445/1 +f 461/444/1 452/446/1 453/445/1 +f 462/447/1 451/448/1 452/446/1 +f 451/448/1 464/449/1 450/450/1 +f 450/450/1 465/451/1 449/452/1 +f 449/453/1 466/454/1 448/455/1 +f 448/455/1 467/456/1 447/457/1 +f 467/456/1 446/458/1 447/457/1 +f 446/458/1 469/459/1 445/460/1 +f 469/459/1 444/433/1 445/460/1 +f 475/461/2 502/462/2 476/463/2 +f 474/464/2 503/465/2 475/461/2 +f 473/466/2 504/467/2 474/464/2 +f 488/468/2 489/469/2 473/466/2 +f 487/470/2 490/471/2 488/468/2 +f 487/470/2 492/472/2 491/473/2 +f 486/474/2 493/475/2 492/472/2 +f 484/476/2 493/475/2 485/477/2 +f 483/478/2 494/479/2 484/476/2 +f 483/478/2 496/480/2 495/481/2 +f 482/482/2 497/483/2 496/480/2 +f 481/484/2 498/485/2 497/486/2 +f 480/487/2 499/488/2 498/485/2 +f 478/489/2 499/488/2 479/490/2 +f 478/489/2 501/491/2 500/492/2 +f 476/463/2 501/491/2 477/493/2 +f 510/494/8 507/495/8 505/496/8 +f 511/497/4 505/498/4 506/499/4 +f 528/500/8 532/501/8 529/502/8 +f 529/502/4 530/503/4 527/504/4 +f 513/505/7 526/506/7 514/507/7 +f 528/500/24 516/508/24 531/509/24 +f 515/510/5 518/511/5 516/508/5 +f 530/503/25 525/512/25 527/504/25 +f 523/513/2 522/514/2 510/515/2 +f 506/516/1 529/517/1 508/518/1 +f 508/518/1 527/519/1 507/520/1 +f 520/521/1 521/522/1 528/523/1 +f 511/524/2 532/525/2 531/526/2 +f 509/527/2 532/525/2 512/528/2 +f 509/529/5 508/530/5 507/531/5 +f 512/532/7 506/533/7 508/534/7 +f 539/535/4 537/536/4 538/537/4 +f 534/538/1 538/537/1 533/539/1 +f 536/540/8 539/535/8 534/541/8 +f 533/542/7 537/536/7 535/543/7 +f 535/544/2 540/545/2 536/546/2 +f 541/547/25 542/548/25 548/549/25 +f 546/550/4 554/551/4 547/552/4 +f 544/553/8 553/554/8 546/550/8 +f 545/555/4 550/556/4 543/557/4 +f 547/552/7 551/558/7 545/559/7 +f 541/547/4 552/560/4 544/561/4 +f 562/562/7 542/563/7 549/564/7 +f 559/565/1 567/566/1 558/567/1 +f 570/568/2 564/569/2 563/570/2 +f 568/571/26 570/568/26 567/566/26 +f 567/566/1 557/572/1 558/567/1 +f 562/573/2 570/568/2 563/570/2 +f 559/565/1 569/574/1 568/571/1 +f 572/575/2 564/569/2 571/576/2 +f 569/574/27 571/576/27 568/571/27 +f 574/577/5 561/578/5 566/579/5 +f 556/580/28 570/581/28 555/582/28 +f 542/548/1 556/583/1 548/549/1 +f 549/584/2 555/585/2 570/586/2 +f 578/587/4 575/588/4 576/589/4 +f 569/574/29 578/590/29 572/575/29 +f 579/591/7 576/592/7 575/593/7 +f 580/594/5 556/595/5 555/596/5 +f 573/597/1 579/591/1 575/593/1 +f 550/556/8 574/577/8 543/598/8 +f 574/577/2 580/594/2 543/598/2 +f 566/579/2 576/599/2 574/577/2 +f 565/600/2 578/590/2 566/601/2 +f 573/597/1 577/602/1 561/578/1 +f 577/603/1 560/604/1 561/605/1 +f 553/606/1 556/607/1 579/591/1 +f 580/594/2 546/608/2 547/609/2 +f 581/610/30 583/611/30 582/612/30 +f 130/128/5 584/613/5 132/614/5 +f 129/130/4 581/615/4 582/616/4 +f 586/617/31 587/618/31 585/619/31 +f 589/620/32 591/621/32 590/622/32 +f 586/617/4 592/623/4 588/624/4 +f 585/619/5 589/625/5 590/626/5 +f 594/627/33 595/628/33 593/629/33 +f 598/630/34 600/631/34 599/632/34 +f 594/627/35 600/631/35 596/633/35 +f 593/629/36 597/634/36 598/635/36 +f 602/636/37 603/637/37 601/638/37 +f 605/639/38 607/640/38 606/641/38 +f 602/636/36 608/642/36 604/643/36 +f 601/638/35 605/644/35 606/645/35 +f 609/646/39 612/647/39 611/648/39 +f 614/649/40 616/650/40 615/651/40 +f 610/652/41 616/650/41 612/647/41 +f 609/646/42 613/653/42 614/654/42 +f 618/655/43 619/656/43 617/657/43 +f 622/658/44 624/659/44 623/660/44 +f 618/655/42 624/659/42 620/661/42 +f 617/657/41 621/662/41 622/663/41 +f 669/664/2 638/665/2 637/666/2 +f 670/667/2 639/668/2 638/665/2 +f 671/669/2 640/670/2 639/668/2 +f 640/670/2 657/671/2 625/672/2 +f 657/671/2 626/673/2 625/672/2 +f 658/674/2 627/675/2 626/673/2 +f 627/675/2 660/676/2 628/677/2 +f 628/677/2 661/678/2 629/679/2 +f 629/679/2 662/680/2 630/681/2 +f 630/681/2 663/682/2 631/683/2 +f 631/683/2 664/684/2 632/685/2 +f 632/685/2 665/686/2 633/687/2 +f 665/688/2 634/689/2 633/690/2 +f 666/691/2 635/692/2 634/689/2 +f 667/693/2 636/694/2 635/692/2 +f 668/695/2 637/666/2 636/694/2 +f 655/696/1 686/697/1 654/698/1 +f 656/699/1 687/700/1 655/696/1 +f 656/699/1 673/701/1 688/702/1 +f 642/703/1 673/701/1 641/704/1 +f 643/705/1 674/706/1 642/703/1 +f 643/705/1 676/707/1 675/708/1 +f 644/709/1 677/710/1 676/707/1 +f 645/711/1 678/712/1 677/710/1 +f 646/713/1 679/714/1 678/712/1 +f 647/715/1 680/716/1 679/714/1 +f 648/717/1 681/718/1 680/716/1 +f 650/719/1 681/720/1 649/721/1 +f 651/722/1 682/723/1 650/719/1 +f 652/724/1 683/725/1 651/722/1 +f 653/726/1 684/727/1 652/724/1 +f 654/698/1 685/728/1 653/726/1 +f 693/729/2 691/730/2 699/731/2 +f 721/732/45 726/733/45 722/734/45 +f 724/735/2 727/736/2 723/737/2 +f 722/734/8 728/738/8 724/735/8 +f 727/739/7 721/732/7 723/737/7 +f 873/740/46 878/741/46 874/742/46 +f 758/743/1 773/744/1 757/745/1 +f 759/746/1 774/747/1 758/743/1 +f 760/748/1 775/749/1 759/746/1 +f 745/750/1 776/751/1 760/748/1 +f 745/750/1 762/752/1 761/753/1 +f 746/754/1 763/755/1 762/752/1 +f 747/756/1 764/757/1 763/755/1 +f 748/758/1 765/759/1 764/757/1 +f 749/760/1 766/761/1 765/759/1 +f 750/762/1 767/763/1 766/761/1 +f 751/764/1 768/765/1 767/763/1 +f 752/766/1 769/767/1 768/765/1 +f 754/768/1 769/769/1 753/770/1 +f 755/771/1 770/772/1 754/768/1 +f 756/773/1 771/774/1 755/771/1 +f 757/745/1 772/775/1 756/773/1 +f 813/776/1 817/777/1 821/778/1 +f 717/779/47 854/780/47 853/781/47 +f 718/782/48 855/783/48 854/780/48 +f 719/784/49 856/785/49 855/783/49 +f 720/786/50 841/787/50 856/785/50 +f 705/788/51 841/787/51 706/789/51 +f 707/790/52 842/791/52 705/788/52 +f 708/792/53 843/793/53 707/790/53 +f 709/794/54 844/795/54 708/792/54 +f 710/796/55 845/797/55 709/794/55 +f 711/798/56 846/799/56 710/796/56 +f 712/800/57 847/801/57 711/798/57 +f 713/802/58 848/803/58 712/800/58 +f 713/804/59 850/805/59 849/806/59 +f 714/807/60 851/808/60 850/805/60 +f 715/809/61 852/810/61 851/808/61 +f 716/811/62 853/781/62 852/810/62 +f 838/812/63 871/813/63 839/814/63 +f 839/814/64 872/815/64 840/816/64 +f 840/816/65 857/817/65 826/818/65 +f 857/817/66 825/819/66 826/818/66 +f 858/820/67 827/821/67 825/819/67 +f 859/822/68 828/823/68 827/821/68 +f 860/824/69 829/825/69 828/823/69 +f 861/826/70 830/827/70 829/825/70 +f 862/828/71 831/829/71 830/827/71 +f 863/830/72 832/831/72 831/829/72 +f 864/832/73 833/833/73 832/831/73 +f 833/834/74 866/835/74 834/836/74 +f 834/836/75 867/837/75 835/838/75 +f 835/838/76 868/839/76 836/840/76 +f 836/840/77 869/841/77 837/842/77 +f 837/842/78 870/843/78 838/812/78 +f 876/844/2 879/845/2 875/846/2 +f 874/742/7 880/847/7 876/844/7 +f 879/848/8 873/740/8 875/846/8 +f 881/849/3 886/850/3 882/851/3 +f 884/852/2 887/853/2 883/854/2 +f 882/851/5 888/855/5 884/852/5 +f 887/856/4 881/849/4 883/854/4 +f 889/857/31 894/858/31 890/859/31 +f 892/860/2 895/861/2 891/862/2 +f 890/859/4 896/863/4 892/860/4 +f 895/864/5 889/857/5 891/862/5 +f 897/865/79 902/866/79 898/867/79 +f 899/868/2 904/869/2 903/870/2 +f 898/867/24 904/871/24 900/872/24 +f 903/873/25 897/865/25 899/868/25 +f 905/874/80 910/875/80 906/876/80 +f 908/877/2 911/878/2 907/879/2 +f 906/876/25 912/880/25 908/877/25 +f 911/881/24 905/874/24 907/879/24 +f 914/882/81 917/883/81 918/884/81 +f 916/885/2 919/886/2 915/887/2 +f 914/882/82 920/888/82 916/885/82 +f 919/889/83 913/890/83 915/887/83 +f 922/891/84 925/892/84 926/893/84 +f 924/894/2 927/895/2 923/896/2 +f 922/891/83 928/897/83 924/894/83 +f 927/898/82 921/899/82 923/896/82 +f 24/1/1 38/5/1 37/2/1 +f 22/4/1 39/33/1 38/5/1 +f 28/6/1 26/3/1 37/2/1 +f 30/8/1 28/6/1 36/7/1 +f 30/8/1 35/9/1 34/10/1 +f 32/11/1 34/10/1 33/12/1 +f 2/13/1 33/12/1 48/14/1 +f 4/15/1 48/14/1 47/16/1 +f 6/17/1 47/16/1 46/18/1 +f 8/19/1 46/18/1 45/20/1 +f 12/22/1 10/21/1 45/20/1 +f 14/24/1 12/22/1 44/23/1 +f 16/26/1 14/24/1 43/25/1 +f 18/28/1 16/26/1 42/27/1 +f 20/30/1 18/900/1 41/31/1 +f 22/4/1 20/30/1 40/32/1 +f 9/34/2 61/65/2 62/35/2 +f 7/36/2 62/35/2 63/37/2 +f 63/37/2 64/40/2 3/39/2 +f 64/40/2 49/42/2 1/41/2 +f 49/42/2 50/44/2 31/43/2 +f 50/44/2 51/46/2 29/45/2 +f 51/46/2 52/48/2 27/47/2 +f 52/48/2 53/50/2 25/49/2 +f 53/50/2 54/52/2 23/51/2 +f 54/52/2 55/54/2 21/53/2 +f 55/54/2 56/901/2 19/55/2 +f 19/55/2 56/901/2 57/56/2 +f 17/58/2 57/902/2 58/59/2 +f 15/60/2 58/59/2 59/61/2 +f 13/62/2 59/61/2 60/63/2 +f 11/64/2 60/63/2 61/65/2 +f 73/66/1 74/98/1 106/67/1 +f 72/69/1 73/903/1 105/70/1 +f 71/72/1 72/69/1 104/71/1 +f 71/72/1 103/73/1 102/74/1 +f 70/75/1 102/74/1 101/76/1 +f 68/78/1 69/77/1 101/76/1 +f 67/80/1 68/78/1 100/79/1 +f 67/80/1 99/81/1 98/82/1 +f 66/83/1 98/82/1 97/84/1 +f 65/85/1 97/84/1 112/86/1 +f 79/88/1 80/87/1 112/86/1 +f 78/90/1 79/88/1 111/89/1 +f 78/90/1 110/91/1 109/92/1 +f 76/94/1 77/93/1 109/92/1 +f 76/94/1 108/95/1 107/96/1 +f 75/97/1 107/96/1 106/67/1 +f 89/99/2 121/904/2 122/100/2 +f 88/102/2 120/106/2 121/103/2 +f 87/105/2 119/905/2 120/106/2 +f 118/107/2 119/905/2 87/105/2 +f 117/109/2 118/107/2 86/108/2 +f 84/111/2 116/113/2 117/109/2 +f 83/112/2 115/906/2 116/113/2 +f 114/114/2 115/906/2 83/112/2 +f 113/116/2 114/114/2 82/115/2 +f 128/118/2 113/116/2 81/117/2 +f 95/120/2 127/122/2 128/118/2 +f 94/121/2 126/907/2 127/122/2 +f 125/123/2 126/907/2 94/121/2 +f 92/125/2 124/908/2 125/123/2 +f 123/126/2 124/908/2 92/125/2 +f 122/100/2 123/126/2 91/127/2 +f 130/128/3 132/614/3 131/129/3 +f 134/131/4 136/134/4 135/132/4 +f 136/134/2 138/909/2 137/135/2 +f 138/136/5 140/139/5 139/137/5 +f 140/139/6 142/910/6 141/140/6 +f 141/141/1 142/911/1 134/131/1 +f 133/133/7 135/132/7 139/142/7 +f 135/132/7 137/912/7 139/142/7 +f 136/134/8 134/131/8 140/139/8 +f 134/131/8 142/913/8 140/139/8 +f 144/144/8 146/151/8 145/145/8 +f 159/147/2 161/914/2 162/148/2 +f 144/144/5 149/915/5 150/150/5 +f 145/145/4 147/916/4 148/152/4 +f 146/151/2 150/917/2 147/153/2 +f 143/146/1 148/918/1 149/154/1 +f 155/155/5 159/919/5 160/149/5 +f 151/157/1 155/162/1 156/156/1 +f 152/158/8 156/156/8 158/159/8 +f 151/157/7 153/920/7 157/161/7 +f 154/160/2 158/159/2 157/163/2 +f 162/165/4 161/921/4 157/161/4 +f 157/161/7 161/921/7 159/167/7 +f 160/149/8 162/148/8 158/159/8 +f 165/168/9 187/198/9 188/169/9 +f 171/171/4 173/922/4 174/172/4 +f 167/176/7 163/923/7 192/174/7 +f 192/174/7 165/178/7 169/175/7 +f 166/177/1 170/181/1 169/175/1 +f 170/181/8 166/177/8 191/179/8 +f 191/179/8 164/183/8 168/180/8 +f 163/182/2 167/924/2 168/180/2 +f 178/184/5 177/925/5 175/185/5 +f 172/173/8 174/172/8 178/184/8 +f 172/173/10 176/186/10 175/187/10 +f 171/189/7 175/926/7 177/190/7 +f 173/191/11 177/190/11 178/184/11 +f 179/192/1 181/195/1 182/193/1 +f 188/169/8 190/199/8 191/179/8 +f 181/195/5 185/927/5 186/196/5 +f 182/193/8 186/928/8 184/197/8 +f 187/198/5 189/202/5 190/199/5 +f 179/192/7 183/929/7 185/200/7 +f 192/174/7 189/930/7 187/201/7 +f 189/202/12 192/931/12 191/203/12 +f 191/203/5 192/931/5 163/204/5 +f 202/206/11 204/221/11 203/207/11 +f 197/209/13 200/213/13 199/210/13 +f 194/212/8 199/210/8 200/213/8 +f 195/215/7 197/209/7 198/211/7 +f 196/217/14 200/213/14 197/209/14 +f 193/219/15 198/211/15 199/210/15 +f 204/221/5 206/235/5 205/222/5 +f 210/223/1 209/255/1 207/224/1 +f 211/226/16 212/228/16 208/225/16 +f 213/227/5 214/230/5 212/228/5 +f 215/229/2 216/232/2 214/230/2 +f 217/231/12 218/234/12 216/232/12 +f 219/233/2 220/251/2 218/234/2 +f 206/235/7 204/221/7 222/236/7 +f 205/222/8 223/242/8 221/238/8 +f 222/236/7 204/221/7 202/206/7 +f 201/208/8 203/207/8 221/238/8 +f 224/241/4 222/243/4 221/238/4 +f 225/240/17 221/238/17 222/243/17 +f 230/245/8 228/932/8 212/228/8 +f 227/246/7 229/252/7 213/227/7 +f 215/229/7 231/253/7 233/247/7 +f 217/231/7 233/247/7 235/248/7 +f 216/232/8 218/234/8 234/249/8 +f 220/251/8 236/267/8 234/249/8 +f 215/229/7 213/227/7 229/252/7 +f 216/232/8 232/250/8 230/245/8 +f 208/225/8 238/259/8 240/254/8 +f 209/255/7 239/933/7 237/256/7 +f 207/224/7 237/256/7 227/257/7 +f 208/225/8 212/228/8 228/258/8 +f 240/254/2 238/259/2 237/260/2 +f 238/259/18 228/258/18 227/262/18 +f 227/263/4 228/932/4 230/245/4 +f 229/264/1 230/245/1 232/250/1 +f 231/265/19 232/250/19 234/249/19 +f 233/266/1 234/249/1 236/267/1 +f 249/271/1 250/934/1 251/935/1 +f 251/935/1 252/936/1 253/269/1 +f 253/269/1 254/937/1 255/270/1 +f 255/270/1 256/938/1 249/271/1 +f 249/271/1 251/935/1 253/269/1 +f 272/272/2 280/284/2 273/273/2 +f 271/275/2 270/285/2 278/276/2 +f 269/278/2 268/287/2 276/279/2 +f 266/281/2 274/288/2 275/282/2 +f 271/275/2 279/277/2 280/284/2 +f 270/285/2 269/939/2 277/286/2 +f 268/287/2 267/283/2 275/282/2 +f 265/274/2 273/273/2 274/288/2 +f 321/291/1 322/940/1 323/941/1 +f 323/941/1 324/942/1 325/289/1 +f 325/289/1 326/943/1 327/290/1 +f 327/290/1 328/944/1 321/291/1 +f 321/291/1 323/941/1 325/289/1 +f 358/292/1 359/295/1 331/293/1 +f 359/295/1 360/297/1 330/296/1 +f 360/297/1 345/299/1 329/298/1 +f 345/299/1 346/301/1 344/300/1 +f 346/301/1 347/945/1 343/302/1 +f 343/302/1 347/945/1 348/303/1 +f 342/304/1 348/303/1 349/305/1 +f 349/305/1 350/308/1 340/307/1 +f 350/308/1 351/946/1 339/309/1 +f 339/309/1 351/946/1 352/310/1 +f 338/311/1 352/310/1 353/312/1 +f 337/314/1 353/947/1 354/315/1 +f 336/316/1 354/315/1 355/317/1 +f 355/317/1 356/948/1 334/319/1 +f 334/319/1 356/948/1 357/320/1 +f 357/320/1 358/292/1 332/294/1 +f 363/322/2 391/326/2 390/323/2 +f 362/325/2 392/328/2 391/326/2 +f 361/327/2 377/330/2 392/328/2 +f 376/329/2 378/332/2 377/330/2 +f 375/331/2 379/334/2 378/332/2 +f 375/331/2 374/335/2 380/333/2 +f 374/335/2 373/338/2 381/336/2 +f 372/337/2 382/340/2 381/336/2 +f 371/339/2 383/342/2 382/340/2 +f 371/339/2 370/343/2 384/341/2 +f 370/343/2 369/949/2 385/344/2 +f 369/345/2 368/348/2 386/346/2 +f 368/348/2 367/351/2 387/349/2 +f 366/350/2 388/353/2 387/349/2 +f 366/350/2 365/354/2 389/352/2 +f 364/324/2 390/323/2 389/352/2 +f 395/355/5 396/362/5 394/356/5 +f 399/358/4 400/361/4 397/359/4 +f 395/355/2 397/359/2 400/361/2 +f 394/356/1 399/950/1 398/363/1 +f 397/364/8 401/375/8 402/365/8 +f 399/367/7 403/951/7 404/368/7 +f 396/362/8 408/372/8 406/370/8 +f 393/357/7 405/377/7 407/371/7 +f 396/362/2 400/369/2 404/368/2 +f 394/356/1 406/370/1 403/373/1 +f 395/355/2 407/371/2 401/375/2 +f 393/357/1 398/952/1 402/376/1 +f 412/380/2 410/407/2 434/383/2 +f 434/383/2 436/378/2 412/380/2 +f 433/381/4 438/953/4 439/382/4 +f 418/384/4 421/954/4 432/385/4 +f 409/387/7 422/955/7 421/388/7 +f 416/390/4 426/414/4 429/391/4 +f 413/393/20 428/405/20 422/394/20 +f 420/396/7 432/425/7 431/397/7 +f 410/399/21 424/956/21 423/400/21 +f 417/402/7 430/422/7 427/403/7 +f 414/401/5 423/400/5 428/405/5 +f 412/380/8 425/418/8 424/406/8 +f 419/408/5 431/957/5 430/409/5 +f 415/392/22 429/391/22 425/411/22 +f 411/413/23 427/958/23 426/414/23 +f 434/415/7 439/419/7 440/416/7 +f 439/419/1 424/406/1 425/418/1 +f 425/418/1 429/391/1 440/416/1 +f 416/420/2 415/379/2 436/378/2 +f 426/414/1 437/959/1 440/416/1 +f 437/959/1 426/414/1 427/403/1 +f 430/422/1 431/397/1 438/423/1 +f 438/423/1 437/959/1 427/403/1 +f 411/424/2 416/420/2 435/421/2 +f 433/381/2 419/408/2 417/410/2 +f 411/424/2 435/421/2 433/381/2 +f 423/400/1 424/406/1 432/425/1 +f 424/406/1 439/419/1 432/425/1 +f 439/419/1 438/423/1 431/397/1 +f 434/383/2 410/407/2 420/386/2 +f 410/407/2 414/960/2 420/386/2 +f 420/386/2 419/408/2 434/383/2 +f 432/425/1 421/388/1 422/955/1 +f 422/955/1 428/405/1 432/425/1 +f 409/427/2 418/384/2 420/386/2 +f 420/386/2 414/960/2 413/426/2 +f 435/428/8 437/959/8 438/423/8 +f 436/378/5 440/961/5 437/430/5 +f 470/431/1 471/434/1 443/432/1 +f 471/434/1 472/436/1 442/435/1 +f 472/436/1 457/438/1 441/437/1 +f 457/438/1 458/440/1 456/439/1 +f 458/440/1 459/962/1 455/441/1 +f 455/441/1 459/962/1 460/442/1 +f 454/443/1 460/442/1 461/444/1 +f 461/444/1 462/447/1 452/446/1 +f 462/447/1 463/963/1 451/448/1 +f 451/448/1 463/963/1 464/449/1 +f 450/450/1 464/449/1 465/451/1 +f 449/453/1 465/964/1 466/454/1 +f 448/455/1 466/454/1 467/456/1 +f 467/456/1 468/965/1 446/458/1 +f 446/458/1 468/965/1 469/459/1 +f 469/459/1 470/431/1 444/433/1 +f 475/461/2 503/465/2 502/462/2 +f 474/464/2 504/467/2 503/465/2 +f 473/466/2 489/469/2 504/467/2 +f 488/468/2 490/471/2 489/469/2 +f 487/470/2 491/473/2 490/471/2 +f 487/470/2 486/474/2 492/472/2 +f 486/474/2 485/477/2 493/475/2 +f 484/476/2 494/479/2 493/475/2 +f 483/478/2 495/481/2 494/479/2 +f 483/478/2 482/482/2 496/480/2 +f 482/482/2 481/966/2 497/483/2 +f 481/484/2 480/487/2 498/485/2 +f 480/487/2 479/490/2 499/488/2 +f 478/489/2 500/492/2 499/488/2 +f 478/489/2 477/493/2 501/491/2 +f 476/463/2 502/462/2 501/491/2 +f 510/494/8 509/967/8 507/495/8 +f 511/497/4 510/968/4 505/498/4 +f 528/500/8 531/509/8 532/501/8 +f 529/502/4 532/969/4 530/503/4 +f 513/505/7 525/512/7 526/506/7 +f 528/500/24 515/510/24 516/508/24 +f 515/510/5 517/970/5 518/511/5 +f 530/503/25 526/506/25 525/512/25 +f 511/524/2 531/526/2 510/515/2 +f 531/526/2 516/971/2 524/972/2 +f 510/515/2 531/526/2 523/513/2 +f 516/971/2 518/973/2 524/972/2 +f 524/972/2 523/513/2 531/526/2 +f 530/974/2 509/527/2 510/515/2 +f 514/975/2 526/976/2 522/514/2 +f 526/976/2 530/974/2 510/515/2 +f 522/514/2 526/976/2 510/515/2 +f 506/516/1 528/523/1 529/517/1 +f 508/518/1 529/517/1 527/519/1 +f 507/520/1 527/519/1 505/977/1 +f 527/519/1 525/978/1 505/977/1 +f 525/978/1 513/979/1 519/980/1 +f 525/978/1 519/980/1 505/977/1 +f 519/980/1 520/521/1 505/977/1 +f 528/523/1 506/516/1 505/977/1 +f 517/981/1 515/982/1 521/522/1 +f 515/982/1 528/523/1 521/522/1 +f 528/523/1 505/977/1 520/521/1 +f 511/524/2 512/528/2 532/525/2 +f 509/527/2 530/974/2 532/525/2 +f 509/529/5 512/983/5 508/530/5 +f 512/532/7 511/984/7 506/533/7 +f 539/535/4 540/545/4 537/536/4 +f 534/538/1 539/535/1 538/537/1 +f 536/540/8 540/545/8 539/535/8 +f 533/542/7 538/537/7 537/536/7 +f 535/544/2 537/536/2 540/545/2 +f 541/547/25 549/584/25 542/548/25 +f 546/550/4 553/554/4 554/551/4 +f 544/553/8 552/985/8 553/554/8 +f 545/555/4 551/986/4 550/556/4 +f 547/552/7 554/551/7 551/558/7 +f 541/547/4 548/549/4 552/560/4 +f 562/562/7 557/572/7 542/563/7 +f 559/565/1 568/571/1 567/566/1 +f 570/568/2 571/576/2 564/569/2 +f 568/571/26 571/576/26 570/568/26 +f 567/566/1 542/563/1 557/572/1 +f 562/573/2 549/987/2 570/568/2 +f 559/565/1 560/604/1 569/574/1 +f 572/575/2 565/600/2 564/569/2 +f 569/574/27 572/575/27 571/576/27 +f 574/577/5 573/597/5 561/578/5 +f 556/580/28 567/988/28 570/581/28 +f 542/548/1 567/989/1 556/583/1 +f 549/584/2 541/547/2 555/585/2 +f 578/587/4 577/602/4 575/588/4 +f 569/574/29 577/603/29 578/590/29 +f 579/591/7 580/990/7 576/592/7 +f 580/594/5 579/991/5 556/595/5 +f 573/597/1 550/556/1 579/591/1 +f 550/556/8 573/597/8 574/577/8 +f 574/577/2 576/992/2 580/594/2 +f 566/579/2 578/993/2 576/599/2 +f 565/600/2 572/575/2 578/590/2 +f 573/597/1 575/588/1 577/602/1 +f 577/603/1 569/574/1 560/604/1 +f 550/556/1 551/986/1 554/994/1 +f 553/606/1 552/560/1 548/549/1 +f 579/591/1 550/556/1 554/994/1 +f 553/606/1 548/549/1 556/607/1 +f 579/591/1 554/994/1 553/606/1 +f 547/609/2 545/995/2 543/598/2 +f 580/594/2 555/596/2 546/608/2 +f 555/596/2 541/996/2 546/608/2 +f 541/996/2 544/997/2 546/608/2 +f 547/609/2 543/598/2 580/594/2 +f 581/610/30 584/613/30 583/611/30 +f 130/128/5 583/611/5 584/613/5 +f 129/130/4 131/129/4 581/615/4 +f 586/617/31 588/624/31 587/618/31 +f 589/620/32 592/623/32 591/621/32 +f 586/617/4 591/621/4 592/623/4 +f 585/619/5 587/618/5 589/625/5 +f 594/627/33 596/633/33 595/628/33 +f 598/630/34 597/998/34 600/631/34 +f 594/627/35 599/632/35 600/631/35 +f 593/629/36 595/628/36 597/634/36 +f 602/636/37 604/643/37 603/637/37 +f 605/639/38 608/642/38 607/640/38 +f 602/636/36 607/640/36 608/642/36 +f 601/638/35 603/637/35 605/644/35 +f 609/646/39 610/652/39 612/647/39 +f 614/649/40 613/999/40 616/650/40 +f 610/652/41 615/651/41 616/650/41 +f 609/646/42 611/648/42 613/653/42 +f 618/655/43 620/661/43 619/656/43 +f 622/658/44 621/1000/44 624/659/44 +f 618/655/42 623/660/42 624/659/42 +f 617/657/41 619/656/41 621/662/41 +f 669/664/2 670/667/2 638/665/2 +f 670/667/2 671/669/2 639/668/2 +f 671/669/2 672/1001/2 640/670/2 +f 640/670/2 672/1001/2 657/671/2 +f 657/671/2 658/674/2 626/673/2 +f 658/674/2 659/1002/2 627/675/2 +f 627/675/2 659/1002/2 660/676/2 +f 628/677/2 660/676/2 661/678/2 +f 629/679/2 661/678/2 662/680/2 +f 630/681/2 662/680/2 663/682/2 +f 631/683/2 663/682/2 664/684/2 +f 632/685/2 664/684/2 665/686/2 +f 665/688/2 666/691/2 634/689/2 +f 666/691/2 667/693/2 635/692/2 +f 667/693/2 668/695/2 636/694/2 +f 668/695/2 669/664/2 637/666/2 +f 655/696/1 687/700/1 686/697/1 +f 656/699/1 688/702/1 687/700/1 +f 656/699/1 641/704/1 673/701/1 +f 642/703/1 674/706/1 673/701/1 +f 643/705/1 675/708/1 674/706/1 +f 643/705/1 644/709/1 676/707/1 +f 644/709/1 645/711/1 677/710/1 +f 645/711/1 646/713/1 678/712/1 +f 646/713/1 647/715/1 679/714/1 +f 647/715/1 648/717/1 680/716/1 +f 648/717/1 649/1003/1 681/718/1 +f 650/719/1 682/723/1 681/720/1 +f 651/722/1 683/725/1 682/723/1 +f 652/724/1 684/727/1 683/725/1 +f 653/726/1 685/728/1 684/727/1 +f 654/698/1 686/697/1 685/728/1 +f 691/730/2 690/1004/2 689/1005/2 +f 689/1005/2 704/1006/2 703/1007/2 +f 703/1007/2 702/1008/2 699/731/2 +f 702/1008/2 701/1009/2 699/731/2 +f 701/1009/2 700/1010/2 699/731/2 +f 699/731/2 698/1011/2 697/1012/2 +f 697/1012/2 696/1013/2 695/1014/2 +f 695/1014/2 694/1015/2 693/729/2 +f 693/729/2 692/1016/2 691/730/2 +f 691/730/2 689/1005/2 699/731/2 +f 689/1005/2 703/1007/2 699/731/2 +f 699/731/2 697/1012/2 695/1014/2 +f 695/1014/2 693/729/2 699/731/2 +f 721/732/45 725/1017/45 726/733/45 +f 724/735/2 728/1018/2 727/736/2 +f 722/734/8 726/1019/8 728/738/8 +f 727/739/7 725/1020/7 721/732/7 +f 873/740/46 877/1021/46 878/741/46 +f 758/743/1 774/747/1 773/744/1 +f 759/746/1 775/749/1 774/747/1 +f 760/748/1 776/751/1 775/749/1 +f 745/750/1 761/753/1 776/751/1 +f 745/750/1 746/754/1 762/752/1 +f 746/754/1 747/756/1 763/755/1 +f 747/756/1 748/758/1 764/757/1 +f 748/758/1 749/760/1 765/759/1 +f 749/760/1 750/762/1 766/761/1 +f 750/762/1 751/764/1 767/763/1 +f 751/764/1 752/766/1 768/765/1 +f 752/766/1 753/1022/1 769/767/1 +f 754/768/1 770/772/1 769/769/1 +f 755/771/1 771/774/1 770/772/1 +f 756/773/1 772/775/1 771/774/1 +f 757/745/1 773/744/1 772/775/1 +f 809/1023/1 810/1024/1 811/1025/1 +f 811/1025/1 812/1026/1 813/776/1 +f 813/776/1 814/1027/1 815/1028/1 +f 815/1028/1 816/1029/1 817/777/1 +f 817/777/1 818/1030/1 819/1031/1 +f 819/1031/1 820/1032/1 821/778/1 +f 821/778/1 822/1033/1 823/1034/1 +f 823/1034/1 824/1035/1 809/1023/1 +f 809/1023/1 811/1025/1 813/776/1 +f 813/776/1 815/1028/1 817/777/1 +f 817/777/1 819/1031/1 821/778/1 +f 821/778/1 823/1034/1 809/1023/1 +f 809/1023/1 813/776/1 821/778/1 +f 717/779/47 718/782/47 854/780/47 +f 718/782/48 719/784/48 855/783/48 +f 719/784/49 720/786/49 856/785/49 +f 720/786/50 706/789/50 841/787/50 +f 705/788/51 842/791/51 841/787/51 +f 707/790/52 843/793/52 842/791/52 +f 708/792/53 844/795/53 843/793/53 +f 709/794/54 845/797/54 844/795/54 +f 710/796/55 846/799/55 845/797/55 +f 711/798/56 847/801/56 846/799/56 +f 712/800/57 848/803/57 847/801/57 +f 713/802/58 849/1036/58 848/803/58 +f 713/804/59 714/807/59 850/805/59 +f 714/807/60 715/809/60 851/808/60 +f 715/809/61 716/811/61 852/810/61 +f 716/811/62 717/779/62 853/781/62 +f 838/812/63 870/843/63 871/813/63 +f 839/814/64 871/813/64 872/815/64 +f 840/816/65 872/815/65 857/817/65 +f 857/817/66 858/820/66 825/819/66 +f 858/820/67 859/822/67 827/821/67 +f 859/822/68 860/824/68 828/823/68 +f 860/824/69 861/826/69 829/825/69 +f 861/826/70 862/828/70 830/827/70 +f 862/828/71 863/830/71 831/829/71 +f 863/830/72 864/832/72 832/831/72 +f 864/832/73 865/1037/73 833/833/73 +f 833/834/74 865/1038/74 866/835/74 +f 834/836/75 866/835/75 867/837/75 +f 835/838/76 867/837/76 868/839/76 +f 836/840/77 868/839/77 869/841/77 +f 837/842/78 869/841/78 870/843/78 +f 876/844/2 880/1039/2 879/845/2 +f 874/742/7 878/1040/7 880/847/7 +f 879/848/8 877/1041/8 873/740/8 +f 881/849/3 885/1042/3 886/850/3 +f 884/852/2 888/1043/2 887/853/2 +f 882/851/5 886/1044/5 888/855/5 +f 887/856/4 885/1045/4 881/849/4 +f 889/857/31 893/1046/31 894/858/31 +f 892/860/2 896/1047/2 895/861/2 +f 890/859/4 894/1048/4 896/863/4 +f 895/864/5 893/1049/5 889/857/5 +f 897/865/79 901/1050/79 902/866/79 +f 899/868/2 900/872/2 904/869/2 +f 898/867/24 902/1051/24 904/871/24 +f 903/873/25 901/1052/25 897/865/25 +f 905/874/80 909/1053/80 910/875/80 +f 908/877/2 912/1054/2 911/878/2 +f 906/876/25 910/1055/25 912/880/25 +f 911/881/24 909/1056/24 905/874/24 +f 914/882/81 913/890/81 917/883/81 +f 916/885/2 920/1057/2 919/886/2 +f 914/882/82 918/1058/82 920/888/82 +f 919/889/83 917/1059/83 913/890/83 +f 922/891/84 921/899/84 925/892/84 +f 924/894/2 928/1060/2 927/895/2 +f 922/891/83 926/1061/83 928/897/83 +f 927/898/82 925/1062/82 921/899/82 +s 1 +f 1/41/4 4/15/85 3/39/85 +f 4/15/85 5/38/83 3/39/85 +f 6/17/83 7/36/86 5/38/83 +f 8/19/86 9/34/8 7/36/86 +f 10/21/8 11/64/87 9/34/8 +f 12/22/87 13/62/24 11/64/87 +f 14/24/24 15/60/88 13/62/24 +f 16/26/88 17/58/5 15/60/88 +f 18/900/5 19/55/89 17/57/5 +f 20/30/89 21/53/82 19/55/89 +f 22/4/82 23/51/90 21/53/82 +f 24/1/90 25/49/7 23/51/90 +f 25/49/7 28/6/91 27/47/91 +f 28/6/91 29/45/25 27/47/91 +f 30/8/25 31/43/92 29/45/25 +f 32/11/92 1/41/4 31/43/92 +f 48/14/89 63/1063/82 47/16/82 +f 41/31/4 56/1064/85 40/32/85 +f 34/10/88 49/1065/5 33/12/5 +f 33/12/5 64/1066/89 48/14/89 +f 42/27/92 57/1067/4 41/29/4 +f 35/9/24 50/1068/88 34/10/88 +f 43/25/25 58/1069/92 42/27/92 +f 36/7/87 51/1070/24 35/9/24 +f 44/23/91 59/1071/25 43/25/25 +f 37/2/8 52/1072/87 36/7/87 +f 45/20/7 60/1073/91 44/23/91 +f 38/5/86 53/1074/8 37/2/8 +f 46/18/90 61/1075/7 45/20/7 +f 39/33/83 54/1076/86 38/5/86 +f 47/16/82 62/1077/90 46/18/90 +f 40/32/85 55/1078/83 39/33/83 +f 89/99/5 74/98/88 73/66/5 +f 82/115/92 67/80/25 66/83/92 +f 90/101/88 75/97/24 74/98/88 +f 83/112/25 68/78/91 67/80/25 +f 91/127/24 76/94/87 75/97/24 +f 84/111/91 69/77/7 68/78/91 +f 92/125/87 77/93/8 76/94/87 +f 85/110/7 70/75/90 69/77/7 +f 93/124/8 78/90/86 77/93/8 +f 86/108/90 71/72/82 70/75/90 +f 94/121/86 79/88/83 78/90/86 +f 87/105/82 72/69/89 71/72/82 +f 95/120/83 80/87/85 79/88/83 +f 88/102/89 73/903/5 72/69/89 +f 81/117/4 66/83/92 65/85/4 +f 96/119/85 65/85/4 80/87/85 +f 110/1079/90 125/123/7 109/1080/7 +f 103/1081/83 118/107/86 102/1082/86 +f 111/1083/82 126/907/90 110/1079/90 +f 104/1084/85 119/905/83 103/1081/83 +f 112/1085/89 127/122/82 111/1083/82 +f 105/1086/4 120/106/85 104/1084/85 +f 98/1087/88 113/116/5 97/1088/5 +f 97/1088/5 128/118/89 112/1085/89 +f 106/1089/92 121/904/4 105/1090/4 +f 99/1091/24 114/114/88 98/1087/88 +f 107/1092/25 122/100/92 106/1089/92 +f 100/1093/87 115/906/24 99/1091/24 +f 108/1094/91 123/126/25 107/1092/25 +f 101/1095/8 116/113/87 100/1093/87 +f 109/1080/7 124/908/91 108/1094/91 +f 102/1082/86 117/109/8 101/1095/8 +f 248/1096/83 255/1097/8 247/1098/8 +f 246/1099/24 253/1100/5 245/1101/5 +f 244/1102/82 251/1103/7 243/1104/7 +f 242/1105/25 249/1106/4 241/1107/4 +f 241/1107/4 256/1108/83 248/1096/83 +f 247/1098/8 254/1109/24 246/1099/24 +f 245/1110/5 252/1111/82 244/1102/82 +f 243/1104/7 250/1112/25 242/1105/25 +f 269/939/5 262/1113/24 261/1114/5 +f 267/283/7 260/1115/82 259/1116/7 +f 265/274/4 258/1117/25 257/1118/4 +f 272/272/83 257/1118/4 264/1119/83 +f 270/285/24 263/1120/8 262/1113/24 +f 268/287/82 261/1121/5 260/1115/82 +f 266/281/25 259/1116/7 258/1117/25 +f 271/275/8 264/1119/83 263/1120/8 +f 275/282/7 284/1122/82 276/279/82 +f 273/273/4 282/1123/25 274/288/25 +f 280/284/83 281/1124/4 273/273/4 +f 278/276/24 287/1125/8 279/277/8 +f 276/279/82 285/1126/5 277/280/5 +f 274/288/25 283/1127/7 275/282/7 +f 279/277/8 288/1128/83 280/284/83 +f 277/286/5 286/1129/24 278/276/24 +f 291/1130/7 300/1131/93 292/1132/82 +f 289/1133/4 298/1134/94 290/1135/25 +f 296/1136/83 297/1137/95 289/1133/4 +f 294/1138/24 303/1139/96 295/1140/8 +f 292/1132/82 301/1141/97 293/1142/5 +f 290/1135/25 299/1143/98 291/1130/7 +f 295/1140/8 304/1144/99 296/1136/83 +f 293/1145/5 302/1146/100 294/1138/24 +f 303/1139/96 306/1147/101 304/1144/99 +f 300/1131/93 307/1148/102 310/1149/103 +f 298/1134/94 308/1150/104 311/1151/105 +f 304/1144/99 308/1150/104 297/1137/95 +f 302/1146/100 309/1152/106 303/1139/96 +f 299/1143/98 311/1151/105 307/1148/102 +f 301/1153/97 312/1154/107 302/1146/100 +f 301/1141/97 310/1149/103 305/1155/108 +f 313/1156/4 328/1157/83 320/1158/83 +f 319/1159/8 326/1160/24 318/1161/24 +f 317/1162/5 324/1163/82 316/1164/82 +f 315/1165/7 322/1166/25 314/1167/25 +f 320/1158/83 327/1168/8 319/1159/8 +f 318/1161/24 325/1169/5 317/1170/5 +f 316/1164/82 323/1171/7 315/1165/7 +f 314/1167/25 321/1172/4 313/1156/4 +f 354/315/88 387/349/24 355/317/24 +f 347/945/25 380/333/91 348/303/91 +f 355/317/24 388/353/87 356/948/87 +f 348/303/91 381/336/7 349/305/7 +f 356/948/87 389/352/8 357/320/8 +f 349/305/7 382/340/90 350/308/90 +f 357/320/8 390/323/86 358/292/86 +f 350/308/90 383/342/82 351/946/82 +f 358/292/86 391/326/83 359/295/83 +f 351/946/82 384/341/89 352/310/89 +f 359/295/83 392/328/85 360/297/85 +f 352/310/89 385/344/5 353/312/5 +f 345/299/4 378/332/92 346/301/92 +f 360/297/85 377/330/4 345/299/4 +f 353/947/5 386/346/88 354/315/88 +f 346/301/92 379/334/25 347/945/25 +f 466/454/88 499/488/24 467/456/24 +f 459/962/25 492/472/91 460/442/91 +f 467/456/24 500/492/87 468/965/87 +f 460/442/91 493/475/7 461/444/7 +f 468/965/87 501/491/8 469/459/8 +f 461/444/7 494/479/90 462/447/90 +f 469/459/8 502/462/86 470/431/86 +f 462/447/90 495/481/82 463/963/82 +f 470/431/86 503/465/83 471/434/83 +f 463/963/82 496/480/89 464/449/89 +f 471/434/83 504/467/85 472/436/85 +f 464/449/89 497/483/5 465/451/5 +f 457/438/4 490/471/92 458/440/92 +f 472/436/85 489/469/4 457/438/4 +f 465/964/5 498/485/88 466/454/88 +f 458/440/92 491/473/25 459/962/25 +f 633/687/5 648/717/89 632/685/89 +f 626/673/92 641/704/4 625/672/4 +f 625/672/4 656/699/85 640/670/85 +f 634/689/88 649/721/5 633/690/5 +f 627/675/25 642/703/92 626/673/92 +f 635/692/24 650/719/88 634/689/88 +f 628/677/91 643/705/25 627/675/25 +f 636/694/87 651/722/24 635/692/24 +f 629/679/7 644/709/91 628/677/91 +f 637/666/8 652/724/87 636/694/87 +f 630/681/90 645/711/7 629/679/7 +f 638/665/86 653/726/8 637/666/8 +f 631/683/82 646/713/90 630/681/90 +f 639/668/83 654/698/86 638/665/86 +f 632/685/89 647/715/82 631/683/82 +f 640/670/85 655/696/83 639/668/83 +f 668/1173/91 685/728/7 669/1174/7 +f 661/1175/8 678/712/86 662/1176/86 +f 669/1174/7 686/697/90 670/1177/90 +f 662/1176/86 679/714/83 663/1178/83 +f 670/1177/90 687/700/82 671/1179/82 +f 663/1178/83 680/716/85 664/1180/85 +f 671/1179/82 688/702/89 672/1181/89 +f 664/1180/85 681/718/4 665/1182/4 +f 657/1183/5 674/706/88 658/1184/88 +f 672/1181/89 673/701/5 657/1183/5 +f 665/1185/4 682/723/92 666/1186/92 +f 658/1184/88 675/708/24 659/1187/24 +f 666/1186/92 683/725/25 667/1188/25 +f 659/1187/24 676/707/87 660/1189/87 +f 667/1188/25 684/727/91 668/1173/91 +f 660/1189/87 677/710/8 661/1175/8 +f 837/842/109 742/1190/110 741/1191/109 +f 695/1192/82 710/796/90 694/1193/90 +f 703/1194/83 718/782/86 702/1195/86 +f 695/1192/82 712/800/89 711/798/82 +f 704/1196/85 719/784/83 703/1194/83 +f 696/1197/89 713/802/5 712/800/89 +f 690/1198/92 706/789/4 689/1199/4 +f 704/1196/85 706/789/4 720/786/85 +f 697/1200/5 714/807/88 713/804/5 +f 691/1201/25 705/788/92 690/1198/92 +f 699/1202/24 714/807/88 698/1203/88 +f 692/1204/91 707/790/25 691/1201/25 +f 700/1205/87 715/809/24 699/1202/24 +f 693/1206/7 708/792/91 692/1204/91 +f 701/1207/8 716/811/87 700/1205/87 +f 693/1206/7 710/796/90 709/794/7 +f 702/1195/86 717/779/8 701/1207/8 +f 836/840/111 741/1191/109 740/1208/111 +f 835/838/112 740/1208/111 739/1209/112 +f 834/836/113 739/1209/112 738/1210/113 +f 833/834/114 738/1210/113 737/1211/114 +f 832/831/115 737/1212/114 736/1213/115 +f 735/1214/116 832/831/115 736/1213/115 +f 734/1215/117 831/829/116 735/1214/116 +f 733/1216/118 830/827/117 734/1215/117 +f 732/1217/119 829/825/118 733/1216/118 +f 731/1218/120 828/823/119 732/1217/119 +f 730/1219/121 827/821/120 731/1218/120 +f 729/1220/122 825/819/121 730/1219/121 +f 840/816/123 729/1220/122 744/1221/123 +f 839/814/124 744/1221/123 743/1222/124 +f 838/812/110 743/1222/124 742/1190/110 +f 739/1209/24 754/768/88 738/1210/88 +f 732/1217/91 747/756/25 731/1218/25 +f 740/1208/87 755/771/24 739/1209/24 +f 733/1216/7 748/758/91 732/1217/91 +f 741/1191/8 756/773/87 740/1208/87 +f 734/1215/90 749/760/7 733/1216/7 +f 742/1190/86 757/745/8 741/1191/8 +f 735/1214/82 750/762/90 734/1215/90 +f 743/1222/83 758/743/86 742/1190/86 +f 736/1213/89 751/764/82 735/1214/82 +f 744/1221/85 759/746/83 743/1222/83 +f 737/1212/5 752/766/89 736/1213/89 +f 730/1219/92 745/750/4 729/1220/4 +f 729/1220/4 760/748/85 744/1221/85 +f 738/1210/88 753/770/5 737/1211/5 +f 731/1218/25 746/754/92 730/1219/92 +f 761/753/45 778/1223/125 777/1224/45 +f 761/753/45 792/1225/126 776/751/126 +f 775/749/79 792/1225/126 791/1226/79 +f 774/747/127 791/1226/79 790/1227/127 +f 774/747/127 789/1228/3 773/744/3 +f 772/775/128 789/1228/3 788/1229/128 +f 771/774/81 788/1229/128 787/1230/81 +f 771/774/81 786/1231/129 770/772/129 +f 770/772/129 785/1232/46 769/769/46 +f 769/767/46 784/1233/130 768/765/130 +f 767/763/80 784/1233/130 783/1234/80 +f 766/761/131 783/1234/80 782/1235/131 +f 766/761/131 781/1236/31 765/759/31 +f 764/757/132 781/1236/31 780/1237/132 +f 764/757/132 779/1238/84 763/755/84 +f 763/755/84 778/1223/125 762/752/125 +f 787/1230/24 802/1239/88 786/1231/88 +f 780/1237/91 795/1240/25 779/1238/25 +f 788/1229/87 803/1241/24 787/1230/24 +f 781/1236/7 796/1242/91 780/1237/91 +f 789/1228/8 804/1243/87 788/1229/87 +f 782/1235/90 797/1244/7 781/1236/7 +f 790/1227/86 805/1245/8 789/1228/8 +f 783/1234/82 798/1246/90 782/1235/90 +f 791/1226/83 806/1247/86 790/1227/86 +f 784/1233/89 799/1248/82 783/1234/82 +f 792/1225/85 807/1249/83 791/1226/83 +f 785/1250/5 800/1251/89 784/1233/89 +f 778/1223/92 793/1252/4 777/1224/4 +f 777/1224/4 808/1253/85 792/1225/85 +f 786/1231/88 801/1254/5 785/1232/5 +f 779/1238/25 794/1255/92 778/1223/92 +f 808/1253/133 823/1256/134 807/1249/134 +f 807/1249/134 822/1257/135 806/1247/135 +f 806/1247/135 821/1258/136 805/1245/136 +f 805/1245/136 820/1259/137 804/1243/137 +f 803/1241/138 820/1259/137 819/1260/138 +f 803/1241/138 818/1261/139 802/1239/139 +f 802/1239/139 817/1262/9 801/1254/9 +f 801/1263/9 816/1264/140 800/1251/140 +f 799/1248/141 816/1264/140 815/1265/141 +f 798/1246/142 815/1265/141 814/1266/142 +f 797/1244/143 814/1266/142 813/1267/143 +f 796/1242/144 813/1267/143 812/1268/144 +f 795/1240/145 812/1268/144 811/1269/145 +f 794/1255/146 811/1269/145 810/1270/146 +f 793/1252/104 810/1270/146 809/1271/104 +f 793/1252/104 824/1272/133 808/1253/133 +f 850/805/88 865/1038/5 849/806/5 +f 843/793/25 858/820/92 842/791/92 +f 851/808/24 866/835/88 850/805/88 +f 844/795/91 859/822/25 843/793/25 +f 852/810/87 867/837/24 851/808/24 +f 845/797/7 860/824/91 844/795/91 +f 853/781/8 868/839/87 852/810/87 +f 846/799/90 861/826/7 845/797/7 +f 854/780/86 869/841/8 853/781/8 +f 847/801/82 862/828/90 846/799/90 +f 855/783/83 870/843/86 854/780/86 +f 848/803/89 863/830/82 847/801/82 +f 856/785/85 871/813/83 855/783/83 +f 849/1036/5 864/832/89 848/803/89 +f 842/791/92 857/817/4 841/787/4 +f 841/787/4 872/815/85 856/785/85 +f 1/41/4 2/13/4 4/15/85 +f 4/15/85 6/17/83 5/38/83 +f 6/17/83 8/19/86 7/36/86 +f 8/19/86 10/21/8 9/34/8 +f 10/21/8 12/22/87 11/64/87 +f 12/22/87 14/24/24 13/62/24 +f 14/24/24 16/26/88 15/60/88 +f 16/26/88 18/28/5 17/58/5 +f 18/900/5 20/30/89 19/55/89 +f 20/30/89 22/4/82 21/53/82 +f 22/4/82 24/1/90 23/51/90 +f 24/1/90 26/3/7 25/49/7 +f 25/49/7 26/3/7 28/6/91 +f 28/6/91 30/8/25 29/45/25 +f 30/8/25 32/11/92 31/43/92 +f 32/11/92 2/13/4 1/41/4 +f 48/14/89 64/1066/89 63/1063/82 +f 41/31/4 57/1273/4 56/1064/85 +f 34/10/88 50/1068/88 49/1065/5 +f 33/12/5 49/1065/5 64/1066/89 +f 42/27/92 58/1069/92 57/1067/4 +f 35/9/24 51/1070/24 50/1068/88 +f 43/25/25 59/1071/25 58/1069/92 +f 36/7/87 52/1072/87 51/1070/24 +f 44/23/91 60/1073/91 59/1071/25 +f 37/2/8 53/1074/8 52/1072/87 +f 45/20/7 61/1075/7 60/1073/91 +f 38/5/86 54/1076/86 53/1074/8 +f 46/18/90 62/1077/90 61/1075/7 +f 39/33/83 55/1078/83 54/1076/86 +f 47/16/82 63/1063/82 62/1077/90 +f 40/32/85 56/1064/85 55/1078/83 +f 89/99/5 90/101/88 74/98/88 +f 82/115/92 83/112/25 67/80/25 +f 90/101/88 91/127/24 75/97/24 +f 83/112/25 84/111/91 68/78/91 +f 91/127/24 92/125/87 76/94/87 +f 84/111/91 85/110/7 69/77/7 +f 92/125/87 93/124/8 77/93/8 +f 85/110/7 86/108/90 70/75/90 +f 93/124/8 94/121/86 78/90/86 +f 86/108/90 87/105/82 71/72/82 +f 94/121/86 95/120/83 79/88/83 +f 87/105/82 88/102/89 72/69/89 +f 95/120/83 96/119/85 80/87/85 +f 88/102/89 89/104/5 73/903/5 +f 81/117/4 82/115/92 66/83/92 +f 96/119/85 81/117/4 65/85/4 +f 110/1079/90 126/907/90 125/123/7 +f 103/1081/83 119/905/83 118/107/86 +f 111/1083/82 127/122/82 126/907/90 +f 104/1084/85 120/106/85 119/905/83 +f 112/1085/89 128/118/89 127/122/82 +f 105/1086/4 121/103/4 120/106/85 +f 98/1087/88 114/114/88 113/116/5 +f 97/1088/5 113/116/5 128/118/89 +f 106/1089/92 122/100/92 121/904/4 +f 99/1091/24 115/906/24 114/114/88 +f 107/1092/25 123/126/25 122/100/92 +f 100/1093/87 116/113/87 115/906/24 +f 108/1094/91 124/908/91 123/126/25 +f 101/1095/8 117/109/8 116/113/87 +f 109/1080/7 125/123/7 124/908/91 +f 102/1082/86 118/107/86 117/109/8 +f 248/1096/83 256/1108/83 255/1097/8 +f 246/1099/24 254/1109/24 253/1100/5 +f 244/1102/82 252/1111/82 251/1103/7 +f 242/1105/25 250/1112/25 249/1106/4 +f 241/1107/4 249/1106/4 256/1108/83 +f 247/1098/8 255/1097/8 254/1109/24 +f 245/1110/5 253/1274/5 252/1111/82 +f 243/1104/7 251/1103/7 250/1112/25 +f 269/939/5 270/285/24 262/1113/24 +f 267/283/7 268/287/82 260/1115/82 +f 265/274/4 266/281/25 258/1117/25 +f 272/272/83 265/274/4 257/1118/4 +f 270/285/24 271/275/8 263/1120/8 +f 268/287/82 269/278/5 261/1121/5 +f 266/281/25 267/283/7 259/1116/7 +f 271/275/8 272/272/83 264/1119/83 +f 275/282/7 283/1127/7 284/1122/82 +f 273/273/4 281/1124/4 282/1123/25 +f 280/284/83 288/1128/83 281/1124/4 +f 278/276/24 286/1129/24 287/1125/8 +f 276/279/82 284/1122/82 285/1126/5 +f 274/288/25 282/1123/25 283/1127/7 +f 279/277/8 287/1125/8 288/1128/83 +f 277/286/5 285/1275/5 286/1129/24 +f 291/1130/7 299/1143/98 300/1131/93 +f 289/1133/4 297/1137/95 298/1134/94 +f 296/1136/83 304/1144/99 297/1137/95 +f 294/1138/24 302/1146/100 303/1139/96 +f 292/1132/82 300/1131/93 301/1141/97 +f 290/1135/25 298/1134/94 299/1143/98 +f 295/1140/8 303/1139/96 304/1144/99 +f 293/1145/5 301/1153/97 302/1146/100 +f 303/1139/96 309/1152/106 306/1147/101 +f 300/1131/93 299/1143/98 307/1148/102 +f 298/1134/94 297/1137/95 308/1150/104 +f 304/1144/99 306/1147/101 308/1150/104 +f 302/1146/100 312/1154/107 309/1152/106 +f 299/1143/98 298/1134/94 311/1151/105 +f 301/1153/97 305/1276/108 312/1154/107 +f 301/1141/97 300/1131/93 310/1149/103 +f 313/1156/4 321/1172/4 328/1157/83 +f 319/1159/8 327/1168/8 326/1160/24 +f 317/1162/5 325/1277/5 324/1163/82 +f 315/1165/7 323/1171/7 322/1166/25 +f 320/1158/83 328/1157/83 327/1168/8 +f 318/1161/24 326/1160/24 325/1169/5 +f 316/1164/82 324/1163/82 323/1171/7 +f 314/1167/25 322/1166/25 321/1172/4 +f 354/315/88 386/346/88 387/349/24 +f 347/945/25 379/334/25 380/333/91 +f 355/317/24 387/349/24 388/353/87 +f 348/303/91 380/333/91 381/336/7 +f 356/948/87 388/353/87 389/352/8 +f 349/305/7 381/336/7 382/340/90 +f 357/320/8 389/352/8 390/323/86 +f 350/308/90 382/340/90 383/342/82 +f 358/292/86 390/323/86 391/326/83 +f 351/946/82 383/342/82 384/341/89 +f 359/295/83 391/326/83 392/328/85 +f 352/310/89 384/341/89 385/344/5 +f 345/299/4 377/330/4 378/332/92 +f 360/297/85 392/328/85 377/330/4 +f 353/947/5 385/347/5 386/346/88 +f 346/301/92 378/332/92 379/334/25 +f 466/454/88 498/485/88 499/488/24 +f 459/962/25 491/473/25 492/472/91 +f 467/456/24 499/488/24 500/492/87 +f 460/442/91 492/472/91 493/475/7 +f 468/965/87 500/492/87 501/491/8 +f 461/444/7 493/475/7 494/479/90 +f 469/459/8 501/491/8 502/462/86 +f 462/447/90 494/479/90 495/481/82 +f 470/431/86 502/462/86 503/465/83 +f 463/963/82 495/481/82 496/480/89 +f 471/434/83 503/465/83 504/467/85 +f 464/449/89 496/480/89 497/483/5 +f 457/438/4 489/469/4 490/471/92 +f 472/436/85 504/467/85 489/469/4 +f 465/964/5 497/486/5 498/485/88 +f 458/440/92 490/471/92 491/473/25 +f 633/687/5 649/1003/5 648/717/89 +f 626/673/92 642/703/92 641/704/4 +f 625/672/4 641/704/4 656/699/85 +f 634/689/88 650/719/88 649/721/5 +f 627/675/25 643/705/25 642/703/92 +f 635/692/24 651/722/24 650/719/88 +f 628/677/91 644/709/91 643/705/25 +f 636/694/87 652/724/87 651/722/24 +f 629/679/7 645/711/7 644/709/91 +f 637/666/8 653/726/8 652/724/87 +f 630/681/90 646/713/90 645/711/7 +f 638/665/86 654/698/86 653/726/8 +f 631/683/82 647/715/82 646/713/90 +f 639/668/83 655/696/83 654/698/86 +f 632/685/89 648/717/89 647/715/82 +f 640/670/85 656/699/85 655/696/83 +f 668/1173/91 684/727/91 685/728/7 +f 661/1175/8 677/710/8 678/712/86 +f 669/1174/7 685/728/7 686/697/90 +f 662/1176/86 678/712/86 679/714/83 +f 670/1177/90 686/697/90 687/700/82 +f 663/1178/83 679/714/83 680/716/85 +f 671/1179/82 687/700/82 688/702/89 +f 664/1180/85 680/716/85 681/718/4 +f 657/1183/5 673/701/5 674/706/88 +f 672/1181/89 688/702/89 673/701/5 +f 665/1185/4 681/720/4 682/723/92 +f 658/1184/88 674/706/88 675/708/24 +f 666/1186/92 682/723/92 683/725/25 +f 659/1187/24 675/708/24 676/707/87 +f 667/1188/25 683/725/25 684/727/91 +f 660/1189/87 676/707/87 677/710/8 +f 837/842/109 838/812/110 742/1190/110 +f 695/1192/82 711/798/82 710/796/90 +f 703/1194/83 719/784/83 718/782/86 +f 695/1192/82 696/1197/89 712/800/89 +f 704/1196/85 720/786/85 719/784/83 +f 696/1197/89 697/1278/5 713/802/5 +f 690/1198/92 705/788/92 706/789/4 +f 704/1196/85 689/1199/4 706/789/4 +f 697/1200/5 698/1203/88 714/807/88 +f 691/1201/25 707/790/25 705/788/92 +f 699/1202/24 715/809/24 714/807/88 +f 692/1204/91 708/792/91 707/790/25 +f 700/1205/87 716/811/87 715/809/24 +f 693/1206/7 709/794/7 708/792/91 +f 701/1207/8 717/779/8 716/811/87 +f 693/1206/7 694/1193/90 710/796/90 +f 702/1195/86 718/782/86 717/779/8 +f 836/840/111 837/842/109 741/1191/109 +f 835/838/112 836/840/111 740/1208/111 +f 834/836/113 835/838/112 739/1209/112 +f 833/834/114 834/836/113 738/1210/113 +f 832/831/115 833/833/114 737/1212/114 +f 735/1214/116 831/829/116 832/831/115 +f 734/1215/117 830/827/117 831/829/116 +f 733/1216/118 829/825/118 830/827/117 +f 732/1217/119 828/823/119 829/825/118 +f 731/1218/120 827/821/120 828/823/119 +f 730/1219/121 825/819/121 827/821/120 +f 729/1220/122 826/818/122 825/819/121 +f 840/816/123 826/818/122 729/1220/122 +f 839/814/124 840/816/123 744/1221/123 +f 838/812/110 839/814/124 743/1222/124 +f 739/1209/24 755/771/24 754/768/88 +f 732/1217/91 748/758/91 747/756/25 +f 740/1208/87 756/773/87 755/771/24 +f 733/1216/7 749/760/7 748/758/91 +f 741/1191/8 757/745/8 756/773/87 +f 734/1215/90 750/762/90 749/760/7 +f 742/1190/86 758/743/86 757/745/8 +f 735/1214/82 751/764/82 750/762/90 +f 743/1222/83 759/746/83 758/743/86 +f 736/1213/89 752/766/89 751/764/82 +f 744/1221/85 760/748/85 759/746/83 +f 737/1212/5 753/1022/5 752/766/89 +f 730/1219/92 746/754/92 745/750/4 +f 729/1220/4 745/750/4 760/748/85 +f 738/1210/88 754/768/88 753/770/5 +f 731/1218/25 747/756/25 746/754/92 +f 761/753/45 762/752/125 778/1223/125 +f 761/753/45 777/1224/45 792/1225/126 +f 775/749/79 776/751/126 792/1225/126 +f 774/747/127 775/749/79 791/1226/79 +f 774/747/127 790/1227/127 789/1228/3 +f 772/775/128 773/744/3 789/1228/3 +f 771/774/81 772/775/128 788/1229/128 +f 771/774/81 787/1230/81 786/1231/129 +f 770/772/129 786/1231/129 785/1232/46 +f 769/767/46 785/1250/46 784/1233/130 +f 767/763/80 768/765/130 784/1233/130 +f 766/761/131 767/763/80 783/1234/80 +f 766/761/131 782/1235/131 781/1236/31 +f 764/757/132 765/759/31 781/1236/31 +f 764/757/132 780/1237/132 779/1238/84 +f 763/755/84 779/1238/84 778/1223/125 +f 787/1230/24 803/1241/24 802/1239/88 +f 780/1237/91 796/1242/91 795/1240/25 +f 788/1229/87 804/1243/87 803/1241/24 +f 781/1236/7 797/1244/7 796/1242/91 +f 789/1228/8 805/1245/8 804/1243/87 +f 782/1235/90 798/1246/90 797/1244/7 +f 790/1227/86 806/1247/86 805/1245/8 +f 783/1234/82 799/1248/82 798/1246/90 +f 791/1226/83 807/1249/83 806/1247/86 +f 784/1233/89 800/1251/89 799/1248/82 +f 792/1225/85 808/1253/85 807/1249/83 +f 785/1250/5 801/1263/5 800/1251/89 +f 778/1223/92 794/1255/92 793/1252/4 +f 777/1224/4 793/1252/4 808/1253/85 +f 786/1231/88 802/1239/88 801/1254/5 +f 779/1238/25 795/1240/25 794/1255/92 +f 808/1253/133 824/1272/133 823/1256/134 +f 807/1249/134 823/1256/134 822/1257/135 +f 806/1247/135 822/1257/135 821/1258/136 +f 805/1245/136 821/1258/136 820/1259/137 +f 803/1241/138 804/1243/137 820/1259/137 +f 803/1241/138 819/1260/138 818/1261/139 +f 802/1239/139 818/1261/139 817/1262/9 +f 801/1263/9 817/1279/9 816/1264/140 +f 799/1248/141 800/1251/140 816/1264/140 +f 798/1246/142 799/1248/141 815/1265/141 +f 797/1244/143 798/1246/142 814/1266/142 +f 796/1242/144 797/1244/143 813/1267/143 +f 795/1240/145 796/1242/144 812/1268/144 +f 794/1255/146 795/1240/145 811/1269/145 +f 793/1252/104 794/1255/146 810/1270/146 +f 793/1252/104 809/1271/104 824/1272/133 +f 850/805/88 866/835/88 865/1038/5 +f 843/793/25 859/822/25 858/820/92 +f 851/808/24 867/837/24 866/835/88 +f 844/795/91 860/824/91 859/822/25 +f 852/810/87 868/839/87 867/837/24 +f 845/797/7 861/826/7 860/824/91 +f 853/781/8 869/841/8 868/839/87 +f 846/799/90 862/828/90 861/826/7 +f 854/780/86 870/843/86 869/841/8 +f 847/801/82 863/830/82 862/828/90 +f 855/783/83 871/813/83 870/843/86 +f 848/803/89 864/832/89 863/830/82 +f 856/785/85 872/815/85 871/813/83 +f 849/1036/5 865/1037/5 864/832/89 +f 842/791/92 858/820/92 857/817/4 +f 841/787/4 857/817/4 872/815/85 diff --git a/src/main/resources/assets/hbm/textures/blocks/crane_partitioner_back.png b/src/main/resources/assets/hbm/textures/blocks/crane_partitioner_back.png new file mode 100644 index 000000000..96a123b22 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/crane_partitioner_back.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/crane_partitioner_side.png b/src/main/resources/assets/hbm/textures/blocks/crane_partitioner_side.png new file mode 100644 index 000000000..875d3d239 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/crane_partitioner_side.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_funnel_ore.png b/src/main/resources/assets/hbm/textures/blocks/machine_funnel_ore.png new file mode 100644 index 000000000..d429fc43e Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/machine_funnel_ore.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_funnel_ore_bottom.png b/src/main/resources/assets/hbm/textures/blocks/machine_funnel_ore_bottom.png new file mode 100644 index 000000000..e1062efc4 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/machine_funnel_ore_bottom.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_funnel_ore_side.png b/src/main/resources/assets/hbm/textures/blocks/machine_funnel_ore_side.png new file mode 100644 index 000000000..e83237b61 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/machine_funnel_ore_side.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_funnel_ore_top.png b/src/main/resources/assets/hbm/textures/blocks/machine_funnel_ore_top.png new file mode 100644 index 000000000..6b0e57915 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/machine_funnel_ore_top.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_ore_slopper.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_ore_slopper.png index 50b928eb7..78e60d229 100644 Binary files a/src/main/resources/assets/hbm/textures/gui/processing/gui_ore_slopper.png and b/src/main/resources/assets/hbm/textures/gui/processing/gui_ore_slopper.png differ diff --git a/src/main/resources/assets/hbm/textures/items/circuit.atomic_clock.png b/src/main/resources/assets/hbm/textures/items/circuit.atomic_clock.png new file mode 100644 index 000000000..c236d8641 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/circuit.atomic_clock.png differ diff --git a/src/main/resources/assets/hbm/textures/items/circuit.chip_quantum.png b/src/main/resources/assets/hbm/textures/items/circuit.chip_quantum.png new file mode 100644 index 000000000..966d39065 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/circuit.chip_quantum.png differ diff --git a/src/main/resources/assets/hbm/textures/items/circuit.controller_quantum.png b/src/main/resources/assets/hbm/textures/items/circuit.controller_quantum.png new file mode 100644 index 000000000..9655488d1 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/circuit.controller_quantum.png differ diff --git a/src/main/resources/assets/hbm/textures/items/circuit.png b/src/main/resources/assets/hbm/textures/items/circuit.png index de95e4f24..a62713b28 100644 Binary files a/src/main/resources/assets/hbm/textures/items/circuit.png and b/src/main/resources/assets/hbm/textures/items/circuit.png differ diff --git a/src/main/resources/assets/hbm/textures/items/circuit.quantum.png b/src/main/resources/assets/hbm/textures/items/circuit.quantum.png new file mode 100644 index 000000000..c7656cf53 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/circuit.quantum.png differ diff --git a/src/main/resources/assets/hbm/textures/items/heavy_duty_element.png b/src/main/resources/assets/hbm/textures/items/heavy_duty_element.png new file mode 100644 index 000000000..685c1f353 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/heavy_duty_element.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ingot_bscco.png b/src/main/resources/assets/hbm/textures/items/ingot_bscco.png new file mode 100644 index 000000000..7cdcd4059 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ingot_bscco.png differ diff --git a/src/main/resources/assets/hbm/textures/items/powder_cement.png b/src/main/resources/assets/hbm/textures/items/powder_cement.png new file mode 100644 index 000000000..a919c453f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/powder_cement.png differ diff --git a/src/main/resources/assets/hbm/textures/items/powder_limestone.png b/src/main/resources/assets/hbm/textures/items/powder_limestone.png new file mode 100644 index 000000000..7f7e59feb Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/powder_limestone.png differ diff --git a/src/main/resources/assets/hbm/textures/items/stick_dynamite_nuclear.png b/src/main/resources/assets/hbm/textures/items/stick_dynamite_nuclear.png deleted file mode 100644 index afafa853b..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/stick_dynamite_nuclear.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/machines/floodlight.png b/src/main/resources/assets/hbm/textures/models/machines/floodlight.png new file mode 100644 index 000000000..5dcd50afb Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/machines/floodlight.png differ diff --git a/src/main/resources/assets/hbm/textures/models/machines/ore_slopper.png b/src/main/resources/assets/hbm/textures/models/machines/ore_slopper.png index caf80bcaa..8505a178e 100644 Binary files a/src/main/resources/assets/hbm/textures/models/machines/ore_slopper.png and b/src/main/resources/assets/hbm/textures/models/machines/ore_slopper.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/greasegun.png b/src/main/resources/assets/hbm/textures/models/weapons/greasegun.png new file mode 100644 index 000000000..faa19137b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/greasegun.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/panzerschreck.png b/src/main/resources/assets/hbm/textures/models/weapons/panzerschreck.png new file mode 100644 index 000000000..e631118a2 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/panzerschreck.png differ