diff --git a/convert_models.py b/convert_models.py new file mode 100644 index 0000000..e011ef1 --- /dev/null +++ b/convert_models.py @@ -0,0 +1,86 @@ +#!/usr/bin/env python3 +"""Convert Ogre3D .mesh.xml to Three.js geometry modules.""" + +import xml.etree.ElementTree as ET +import json +import os +import sys + +def parse_mesh_xml(filepath): + tree = ET.parse(filepath) + root = tree.getroot() + + sharedgeom = root.find('sharedgeometry') + vertices = [] + if sharedgeom is not None: + for vb in sharedgeom.findall('vertexbuffer'): + for vertex in vb.findall('vertex'): + pos = vertex.find('position') + normal = vertex.find('normal') + v = {} + if pos is not None: + v['x'] = float(pos.get('x', 0)) + v['y'] = float(pos.get('y', 0)) + v['z'] = float(pos.get('z', 0)) + if normal is not None: + v['nx'] = float(normal.get('x', 0)) + v['ny'] = float(normal.get('y', 0)) + v['nz'] = float(normal.get('z', 0)) + vertices.append(v) + + faces = [] + for submeshes in root.findall('submeshes'): + for submesh in submeshes.findall('submesh'): + for faces_elem in submesh.findall('faces'): + for face in faces_elem.findall('face'): + v1 = int(face.get('v1', 0)) + v2 = int(face.get('v2', 0)) + v3 = int(face.get('v3', 0)) + faces.append((v1, v2, v3)) + + return vertices, faces + + +def main(): + base_dir = '/var/home/nico/Gamedev/Wackelpeter/extracted/Models' + output_dir = '/var/home/nico/Gamedev/Wackelpeter/web/public/models' + + os.makedirs(output_dir, exist_ok=True) + + for model_name in ['blob/Blob', 'sword/sword', 'shield/shield']: + filepath = os.path.join(base_dir, f'{model_name}.mesh.xml') + if not os.path.exists(filepath): + print(f'Skipping {filepath} - not found') + continue + + print(f'Converting {model_name}...') + vertices, faces = parse_mesh_xml(filepath) + + positions = [] + normals = [] + indices = [] + + for v in vertices: + positions.extend([v.get('x', 0), v.get('y', 0), v.get('z', 0)]) + normals.extend([v.get('nx', 0), v.get('ny', 0), v.get('nz', 0)]) + + for f in faces: + indices.extend(list(f)) + + model_data = { + 'positions': positions, + 'normals': normals, + 'indices': indices, + 'vertexCount': len(vertices), + 'faceCount': len(faces), + } + + name = os.path.basename(model_name).lower() + outpath = os.path.join(output_dir, f'{name}.json') + with open(outpath, 'w') as f: + json.dump(model_data, f) + + print(f' -> {outpath} ({len(vertices)} vertices, {len(faces)} faces)') + +if __name__ == '__main__': + main() diff --git a/decompiled/jme3/hello/HelloAnimation.java b/decompiled/jme3/hello/HelloAnimation.java new file mode 100644 index 0000000..20e02ab --- /dev/null +++ b/decompiled/jme3/hello/HelloAnimation.java @@ -0,0 +1,112 @@ +/* + * Decompiled with CFR 0.152. + * + * Could not load the following classes: + * com.jme3.animation.AnimChannel + * com.jme3.animation.AnimControl + * com.jme3.animation.AnimEventListener + * com.jme3.animation.LoopMode + * com.jme3.app.SimpleApplication + * com.jme3.input.controls.ActionListener + * com.jme3.input.controls.InputListener + * com.jme3.input.controls.KeyTrigger + * com.jme3.input.controls.MouseButtonTrigger + * com.jme3.input.controls.Trigger + * com.jme3.light.DirectionalLight + * com.jme3.light.Light + * com.jme3.material.Material + * com.jme3.math.ColorRGBA + * com.jme3.math.Vector3f + * com.jme3.scene.Node + * com.jme3.scene.Spatial + * com.jme3.scene.debug.SkeletonDebugger + */ +package jme3.hello; + +import com.jme3.animation.AnimChannel; +import com.jme3.animation.AnimControl; +import com.jme3.animation.AnimEventListener; +import com.jme3.animation.LoopMode; +import com.jme3.app.SimpleApplication; +import com.jme3.input.controls.ActionListener; +import com.jme3.input.controls.InputListener; +import com.jme3.input.controls.KeyTrigger; +import com.jme3.input.controls.MouseButtonTrigger; +import com.jme3.input.controls.Trigger; +import com.jme3.light.DirectionalLight; +import com.jme3.light.Light; +import com.jme3.material.Material; +import com.jme3.math.ColorRGBA; +import com.jme3.math.Vector3f; +import com.jme3.scene.Node; +import com.jme3.scene.Spatial; +import com.jme3.scene.debug.SkeletonDebugger; + +public class HelloAnimation +extends SimpleApplication +implements AnimEventListener { + private AnimChannel channel; + private AnimControl control; + Node player; + private ActionListener actionListener = new ActionListener(){ + + public void onAction(String name, boolean keyPressed, float tpf) { + if (name.equals("Walk") && !keyPressed && !HelloAnimation.this.channel.getAnimationName().equals("Walk")) { + HelloAnimation.this.channel.setAnim("Walk", 0.5f); + HelloAnimation.this.channel.setLoopMode(LoopMode.Loop); + } + if (name.equals("Dodge") && !keyPressed && !HelloAnimation.this.channel.getAnimationName().equals("Push")) { + HelloAnimation.this.channel.setAnim("push", 1.0f); + HelloAnimation.this.channel.setLoopMode(LoopMode.DontLoop); + } + } + }; + + public static void main(String[] agrs) { + HelloAnimation app = new HelloAnimation(); + app.start(); + } + + public void simpleInitApp() { + this.viewPort.setBackgroundColor(ColorRGBA.LightGray); + this.initKeys(); + DirectionalLight dl = new DirectionalLight(); + dl.setDirection(new Vector3f(-0.1f, -1.0f, -1.0f).normalizeLocal()); + this.rootNode.addLight((Light)dl); + this.player = (Node)this.assetManager.loadModel("Models/Oto/Oto.mesh.xml"); + this.player.setLocalScale(0.5f); + this.rootNode.attachChild((Spatial)this.player); + this.control = (AnimControl)this.player.getControl(AnimControl.class); + this.control.addListener((AnimEventListener)this); + this.channel = this.control.createChannel(); + this.channel.setAnim("stand"); + SkeletonDebugger skeletonDebug = new SkeletonDebugger("skeleton", this.control.getSkeleton()); + Material mat = new Material(this.assetManager, "Common/MatDefs/Misc/Unshaded.j3md"); + mat.setColor("Color", ColorRGBA.Green); + mat.getAdditionalRenderState().setDepthTest(false); + skeletonDebug.setMaterial(mat); + this.player.attachChild((Spatial)skeletonDebug); + } + + public void onAnimCycleDone(AnimControl control, AnimChannel channel, String animName) { + if (animName.equals("Walk")) { + channel.setAnim("stand", 0.5f); + channel.setLoopMode(LoopMode.DontLoop); + channel.setSpeed(1.0f); + } + if (animName.equals("push")) { + channel.setAnim("stand", 1.0f); + channel.setLoopMode(LoopMode.DontLoop); + channel.setSpeed(1.0f); + } + } + + public void onAnimChange(AnimControl control, AnimChannel channel, String animName) { + } + + private void initKeys() { + this.inputManager.addMapping("Walk", new Trigger[]{new KeyTrigger(57)}); + this.inputManager.addMapping("Dodge", new Trigger[]{new MouseButtonTrigger(0)}); + this.inputManager.addListener((InputListener)this.actionListener, new String[]{"Walk", "Dodge"}); + } +} diff --git a/decompiled/jme3/hello/HelloAssets.java b/decompiled/jme3/hello/HelloAssets.java new file mode 100644 index 0000000..a4e974c --- /dev/null +++ b/decompiled/jme3/hello/HelloAssets.java @@ -0,0 +1,68 @@ +/* + * Decompiled with CFR 0.152. + * + * Could not load the following classes: + * com.jme3.app.SimpleApplication + * com.jme3.font.BitmapText + * com.jme3.light.DirectionalLight + * com.jme3.light.Light + * com.jme3.material.Material + * com.jme3.math.Vector3f + * com.jme3.scene.Geometry + * com.jme3.scene.Mesh + * com.jme3.scene.Spatial + * com.jme3.scene.shape.Box + */ +package jme3.hello; + +import com.jme3.app.SimpleApplication; +import com.jme3.font.BitmapText; +import com.jme3.light.DirectionalLight; +import com.jme3.light.Light; +import com.jme3.material.Material; +import com.jme3.math.Vector3f; +import com.jme3.scene.Geometry; +import com.jme3.scene.Mesh; +import com.jme3.scene.Spatial; +import com.jme3.scene.shape.Box; + +public class HelloAssets +extends SimpleApplication { + public static void main(String[] args) { + HelloAssets app = new HelloAssets(); + app.start(); + } + + public void simpleInitApp() { + Spatial teapot = this.assetManager.loadModel("Models/Teapot/Teapot.obj"); + Material mat_default = new Material(this.assetManager, "Common/MatDefs/Misc/ShowNormals.j3md"); + teapot.setMaterial(mat_default); + this.rootNode.attachChild(teapot); + Box box = new Box(Vector3f.ZERO, 2.5f, 2.5f, 1.0f); + Geometry wall = new Geometry("Box", (Mesh)box); + Material mat_brick = new Material(this.assetManager, "Common/MatDefs/Misc/Unshaded.j3md"); + mat_brick.setTexture("ColorMap", this.assetManager.loadTexture("Textures/Terrain/BrickWall/BrickWall.jpg")); + wall.setMaterial(mat_brick); + wall.setLocalTranslation(2.0f, -2.5f, 0.0f); + this.rootNode.attachChild((Spatial)wall); + this.guiNode.detachAllChildren(); + this.guiFont = this.assetManager.loadFont("Interface/Fonts/Default.fnt"); + BitmapText helloText = new BitmapText(this.guiFont, false); + helloText.setSize((float)this.guiFont.getCharSet().getRenderedSize()); + helloText.setText("Hello World"); + helloText.setLocalTranslation(300.0f, helloText.getLineHeight(), 0.0f); + this.guiNode.attachChild((Spatial)helloText); + Spatial ninja = this.assetManager.loadModel("Models/Ninja/Ninja.mesh.xml"); + ninja.scale(0.05f, 0.05f, 0.05f); + ninja.rotate(0.0f, -3.0f, 0.0f); + ninja.setLocalTranslation(0.0f, -5.0f, -2.0f); + this.rootNode.attachChild(ninja); + DirectionalLight sun = new DirectionalLight(); + sun.setDirection(new Vector3f(-0.1f, -0.7f, -1.0f)); + this.rootNode.addLight((Light)sun); + Spatial gameLevel = this.assetManager.loadModel("Scenes/main.j3o"); + gameLevel.setLocalTranslation(0.0f, -5.2f, 0.0f); + gameLevel.setLocalScale(2.0f); + this.rootNode.attachChild(gameLevel); + } +} diff --git a/decompiled/jme3/hello/HelloAudio.java b/decompiled/jme3/hello/HelloAudio.java new file mode 100644 index 0000000..b1b61e8 --- /dev/null +++ b/decompiled/jme3/hello/HelloAudio.java @@ -0,0 +1,89 @@ +/* + * Decompiled with CFR 0.152. + * + * Could not load the following classes: + * com.jme3.app.SimpleApplication + * com.jme3.audio.AudioNode + * com.jme3.input.controls.ActionListener + * com.jme3.input.controls.InputListener + * com.jme3.input.controls.MouseButtonTrigger + * com.jme3.input.controls.Trigger + * com.jme3.material.Material + * com.jme3.math.ColorRGBA + * com.jme3.math.Vector3f + * com.jme3.scene.Geometry + * com.jme3.scene.Mesh + * com.jme3.scene.Spatial + * com.jme3.scene.shape.Box + */ +package jme3.hello; + +import com.jme3.app.SimpleApplication; +import com.jme3.audio.AudioNode; +import com.jme3.input.controls.ActionListener; +import com.jme3.input.controls.InputListener; +import com.jme3.input.controls.MouseButtonTrigger; +import com.jme3.input.controls.Trigger; +import com.jme3.material.Material; +import com.jme3.math.ColorRGBA; +import com.jme3.math.Vector3f; +import com.jme3.scene.Geometry; +import com.jme3.scene.Mesh; +import com.jme3.scene.Spatial; +import com.jme3.scene.shape.Box; + +public class HelloAudio +extends SimpleApplication { + private AudioNode audio_gun; + private AudioNode audio_nature; + private Geometry player; + private ActionListener actionListener = new ActionListener(){ + + public void onAction(String name, boolean keyPressed, float tpf) { + if (name.equals("Shoot") && !keyPressed) { + HelloAudio.this.audio_gun.playInstance(); + } + } + }; + + public static void main(String[] args) { + HelloAudio app = new HelloAudio(); + app.start(); + } + + public void simpleInitApp() { + this.flyCam.setMoveSpeed(40.0f); + Box box1 = new Box(Vector3f.ZERO, 1.0f, 1.0f, 1.0f); + this.player = new Geometry("Player", (Mesh)box1); + Material mat1 = new Material(this.assetManager, "Common/MatDefs/Misc/Unshaded.j3md"); + mat1.setColor("Color", ColorRGBA.Blue); + this.player.setMaterial(mat1); + this.rootNode.attachChild((Spatial)this.player); + this.initKeys(); + this.initAudio(); + } + + public void initAudio() { + this.audio_gun = new AudioNode(this.assetManager, "Sound/Effects/Gun.wav", false); + this.audio_gun.setLooping(false); + this.audio_gun.setVolume(2.0f); + this.rootNode.attachChild((Spatial)this.audio_gun); + this.audio_nature = new AudioNode(this.assetManager, "Sound/Environment/Nature.ogg", false); + this.audio_nature.setLooping(true); + this.audio_nature.setPositional(false); + this.audio_nature.setLocalTranslation(Vector3f.ZERO.clone()); + this.audio_nature.setVolume(3.0f); + this.rootNode.attachChild((Spatial)this.audio_nature); + this.audio_nature.play(); + } + + private void initKeys() { + this.inputManager.addMapping("Shoot", new Trigger[]{new MouseButtonTrigger(0)}); + this.inputManager.addListener((InputListener)this.actionListener, new String[]{"Shoot"}); + } + + public void simpleUpdate(float tpf) { + this.listener.setLocation(this.cam.getLocation()); + this.listener.setRotation(this.cam.getRotation()); + } +} diff --git a/decompiled/jme3/hello/HelloCollision.java b/decompiled/jme3/hello/HelloCollision.java new file mode 100644 index 0000000..9b6f778 --- /dev/null +++ b/decompiled/jme3/hello/HelloCollision.java @@ -0,0 +1,150 @@ +/* + * Decompiled with CFR 0.152. + * + * Could not load the following classes: + * com.jme3.app.SimpleApplication + * com.jme3.app.state.AppState + * com.jme3.asset.plugins.ZipLocator + * com.jme3.bullet.BulletAppState + * com.jme3.bullet.collision.shapes.CapsuleCollisionShape + * com.jme3.bullet.collision.shapes.CollisionShape + * com.jme3.bullet.control.CharacterControl + * com.jme3.bullet.control.RigidBodyControl + * com.jme3.bullet.util.CollisionShapeFactory + * com.jme3.input.controls.ActionListener + * com.jme3.input.controls.InputListener + * com.jme3.input.controls.KeyTrigger + * com.jme3.input.controls.Trigger + * com.jme3.light.AmbientLight + * com.jme3.light.DirectionalLight + * com.jme3.light.Light + * com.jme3.math.ColorRGBA + * com.jme3.math.Vector3f + * com.jme3.scene.Node + * com.jme3.scene.Spatial + * com.jme3.scene.control.Control + */ +package jme3.hello; + +import com.jme3.app.SimpleApplication; +import com.jme3.app.state.AppState; +import com.jme3.asset.plugins.ZipLocator; +import com.jme3.bullet.BulletAppState; +import com.jme3.bullet.collision.shapes.CapsuleCollisionShape; +import com.jme3.bullet.collision.shapes.CollisionShape; +import com.jme3.bullet.control.CharacterControl; +import com.jme3.bullet.control.RigidBodyControl; +import com.jme3.bullet.util.CollisionShapeFactory; +import com.jme3.input.controls.ActionListener; +import com.jme3.input.controls.InputListener; +import com.jme3.input.controls.KeyTrigger; +import com.jme3.input.controls.Trigger; +import com.jme3.light.AmbientLight; +import com.jme3.light.DirectionalLight; +import com.jme3.light.Light; +import com.jme3.math.ColorRGBA; +import com.jme3.math.Vector3f; +import com.jme3.scene.Node; +import com.jme3.scene.Spatial; +import com.jme3.scene.control.Control; + +public class HelloCollision +extends SimpleApplication +implements ActionListener { + private Spatial sceneModel; + private BulletAppState bulletAppState; + private RigidBodyControl landscape; + private CharacterControl player; + private Vector3f walkDirection = new Vector3f(); + private boolean left = false; + private boolean right = false; + private boolean up = false; + private boolean down = false; + + public static void main(String[] args) { + HelloCollision app = new HelloCollision(); + app.start(); + } + + public void simpleInitApp() { + this.bulletAppState = new BulletAppState(); + this.stateManager.attach((AppState)this.bulletAppState); + this.bulletAppState.getPhysicsSpace().enableDebug(this.assetManager); + this.viewPort.setBackgroundColor(new ColorRGBA(0.7f, 0.8f, 1.0f, 1.0f)); + this.flyCam.setMoveSpeed(100.0f); + this.setUpKeys(); + this.setUpLight(); + this.assetManager.registerLocator("town.zip", ZipLocator.class); + this.sceneModel = this.assetManager.loadModel("main.scene"); + this.sceneModel.setLocalScale(2.0f); + CollisionShape sceneShape = CollisionShapeFactory.createMeshShape((Spatial)((Node)this.sceneModel)); + this.landscape = new RigidBodyControl(sceneShape, 0.0f); + this.sceneModel.addControl((Control)this.landscape); + CapsuleCollisionShape capsuleShape = new CapsuleCollisionShape(1.5f, 6.0f, 1); + this.player = new CharacterControl((CollisionShape)capsuleShape, 0.5f); + this.player.setJumpSpeed(20.0f); + this.player.setFallSpeed(30.0f); + this.player.setGravity(30.0f); + this.player.setPhysicsLocation(new Vector3f(0.0f, 10.0f, 0.0f)); + this.rootNode.attachChild(this.sceneModel); + this.bulletAppState.getPhysicsSpace().add((Object)this.landscape); + this.bulletAppState.getPhysicsSpace().add((Object)this.player); + } + + private void setUpLight() { + AmbientLight al = new AmbientLight(); + al.setColor(ColorRGBA.White.mult(1.3f)); + this.rootNode.addLight((Light)al); + DirectionalLight dl = new DirectionalLight(); + dl.setColor(ColorRGBA.White); + dl.setDirection(new Vector3f(2.8f, -2.8f, -2.8f).normalizeLocal()); + this.rootNode.addLight((Light)dl); + } + + private void setUpKeys() { + this.inputManager.addMapping("Left", new Trigger[]{new KeyTrigger(30)}); + this.inputManager.addMapping("Right", new Trigger[]{new KeyTrigger(32)}); + this.inputManager.addMapping("Up", new Trigger[]{new KeyTrigger(17)}); + this.inputManager.addMapping("Down", new Trigger[]{new KeyTrigger(31)}); + this.inputManager.addMapping("Jump", new Trigger[]{new KeyTrigger(57)}); + this.inputManager.addListener((InputListener)this, new String[]{"Left"}); + this.inputManager.addListener((InputListener)this, new String[]{"Right"}); + this.inputManager.addListener((InputListener)this, new String[]{"Up"}); + this.inputManager.addListener((InputListener)this, new String[]{"Down"}); + this.inputManager.addListener((InputListener)this, new String[]{"Jump"}); + } + + public void onAction(String binding, boolean value, float tpf) { + if (binding.equals("Left")) { + this.left = value; + } else if (binding.equals("Right")) { + this.right = value; + } else if (binding.equals("Up")) { + this.up = value; + } else if (binding.equals("Down")) { + this.down = value; + } else if (binding.equals("Jump")) { + this.player.jump(); + } + } + + public void simpleUpdate(float tpf) { + Vector3f camDir = this.cam.getDirection().clone().multLocal(0.6f); + Vector3f camLeft = this.cam.getLeft().clone().multLocal(0.4f); + this.walkDirection.set(0.0f, 0.0f, 0.0f); + if (this.left) { + this.walkDirection.addLocal(camLeft); + } + if (this.right) { + this.walkDirection.addLocal(camLeft.negate()); + } + if (this.up) { + this.walkDirection.addLocal(camDir); + } + if (this.down) { + this.walkDirection.addLocal(camDir.negate()); + } + this.player.setWalkDirection(this.walkDirection); + this.cam.setLocation(this.player.getPhysicsLocation()); + } +} diff --git a/decompiled/jme3/hello/HelloEffects.java b/decompiled/jme3/hello/HelloEffects.java new file mode 100644 index 0000000..cdba0f5 --- /dev/null +++ b/decompiled/jme3/hello/HelloEffects.java @@ -0,0 +1,62 @@ +/* + * Decompiled with CFR 0.152. + * + * Could not load the following classes: + * com.jme3.app.SimpleApplication + * com.jme3.effect.ParticleEmitter + * com.jme3.effect.ParticleMesh$Type + * com.jme3.material.Material + * com.jme3.math.ColorRGBA + * com.jme3.math.Vector3f + * com.jme3.scene.Spatial + */ +package jme3.hello; + +import com.jme3.app.SimpleApplication; +import com.jme3.effect.ParticleEmitter; +import com.jme3.effect.ParticleMesh; +import com.jme3.material.Material; +import com.jme3.math.ColorRGBA; +import com.jme3.math.Vector3f; +import com.jme3.scene.Spatial; + +public class HelloEffects +extends SimpleApplication { + public static void main(String[] args) { + HelloEffects app = new HelloEffects(); + app.start(); + } + + public void simpleInitApp() { + ParticleEmitter fire = new ParticleEmitter("Emitter", ParticleMesh.Type.Triangle, 30); + Material mat_red = new Material(this.assetManager, "Common/MatDefs/Misc/Particle.j3md"); + mat_red.setTexture("Texture", this.assetManager.loadTexture("Effects/Explosion/flame.png")); + fire.setMaterial(mat_red); + fire.setImagesX(2); + fire.setImagesY(2); + fire.setEndColor(ColorRGBA.Cyan); + fire.setStartColor(ColorRGBA.Blue); + fire.getParticleInfluencer().setInitialVelocity(new Vector3f(0.0f, -2.0f, 0.0f)); + fire.setStartSize(0.1f); + fire.setEndSize(1.5f); + fire.setGravity(0.0f, 1.0f, 0.0f); + fire.setLowLife(1.0f); + fire.setHighLife(3.0f); + fire.getParticleInfluencer().setVelocityVariation(0.3f); + this.rootNode.attachChild((Spatial)fire); + ParticleEmitter debris = new ParticleEmitter("Debris", ParticleMesh.Type.Triangle, 10); + Material debris_mat = new Material(this.assetManager, "Common/MatDefs/Misc/Particle.j3md"); + debris_mat.setTexture("Texture", this.assetManager.loadTexture("Effects/Explosion/Debris.png")); + debris.setMaterial(debris_mat); + debris.setImagesX(3); + debris.setImagesY(3); + debris.setRotateSpeed(4.0f); + debris.setSelectRandomImage(true); + debris.getParticleInfluencer().setInitialVelocity(new Vector3f(0.0f, 4.0f, 0.0f)); + debris.setStartColor(ColorRGBA.White); + debris.setGravity(0.0f, 6.0f, 0.0f); + debris.getParticleInfluencer().setVelocityVariation(0.6f); + this.rootNode.attachChild((Spatial)debris); + debris.emitAllParticles(); + } +} diff --git a/decompiled/jme3/hello/HelloInput.java b/decompiled/jme3/hello/HelloInput.java new file mode 100644 index 0000000..771e74d --- /dev/null +++ b/decompiled/jme3/hello/HelloInput.java @@ -0,0 +1,122 @@ +/* + * Decompiled with CFR 0.152. + * + * Could not load the following classes: + * com.jme3.app.SimpleApplication + * com.jme3.input.controls.ActionListener + * com.jme3.input.controls.AnalogListener + * com.jme3.input.controls.InputListener + * com.jme3.input.controls.KeyTrigger + * com.jme3.input.controls.MouseAxisTrigger + * com.jme3.input.controls.MouseButtonTrigger + * com.jme3.input.controls.Trigger + * com.jme3.light.DirectionalLight + * com.jme3.light.Light + * com.jme3.material.Material + * com.jme3.math.ColorRGBA + * com.jme3.math.Vector3f + * com.jme3.scene.Geometry + * com.jme3.scene.Mesh + * com.jme3.scene.Spatial + * com.jme3.scene.shape.Box + */ +package jme3.hello; + +import com.jme3.app.SimpleApplication; +import com.jme3.input.controls.ActionListener; +import com.jme3.input.controls.AnalogListener; +import com.jme3.input.controls.InputListener; +import com.jme3.input.controls.KeyTrigger; +import com.jme3.input.controls.MouseAxisTrigger; +import com.jme3.input.controls.MouseButtonTrigger; +import com.jme3.input.controls.Trigger; +import com.jme3.light.DirectionalLight; +import com.jme3.light.Light; +import com.jme3.material.Material; +import com.jme3.math.ColorRGBA; +import com.jme3.math.Vector3f; +import com.jme3.scene.Geometry; +import com.jme3.scene.Mesh; +import com.jme3.scene.Spatial; +import com.jme3.scene.shape.Box; + +public class HelloInput +extends SimpleApplication { + protected Geometry player; + boolean isRunning = true; + private ActionListener actionListener = new ActionListener(){ + + public void onAction(String name, boolean keyPressed, float tpf) { + if (name.equals("Pause") && !keyPressed) { + HelloInput.this.isRunning = !HelloInput.this.isRunning; + } + } + }; + private AnalogListener analogListener = new AnalogListener(){ + + public void onAnalog(String name, float value, float tpf) { + if (HelloInput.this.isRunning) { + Vector3f v; + if (name.equals("RotateLeft")) { + HelloInput.this.player.rotate(0.0f, value * HelloInput.this.speed, 0.0f); + } + if (name.equals("RotateRight")) { + HelloInput.this.player.rotate(0.0f, value * -HelloInput.this.speed, 0.0f); + } + if (name.equals("Right")) { + v = HelloInput.this.player.getLocalTranslation(); + HelloInput.this.player.setLocalTranslation(v.x + value * HelloInput.this.speed, v.y, v.z); + } + if (name.equals("Left")) { + v = HelloInput.this.player.getLocalTranslation(); + HelloInput.this.player.setLocalTranslation(v.x - value * HelloInput.this.speed, v.y, v.z); + } + if (name.equals("Up")) { + v = HelloInput.this.player.getLocalTranslation(); + HelloInput.this.player.setLocalTranslation(v.x, v.y + value * HelloInput.this.speed, v.z); + } + if (name.equals("Down")) { + v = HelloInput.this.player.getLocalTranslation(); + HelloInput.this.player.setLocalTranslation(v.x, v.y - value * HelloInput.this.speed, v.z); + } + } else { + System.out.println("Press P to unpause."); + } + } + }; + + public static void main(String[] args) { + HelloInput app = new HelloInput(); + app.start(); + } + + public void simpleInitApp() { + Box b = new Box(Vector3f.ZERO, 1.0f, 1.0f, 1.0f); + this.player = new Geometry("Player", (Mesh)b); + Material mat = new Material(this.assetManager, "Common/MatDefs/Misc/Unshaded.j3md"); + mat.setColor("Color", ColorRGBA.randomColor()); + this.player.setMaterial(mat); + this.rootNode.attachChild((Spatial)this.player); + this.initKeys(); + Spatial gameLevel = this.assetManager.loadModel("Scenes/main.j3o"); + gameLevel.setLocalTranslation(0.0f, -5.2f, 0.0f); + gameLevel.setLocalScale(2.0f); + this.rootNode.attachChild(gameLevel); + DirectionalLight sun = new DirectionalLight(); + sun.setColor(ColorRGBA.White); + sun.setDirection(new Vector3f(-0.5f, -0.5f, -0.5f).normalizeLocal()); + this.rootNode.addLight((Light)sun); + } + + private void initKeys() { + this.inputManager.addMapping("Pause", new Trigger[]{new KeyTrigger(25)}); + this.inputManager.addMapping("Left", new Trigger[]{new KeyTrigger(36)}); + this.inputManager.addMapping("Right", new Trigger[]{new KeyTrigger(38)}); + this.inputManager.addMapping("Up", new Trigger[]{new KeyTrigger(23), new MouseAxisTrigger(2, true)}); + this.inputManager.addMapping("Down", new Trigger[]{new KeyTrigger(37), new MouseAxisTrigger(2, false)}); + this.inputManager.addMapping("RotateLeft", new Trigger[]{new KeyTrigger(57), new MouseButtonTrigger(0)}); + this.inputManager.addMapping("RotateRight", new Trigger[]{new MouseButtonTrigger(1)}); + this.inputManager.addListener((InputListener)this.actionListener, new String[]{"Pause"}); + this.inputManager.addListener((InputListener)this.analogListener, new String[]{"Left", "Right", "RotateLeft", "RotateRight", "Up", "Down"}); + } +} diff --git a/decompiled/jme3/hello/HelloMaterial.java b/decompiled/jme3/hello/HelloMaterial.java new file mode 100644 index 0000000..825506e --- /dev/null +++ b/decompiled/jme3/hello/HelloMaterial.java @@ -0,0 +1,78 @@ +/* + * Decompiled with CFR 0.152. + * + * Could not load the following classes: + * com.jme3.app.SimpleApplication + * com.jme3.light.DirectionalLight + * com.jme3.light.Light + * com.jme3.material.Material + * com.jme3.material.RenderState$BlendMode + * com.jme3.math.ColorRGBA + * com.jme3.math.Vector3f + * com.jme3.renderer.queue.RenderQueue$Bucket + * com.jme3.scene.Geometry + * com.jme3.scene.Mesh + * com.jme3.scene.Spatial + * com.jme3.scene.shape.Box + * com.jme3.scene.shape.Sphere + * com.jme3.scene.shape.Sphere$TextureMode + * com.jme3.util.TangentBinormalGenerator + */ +package jme3.hello; + +import com.jme3.app.SimpleApplication; +import com.jme3.light.DirectionalLight; +import com.jme3.light.Light; +import com.jme3.material.Material; +import com.jme3.material.RenderState; +import com.jme3.math.ColorRGBA; +import com.jme3.math.Vector3f; +import com.jme3.renderer.queue.RenderQueue; +import com.jme3.scene.Geometry; +import com.jme3.scene.Mesh; +import com.jme3.scene.Spatial; +import com.jme3.scene.shape.Box; +import com.jme3.scene.shape.Sphere; +import com.jme3.util.TangentBinormalGenerator; + +public class HelloMaterial +extends SimpleApplication { + public static void main(String[] args) { + HelloMaterial app = new HelloMaterial(); + app.start(); + } + + public void simpleInitApp() { + Box boxshape3 = new Box(new Vector3f(0.0f, 0.0f, 0.0f), 1.0f, 1.0f, 0.01f); + Geometry window_frame = new Geometry("window frame", (Mesh)boxshape3); + Material mat_tt = new Material(this.assetManager, "Common/MatDefs/Misc/Unshaded.j3md"); + mat_tt.setTexture("ColorMap", this.assetManager.loadTexture("Textures/ColoredTex/Monkey.png")); + mat_tt.getAdditionalRenderState().setBlendMode(RenderState.BlendMode.Alpha); + window_frame.setMaterial(mat_tt); + window_frame.setQueueBucket(RenderQueue.Bucket.Transparent); + this.rootNode.attachChild((Spatial)window_frame); + Box boxshape4 = new Box(new Vector3f(3.0f, -1.0f, 0.0f), 1.0f, 1.0f, 1.0f); + Geometry cube_leak = new Geometry("Leak-through color cube", (Mesh)boxshape4); + cube_leak.setMaterial(this.assetManager.loadMaterial("Materials/LeakThrough.j3m")); + this.rootNode.attachChild((Spatial)cube_leak); + Sphere rock = new Sphere(32, 32, 2.0f); + Geometry shiny_rock = new Geometry("Shiny rock", (Mesh)rock); + rock.setTextureMode(Sphere.TextureMode.Projected); + TangentBinormalGenerator.generate((Mesh)rock); + Material mat_lit = new Material(this.assetManager, "Common/MatDefs/Light/Lighting.j3md"); + mat_lit.setTexture("DiffuseMap", this.assetManager.loadTexture("Textures/Terrain/Pond/Pond.jpg")); + mat_lit.setTexture("NormalMap", this.assetManager.loadTexture("Textures/Terrain/Pond/Pond_normal.png")); + mat_lit.setBoolean("UseMaterialColors", true); + mat_lit.setColor("Specular", ColorRGBA.White); + mat_lit.setColor("Diffuse", ColorRGBA.White); + mat_lit.setFloat("Shininess", 127.0f); + shiny_rock.setMaterial(mat_lit); + shiny_rock.setLocalTranslation(0.0f, 2.0f, -2.0f); + shiny_rock.rotate(1.6f, 0.0f, 0.0f); + this.rootNode.attachChild((Spatial)shiny_rock); + DirectionalLight sun = new DirectionalLight(); + sun.setDirection(new Vector3f(1.0f, 0.0f, -2.0f).normalizeLocal()); + sun.setColor(ColorRGBA.White); + this.rootNode.addLight((Light)sun); + } +} diff --git a/decompiled/jme3/hello/HelloPhysik.java b/decompiled/jme3/hello/HelloPhysik.java new file mode 100644 index 0000000..891a7ec --- /dev/null +++ b/decompiled/jme3/hello/HelloPhysik.java @@ -0,0 +1,175 @@ +/* + * Decompiled with CFR 0.152. + * + * Could not load the following classes: + * com.jme3.app.SimpleApplication + * com.jme3.app.state.AppState + * com.jme3.asset.TextureKey + * com.jme3.bullet.BulletAppState + * com.jme3.bullet.control.RigidBodyControl + * com.jme3.font.BitmapText + * com.jme3.input.controls.ActionListener + * com.jme3.input.controls.InputListener + * com.jme3.input.controls.MouseButtonTrigger + * com.jme3.input.controls.Trigger + * com.jme3.material.Material + * com.jme3.math.Vector2f + * com.jme3.math.Vector3f + * com.jme3.scene.Geometry + * com.jme3.scene.Mesh + * com.jme3.scene.Spatial + * com.jme3.scene.control.Control + * com.jme3.scene.shape.Box + * com.jme3.scene.shape.Sphere + * com.jme3.scene.shape.Sphere$TextureMode + * com.jme3.texture.Texture + * com.jme3.texture.Texture$WrapMode + */ +package jme3.hello; + +import com.jme3.app.SimpleApplication; +import com.jme3.app.state.AppState; +import com.jme3.asset.TextureKey; +import com.jme3.bullet.BulletAppState; +import com.jme3.bullet.control.RigidBodyControl; +import com.jme3.font.BitmapText; +import com.jme3.input.controls.ActionListener; +import com.jme3.input.controls.InputListener; +import com.jme3.input.controls.MouseButtonTrigger; +import com.jme3.input.controls.Trigger; +import com.jme3.material.Material; +import com.jme3.math.Vector2f; +import com.jme3.math.Vector3f; +import com.jme3.scene.Geometry; +import com.jme3.scene.Mesh; +import com.jme3.scene.Spatial; +import com.jme3.scene.control.Control; +import com.jme3.scene.shape.Box; +import com.jme3.scene.shape.Sphere; +import com.jme3.texture.Texture; + +public class HelloPhysik +extends SimpleApplication { + private BulletAppState bulletAppState; + Material wall_mat; + Material stone_mat; + Material floor_mat; + private RigidBodyControl brick_phy; + private static final Box box; + private RigidBodyControl ball_phy; + private static final Sphere sphere; + private RigidBodyControl floor_phy; + private static final Box floor; + private static final float brickLength = 0.48f; + private static final float brickWidth = 0.24f; + private static final float brickHeight = 0.12f; + private ActionListener actionListener = new ActionListener(){ + + public void onAction(String name, boolean keyPressed, float tpf) { + if (name.equals("shoot") && !keyPressed) { + HelloPhysik.this.makeCannonBall(); + } + } + }; + + public static void main(String[] args) { + HelloPhysik app = new HelloPhysik(); + app.start(); + } + + public void simpleInitApp() { + this.bulletAppState = new BulletAppState(); + this.stateManager.attach((AppState)this.bulletAppState); + this.bulletAppState.getPhysicsSpace().enableDebug(this.assetManager); + this.cam.setLocation(new Vector3f(0.0f, 4.0f, 6.0f)); + this.cam.lookAt(new Vector3f(2.0f, 2.0f, 0.0f), Vector3f.UNIT_Y); + this.inputManager.addMapping("shoot", new Trigger[]{new MouseButtonTrigger(0)}); + this.inputManager.addListener((InputListener)this.actionListener, new String[]{"shoot"}); + this.initMaterials(); + this.initWall(); + this.initFloor(); + this.initCrossHairs(); + } + + public void initMaterials() { + this.wall_mat = new Material(this.assetManager, "Common/MatDefs/Misc/Unshaded.j3md"); + TextureKey key = new TextureKey("Textures/Terrain/BrickWall/BrickWall.jpg"); + key.setGenerateMips(true); + Texture tex = this.assetManager.loadTexture(key); + this.wall_mat.setTexture("ColorMap", tex); + this.stone_mat = new Material(this.assetManager, "Common/MatDefs/Misc/Unshaded.j3md"); + TextureKey key2 = new TextureKey("Textures/Terrain/Rock/Rock.PNG"); + key2.setGenerateMips(true); + Texture tex2 = this.assetManager.loadTexture(key2); + this.stone_mat.setTexture("ColorMap", tex2); + this.floor_mat = new Material(this.assetManager, "Common/MatDefs/Misc/Unshaded.j3md"); + TextureKey key3 = new TextureKey("Textures/Terrain/Pond/Pond.jpg"); + key3.setGenerateMips(true); + Texture tex3 = this.assetManager.loadTexture(key3); + tex3.setWrap(Texture.WrapMode.Repeat); + this.floor_mat.setTexture("ColorMap", tex3); + } + + public void initFloor() { + Geometry floor_geo = new Geometry("Floor", (Mesh)floor); + floor_geo.setMaterial(this.floor_mat); + floor_geo.setLocalTranslation(0.0f, -0.1f, 0.0f); + this.rootNode.attachChild((Spatial)floor_geo); + this.floor_phy = new RigidBodyControl(0.0f); + floor_geo.addControl((Control)this.floor_phy); + this.bulletAppState.getPhysicsSpace().add((Object)this.floor_phy); + } + + public void initWall() { + float startpt = 0.12f; + float height = 0.0f; + for (int j = 0; j < 15; ++j) { + for (int i = 0; i < 6; ++i) { + Vector3f vt = new Vector3f((float)i * 0.48f * 2.0f + startpt, 0.12f + height, 0.0f); + this.makeBrick(vt); + } + startpt = -startpt; + height += 0.24f; + } + } + + public void makeBrick(Vector3f loc) { + Geometry brick_geo = new Geometry("brick", (Mesh)box); + brick_geo.setMaterial(this.wall_mat); + this.rootNode.attachChild((Spatial)brick_geo); + brick_geo.setLocalTranslation(loc); + this.brick_phy = new RigidBodyControl(2.0f); + brick_geo.addControl((Control)this.brick_phy); + this.bulletAppState.getPhysicsSpace().add((Object)this.brick_phy); + } + + public void makeCannonBall() { + Geometry ball_geo = new Geometry("cannon ball", (Mesh)sphere); + ball_geo.setMaterial(this.stone_mat); + this.rootNode.attachChild((Spatial)ball_geo); + ball_geo.setLocalTranslation(this.cam.getLocation()); + this.ball_phy = new RigidBodyControl(10.0f); + ball_geo.addControl((Control)this.ball_phy); + this.bulletAppState.getPhysicsSpace().add((Object)this.ball_phy); + this.ball_phy.setLinearVelocity(this.cam.getDirection().mult(25.0f)); + } + + protected void initCrossHairs() { + this.guiNode.detachAllChildren(); + this.guiFont = this.assetManager.loadFont("Interface/Fonts/Default.fnt"); + BitmapText ch = new BitmapText(this.guiFont, false); + ch.setSize((float)(this.guiFont.getCharSet().getRenderedSize() * 2)); + ch.setText("+"); + ch.setLocalTranslation((float)(this.settings.getWidth() / 2 - this.guiFont.getCharSet().getRenderedSize() / 3 * 2), (float)(this.settings.getHeight() / 2) + ch.getLineHeight() / 2.0f, 0.0f); + this.guiNode.attachChild((Spatial)ch); + } + + static { + sphere = new Sphere(32, 32, 0.4f, true, false); + sphere.setTextureMode(Sphere.TextureMode.Projected); + box = new Box(Vector3f.ZERO, 0.48f, 0.12f, 0.24f); + box.scaleTextureCoordinates(new Vector2f(1.0f, 0.5f)); + floor = new Box(Vector3f.ZERO, 10.0f, 0.1f, 5.0f); + floor.scaleTextureCoordinates(new Vector2f(3.0f, 6.0f)); + } +} diff --git a/decompiled/jme3/hello/HelloPicking.java b/decompiled/jme3/hello/HelloPicking.java new file mode 100644 index 0000000..2487166 --- /dev/null +++ b/decompiled/jme3/hello/HelloPicking.java @@ -0,0 +1,199 @@ +/* + * Decompiled with CFR 0.152. + * + * Could not load the following classes: + * com.jme3.app.SimpleApplication + * com.jme3.collision.Collidable + * com.jme3.collision.CollisionResult + * com.jme3.collision.CollisionResults + * com.jme3.effect.ParticleEmitter + * com.jme3.effect.ParticleMesh$Type + * com.jme3.font.BitmapText + * com.jme3.input.controls.ActionListener + * com.jme3.input.controls.InputListener + * com.jme3.input.controls.KeyTrigger + * com.jme3.input.controls.MouseButtonTrigger + * com.jme3.input.controls.Trigger + * com.jme3.light.DirectionalLight + * com.jme3.light.Light + * com.jme3.material.Material + * com.jme3.math.ColorRGBA + * com.jme3.math.Ray + * com.jme3.math.Vector3f + * com.jme3.scene.Geometry + * com.jme3.scene.Mesh + * com.jme3.scene.Node + * com.jme3.scene.Spatial + * com.jme3.scene.shape.Box + */ +package jme3.hello; + +import com.jme3.app.SimpleApplication; +import com.jme3.collision.Collidable; +import com.jme3.collision.CollisionResult; +import com.jme3.collision.CollisionResults; +import com.jme3.effect.ParticleEmitter; +import com.jme3.effect.ParticleMesh; +import com.jme3.font.BitmapText; +import com.jme3.input.controls.ActionListener; +import com.jme3.input.controls.InputListener; +import com.jme3.input.controls.KeyTrigger; +import com.jme3.input.controls.MouseButtonTrigger; +import com.jme3.input.controls.Trigger; +import com.jme3.light.DirectionalLight; +import com.jme3.light.Light; +import com.jme3.material.Material; +import com.jme3.math.ColorRGBA; +import com.jme3.math.Ray; +import com.jme3.math.Vector3f; +import com.jme3.scene.Geometry; +import com.jme3.scene.Mesh; +import com.jme3.scene.Node; +import com.jme3.scene.Spatial; +import com.jme3.scene.shape.Box; + +public class HelloPicking +extends SimpleApplication { + Node shootables; + Node inventory; + boolean pickedUp; + Geometry mark; + private ActionListener actionListener = new ActionListener(){ + + public void onAction(String name, boolean keyPressed, float tpf) { + Ray ray; + CollisionResults results; + if (name.equals("Shoot") && !keyPressed) { + results = new CollisionResults(); + ray = new Ray(HelloPicking.this.cam.getLocation(), HelloPicking.this.cam.getDirection()); + HelloPicking.this.shootables.collideWith((Collidable)ray, results); + System.out.println("----- Collisions?" + results.size() + "-----"); + for (int i = 0; i < results.size(); ++i) { + float dist = results.getCollision(i).getDistance(); + Vector3f pt = results.getCollision(i).getContactPoint(); + String hit = results.getCollision(i).getGeometry().getName(); + System.out.println("* Collision #" + i); + System.out.println(" You shot " + hit + "at" + pt + "," + dist + "wu away."); + } + if (results.size() > 0) { + CollisionResult closest = results.getClosestCollision(); + HelloPicking.this.mark.setLocalTranslation(closest.getContactPoint()); + Geometry geo = closest.getGeometry(); + Boolean isModel = (Boolean)geo.getUserData("isModel"); + if (isModel != null && !isModel.booleanValue()) { + Material mat = new Material(HelloPicking.this.assetManager, "Common/MatDefs/Misc/Unshaded.j3md"); + mat.setColor("Color", ColorRGBA.randomColor()); + geo.setMaterial(mat); + } + HelloPicking.this.rootNode.attachChild((Spatial)HelloPicking.this.mark); + } else { + HelloPicking.this.rootNode.detachChild((Spatial)HelloPicking.this.mark); + } + } + if (name.equals("Inventar") && !keyPressed) { + results = new CollisionResults(); + ray = new Ray(HelloPicking.this.cam.getLocation(), HelloPicking.this.cam.getDirection()); + HelloPicking.this.shootables.collideWith((Collidable)ray, results); + if (results.size() > 0) { + CollisionResult closest = results.getClosestCollision(); + Geometry inv = closest.getGeometry(); + if (!HelloPicking.this.pickedUp) { + HelloPicking.this.pickedUp = true; + HelloPicking.this.shootables.detachChild((Spatial)inv); + inv.setLocalScale(100.0f); + HelloPicking.this.inventory.attachChild((Spatial)inv); + } else { + HelloPicking.this.pickedUp = false; + Geometry box = (Geometry)HelloPicking.this.inventory.getChild(0); + box.setLocalScale(1.0f); + box.setLocalTranslation(closest.getContactPoint()); + HelloPicking.this.inventory.detachChild((Spatial)box); + HelloPicking.this.shootables.attachChild((Spatial)box); + } + } + } + } + }; + + public static void main(String[] args) { + HelloPicking app = new HelloPicking(); + app.start(); + } + + public void simpleInitApp() { + this.initCrossHairs(); + this.initKeys(); + this.initMark(); + Spatial model = this.assetManager.loadModel("Models/Oto/Oto.mesh.xml"); + model.setLocalTranslation(new Vector3f(1.0f, 2.0f, -3.0f)); + model.setUserData("isModel", (Object)new Boolean(true)); + model.setLocalScale(0.5f); + DirectionalLight light = new DirectionalLight(); + light.setDirection(new Vector3f(-0.1f, -1.0f, -1.0f).normalizeLocal()); + this.rootNode.addLight((Light)light); + this.shootables = new Node("Shootables"); + this.inventory = new Node("Inventar"); + this.guiNode.attachChild((Spatial)this.inventory); + this.rootNode.attachChild((Spatial)this.shootables); + this.shootables.attachChild((Spatial)this.makeCube("a Dragon", -2.0f, 0.0f, 1.0f)); + this.shootables.attachChild((Spatial)this.makeCube("a tin can", 1.0f, -2.0f, 0.0f)); + this.shootables.attachChild((Spatial)this.makeCube("the Sheriff", 0.0f, 1.0f, -2.0f)); + this.shootables.attachChild((Spatial)this.makeCube("the Deputy", 1.0f, 0.0f, -4.0f)); + this.shootables.attachChild((Spatial)this.makeFloor()); + this.shootables.attachChild(model); + } + + private void initKeys() { + this.inputManager.addMapping("Shoot", new Trigger[]{new KeyTrigger(57), new MouseButtonTrigger(0)}); + this.inputManager.addMapping("Inventar", new Trigger[]{new MouseButtonTrigger(1)}); + this.inputManager.addListener((InputListener)this.actionListener, new String[]{"Shoot", "Inventar"}); + } + + protected Geometry makeCube(String name, float x, float y, float z) { + Box box = new Box(new Vector3f(x, y, z), 1.0f, 1.0f, 1.0f); + Geometry cube = new Geometry(name, (Mesh)box); + cube.setUserData("isModel", (Object)new Boolean(false)); + Material mat1 = new Material(this.assetManager, "Common/MatDefs/Misc/Unshaded.j3md"); + mat1.setColor("Color", ColorRGBA.randomColor()); + cube.setMaterial(mat1); + return cube; + } + + protected Geometry makeFloor() { + Box box = new Box(new Vector3f(0.0f, -4.0f, -5.0f), 15.0f, 0.2f, 15.0f); + Geometry floor = new Geometry("the Floor", (Mesh)box); + Material mat1 = new Material(this.assetManager, "Common/MatDefs/Misc/Unshaded.j3md"); + mat1.setColor("Color", ColorRGBA.LightGray); + floor.setMaterial(mat1); + return floor; + } + + protected void initMark() { + ParticleEmitter fire = new ParticleEmitter("Emitter", ParticleMesh.Type.Triangle, 30); + Material mat_red = new Material(this.assetManager, "Common/MatDefs/Misc/Particle.j3md"); + mat_red.setTexture("Texture", this.assetManager.loadTexture("Effects/Explosion/flame.png")); + fire.setMaterial(mat_red); + fire.setImagesX(2); + fire.setImagesY(2); + fire.setEndColor(new ColorRGBA(1.0f, 0.0f, 0.0f, 1.0f)); + fire.setStartColor(new ColorRGBA(1.0f, 1.0f, 0.0f, 0.5f)); + fire.getParticleInfluencer().setInitialVelocity(new Vector3f(0.0f, 2.0f, 0.0f)); + fire.setStartSize(1.5f); + fire.setEndSize(0.1f); + fire.setGravity(0.0f, 0.0f, 0.0f); + fire.setLowLife(1.0f); + fire.setHighLife(3.0f); + fire.getParticleInfluencer().setVelocityVariation(0.3f); + this.mark = fire; + } + + protected void initCrossHairs() { + this.guiNode.detachAllChildren(); + this.guiFont = this.assetManager.loadFont("Interface/Fonts/Default.fnt"); + BitmapText ch = new BitmapText(this.guiFont, false); + ch.setSize((float)(this.guiFont.getCharSet().getRenderedSize() * 2)); + ch.setText("+"); + ch.setLocalTranslation((float)(this.settings.getWidth() / 2 - this.guiFont.getCharSet().getRenderedSize() / 3 * 2), (float)(this.settings.getHeight() / 2) + ch.getLineHeight() / 2.0f, 0.0f); + this.guiNode.attachChild((Spatial)ch); + } +} diff --git a/decompiled/jme3/hello/HelloTerrain.java b/decompiled/jme3/hello/HelloTerrain.java new file mode 100644 index 0000000..0ef5fbd --- /dev/null +++ b/decompiled/jme3/hello/HelloTerrain.java @@ -0,0 +1,67 @@ +/* + * Decompiled with CFR 0.152. + * + * Could not load the following classes: + * com.jme3.app.SimpleApplication + * com.jme3.material.Material + * com.jme3.scene.Spatial + * com.jme3.scene.control.Control + * com.jme3.terrain.Terrain + * com.jme3.terrain.geomipmap.TerrainLodControl + * com.jme3.terrain.geomipmap.TerrainQuad + * com.jme3.terrain.heightmap.ImageBasedHeightMap + * com.jme3.texture.Texture + * com.jme3.texture.Texture$WrapMode + */ +package jme3.hello; + +import com.jme3.app.SimpleApplication; +import com.jme3.material.Material; +import com.jme3.scene.Spatial; +import com.jme3.scene.control.Control; +import com.jme3.terrain.Terrain; +import com.jme3.terrain.geomipmap.TerrainLodControl; +import com.jme3.terrain.geomipmap.TerrainQuad; +import com.jme3.terrain.heightmap.ImageBasedHeightMap; +import com.jme3.texture.Texture; + +public class HelloTerrain +extends SimpleApplication { + private TerrainQuad terrain; + Material mat_terrain; + + public static void main(String[] agrs) { + HelloTerrain app = new HelloTerrain(); + app.start(); + } + + public void simpleInitApp() { + this.flyCam.setMoveSpeed(50.0f); + this.mat_terrain = new Material(this.assetManager, "Common/MatDefs/Terrain/Terrain.j3md"); + this.mat_terrain.setTexture("Alpha", this.assetManager.loadTexture("Textures/Terrain/splat/alphamap.png")); + Texture grass = this.assetManager.loadTexture("Textures/Terrain/splat/grass.jpg"); + grass.setWrap(Texture.WrapMode.Repeat); + this.mat_terrain.setTexture("Tex1", grass); + this.mat_terrain.setFloat("Tex1Scale", 64.0f); + Texture dirt = this.assetManager.loadTexture("Textures/Terrain/splat/dirt.jpg"); + dirt.setWrap(Texture.WrapMode.Repeat); + this.mat_terrain.setTexture("Tex2", dirt); + this.mat_terrain.setFloat("Tex2Scale", 32.0f); + Texture rock = this.assetManager.loadTexture("Textures/Terrain/splat/road.jpg"); + rock.setWrap(Texture.WrapMode.Repeat); + this.mat_terrain.setTexture("Tex3", rock); + this.mat_terrain.setFloat("Tex3Scale", 128.0f); + ImageBasedHeightMap heightmap = null; + Texture heightMapImage = this.assetManager.loadTexture("Textures/Terrain/splat/mountains512.png"); + heightmap = new ImageBasedHeightMap(heightMapImage.getImage()); + heightmap.load(); + int patchSize = 65; + this.terrain = new TerrainQuad("My terrain", patchSize, 513, heightmap.getHeightMap()); + this.terrain.setMaterial(this.mat_terrain); + this.terrain.setLocalTranslation(0.0f, -100.0f, 0.0f); + this.terrain.setLocalScale(2.0f, 1.0f, 2.0f); + this.rootNode.attachChild((Spatial)this.terrain); + TerrainLodControl control = new TerrainLodControl((Terrain)this.terrain, this.getCamera()); + this.terrain.addControl((Control)control); + } +} diff --git a/decompiled/jme3/hello/HelloWorld.java b/decompiled/jme3/hello/HelloWorld.java new file mode 100644 index 0000000..c861582 --- /dev/null +++ b/decompiled/jme3/hello/HelloWorld.java @@ -0,0 +1,52 @@ +/* + * Decompiled with CFR 0.152. + * + * Could not load the following classes: + * com.jme3.app.SimpleApplication + * com.jme3.material.Material + * com.jme3.math.ColorRGBA + * com.jme3.math.Vector3f + * com.jme3.scene.Geometry + * com.jme3.scene.Mesh + * com.jme3.scene.Node + * com.jme3.scene.Spatial + * com.jme3.scene.shape.Box + */ +package jme3.hello; + +import com.jme3.app.SimpleApplication; +import com.jme3.material.Material; +import com.jme3.math.ColorRGBA; +import com.jme3.math.Vector3f; +import com.jme3.scene.Geometry; +import com.jme3.scene.Mesh; +import com.jme3.scene.Node; +import com.jme3.scene.Spatial; +import com.jme3.scene.shape.Box; + +public class HelloWorld +extends SimpleApplication { + public static void main(String[] args) { + HelloWorld app = new HelloWorld(); + app.start(); + } + + public void simpleInitApp() { + Box box1 = new Box(Vector3f.ZERO, 1.0f, 1.0f, 1.0f); + Geometry blue = new Geometry("Box", (Mesh)box1); + Material mat1 = new Material(this.assetManager, "Common/MatDefs/Misc/Unshaded.j3md"); + mat1.setColor("Color", ColorRGBA.Blue); + blue.setMaterial(mat1); + blue.move(1.0f, -1.0f, 1.0f); + Box box2 = new Box(Vector3f.ZERO, 1.0f, 1.0f, 1.0f); + Geometry red = new Geometry("Box", (Mesh)box2); + Material mat2 = new Material(this.assetManager, "Common/MatDefs/Misc/Unshaded.j3md"); + mat2.setColor("Color", ColorRGBA.Red); + red.setMaterial(mat2); + red.move(1.0f, 3.0f, 4.0f); + Node pivot = new Node("pivot"); + this.rootNode.attachChild((Spatial)pivot); + pivot.attachChild((Spatial)blue); + pivot.attachChild((Spatial)red); + } +} diff --git a/decompiled/jme3/hello/SimpleLoop.java b/decompiled/jme3/hello/SimpleLoop.java new file mode 100644 index 0000000..b22ad27 --- /dev/null +++ b/decompiled/jme3/hello/SimpleLoop.java @@ -0,0 +1,48 @@ +/* + * Decompiled with CFR 0.152. + * + * Could not load the following classes: + * com.jme3.app.SimpleApplication + * com.jme3.material.Material + * com.jme3.math.ColorRGBA + * com.jme3.math.Vector3f + * com.jme3.scene.Geometry + * com.jme3.scene.Mesh + * com.jme3.scene.Spatial + * com.jme3.scene.shape.Box + */ +package jme3.hello; + +import com.jme3.app.SimpleApplication; +import com.jme3.material.Material; +import com.jme3.math.ColorRGBA; +import com.jme3.math.Vector3f; +import com.jme3.scene.Geometry; +import com.jme3.scene.Mesh; +import com.jme3.scene.Spatial; +import com.jme3.scene.shape.Box; + +public class SimpleLoop +extends SimpleApplication { + protected Geometry player; + protected Geometry box2; + boolean shrink; + + public static void main(String[] args) { + SimpleLoop app = new SimpleLoop(); + app.start(); + } + + public void simpleInitApp() { + Box b = new Box(Vector3f.ZERO, 1.0f, 1.0f, 1.0f); + this.player = new Geometry("blue cube", (Mesh)b); + Material mat = new Material(this.assetManager, "Common/MatDefs/Misc/Unshaded.j3md"); + mat.setColor("Color", ColorRGBA.Yellow); + this.player.setMaterial(mat); + this.rootNode.attachChild((Spatial)this.player); + } + + public void simpleUpdate(float tpf) { + this.player.rotate(-2.0f * tpf, 0.0f, -2.0f * tpf); + } +} diff --git a/decompiled/jme3/hello/TestCameraNode.java b/decompiled/jme3/hello/TestCameraNode.java new file mode 100644 index 0000000..d3c80c3 --- /dev/null +++ b/decompiled/jme3/hello/TestCameraNode.java @@ -0,0 +1,522 @@ +/* + * Decompiled with CFR 0.152. + * + * Could not load the following classes: + * com.jme3.animation.AnimChannel + * com.jme3.animation.AnimControl + * com.jme3.animation.AnimEventListener + * com.jme3.animation.LoopMode + * com.jme3.app.Application + * com.jme3.app.SimpleApplication + * com.jme3.app.state.AppState + * com.jme3.audio.AudioNode + * com.jme3.bullet.BulletAppState + * com.jme3.bullet.collision.PhysicsCollisionEvent + * com.jme3.bullet.collision.PhysicsCollisionListener + * com.jme3.bullet.control.RigidBodyControl + * com.jme3.collision.Collidable + * com.jme3.collision.CollisionResults + * com.jme3.input.controls.ActionListener + * com.jme3.input.controls.AnalogListener + * com.jme3.input.controls.InputListener + * com.jme3.input.controls.KeyTrigger + * com.jme3.input.controls.MouseButtonTrigger + * com.jme3.input.controls.Trigger + * com.jme3.light.AmbientLight + * com.jme3.light.Light + * com.jme3.math.ColorRGBA + * com.jme3.math.Ray + * com.jme3.math.Vector2f + * com.jme3.math.Vector3f + * com.jme3.post.Filter + * com.jme3.post.FilterPostProcessor + * com.jme3.post.SceneProcessor + * com.jme3.post.filters.CartoonEdgeFilter + * com.jme3.renderer.Caps + * com.jme3.renderer.queue.RenderQueue$ShadowMode + * com.jme3.scene.Spatial + * com.jme3.scene.control.Control + * com.jme3.shadow.DirectionalLightShadowFilter + * com.jme3.shadow.DirectionalLightShadowRenderer + * tonegod.gui.controls.extras.Indicator + * tonegod.gui.controls.extras.Indicator$Orientation + * tonegod.gui.controls.text.Label + * tonegod.gui.core.Element + * tonegod.gui.core.Screen + * tonegod.gui.effects.Effect + * tonegod.gui.effects.Effect$EffectEvent + * tonegod.gui.effects.Effect$EffectType + */ +package jme3.hello; + +import com.jme3.animation.AnimChannel; +import com.jme3.animation.AnimControl; +import com.jme3.animation.AnimEventListener; +import com.jme3.animation.LoopMode; +import com.jme3.app.Application; +import com.jme3.app.SimpleApplication; +import com.jme3.app.state.AppState; +import com.jme3.audio.AudioNode; +import com.jme3.bullet.BulletAppState; +import com.jme3.bullet.collision.PhysicsCollisionEvent; +import com.jme3.bullet.collision.PhysicsCollisionListener; +import com.jme3.bullet.control.RigidBodyControl; +import com.jme3.collision.Collidable; +import com.jme3.collision.CollisionResults; +import com.jme3.input.controls.ActionListener; +import com.jme3.input.controls.AnalogListener; +import com.jme3.input.controls.InputListener; +import com.jme3.input.controls.KeyTrigger; +import com.jme3.input.controls.MouseButtonTrigger; +import com.jme3.input.controls.Trigger; +import com.jme3.light.AmbientLight; +import com.jme3.light.Light; +import com.jme3.math.ColorRGBA; +import com.jme3.math.Ray; +import com.jme3.math.Vector2f; +import com.jme3.math.Vector3f; +import com.jme3.post.Filter; +import com.jme3.post.FilterPostProcessor; +import com.jme3.post.SceneProcessor; +import com.jme3.post.filters.CartoonEdgeFilter; +import com.jme3.renderer.Caps; +import com.jme3.renderer.queue.RenderQueue; +import com.jme3.scene.Spatial; +import com.jme3.scene.control.Control; +import com.jme3.shadow.DirectionalLightShadowFilter; +import com.jme3.shadow.DirectionalLightShadowRenderer; +import java.util.Random; +import mygame.Exchange; +import mygame.Player; +import mygame.Staff; +import mygame.Sword; +import mygame.WalkingEnemy; +import tonegod.gui.controls.extras.Indicator; +import tonegod.gui.controls.text.Label; +import tonegod.gui.core.Element; +import tonegod.gui.core.Screen; +import tonegod.gui.effects.Effect; +import wpq.tests.PlayerCam; + +public class TestCameraNode +extends SimpleApplication +implements AnalogListener, +ActionListener, +AnimEventListener, +PhysicsCollisionListener { + private Player player; + Vector3f direction = new Vector3f(); + private FilterPostProcessor fpp; + private BulletAppState bulletAppState; + Screen screen; + Indicator ind1; + Label spiderCounter; + Label label; + Indicator waveCounter; + Indicator cooldownLeft; + Indicator cooldownRight; + Indicator skill2; + Label gameover; + int change = 0; + private int winCount = 0; + PlayerCam playerCam; + private float spawnTimer; + private float timer; + boolean left = false; + boolean right = false; + boolean down = false; + boolean up = false; + Vector3f walkDirection = new Vector3f(Vector3f.ZERO); + private DirectionalLightShadowRenderer dlsr; + private DirectionalLightShadowFilter dlsf; + private static int SPAWN_TIME = 10; + private int spawns = 1; + private boolean gameover_flag = false; + public Exchange exchange; + + public static void main(String[] args) { + TestCameraNode app = new TestCameraNode(); + app.setDisplayFps(false); + app.setDisplayStatView(false); + app.start(); + } + + public void simpleInitApp() { + this.bulletAppState = new BulletAppState(); + this.stateManager.attach((AppState)this.bulletAppState); + this.exchange = new Exchange(); + Exchange.setRootNode(this.rootNode); + Exchange.setBulletAppState(this.bulletAppState); + Exchange.setAssetManager(this.assetManager); + Exchange.setViewPort(this.viewPort); + Exchange.setApp(this); + this.spawnTimer = 0.0f; + this.timer = 0.0f; + this.setupPlayer(); + this.setupGround(); + this.setupWalls(); + this.setupCam(); + this.setupLight(); + this.registerInput(); + this.setupFilters(); + this.setupGUI(); + } + + private void setupPlayer() { + this.player = new Player("Player"); + this.player.setHat(this.assetManager.loadModel("Models/helmet/helmet.j3o")); + Staff staff = new Staff("Staff", this.assetManager, this.exchange); + staff.setModel(this.assetManager.loadModel("Models/staff/staff.mesh.j3o")); + this.player.setLeftHand(staff); + Sword sword = new Sword("Sword", this.assetManager, this.exchange); + sword.setModel(this.assetManager.loadModel("Models/sword/sword.mesh.j3o")); + this.bulletAppState.getPhysicsSpace().add((Object)sword); + this.player.setRightHand(sword); + this.player.setModel(this.assetManager.loadModel("Models/blob/Blob.mesh.j3o")); + this.bulletAppState.getPhysicsSpace().add((Object)this.player.playerControl); + this.rootNode.attachChild((Spatial)this.player); + this.bulletAppState.getPhysicsSpace().addCollisionListener((PhysicsCollisionListener)this); + } + + private void setupSpider(Vector3f spawn) { + WalkingEnemy walkingSpider = new WalkingEnemy("Spider", this.assetManager); + walkingSpider.setLocalTranslation(spawn); + walkingSpider.setModel(this.assetManager.loadModel("Models/spider/spider.mesh.j3o")); + walkingSpider.modelAnimChannel.setAnim("walk"); + walkingSpider.setHealth(100.0f); + walkingSpider.modelAnimChannel.setLoopMode(LoopMode.Loop); + Exchange.enemies.add(walkingSpider); + AudioNode walksound = new AudioNode(this.assetManager, "Sounds/Effects/spiderwalking.ogg", false); + walksound.setName("walkingSound"); + walksound.setLooping(true); + walksound.setVolume(2.0f); + walkingSpider.attachChild((Spatial)walksound); + walksound.play(); + this.bulletAppState.getPhysicsSpace().add((Object)walkingSpider.ghost); + this.bulletAppState.getPhysicsSpace().add((Object)walkingSpider.walkingEnemyControl); + this.rootNode.attachChild((Spatial)walkingSpider); + } + + private void spawnSpider() { + Random r = new Random(); + int spawnx = r.nextInt(81) - 40; + int spawnz = r.nextInt(81) - 40; + Vector3f spawnpoint = new Vector3f((float)spawnx, 0.0f, (float)spawnz); + AudioNode spawnsound = new AudioNode(this.assetManager, "Sounds/Effects/spawn.ogg", false); + spawnsound.setLooping(false); + spawnsound.setPositional(true); + spawnsound.setLocalTranslation(spawnpoint); + spawnsound.setVolume(5.0f); + this.rootNode.attachChild((Spatial)spawnsound); + spawnsound.play(); + this.setupSpider(spawnpoint); + } + + private void setupGround() { + int rotation_flag = 0; + for (int x = -50; x < 50; x += 10) { + for (int z = -50; z < 50; z += 10) { + Spatial ground; + if (rotation_flag == 5) { + rotation_flag = 0; + ground = this.assetManager.loadModel("Models/tile2/tile.mesh.j3o"); + } else { + ground = this.assetManager.loadModel("Models/tile1/tile.mesh.j3o"); + ++rotation_flag; + } + ground.scale(5.0f); + ground.setLocalTranslation((float)x, -1.0f, (float)z); + RigidBodyControl ground_solid = new RigidBodyControl(0.0f); + ground.addControl((Control)ground_solid); + this.bulletAppState.getPhysicsSpace().add((Object)ground_solid); + ground.setShadowMode(RenderQueue.ShadowMode.Receive); + this.rootNode.attachChild(ground); + } + } + } + + private void setupWalls() { + float x; + for (x = -60.0f; x < 60.0f; x += 10.0f) { + this.createWall(x, 50.0f); + this.createWall(x, -50.0f); + } + for (x = -60.0f; x < 60.0f; x += 10.0f) { + this.createWall(50.0f, x); + this.createWall(-50.0f, x); + } + } + + private void createWall(float x, float z) { + Spatial wall = this.assetManager.loadModel("Models/wall1/wall1.mesh.j3o"); + wall.scale(5.0f); + wall.setLocalTranslation(x, 0.0f, z); + RigidBodyControl wall_solid = new RigidBodyControl(0.0f); + wall.addControl((Control)wall_solid); + this.bulletAppState.getPhysicsSpace().add((Object)wall); + wall.setShadowMode(RenderQueue.ShadowMode.CastAndReceive); + this.rootNode.attachChild(wall); + } + + private void setupCam() { + this.playerCam = new PlayerCam(this.player, "CamNode", this.cam); + this.playerCam.setupCamera(); + this.flyCam.setEnabled(false); + } + + private void setupLight() { + AmbientLight al = new AmbientLight(); + al.setColor(new ColorRGBA(0.6f, 0.6f, 0.9f, 1.0f)); + this.rootNode.addLight((Light)al); + } + + public void registerInput() { + Trigger[] triggerArray = new Trigger[2]; + triggerArray[0] = new KeyTrigger(200); + triggerArray[1] = new KeyTrigger(17); + this.inputManager.addMapping("moveForward", triggerArray); + Trigger[] triggerArray2 = new Trigger[2]; + triggerArray2[0] = new KeyTrigger(208); + triggerArray2[1] = new KeyTrigger(31); + this.inputManager.addMapping("moveBackward", triggerArray2); + Trigger[] triggerArray3 = new Trigger[2]; + triggerArray3[0] = new KeyTrigger(205); + triggerArray3[1] = new KeyTrigger(32); + this.inputManager.addMapping("moveRight", triggerArray3); + Trigger[] triggerArray4 = new Trigger[2]; + triggerArray4[0] = new KeyTrigger(203); + triggerArray4[1] = new KeyTrigger(30); + this.inputManager.addMapping("moveLeft", triggerArray4); + this.inputManager.addMapping("rightHand", new Trigger[]{new MouseButtonTrigger(1)}); + Trigger[] triggerArray5 = new Trigger[1]; + triggerArray5[0] = new KeyTrigger(18); + this.inputManager.addMapping("skill2", triggerArray5); + this.inputManager.addMapping("leftHand", new Trigger[]{new MouseButtonTrigger(0)}); + this.inputManager.addMapping("die", new Trigger[]{new MouseButtonTrigger(2)}); + this.inputManager.addMapping("jump", new Trigger[]{new KeyTrigger(57)}); + this.inputManager.addListener((InputListener)this, new String[]{"moveForward", "moveBackward", "moveRight", "moveLeft", "rightHand", "leftHand", "die", "jump", "skill2"}); + } + + public void setupFilters() { + if (this.renderer.getCaps().contains(Caps.GLSL100)) { + this.fpp = new FilterPostProcessor(this.assetManager); + CartoonEdgeFilter toon = new CartoonEdgeFilter(); + toon.setEdgeColor(ColorRGBA.Black); + this.fpp.addFilter((Filter)toon); + this.viewPort.addProcessor((SceneProcessor)this.fpp); + } + } + + public void onAnalog(String name, float value, float tpf) { + } + + public void onAction(String name, boolean keyPressed, float tpf) { + try { + if (name.equals("rightHand") && !keyPressed) { + this.player.rightHand.skill1(); + } + if (name.equals("leftHand") && !keyPressed) { + this.player.leftHand.skill1(); + } + } + catch (NullPointerException e) { + // empty catch block + } + if (name.equals("skill2") && !keyPressed) { + this.player.leftHand.skill2(); + } + if (name.equals("die") && !keyPressed) { + this.player.switchHands(); + } + if (name.equals("jump")) { + this.player.playerControl.jump(); + } + if (name.equals("moveLeft")) { + this.left = keyPressed; + } else if (name.equals("moveRight")) { + this.right = keyPressed; + } else if (name.equals("moveForward")) { + this.up = keyPressed; + } else if (name.equals("moveBackward")) { + this.down = keyPressed; + } + } + + public void setupGUI() { + this.screen = new Screen((Application)this, "tonegod/gui/style/def/style_map.xml"); + this.screen.initialize(); + this.guiNode.addControl((Control)this.screen); + this.ind1 = new Indicator(this.screen, "Healthbar", new Vector2f(10.0f, 10.0f), Indicator.Orientation.HORIZONTAL){ + + public void onChange(float arg0, float arg1) { + } + }; + this.ind1.setMaxValue(100.0f); + this.ind1.setCurrentValue(this.player.health); + this.ind1.setIndicatorColor(ColorRGBA.Red); + this.ind1.setDisplayPercentage(); + this.screen.addElement((Element)this.ind1); + this.cooldownLeft = new Indicator(this.screen, "cooldownLeft", new Vector2f(10.0f, (float)(this.settings.getHeight() - 30)), Indicator.Orientation.HORIZONTAL){ + + public void onChange(float arg0, float arg1) { + } + }; + this.cooldownLeft.setMaxValue(100.0f); + this.cooldownLeft.setCurrentValue(100.0f); + this.cooldownLeft.setIndicatorColor(ColorRGBA.Blue); + this.cooldownLeft.setText("Fireball"); + this.screen.addElement((Element)this.cooldownLeft); + this.cooldownRight = new Indicator(this.screen, "cooldownRight", new Vector2f(10.0f, (float)(this.settings.getHeight() - 70)), Indicator.Orientation.HORIZONTAL){ + + public void onChange(float arg0, float arg1) { + } + }; + this.cooldownRight.setMaxValue(100.0f); + this.cooldownRight.setCurrentValue(100.0f); + this.cooldownRight.setIndicatorColor(ColorRGBA.Blue); + this.cooldownRight.setText("Sword"); + this.screen.addElement((Element)this.cooldownRight); + this.skill2 = new Indicator(this.screen, "skill2", new Vector2f(10.0f, (float)(this.settings.getHeight() - 50)), Indicator.Orientation.HORIZONTAL){ + + public void onChange(float arg0, float arg1) { + } + }; + this.skill2.setMaxValue(100.0f); + this.skill2.setCurrentValue(100.0f); + this.skill2.setIndicatorColor(ColorRGBA.Blue); + this.skill2.setText("Teleport"); + this.screen.addElement((Element)this.skill2); + this.label = new Label(this.screen, "Timer", new Vector2f(10.0f, 50.0f), new Vector2f(200.0f, 100.0f)); + this.label.setFontColor(ColorRGBA.Yellow); + this.label.setFontSize(30.0f); + this.screen.addElement((Element)this.label); + this.waveCounter = new Indicator(this.screen, "waveCounter", new Vector2f(10.0f, 30.0f), Indicator.Orientation.HORIZONTAL){ + + public void onChange(float arg0, float arg1) { + } + }; + this.waveCounter.setMaxValue((float)SPAWN_TIME); + this.waveCounter.setCurrentValue((float)SPAWN_TIME - this.spawnTimer); + this.waveCounter.setIndicatorColor(ColorRGBA.Yellow); + this.waveCounter.setFontColor(ColorRGBA.Black); + this.waveCounter.setText("next Wave in..."); + this.screen.addElement((Element)this.waveCounter); + this.spiderCounter = new Label(this.screen, "SpiderCounter", new Vector2f(10.0f, 30.0f), new Vector2f(200.0f, 100.0f)); + this.spiderCounter.setFontColor(ColorRGBA.Yellow); + this.spiderCounter.setFontSize(30.0f); + this.screen.addElement((Element)this.spiderCounter); + this.gameover = new Label(this.screen, "GameOver", new Vector2f(0.0f, 0.0f), new Vector2f((float)this.settings.getWidth(), 400.0f)); + this.gameover.setFont("/Interface/Fonts/FleshWound.fnt"); + this.gameover.setFontSize(100.0f); + this.gameover.setFontColor(ColorRGBA.White); + this.gameover.setText("Verloren!"); + Effect ef = new Effect(Effect.EffectType.FadeIn, Effect.EffectEvent.Show, 2.0f); + this.gameover.hide(); + this.gameover.addEffect(Effect.EffectEvent.Show, ef); + this.screen.addElement((Element)this.gameover); + } + + public void reduceCooldowns(float tpf) { + this.player.leftHand.reduceCooldowns(tpf); + this.player.rightHand.reduceCooldowns(tpf); + } + + public void simpleUpdate(float tpf) { + this.reduceCooldowns(tpf); + this.cooldownLeft.setCurrentValue(this.player.leftHand.cooldown1 * (this.cooldownLeft.getMaxValue() / this.player.leftHand.COOLDOWN1_TIME)); + this.skill2.setCurrentValue(this.player.leftHand.cooldown2 * (this.skill2.getMaxValue() / this.player.leftHand.COOLDOWN2_TIME)); + this.cooldownRight.setCurrentValue(this.player.rightHand.cooldown1 * (this.cooldownRight.getMaxValue() / this.player.rightHand.COOLDOWN1_TIME)); + this.spiderCounter.setText("Kills: " + Exchange.killed); + if (!this.gameover_flag) { + CollisionResults results = new CollisionResults(); + Vector2f click2d = this.inputManager.getCursorPosition(); + Vector3f click3d = this.cam.getWorldCoordinates(new Vector2f(click2d.x, click2d.y), 0.0f).clone(); + Vector3f dir = this.cam.getWorldCoordinates(new Vector2f(click2d.x, click2d.y), 1.0f).subtractLocal(click3d).normalizeLocal(); + Ray ray = new Ray(click3d, dir); + this.rootNode.collideWith((Collidable)ray, results); + for (int i = 0; i < results.size(); ++i) { + float dist = results.getCollision(i).getDistance(); + Vector3f pt = results.getCollision(i).getContactPoint(); + this.player.wholeBody.lookAt(pt, Vector3f.UNIT_Y); + this.player.pt = pt; + } + Vector3f camDir = this.cam.getDirection().clone().multLocal(8.0f); + Vector3f camLeft = this.cam.getLeft().clone().multLocal(8.0f); + camDir.y = 0.0f; + camLeft.y = 0.0f; + this.walkDirection.set(0.0f, 0.0f, 0.0f); + if (this.left) { + this.walkDirection.addLocal(camLeft); + } + if (this.right) { + this.walkDirection.addLocal(camLeft.negate()); + } + if (this.up) { + this.walkDirection.addLocal(camDir); + } + if (this.down) { + this.walkDirection.addLocal(camDir.negate()); + } + if (this.walkDirection.length() == 0.0f) { + if ("walk".equals(this.player.modelAnimChannel.getAnimationName())) { + this.player.modelAnimChannel.setAnim("stand", 1.0f); + } + } else if ("stand".equals(this.player.modelAnimChannel.getAnimationName())) { + this.player.modelAnimChannel.setAnim("walk", 0.7f); + } + this.walkDirection.normalizeLocal().multLocal(7.5f); + this.player.playerControl.setWalkDirection(this.walkDirection); + this.ind1.setCurrentValue(this.player.health); + if (this.player.health <= 0.0f) { + this.player.die(); + this.gameover.showWithEffect(); + AudioNode gameover = new AudioNode(this.assetManager, "Sounds/Effects/gameover.ogg", false); + gameover.setLooping(false); + gameover.setVolume(5.0f); + this.rootNode.attachChild((Spatial)gameover); + gameover.play(); + this.gameover_flag = true; + } + this.waveCounter.setCurrentValue((float)SPAWN_TIME - this.spawnTimer); + this.spawnTimer += tpf; + if (this.spawnTimer >= (float)SPAWN_TIME) { + for (int spawn_counts = 0; spawn_counts < this.spawns; ++spawn_counts) { + this.spawnSpider(); + } + ++this.spawns; + this.spawnTimer = 0.0f; + } + this.label.setText("Wave No.:" + (this.spawns - 1)); + } + } + + public void onAnimCycleDone(AnimControl control, AnimChannel channel, String animName) { + if (animName.equals("walk")) { + channel.setAnim("stand", 0.1f); + channel.setLoopMode(LoopMode.DontLoop); + channel.setSpeed(1.0f); + } + if (animName.equals("skill1")) { + channel.setAnim("normal", 0.1f); + channel.setLoopMode(LoopMode.DontLoop); + channel.setSpeed(1.0f); + } + } + + public void onAnimChange(AnimControl control, AnimChannel channel, String animName) { + if (animName.equals("skill1")) { + // empty if block + } + } + + public void collision(PhysicsCollisionEvent event) { + try { + if (event.getNodeA().getName().equals("Spider") && event.getNodeB().getName().equals("Player") || event.getNodeB().getName().equals("Spider") && event.getNodeA().getName().equals("Player")) { + this.player.health -= 0.25f; + } + } + catch (Exception exception) { + // empty catch block + } + } +} diff --git a/decompiled/jme3/hello/TestChaseCamera.java b/decompiled/jme3/hello/TestChaseCamera.java new file mode 100644 index 0000000..8d26c44 --- /dev/null +++ b/decompiled/jme3/hello/TestChaseCamera.java @@ -0,0 +1,117 @@ +/* + * Decompiled with CFR 0.152. + * + * Could not load the following classes: + * com.jme3.app.SimpleApplication + * com.jme3.input.ChaseCamera + * com.jme3.input.controls.ActionListener + * com.jme3.input.controls.AnalogListener + * com.jme3.input.controls.InputListener + * com.jme3.input.controls.KeyTrigger + * com.jme3.input.controls.Trigger + * com.jme3.material.Material + * com.jme3.math.Quaternion + * com.jme3.math.Vector3f + * com.jme3.scene.Geometry + * com.jme3.scene.Mesh + * com.jme3.scene.Spatial + * com.jme3.scene.shape.Quad + */ +package jme3.hello; + +import com.jme3.app.SimpleApplication; +import com.jme3.input.ChaseCamera; +import com.jme3.input.controls.ActionListener; +import com.jme3.input.controls.AnalogListener; +import com.jme3.input.controls.InputListener; +import com.jme3.input.controls.KeyTrigger; +import com.jme3.input.controls.Trigger; +import com.jme3.material.Material; +import com.jme3.math.Quaternion; +import com.jme3.math.Vector3f; +import com.jme3.scene.Geometry; +import com.jme3.scene.Mesh; +import com.jme3.scene.Spatial; +import com.jme3.scene.shape.Quad; + +public class TestChaseCamera +extends SimpleApplication +implements AnalogListener, +ActionListener { + private Spatial teaGeom; + private ChaseCamera chaseCam; + + public static void main(String[] args) { + TestChaseCamera app = new TestChaseCamera(); + app.start(); + } + + public void simpleInitApp() { + this.teaGeom = this.assetManager.loadModel("Models/blob/Blob.mesh.xml"); + Material mat_tea = new Material(this.assetManager, "Common/MatDefs/Misc/ShowNormals.j3md"); + this.teaGeom.setMaterial(mat_tea); + this.rootNode.attachChild(this.teaGeom); + Material mat_ground = new Material(this.assetManager, "Common/MatDefs/Misc/Unshaded.j3md"); + Geometry ground = new Geometry("ground", (Mesh)new Quad(50.0f, 50.0f)); + ground.setLocalRotation(new Quaternion().fromAngleAxis(-1.5707964f, Vector3f.UNIT_X)); + ground.setLocalTranslation(-25.0f, -1.0f, 25.0f); + ground.setMaterial(mat_ground); + this.rootNode.attachChild((Spatial)ground); + this.flyCam.setEnabled(false); + this.chaseCam = new ChaseCamera(this.cam, this.teaGeom, this.inputManager); + this.chaseCam.setRotationSpeed(0.0f); + this.chaseCam.setSmoothMotion(true); + this.chaseCam.setTrailingEnabled(true); + this.chaseCam.setLookAtOffset(Vector3f.UNIT_Y.mult(3.0f)); + this.registerInput(); + } + + public void registerInput() { + Trigger[] triggerArray = new Trigger[2]; + triggerArray[0] = new KeyTrigger(200); + triggerArray[1] = new KeyTrigger(17); + this.inputManager.addMapping("moveForward", triggerArray); + Trigger[] triggerArray2 = new Trigger[2]; + triggerArray2[0] = new KeyTrigger(208); + triggerArray2[1] = new KeyTrigger(31); + this.inputManager.addMapping("moveBackward", triggerArray2); + Trigger[] triggerArray3 = new Trigger[2]; + triggerArray3[0] = new KeyTrigger(205); + triggerArray3[1] = new KeyTrigger(32); + this.inputManager.addMapping("moveRight", triggerArray3); + Trigger[] triggerArray4 = new Trigger[2]; + triggerArray4[0] = new KeyTrigger(203); + triggerArray4[1] = new KeyTrigger(30); + this.inputManager.addMapping("moveLeft", triggerArray4); + Trigger[] triggerArray5 = new Trigger[1]; + triggerArray5[0] = new KeyTrigger(25); + this.inputManager.addMapping("displayPosition", triggerArray5); + this.inputManager.addListener((InputListener)this, new String[]{"moveForward", "moveBackward", "moveRight", "moveLeft"}); + this.inputManager.addListener((InputListener)this, new String[]{"displayPosition"}); + } + + public void onAnalog(String name, float value, float tpf) { + if (name.equals("moveForward")) { + this.teaGeom.move(0.0f, 0.0f, -5.0f * tpf); + } + if (name.equals("moveBackward")) { + this.teaGeom.move(0.0f, 0.0f, 5.0f * tpf); + } + if (name.equals("moveRight")) { + this.teaGeom.move(5.0f * tpf, 0.0f, 0.0f); + } + if (name.equals("moveLeft")) { + this.teaGeom.move(-5.0f * tpf, 0.0f, 0.0f); + } + } + + public void onAction(String name, boolean keyPressed, float tpf) { + if (name.equals("displayPosition") && keyPressed) { + this.teaGeom.move(10.0f, 10.0f, 10.0f); + } + } + + public void simpleUpdate(float tpf) { + super.simpleUpdate(tpf); + } +} diff --git a/decompiled/jme3/hello/test.java b/decompiled/jme3/hello/test.java new file mode 100644 index 0000000..3359d91 --- /dev/null +++ b/decompiled/jme3/hello/test.java @@ -0,0 +1,206 @@ +/* + * Decompiled with CFR 0.152. + * + * Could not load the following classes: + * com.jme3.animation.AnimChannel + * com.jme3.animation.AnimControl + * com.jme3.animation.AnimEventListener + * com.jme3.app.SimpleApplication + * com.jme3.app.state.AppState + * com.jme3.bullet.BulletAppState + * com.jme3.bullet.BulletAppState$ThreadingType + * com.jme3.bullet.collision.PhysicsCollisionEvent + * com.jme3.bullet.collision.PhysicsCollisionListener + * com.jme3.bullet.collision.shapes.CapsuleCollisionShape + * com.jme3.bullet.collision.shapes.CollisionShape + * com.jme3.bullet.control.CharacterControl + * com.jme3.bullet.control.RigidBodyControl + * com.jme3.input.ChaseCamera + * com.jme3.input.controls.ActionListener + * com.jme3.input.controls.InputListener + * com.jme3.input.controls.KeyTrigger + * com.jme3.input.controls.Trigger + * com.jme3.light.AmbientLight + * com.jme3.light.DirectionalLight + * com.jme3.light.Light + * com.jme3.material.Material + * com.jme3.math.ColorRGBA + * com.jme3.math.Quaternion + * com.jme3.math.Vector3f + * com.jme3.scene.Geometry + * com.jme3.scene.Mesh + * com.jme3.scene.Node + * com.jme3.scene.Spatial + * com.jme3.scene.control.Control + * com.jme3.scene.shape.Quad + */ +package jme3.hello; + +import com.jme3.animation.AnimChannel; +import com.jme3.animation.AnimControl; +import com.jme3.animation.AnimEventListener; +import com.jme3.app.SimpleApplication; +import com.jme3.app.state.AppState; +import com.jme3.bullet.BulletAppState; +import com.jme3.bullet.collision.PhysicsCollisionEvent; +import com.jme3.bullet.collision.PhysicsCollisionListener; +import com.jme3.bullet.collision.shapes.CapsuleCollisionShape; +import com.jme3.bullet.collision.shapes.CollisionShape; +import com.jme3.bullet.control.CharacterControl; +import com.jme3.bullet.control.RigidBodyControl; +import com.jme3.input.ChaseCamera; +import com.jme3.input.controls.ActionListener; +import com.jme3.input.controls.InputListener; +import com.jme3.input.controls.KeyTrigger; +import com.jme3.input.controls.Trigger; +import com.jme3.light.AmbientLight; +import com.jme3.light.DirectionalLight; +import com.jme3.light.Light; +import com.jme3.material.Material; +import com.jme3.math.ColorRGBA; +import com.jme3.math.Quaternion; +import com.jme3.math.Vector3f; +import com.jme3.scene.Geometry; +import com.jme3.scene.Mesh; +import com.jme3.scene.Node; +import com.jme3.scene.Spatial; +import com.jme3.scene.control.Control; +import com.jme3.scene.shape.Quad; + +public class test +extends SimpleApplication +implements ActionListener, +PhysicsCollisionListener, +AnimEventListener { + private BulletAppState bulletAppState; + CharacterControl character; + Node model; + Vector3f walkDirection = new Vector3f(); + Geometry ground; + ChaseCamera chaseCam; + boolean left = false; + boolean right = false; + boolean up = false; + boolean down = false; + + public static void main(String[] args) { + test app = new test(); + app.start(); + } + + public void simpleInitApp() { + this.bulletAppState = new BulletAppState(); + this.bulletAppState.setThreadingType(BulletAppState.ThreadingType.PARALLEL); + this.stateManager.attach((AppState)this.bulletAppState); + this.setupKeys(); + this.createLight(); + this.createCharacter(); + Material mat = new Material(this.assetManager, "Common/MatDefs/Misc/Unshaded.j3md"); + mat.setTexture("ColorMap", this.assetManager.loadTexture("Textures/Rock.PNG")); + this.ground = new Geometry("ground", (Mesh)new Quad(50.0f, 50.0f)); + this.ground.setLocalRotation(new Quaternion().fromAngleAxis(-1.5707964f, Vector3f.UNIT_X)); + this.ground.setLocalTranslation(0.0f, 0.0f, 0.0f); + this.ground.setMaterial(mat); + RigidBodyControl ground_solid = new RigidBodyControl(0.0f); + this.ground.addControl((Control)ground_solid); + this.bulletAppState.getPhysicsSpace().add((Object)ground_solid); + this.rootNode.attachChild((Spatial)this.ground); + this.setupChaseCamera(); + } + + private void setupKeys() { + this.inputManager.addMapping("CharLeft", new Trigger[]{new KeyTrigger(30)}); + this.inputManager.addMapping("CharRight", new Trigger[]{new KeyTrigger(32)}); + this.inputManager.addMapping("CharUp", new Trigger[]{new KeyTrigger(17)}); + this.inputManager.addMapping("CharDown", new Trigger[]{new KeyTrigger(31)}); + this.inputManager.addListener((InputListener)this, new String[]{"CharLeft", "CharRight", "CharUp", "CharDown"}); + } + + private void createLight() { + AmbientLight al = new AmbientLight(); + al.setColor(ColorRGBA.White.mult(1.3f)); + this.rootNode.addLight((Light)al); + DirectionalLight dl = new DirectionalLight(); + dl.setColor(ColorRGBA.White); + dl.setDirection(new Vector3f(2.8f, -2.8f, -2.8f).normalizeLocal()); + this.rootNode.addLight((Light)dl); + } + + private void createGround() { + Material mat = new Material(this.assetManager, "Common/MatDefs/Misc/Unshaded.j3md"); + mat.setTexture("ColorMap", this.assetManager.loadTexture("Textures/Rock.PNG")); + this.ground = new Geometry("ground", (Mesh)new Quad(50.0f, 50.0f)); + this.ground.setLocalRotation(new Quaternion().fromAngleAxis(-1.5707964f, Vector3f.UNIT_X)); + this.ground.setLocalTranslation(0.0f, 0.0f, 0.0f); + this.ground.setMaterial(mat); + RigidBodyControl ground_solid = new RigidBodyControl(0.0f); + this.ground.addControl((Control)ground_solid); + this.bulletAppState.getPhysicsSpace().add((Object)ground_solid); + this.rootNode.attachChild((Spatial)this.ground); + } + + private void createCharacter() { + CapsuleCollisionShape capsule = new CapsuleCollisionShape(1.0f, 1.0f); + this.character = new CharacterControl((CollisionShape)capsule, 1.0f); + this.model = (Node)this.assetManager.loadModel("Models/spider/Spider.mesh.j3o"); + this.model.addControl((Control)this.character); + this.model.setLocalTranslation(0.0f, 10.0f, 0.0f); + this.character.setPhysicsLocation(new Vector3f(-140.0f, 15.0f, -10.0f)); + this.rootNode.attachChild((Spatial)this.model); + this.bulletAppState.getPhysicsSpace().add((Object)this.character); + } + + private void setupChaseCamera() { + this.flyCam.setEnabled(false); + this.chaseCam = new ChaseCamera(this.cam, (Spatial)this.model, this.inputManager); + } + + public void simpleUpdate(float tpf) { + this.walkDirection.set(0.0f, 0.0f, 0.0f); + Vector3f camDir = this.cam.getDirection().clone().multLocal(0.1f); + Vector3f camLeft = this.cam.getLeft().clone().multLocal(0.1f); + camDir.y = 0.0f; + camLeft.y = 0.0f; + this.walkDirection.set(0.0f, 0.0f, 0.0f); + if (this.left) { + this.walkDirection.addLocal(camLeft); + } + if (this.right) { + this.walkDirection.addLocal(camLeft.negate()); + } + if (this.up) { + this.walkDirection.addLocal(camDir); + } + if (this.down) { + this.walkDirection.addLocal(camDir.negate()); + } + if (this.walkDirection.length() != 0.0f) { + this.character.setViewDirection(this.walkDirection); + } + this.character.setWalkDirection(this.walkDirection); + } + + public void onAction(String binding, boolean value, float tpf) { + if (binding.equals("CharLeft")) { + this.left = value; + } else if (binding.equals("CharRight")) { + this.right = value; + } else if (binding.equals("CharUp")) { + this.up = value; + } else if (binding.equals("CharDown")) { + this.down = value; + } + } + + public void collision(PhysicsCollisionEvent event) { + throw new UnsupportedOperationException("Not supported yet."); + } + + public void onAnimCycleDone(AnimControl control, AnimChannel channel, String animName) { + throw new UnsupportedOperationException("Not supported yet."); + } + + public void onAnimChange(AnimControl control, AnimChannel channel, String animName) { + throw new UnsupportedOperationException("Not supported yet."); + } +} diff --git a/decompiled/mygame/AnimeEventListener.java b/decompiled/mygame/AnimeEventListener.java new file mode 100644 index 0000000..6f65ecc --- /dev/null +++ b/decompiled/mygame/AnimeEventListener.java @@ -0,0 +1,7 @@ +/* + * Decompiled with CFR 0.152. + */ +package mygame; + +interface AnimeEventListener { +} diff --git a/decompiled/mygame/Character.java b/decompiled/mygame/Character.java new file mode 100644 index 0000000..fb2fbd4 --- /dev/null +++ b/decompiled/mygame/Character.java @@ -0,0 +1,31 @@ +/* + * Decompiled with CFR 0.152. + * + * Could not load the following classes: + * com.jme3.animation.AnimChannel + * com.jme3.animation.AnimControl + * com.jme3.scene.Spatial + */ +package mygame; + +import com.jme3.animation.AnimChannel; +import com.jme3.animation.AnimControl; +import com.jme3.scene.Spatial; +import mygame.Interactive; + +public abstract class Character +extends Interactive { + public AnimChannel modelAnimChannel; + public AnimControl modelAnimControl; + + public Character(String name) { + super(name); + } + + public void setModel(Spatial model) { + super.setModel(model); + this.setupModelControl(); + } + + public abstract void setupModelControl(); +} diff --git a/decompiled/mygame/Cross.java b/decompiled/mygame/Cross.java new file mode 100644 index 0000000..4f7ade7 --- /dev/null +++ b/decompiled/mygame/Cross.java @@ -0,0 +1,106 @@ +/* + * Decompiled with CFR 0.152. + * + * Could not load the following classes: + * com.jme3.animation.AnimControl + * com.jme3.bullet.collision.shapes.CapsuleCollisionShape + * com.jme3.bullet.collision.shapes.CollisionShape + * com.jme3.bullet.control.GhostControl + * com.jme3.effect.ParticleEmitter + * com.jme3.effect.ParticleMesh$Type + * com.jme3.light.Light + * com.jme3.light.PointLight + * com.jme3.material.Material + * com.jme3.math.ColorRGBA + * com.jme3.math.Vector3f + * com.jme3.scene.Spatial + * com.jme3.scene.control.Control + */ +package mygame; + +import com.jme3.animation.AnimControl; +import com.jme3.bullet.collision.shapes.CapsuleCollisionShape; +import com.jme3.bullet.collision.shapes.CollisionShape; +import com.jme3.bullet.control.GhostControl; +import com.jme3.effect.ParticleEmitter; +import com.jme3.effect.ParticleMesh; +import com.jme3.light.Light; +import com.jme3.light.PointLight; +import com.jme3.material.Material; +import com.jme3.math.ColorRGBA; +import com.jme3.math.Vector3f; +import com.jme3.scene.Spatial; +import com.jme3.scene.control.Control; +import mygame.Character; +import mygame.CrossControl; +import mygame.Exchange; + +public class Cross +extends Character { + public GhostControl collision; + public CrossControl control; + private PointLight light; + + public Cross(String name) { + super(name); + this.setModel(); + this.setupControl(); + } + + public void setupModelControl() { + this.modelAnimControl = (AnimControl)this.model.getControl(AnimControl.class); + this.modelAnimChannel = this.modelAnimControl.createChannel(); + this.modelAnimChannel.setAnim("normal"); + this.modelAnimChannel.setSpeed(0.5f); + } + + void setupModel() { + this.wholeBody.attachChild(this.model); + } + + public void setupControl() { + this.collision = new GhostControl((CollisionShape)new CapsuleCollisionShape(1.0f, 0.5f)); + this.collision.addCollideWithGroup(2); + this.addControl((Control)this.collision); + this.control = new CrossControl(); + this.addControl((Control)this.control); + Exchange.bulletAppState.getPhysicsSpace().add((Object)this.collision); + } + + public void setModel() { + this.model = Exchange.assetManager.loadModel("Models/kross/kross.mesh.j3o"); + this.setLocalScale(0.25f); + this.setupModel(); + this.setupModelControl(); + this.wholeBody.attachChild(this.model); + ParticleEmitter funken = new ParticleEmitter("Emitter", ParticleMesh.Type.Triangle, 50); + Material mat_red = new Material(Exchange.assetManager, "Common/MatDefs/Misc/Particle.j3md"); + mat_red.setTexture("Texture", Exchange.assetManager.loadTexture("Effects/flame.png")); + funken.setMaterial(mat_red); + funken.setImagesX(2); + funken.setImagesY(2); + funken.setEndColor(new ColorRGBA(0.0f, 1.0f, 0.0f, 1.0f)); + funken.setStartColor(new ColorRGBA(0.0f, 1.0f, 0.0f, 1.0f)); + funken.getParticleInfluencer().setInitialVelocity(new Vector3f(0.25f, 2.0f, 0.25f)); + funken.setStartSize(0.1f); + funken.setEndSize(0.1f); + funken.setGravity(0.0f, 0.0f, 0.0f); + funken.setLowLife(1.0f); + funken.setHighLife(2.0f); + funken.getParticleInfluencer().setVelocityVariation(1.0f); + this.attachChild((Spatial)funken); + } + + public void kill() { + this.removeFromParent(); + Exchange.rootNode.removeLight((Light)this.light); + } + + public void setLight() { + this.light = new PointLight(); + this.light.setPosition(this.getLocalTranslation().add(new Vector3f(0.0f, 1.0f, 0.0f))); + this.light.setColor(ColorRGBA.Green); + this.light.setRadius(10.0f); + Exchange.rootNode.addLight((Light)this.light); + } +} diff --git a/decompiled/mygame/CrossControl.java b/decompiled/mygame/CrossControl.java new file mode 100644 index 0000000..fd6dbed --- /dev/null +++ b/decompiled/mygame/CrossControl.java @@ -0,0 +1,31 @@ +/* + * Decompiled with CFR 0.152. + * + * Could not load the following classes: + * com.jme3.renderer.RenderManager + * com.jme3.renderer.ViewPort + * com.jme3.scene.control.AbstractControl + */ +package mygame; + +import com.jme3.renderer.RenderManager; +import com.jme3.renderer.ViewPort; +import com.jme3.scene.control.AbstractControl; +import mygame.Cross; +import mygame.Exchange; +import mygame.Player; + +public class CrossControl +extends AbstractControl { + protected void controlUpdate(float tpf) { + Cross cross = (Cross)this.spatial; + Player player = (Player)Exchange.rootNode.getChild("Player"); + if (cross.collision.getOverlappingObjects().contains(player.collision)) { + player.heal(25.0f); + cross.kill(); + } + } + + protected void controlRender(RenderManager rm, ViewPort vp) { + } +} diff --git a/decompiled/mygame/Exchange.java b/decompiled/mygame/Exchange.java new file mode 100644 index 0000000..73537bf --- /dev/null +++ b/decompiled/mygame/Exchange.java @@ -0,0 +1,101 @@ +/* + * Decompiled with CFR 0.152. + * + * Could not load the following classes: + * com.jme3.app.SimpleApplication + * com.jme3.asset.AssetManager + * com.jme3.bullet.BulletAppState + * com.jme3.math.Vector3f + * com.jme3.renderer.ViewPort + * com.jme3.scene.Node + * com.jme3.scene.Spatial + */ +package mygame; + +import com.jme3.app.SimpleApplication; +import com.jme3.asset.AssetManager; +import com.jme3.bullet.BulletAppState; +import com.jme3.math.Vector3f; +import com.jme3.renderer.ViewPort; +import com.jme3.scene.Node; +import com.jme3.scene.Spatial; +import java.util.ArrayList; +import java.util.Random; +import mygame.Cross; +import mygame.WalkingEnemy; + +public class Exchange { + public static ArrayList enemies; + public static Node rootNode; + public static BulletAppState bulletAppState; + public static AssetManager assetManager; + public static ViewPort viewPort; + public static SimpleApplication app; + public static int killed; + + public static int getKilled() { + return killed; + } + + public static void setKilled(int killed) { + Exchange.killed = killed; + } + + public static SimpleApplication getApp() { + return app; + } + + public static void setApp(SimpleApplication app) { + Exchange.app = app; + } + + public static AssetManager getAssetManager() { + return assetManager; + } + + public static void setAssetManager(AssetManager assetManager) { + Exchange.assetManager = assetManager; + } + + public static BulletAppState getBulletAppState() { + return bulletAppState; + } + + public static void setBulletAppState(BulletAppState bulletAppState) { + Exchange.bulletAppState = bulletAppState; + } + + public static Node getRootNode() { + return rootNode; + } + + public static void setRootNode(Node rootNode) { + Exchange.rootNode = rootNode; + } + + public Exchange() { + enemies = new ArrayList(); + } + + public static void removeEnemy(WalkingEnemy en) { + enemies.remove((Object)en); + } + + public static ViewPort getViewPort() { + return viewPort; + } + + public static void setViewPort(ViewPort viewPort) { + Exchange.viewPort = viewPort; + } + + public static void spawnItem(Vector3f place) { + Random r = new Random(); + if (r.nextInt(100) > 90) { + Cross cross = new Cross("Cross"); + cross.setLocalTranslation(place); + cross.setLight(); + rootNode.attachChild((Spatial)cross); + } + } +} diff --git a/decompiled/mygame/Fireball.java b/decompiled/mygame/Fireball.java new file mode 100644 index 0000000..ef433dd --- /dev/null +++ b/decompiled/mygame/Fireball.java @@ -0,0 +1,181 @@ +/* + * Decompiled with CFR 0.152. + * + * Could not load the following classes: + * com.jme3.asset.AssetManager + * com.jme3.audio.AudioNode + * com.jme3.bullet.collision.shapes.CapsuleCollisionShape + * com.jme3.bullet.collision.shapes.CollisionShape + * com.jme3.bullet.control.BetterCharacterControl + * com.jme3.bullet.control.GhostControl + * com.jme3.effect.ParticleEmitter + * com.jme3.effect.ParticleMesh$Type + * com.jme3.light.Light + * com.jme3.light.PointLight + * com.jme3.material.Material + * com.jme3.math.ColorRGBA + * com.jme3.math.Vector3f + * com.jme3.post.SceneProcessor + * com.jme3.scene.Node + * com.jme3.scene.Spatial + * com.jme3.scene.control.Control + * com.jme3.scene.control.LightControl + * com.jme3.shadow.EdgeFilteringMode + * com.jme3.shadow.PointLightShadowFilter + * com.jme3.shadow.PointLightShadowRenderer + */ +package mygame; + +import com.jme3.asset.AssetManager; +import com.jme3.audio.AudioNode; +import com.jme3.bullet.collision.shapes.CapsuleCollisionShape; +import com.jme3.bullet.collision.shapes.CollisionShape; +import com.jme3.bullet.control.BetterCharacterControl; +import com.jme3.bullet.control.GhostControl; +import com.jme3.effect.ParticleEmitter; +import com.jme3.effect.ParticleMesh; +import com.jme3.light.Light; +import com.jme3.light.PointLight; +import com.jme3.material.Material; +import com.jme3.math.ColorRGBA; +import com.jme3.math.Vector3f; +import com.jme3.post.SceneProcessor; +import com.jme3.scene.Node; +import com.jme3.scene.Spatial; +import com.jme3.scene.control.Control; +import com.jme3.scene.control.LightControl; +import com.jme3.shadow.EdgeFilteringMode; +import com.jme3.shadow.PointLightShadowFilter; +import com.jme3.shadow.PointLightShadowRenderer; +import mygame.Exchange; +import mygame.FireballControl; + +public class Fireball +extends Node { + ParticleEmitter fire; + PointLight light; + LightControl lightControl; + GhostControl collisionGhost; + GhostControl damageAreaGhost; + BetterCharacterControl bodyControl; + PointLightShadowRenderer dlsr; + PointLightShadowFilter dlsf; + FireballControl fireballControl; + private AssetManager assetManager; + Vector3f direction; + Exchange exchange; + boolean explode; + float timer; + float lifetime = 1.0f; + + public Fireball(AssetManager assetManager, Vector3f finish, Vector3f start, Exchange ex) { + this.direction = finish; + this.exchange = ex; + assetManager = Exchange.assetManager; + this.setLocalTranslation(start.add(new Vector3f(1.0f, 1.0f, 1.0f))); + this.fire = new ParticleEmitter("Emitter", ParticleMesh.Type.Triangle, 30); + Material mat_red = new Material(assetManager, "Common/MatDefs/Misc/Particle.j3md"); + mat_red.setTexture("Texture", assetManager.loadTexture("Effects/flame.png")); + this.fire.setMaterial(mat_red); + this.fire.setImagesX(2); + this.fire.setImagesY(2); + this.fire.setEndColor(new ColorRGBA(1.0f, 0.0f, 0.0f, 1.0f)); + this.fire.setStartColor(new ColorRGBA(1.0f, 1.0f, 0.0f, 0.5f)); + this.fire.getParticleInfluencer().setInitialVelocity(new Vector3f(0.0f, 2.0f, 0.0f)); + this.fire.setStartSize(1.5f); + this.fire.setEndSize(0.1f); + this.fire.setGravity(0.0f, 0.0f, 0.0f); + this.fire.setLowLife(1.0f); + this.fire.setHighLife(3.0f); + this.fire.getParticleInfluencer().setVelocityVariation(0.3f); + this.attachChild((Spatial)this.fire); + this.light = new PointLight(); + this.light.setColor(new ColorRGBA(1.0f, 0.5f, 0.0f, 1.0f)); + this.light.setPosition(this.getLocalTranslation()); + this.light.setRadius(100.0f); + Exchange.rootNode.addLight((Light)this.light); + this.dlsr = new PointLightShadowRenderer(assetManager, 128); + this.dlsr.setLight(this.light); + this.dlsr.setShadowIntensity(0.2f); + this.dlsr.setEdgeFilteringMode(EdgeFilteringMode.Dither); + Exchange.viewPort.addProcessor((SceneProcessor)this.dlsr); + this.dlsf = new PointLightShadowFilter(assetManager, 128); + this.dlsf.setLight(this.light); + this.dlsf.setShadowIntensity(0.2f); + this.dlsf.setEdgeFilteringMode(EdgeFilteringMode.Dither); + this.dlsf.setEnabled(false); + this.collisionGhost = new GhostControl((CollisionShape)new CapsuleCollisionShape(1.0f, 0.5f)); + this.collisionGhost.setSpatial((Spatial)this); + this.collisionGhost.addCollideWithGroup(1); + this.addControl((Control)this.collisionGhost); + this.damageAreaGhost = new GhostControl((CollisionShape)new CapsuleCollisionShape(5.0f, 1.0f)); + this.damageAreaGhost.addCollideWithGroup(1); + this.addControl((Control)this.damageAreaGhost); + this.bodyControl = new BetterCharacterControl(0.1f, 0.1f, 1.0f); + this.addControl((Control)this.bodyControl); + this.fireballControl = new FireballControl(); + this.addControl((Control)this.fireballControl); + Exchange.rootNode.attachChild((Spatial)this); + Exchange.bulletAppState.getPhysicsSpace().add((Object)this.damageAreaGhost); + Exchange.bulletAppState.getPhysicsSpace().add((Object)this.collisionGhost); + Exchange.bulletAppState.getPhysicsSpace().add((Object)this.bodyControl); + AudioNode hit = new AudioNode(assetManager, "Sounds/Effects/fireball.ogg", false); + hit.setLooping(false); + hit.setPositional(true); + hit.setLocalTranslation(this.getLocalTranslation()); + hit.setVolume(5.0f); + this.attachChild((Spatial)hit); + hit.play(); + } + + public void explode() { + ParticleEmitter xplosion = new ParticleEmitter("Emitter", ParticleMesh.Type.Triangle, 50); + Material mat_red = new Material(Exchange.assetManager, "Common/MatDefs/Misc/Particle.j3md"); + mat_red.setTexture("Texture", Exchange.assetManager.loadTexture("Effects/flame.png")); + xplosion.setMaterial(mat_red); + xplosion.setImagesX(2); + xplosion.setParticlesPerSec(0.0f); + xplosion.setImagesY(2); + xplosion.setEndColor(new ColorRGBA(1.0f, 0.0f, 0.0f, 1.0f)); + xplosion.setStartColor(new ColorRGBA(1.0f, 1.0f, 0.0f, 0.5f)); + xplosion.getParticleInfluencer().setInitialVelocity(new Vector3f(0.5f, 0.5f, 0.5f)); + xplosion.setStartSize(1.5f); + xplosion.setEndSize(2.0f); + xplosion.setGravity(0.0f, 1.0f, 0.0f); + xplosion.setLowLife(1.0f); + xplosion.setHighLife(2.0f); + xplosion.getParticleInfluencer().setVelocityVariation(2.0f); + this.attachChild((Spatial)xplosion); + xplosion.emitAllParticles(); + ParticleEmitter stones = new ParticleEmitter("Emitter", ParticleMesh.Type.Triangle, 20); + Material mat_stones = new Material(Exchange.assetManager, "Common/MatDefs/Misc/Particle.j3md"); + mat_stones.setTexture("Texture", Exchange.assetManager.loadTexture("Effects/stein.png")); + mat_stones.setTexture("GlowMap", Exchange.assetManager.loadTexture("Effects/stein.png")); + mat_stones.setTexture("DepthTexture", Exchange.assetManager.loadTexture("Effects/stein.png")); + stones.setMaterial(mat_stones); + stones.setImagesX(2); + stones.setParticlesPerSec(0.0f); + stones.setImagesY(2); + stones.setEndColor(new ColorRGBA(0.1f, 0.1f, 0.1f, 1.0f)); + stones.setStartColor(new ColorRGBA(0.0f, 0.0f, 0.0f, 1.0f)); + stones.getParticleInfluencer().setInitialVelocity(new Vector3f(2.0f, 0.0f, 2.0f)); + stones.setStartSize(0.1f); + stones.setEndSize(0.5f); + stones.setGravity(2.0f, 0.0f, 2.0f); + stones.setLowLife(1.0f); + stones.setHighLife(1.0f); + stones.getParticleInfluencer().setVelocityVariation(5.0f); + this.attachChild((Spatial)stones); + stones.emitAllParticles(); + AudioNode explode = new AudioNode(Exchange.assetManager, "Sounds/Effects/explosion.ogg", false); + explode.setLooping(false); + explode.setPositional(true); + explode.setLocalTranslation(this.getLocalTranslation()); + explode.setVolume(5.0f); + this.attachChild((Spatial)explode); + explode.play(); + this.explode = true; + this.fire.emitAllParticles(); + this.timer = 0.1f; + } +} diff --git a/decompiled/mygame/FireballControl.java b/decompiled/mygame/FireballControl.java new file mode 100644 index 0000000..4f97be0 --- /dev/null +++ b/decompiled/mygame/FireballControl.java @@ -0,0 +1,89 @@ +/* + * Decompiled with CFR 0.152. + * + * Could not load the following classes: + * com.jme3.light.Light + * com.jme3.math.Vector3f + * com.jme3.post.SceneProcessor + * com.jme3.renderer.RenderManager + * com.jme3.renderer.ViewPort + * com.jme3.scene.control.AbstractControl + * com.jme3.scene.control.Control + */ +package mygame; + +import com.jme3.light.Light; +import com.jme3.math.Vector3f; +import com.jme3.post.SceneProcessor; +import com.jme3.renderer.RenderManager; +import com.jme3.renderer.ViewPort; +import com.jme3.scene.control.AbstractControl; +import com.jme3.scene.control.Control; +import mygame.Exchange; +import mygame.Fireball; +import mygame.WalkingEnemy; + +public class FireballControl +extends AbstractControl { + protected void controlUpdate(float tpf) { + WalkingEnemy enemy; + Fireball fireball = (Fireball)this.spatial; + if (!fireball.explode) { + fireball.bodyControl.setWalkDirection(fireball.direction); + } else { + fireball.bodyControl.setWalkDirection(Vector3f.ZERO); + } + Vector3f lightpos = fireball.collisionGhost.getPhysicsLocation(); + lightpos.setY(0.5f); + fireball.light.setPosition(lightpos); + int i = 0; + while (true) { + Exchange cfr_ignored_0 = fireball.exchange; + if (i >= Exchange.enemies.size()) break; + Exchange cfr_ignored_1 = fireball.exchange; + enemy = Exchange.enemies.get(i); + if (fireball.collisionGhost.getOverlappingObjects().contains(enemy.ghost)) { + fireball.explode = true; + } + ++i; + } + if (fireball.explode) { + i = 0; + while (true) { + Exchange cfr_ignored_2 = fireball.exchange; + if (i >= Exchange.enemies.size()) break; + Exchange cfr_ignored_3 = fireball.exchange; + enemy = Exchange.enemies.get(i); + if (fireball.damageAreaGhost.getOverlappingObjects().contains(enemy.ghost)) { + enemy.doDamage(100.0f); + fireball.explode(); + } + ++i; + } + } + fireball.lifetime -= tpf; + if (fireball.lifetime <= 0.0f && !fireball.explode) { + fireball.explode(); + } + if (fireball.timer > 0.0f) { + fireball.timer += tpf; + if ((double)fireball.timer > 0.2) { + fireball.bodyControl.setEnabled(false); + fireball.removeControl((Control)fireball.bodyControl); + fireball.removeControl((Control)fireball.collisionGhost); + fireball.collisionGhost.setEnabled(false); + fireball.removeControl((Control)fireball.damageAreaGhost); + fireball.damageAreaGhost.setEnabled(false); + fireball.fire.setEnabled(false); + } + if (fireball.timer > 2.0f) { + fireball.removeFromParent(); + Exchange.viewPort.removeProcessor((SceneProcessor)fireball.dlsr); + Exchange.rootNode.removeLight((Light)fireball.light); + } + } + } + + protected void controlRender(RenderManager rm, ViewPort vp) { + } +} diff --git a/decompiled/mygame/Interactive.java b/decompiled/mygame/Interactive.java new file mode 100644 index 0000000..cb32421 --- /dev/null +++ b/decompiled/mygame/Interactive.java @@ -0,0 +1,38 @@ +/* + * Decompiled with CFR 0.152. + * + * Could not load the following classes: + * com.jme3.renderer.queue.RenderQueue$ShadowMode + * com.jme3.scene.Node + * com.jme3.scene.Spatial + */ +package mygame; + +import com.jme3.renderer.queue.RenderQueue; +import com.jme3.scene.Node; +import com.jme3.scene.Spatial; + +public abstract class Interactive +extends Node { + public Spatial model; + public Node wholeBody; + + public Interactive(String name) { + super(name); + this.setShadowMode(RenderQueue.ShadowMode.Cast); + this.wholeBody = new Node(name); + this.attachChild((Spatial)this.wholeBody); + } + + public Spatial getModel() { + return this.model; + } + + public void setModel(Spatial model) { + this.model = model; + this.setupModel(); + this.wholeBody.attachChild(model); + } + + abstract void setupModel(); +} diff --git a/decompiled/mygame/Main.java b/decompiled/mygame/Main.java new file mode 100644 index 0000000..fe5a90c --- /dev/null +++ b/decompiled/mygame/Main.java @@ -0,0 +1,15 @@ +/* + * Decompiled with CFR 0.152. + */ +package mygame; + +import jme3.hello.TestCameraNode; + +public class Main { + public static void main(String[] args) { + TestCameraNode app = new TestCameraNode(); + app.setDisplayFps(false); + app.setDisplayStatView(false); + app.start(); + } +} diff --git a/decompiled/mygame/Player.java b/decompiled/mygame/Player.java new file mode 100644 index 0000000..497cd9e --- /dev/null +++ b/decompiled/mygame/Player.java @@ -0,0 +1,150 @@ +/* + * Decompiled with CFR 0.152. + * + * Could not load the following classes: + * com.jme3.animation.AnimChannel + * com.jme3.animation.AnimControl + * com.jme3.animation.LoopMode + * com.jme3.bullet.collision.shapes.CapsuleCollisionShape + * com.jme3.bullet.collision.shapes.CollisionShape + * com.jme3.bullet.control.BetterCharacterControl + * com.jme3.bullet.control.GhostControl + * com.jme3.math.Vector3f + * com.jme3.scene.Spatial + * com.jme3.scene.control.Control + */ +package mygame; + +import com.jme3.animation.AnimChannel; +import com.jme3.animation.AnimControl; +import com.jme3.animation.LoopMode; +import com.jme3.bullet.collision.shapes.CapsuleCollisionShape; +import com.jme3.bullet.collision.shapes.CollisionShape; +import com.jme3.bullet.control.BetterCharacterControl; +import com.jme3.bullet.control.GhostControl; +import com.jme3.math.Vector3f; +import com.jme3.scene.Spatial; +import com.jme3.scene.control.Control; +import mygame.Character; +import mygame.Exchange; +import mygame.Weapon; + +public class Player +extends Character { + public Weapon rightHand; + public Weapon leftHand; + public Spatial hat; + public Spatial model; + public BetterCharacterControl playerControl; + public AnimChannel leftHandAnimChannel; + public AnimControl leftHandAnimControl; + public AnimChannel rightHandAnimChannel; + public AnimControl rightHandAnimControl; + public Vector3f pt; + public GhostControl collision; + public float health = 100.0f; + public static float MAX_HEALTH = 100.0f; + + public Player(String name) { + super(name); + } + + public Spatial getRightHand() { + return this.rightHand; + } + + public void setRightHand(Weapon rightHand) { + this.rightHand = rightHand; + this.setupRightHand(); + } + + public Spatial getLeftHand() { + return this.leftHand; + } + + public void setLeftHand(Weapon leftHand) { + this.leftHand = leftHand; + this.setupLeftHand(); + } + + public Spatial getHat() { + return this.hat; + } + + public void setHat(Spatial hat) { + this.hat = hat; + this.setupHat(); + } + + public Spatial getModel() { + return this.model; + } + + public void setModel(Spatial model) { + this.model = model; + this.setupModel(); + this.setupControl(); + this.setupModelControl(); + this.wholeBody.attachChild(this.model); + } + + public void switchHands() { + this.wholeBody.detachChild((Spatial)this.leftHand); + this.wholeBody.detachChild((Spatial)this.rightHand); + Weapon temp = this.rightHand; + this.setRightHand(this.leftHand); + this.setLeftHand(temp); + } + + public void die() { + this.modelAnimChannel.setAnim("die"); + this.modelAnimChannel.setLoopMode(LoopMode.DontLoop); + this.wholeBody.setLocalTranslation(0.0f, 0.5f, 0.0f); + this.wholeBody.detachChild(this.hat); + this.wholeBody.detachChild((Spatial)this.rightHand); + this.wholeBody.detachChild((Spatial)this.leftHand); + } + + private void setupLeftHand() { + this.leftHand.setLocalTranslation(0.4f, 0.3f, 0.4f); + this.leftHand.setLocalScale(0.35f); + this.wholeBody.attachChild((Spatial)this.leftHand); + } + + private void setupRightHand() { + this.rightHand.setLocalTranslation(-0.4f, 0.3f, 0.4f); + this.rightHand.setLocalScale(0.35f); + this.wholeBody.attachChild((Spatial)this.rightHand); + } + + private void setupHat() { + this.hat.setLocalScale(0.35f); + this.hat.setLocalTranslation(0.0f, 0.9f, -0.2f); + this.hat.rotate(-0.4f, 0.0f, 0.0f); + this.wholeBody.attachChild(this.hat); + } + + public void setupModel() { + this.model.setLocalScale(0.5f); + this.wholeBody.attachChild(this.model); + } + + private void setupControl() { + this.playerControl = new BetterCharacterControl(0.5f, 1.0f, 8.0f); + this.addControl((Control)this.playerControl); + this.collision = new GhostControl((CollisionShape)new CapsuleCollisionShape(1.0f, 0.5f)); + this.collision.addCollideWithGroup(2); + this.addControl((Control)this.collision); + Exchange.bulletAppState.getPhysicsSpace().add((Object)this.collision); + } + + public void setupModelControl() { + this.modelAnimControl = (AnimControl)this.model.getControl(AnimControl.class); + this.modelAnimChannel = this.modelAnimControl.createChannel(); + this.modelAnimChannel.setAnim("stand"); + } + + public void heal(float amount) { + this.health = amount + this.health > MAX_HEALTH ? MAX_HEALTH : (this.health += amount); + } +} diff --git a/decompiled/mygame/PowerUpShield.java b/decompiled/mygame/PowerUpShield.java new file mode 100644 index 0000000..3a66303 --- /dev/null +++ b/decompiled/mygame/PowerUpShield.java @@ -0,0 +1,92 @@ +/* + * Decompiled with CFR 0.152. + * + * Could not load the following classes: + * com.jme3.animation.AnimControl + * com.jme3.bullet.collision.shapes.CapsuleCollisionShape + * com.jme3.bullet.collision.shapes.CollisionShape + * com.jme3.bullet.control.GhostControl + * com.jme3.effect.ParticleEmitter + * com.jme3.effect.ParticleMesh$Type + * com.jme3.material.Material + * com.jme3.math.ColorRGBA + * com.jme3.math.Quaternion + * com.jme3.math.Vector3f + * com.jme3.scene.Spatial + * com.jme3.scene.control.Control + */ +package mygame; + +import com.jme3.animation.AnimControl; +import com.jme3.bullet.collision.shapes.CapsuleCollisionShape; +import com.jme3.bullet.collision.shapes.CollisionShape; +import com.jme3.bullet.control.GhostControl; +import com.jme3.effect.ParticleEmitter; +import com.jme3.effect.ParticleMesh; +import com.jme3.material.Material; +import com.jme3.math.ColorRGBA; +import com.jme3.math.Quaternion; +import com.jme3.math.Vector3f; +import com.jme3.scene.Spatial; +import com.jme3.scene.control.Control; +import mygame.Character; +import mygame.Exchange; + +public class PowerUpShield +extends Character { + public GhostControl collision; + + public PowerUpShield(String name) { + super(name); + this.setModel(); + this.setupControl(); + } + + public void setupModelControl() { + this.modelAnimControl = (AnimControl)this.model.getControl(AnimControl.class); + this.modelAnimChannel = this.modelAnimControl.createChannel(); + this.modelAnimChannel.setAnim("normal"); + this.modelAnimChannel.setSpeed(0.5f); + } + + void setupModel() { + this.wholeBody.attachChild(this.model); + } + + public void setupControl() { + this.collision = new GhostControl((CollisionShape)new CapsuleCollisionShape(1.0f, 0.5f)); + this.collision.addCollideWithGroup(2); + this.addControl((Control)this.collision); + Exchange.bulletAppState.getPhysicsSpace().add((Object)this.collision); + } + + public void setModel() { + this.model = Exchange.assetManager.loadModel("Models/shield/shield.mesh.j3o"); + this.model.setMaterial(Exchange.assetManager.loadMaterial("Materials/PowerUpShield.j3m")); + this.model.rotate(new Quaternion().fromAngleAxis((float)Math.PI, new Vector3f(0.0f, 1.0f, 0.0f))); + this.model.setLocalTranslation(0.0f, 1.0f, 0.0f); + this.setLocalScale(0.5f); + this.setupModel(); + this.setupModelControl(); + this.wholeBody.attachChild(this.model); + ParticleEmitter bobble = new ParticleEmitter("Emitter", ParticleMesh.Type.Triangle, 1); + Material mat_red = Exchange.assetManager.loadMaterial("Materials/bubble.j3m"); + bobble.setMaterial(mat_red); + bobble.setImagesX(1); + bobble.setImagesY(1); + bobble.setEndColor(new ColorRGBA(1.0f, 1.0f, 0.0f, 0.75f)); + bobble.setStartColor(new ColorRGBA(1.0f, 1.0f, 0.0f, 1.0f)); + bobble.getParticleInfluencer().setInitialVelocity(new Vector3f(0.0f, 0.0f, 0.0f)); + bobble.setStartSize(1.0f); + bobble.setEndSize(1.1f); + bobble.setGravity(0.0f, 0.0f, 0.0f); + bobble.setLowLife(1.0f); + bobble.setHighLife(1.0f); + bobble.getParticleInfluencer().setVelocityVariation(0.0f); + this.attachChild((Spatial)bobble); + } + + public void kill() { + this.removeFromParent(); + } +} diff --git a/decompiled/mygame/SkillListener.java b/decompiled/mygame/SkillListener.java new file mode 100644 index 0000000..9bf5ae6 --- /dev/null +++ b/decompiled/mygame/SkillListener.java @@ -0,0 +1,32 @@ +/* + * Decompiled with CFR 0.152. + * + * Could not load the following classes: + * com.jme3.animation.AnimChannel + * com.jme3.animation.AnimControl + * com.jme3.animation.AnimEventListener + */ +package mygame; + +import com.jme3.animation.AnimChannel; +import com.jme3.animation.AnimControl; +import com.jme3.animation.AnimEventListener; +import mygame.Weapon; + +public class SkillListener +implements AnimEventListener { + private Weapon weapon; + + public SkillListener(Weapon w) { + this.weapon = w; + } + + public void onAnimCycleDone(AnimControl control, AnimChannel channel, String animName) { + if (animName.equals("skill1")) { + this.weapon.skill1 = false; + } + } + + public void onAnimChange(AnimControl control, AnimChannel channel, String animName) { + } +} diff --git a/decompiled/mygame/Staff.java b/decompiled/mygame/Staff.java new file mode 100644 index 0000000..8e692d6 --- /dev/null +++ b/decompiled/mygame/Staff.java @@ -0,0 +1,76 @@ +/* + * Decompiled with CFR 0.152. + * + * Could not load the following classes: + * com.jme3.animation.LoopMode + * com.jme3.asset.AssetManager + * com.jme3.audio.AudioNode + * com.jme3.bullet.control.GhostControl + * com.jme3.math.Ray + * com.jme3.math.Vector3f + * com.jme3.scene.Spatial + */ +package mygame; + +import com.jme3.animation.LoopMode; +import com.jme3.asset.AssetManager; +import com.jme3.audio.AudioNode; +import com.jme3.bullet.control.GhostControl; +import com.jme3.math.Ray; +import com.jme3.math.Vector3f; +import com.jme3.scene.Spatial; +import mygame.Exchange; +import mygame.Fireball; +import mygame.Player; +import mygame.Weapon; + +public class Staff +extends Weapon { + GhostControl ghost; + AssetManager assetManager; + + public Staff(String name) { + super(name); + } + + public Staff(String name, AssetManager am, Exchange ex) { + super(name); + this.assetManager = am; + this.exchange = ex; + this.COOLDOWN1_TIME = 5.0f; + this.COOLDOWN2_TIME = 50.0f; + } + + protected void setupControl() { + } + + public void skill1() { + if (this.cooldown1 <= 0.0f) { + this.cooldown1 = this.COOLDOWN1_TIME; + this.modelAnimChannel.setAnim("skill1"); + Player player = (Player)this.getParent().getParent(); + Ray ray = new Ray(this.getWorldTranslation(), player.pt); + Vector3f direction = player.pt.subtract(this.getWorldTranslation()).normalize().mult(25.0f); + direction.setY(0.0f); + this.modelAnimChannel.setLoopMode(LoopMode.DontLoop); + Fireball fireball = new Fireball(this.assetManager, direction, player.getLocalTranslation(), this.exchange); + } + } + + public void skill2() { + if (this.cooldown2 <= 0.0f) { + this.cooldown2 = this.COOLDOWN2_TIME; + AudioNode hit = new AudioNode(this.assetManager, "Sounds/Effects/teleport.ogg", false); + hit.setLooping(false); + hit.setPositional(true); + hit.setLocalTranslation(this.getLocalTranslation()); + hit.setVolume(5.0f); + this.attachChild((Spatial)hit); + hit.play(); + Player player = (Player)Exchange.getRootNode().getChild("Player"); + Vector3f place = player.pt; + place.setY(1.0f); + player.playerControl.warp(place); + } + } +} diff --git a/decompiled/mygame/Sword.java b/decompiled/mygame/Sword.java new file mode 100644 index 0000000..43ea90b --- /dev/null +++ b/decompiled/mygame/Sword.java @@ -0,0 +1,91 @@ +/* + * Decompiled with CFR 0.152. + * + * Could not load the following classes: + * com.jme3.animation.AnimEventListener + * com.jme3.animation.LoopMode + * com.jme3.asset.AssetManager + * com.jme3.audio.AudioNode + * com.jme3.bullet.collision.shapes.BoxCollisionShape + * com.jme3.bullet.collision.shapes.CollisionShape + * com.jme3.bullet.control.GhostControl + * com.jme3.math.Vector3f + * com.jme3.scene.Spatial + * com.jme3.scene.control.Control + */ +package mygame; + +import com.jme3.animation.AnimEventListener; +import com.jme3.animation.LoopMode; +import com.jme3.asset.AssetManager; +import com.jme3.audio.AudioNode; +import com.jme3.bullet.collision.shapes.BoxCollisionShape; +import com.jme3.bullet.collision.shapes.CollisionShape; +import com.jme3.bullet.control.GhostControl; +import com.jme3.math.Vector3f; +import com.jme3.scene.Spatial; +import com.jme3.scene.control.Control; +import mygame.Exchange; +import mygame.Player; +import mygame.SkillListener; +import mygame.WalkingEnemy; +import mygame.Weapon; + +public class Sword +extends Weapon +implements Runnable { + GhostControl ghost; + AssetManager assetManager; + + public Sword(String name) { + super(name); + } + + public Sword(String name, AssetManager am, Exchange ex) { + super(name); + this.assetManager = am; + this.exchange = ex; + this.COOLDOWN1_TIME = 0.5f; + } + + protected void setupControl() { + this.ghost = new GhostControl((CollisionShape)new BoxCollisionShape(new Vector3f(0.25f, 0.25f, 1.75f))); + this.ghost.addCollideWithGroup(1); + this.addControl((Control)this.ghost); + this.modelAnimControl.addListener((AnimEventListener)new SkillListener(this)); + } + + public void skill1() { + if (this.cooldown1 <= 0.0f && !this.skill1) { + this.skill1 = true; + this.cooldown1 = this.COOLDOWN1_TIME; + this.modelAnimChannel.setAnim("skill1"); + this.modelAnimChannel.setSpeed(2.0f); + this.modelAnimChannel.setLoopMode(LoopMode.DontLoop); + AudioNode hit = new AudioNode(this.assetManager, "Sounds/Effects/sword_hit1.ogg", false); + hit.setLooping(false); + hit.setPositional(true); + hit.setLocalTranslation(this.getLocalTranslation()); + hit.setVolume(5.0f); + this.attachChild((Spatial)hit); + hit.play(); + int i = 0; + while (true) { + if (i >= Exchange.enemies.size()) break; + WalkingEnemy enemy = Exchange.enemies.get(i); + if (this.ghost.getOverlappingObjects().contains(enemy.ghost)) { + enemy.doDamage(50.0f); + Player player = (Player)this.getParent().getParent(); + } + ++i; + } + } + } + + public void run() { + this.skill1(); + } + + public void skill2() { + } +} diff --git a/decompiled/mygame/WalkingEnemy.java b/decompiled/mygame/WalkingEnemy.java new file mode 100644 index 0000000..7ee3fab --- /dev/null +++ b/decompiled/mygame/WalkingEnemy.java @@ -0,0 +1,152 @@ +/* + * Decompiled with CFR 0.152. + * + * Could not load the following classes: + * com.jme3.animation.AnimControl + * com.jme3.animation.LoopMode + * com.jme3.app.Application + * com.jme3.asset.AssetManager + * com.jme3.audio.AudioNode + * com.jme3.bullet.collision.shapes.CapsuleCollisionShape + * com.jme3.bullet.collision.shapes.CollisionShape + * com.jme3.bullet.control.BetterCharacterControl + * com.jme3.bullet.control.GhostControl + * com.jme3.effect.ParticleEmitter + * com.jme3.effect.ParticleMesh$Type + * com.jme3.material.Material + * com.jme3.math.ColorRGBA + * com.jme3.math.Vector3f + * com.jme3.scene.Spatial + * com.jme3.scene.control.Control + * tonegod.gui.core.Screen + */ +package mygame; + +import com.jme3.animation.AnimControl; +import com.jme3.animation.LoopMode; +import com.jme3.app.Application; +import com.jme3.asset.AssetManager; +import com.jme3.audio.AudioNode; +import com.jme3.bullet.collision.shapes.CapsuleCollisionShape; +import com.jme3.bullet.collision.shapes.CollisionShape; +import com.jme3.bullet.control.BetterCharacterControl; +import com.jme3.bullet.control.GhostControl; +import com.jme3.effect.ParticleEmitter; +import com.jme3.effect.ParticleMesh; +import com.jme3.material.Material; +import com.jme3.math.ColorRGBA; +import com.jme3.math.Vector3f; +import com.jme3.scene.Spatial; +import com.jme3.scene.control.Control; +import mygame.Character; +import mygame.Exchange; +import mygame.WalkingEnemyControl; +import tonegod.gui.core.Screen; + +public class WalkingEnemy +extends Character { + public BetterCharacterControl walkingEnemyControl; + public GhostControl ghost; + private WalkingEnemyControl control = new WalkingEnemyControl(); + private float health; + private AssetManager assetManager; + public float reverseWalk; + public ParticleEmitter blood; + public boolean dead = false; + public float deadtimer = 0.0f; + + public WalkingEnemy(String name) { + super(name); + this.addControl((Control)this.control); + } + + public WalkingEnemy(String name, AssetManager am) { + super(name); + this.addControl((Control)this.control); + this.assetManager = am; + } + + public void setupModelControl() { + this.modelAnimControl = (AnimControl)this.model.getControl(AnimControl.class); + this.modelAnimChannel = this.modelAnimControl.createChannel(); + this.modelAnimChannel.setAnim("stand"); + } + + public void setupGUI() { + Screen screen = new Screen((Application)Exchange.app, "tonegod/gui/style/def/style_map.xml"); + } + + public void setModel(Spatial model) { + this.model = model; + this.setupModel(); + this.setupControl(); + this.setupModelControl(); + this.wholeBody.attachChild(this.model); + this.blood = new ParticleEmitter("Emitter", ParticleMesh.Type.Triangle, 10); + Material mat_red = this.assetManager.loadMaterial("Materials/blood.j3m"); + this.blood.setMaterial(mat_red); + this.blood.setImagesX(2); + this.blood.setImagesY(2); + this.blood.setEndColor(new ColorRGBA(1.0f, 0.0f, 0.0f, 0.75f)); + this.blood.setStartColor(new ColorRGBA(1.0f, 0.0f, 0.0f, 0.25f)); + this.blood.getParticleInfluencer().setInitialVelocity(new Vector3f(1.0f, 2.0f, 1.0f)); + this.blood.setParticlesPerSec(0.0f); + this.blood.setStartSize(1.0f); + this.blood.setEndSize(1.0f); + this.blood.setGravity(0.0f, 2.0f, 0.0f); + this.blood.setLowLife(1.0f); + this.blood.setHighLife(0.5f); + this.blood.getParticleInfluencer().setVelocityVariation(0.3f); + this.blood.setRandomAngle(true); + this.blood.setSelectRandomImage(true); + this.attachChild((Spatial)this.blood); + } + + void setupModel() { + this.model.setLocalScale(0.5f); + this.wholeBody.attachChild(this.model); + } + + private void setupControl() { + this.walkingEnemyControl = new BetterCharacterControl(1.0f, 2.0f, 8.0f); + this.addControl((Control)this.walkingEnemyControl); + this.ghost = new GhostControl((CollisionShape)new CapsuleCollisionShape(1.0f, 0.5f)); + this.ghost.addCollideWithGroup(1); + this.addControl((Control)this.ghost); + } + + public float getHealth() { + return this.health; + } + + public void setHealth(float health) { + this.health = health; + } + + public void doDamage(float damage) { + this.health -= damage; + this.reverseWalk = 0.5f; + if (this.health <= 0.0f) { + this.die(); + } + AudioNode hit = new AudioNode(this.assetManager, "Sounds/Effects/damage.ogg", false); + hit.setLooping(false); + hit.setVolume(100.0f); + this.getParent().attachChild((Spatial)hit); + hit.play(); + this.blood.emitAllParticles(); + } + + public void die() { + this.modelAnimChannel.setAnim("die"); + this.modelAnimChannel.setLoopMode(LoopMode.DontLoop); + this.ghost.setEnabled(false); + this.walkingEnemyControl.setEnabled(false); + AudioNode an = (AudioNode)this.getChild("walkingSound"); + an.stop(); + Exchange.removeEnemy(this); + Exchange.setKilled(Exchange.killed + 1); + Exchange.spawnItem(this.getLocalTranslation()); + this.dead = true; + } +} diff --git a/decompiled/mygame/WalkingEnemyControl.java b/decompiled/mygame/WalkingEnemyControl.java new file mode 100644 index 0000000..1cb6c9f --- /dev/null +++ b/decompiled/mygame/WalkingEnemyControl.java @@ -0,0 +1,42 @@ +/* + * Decompiled with CFR 0.152. + * + * Could not load the following classes: + * com.jme3.math.Vector3f + * com.jme3.renderer.RenderManager + * com.jme3.renderer.ViewPort + * com.jme3.scene.control.AbstractControl + */ +package mygame; + +import com.jme3.math.Vector3f; +import com.jme3.renderer.RenderManager; +import com.jme3.renderer.ViewPort; +import com.jme3.scene.control.AbstractControl; +import mygame.WalkingEnemy; + +public class WalkingEnemyControl +extends AbstractControl { + public WalkingEnemy walkingEnemy; + + protected void controlUpdate(float tpf) { + this.walkingEnemy = (WalkingEnemy)this.spatial; + if (!this.walkingEnemy.dead) { + Vector3f walkdirection = new Vector3f(this.walkingEnemy.walkingEnemyControl.getViewDirection().x, 0.0f, this.walkingEnemy.walkingEnemyControl.getViewDirection().z).normalize().mult(6.0f); + if (this.walkingEnemy.reverseWalk > 0.0f) { + walkdirection.negateLocal(); + this.walkingEnemy.reverseWalk -= tpf; + } + this.walkingEnemy.walkingEnemyControl.setViewDirection(this.spatial.getParent().getChild("Player").getLocalTranslation().subtract(this.spatial.getLocalTranslation())); + this.walkingEnemy.walkingEnemyControl.setWalkDirection(walkdirection); + } else { + this.walkingEnemy.deadtimer += tpf; + if (this.walkingEnemy.deadtimer > 10.0f) { + this.walkingEnemy.removeFromParent(); + } + } + } + + protected void controlRender(RenderManager rm, ViewPort vp) { + } +} diff --git a/decompiled/mygame/Weapon.java b/decompiled/mygame/Weapon.java new file mode 100644 index 0000000..bf15090 --- /dev/null +++ b/decompiled/mygame/Weapon.java @@ -0,0 +1,73 @@ +/* + * Decompiled with CFR 0.152. + * + * Could not load the following classes: + * com.jme3.animation.AnimControl + * com.jme3.bullet.control.GhostControl + * com.jme3.scene.Spatial + */ +package mygame; + +import com.jme3.animation.AnimControl; +import com.jme3.bullet.control.GhostControl; +import com.jme3.scene.Spatial; +import mygame.Character; +import mygame.Exchange; + +public abstract class Weapon +extends Character { + GhostControl weaponControl; + public Exchange exchange; + public boolean skill1 = false; + public float cooldown1 = 0.0f; + public float cooldown2 = 0.0f; + public float cooldown3 = 0.0f; + public float COOLDOWN1_TIME = 0.0f; + public float COOLDOWN2_TIME = 0.0f; + public float COOLDOWN3_TIME = 0.0f; + + public Weapon(String name) { + super(name); + } + + public Weapon(String name, Exchange ex) { + super(name); + this.exchange = ex; + } + + public void setModel(Spatial model) { + this.model = model; + this.setupModel(); + this.setupModelControl(); + this.setupControl(); + this.wholeBody.attachChild(this.model); + } + + protected abstract void setupControl(); + + public void setupModelControl() { + this.modelAnimControl = (AnimControl)this.model.getControl(AnimControl.class); + this.modelAnimChannel = this.modelAnimControl.createChannel(); + this.modelAnimChannel.setAnim("normal"); + } + + void setupModel() { + this.wholeBody.attachChild(this.model); + } + + public void reduceCooldowns(float tpf) { + if (this.cooldown1 > 0.0f) { + this.cooldown1 -= tpf; + } + if (this.cooldown2 > 0.0f) { + this.cooldown2 -= tpf; + } + if (this.cooldown3 > 0.0f) { + this.cooldown3 -= tpf; + } + } + + public abstract void skill1(); + + public abstract void skill2(); +} diff --git a/decompiled/mygame/test1.java b/decompiled/mygame/test1.java new file mode 100644 index 0000000..5c2b98a --- /dev/null +++ b/decompiled/mygame/test1.java @@ -0,0 +1,44 @@ +/* + * Decompiled with CFR 0.152. + * + * Could not load the following classes: + * com.jme3.app.SimpleApplication + * com.jme3.material.Material + * com.jme3.math.Quaternion + * com.jme3.math.Vector3f + * com.jme3.scene.Geometry + * com.jme3.scene.Mesh + * com.jme3.scene.Spatial + * com.jme3.scene.shape.Quad + */ +package mygame; + +import com.jme3.app.SimpleApplication; +import com.jme3.material.Material; +import com.jme3.math.Quaternion; +import com.jme3.math.Vector3f; +import com.jme3.scene.Geometry; +import com.jme3.scene.Mesh; +import com.jme3.scene.Spatial; +import com.jme3.scene.shape.Quad; + +public class test1 +extends SimpleApplication { + private Spatial player; + + public static void main(String[] args) { + test1 app = new test1(); + app.start(); + } + + public void simpleInitApp() { + this.player = this.assetManager.loadModel("Models/blob/Blob.mesh.xml"); + Material mat_ground = new Material(this.assetManager, "Common/MatDefs/Misc/Unshaded.j3md"); + mat_ground.setTexture("ColorMap", this.assetManager.loadTexture("Textures/Rock.PNG")); + Geometry ground = new Geometry("ground", (Mesh)new Quad(50.0f, 50.0f)); + ground.setLocalRotation(new Quaternion().fromAngleAxis(-1.5707964f, Vector3f.UNIT_X)); + ground.setLocalTranslation(-25.0f, -1.0f, 25.0f); + ground.setMaterial(mat_ground); + this.rootNode.attachChild((Spatial)ground); + } +} diff --git a/decompiled/wpq/tests/PlayerCam.java b/decompiled/wpq/tests/PlayerCam.java new file mode 100644 index 0000000..5a3f54a --- /dev/null +++ b/decompiled/wpq/tests/PlayerCam.java @@ -0,0 +1,49 @@ +/* + * Decompiled with CFR 0.152. + * + * Could not load the following classes: + * com.jme3.math.Quaternion + * com.jme3.math.Vector3f + * com.jme3.renderer.Camera + * com.jme3.scene.CameraNode + * com.jme3.scene.Node + * com.jme3.scene.Spatial + * com.jme3.scene.control.CameraControl + */ +package wpq.tests; + +import com.jme3.math.Quaternion; +import com.jme3.math.Vector3f; +import com.jme3.renderer.Camera; +import com.jme3.scene.CameraNode; +import com.jme3.scene.Node; +import com.jme3.scene.Spatial; +import com.jme3.scene.control.CameraControl; + +public class PlayerCam +extends CameraNode { + private Node player; + private Quaternion CAM_ROTATION; + public static Vector3f CAM_VECTOR = new Vector3f(0.0f, 25.0f, -15.0f); + + public void setPlayer(Node player) { + this.player = player; + } + + public Node getPlayer() { + return this.player; + } + + public PlayerCam(Node player, String name, Camera camera) { + super(name, new CameraControl(camera)); + this.player = player; + this.CAM_ROTATION = new Quaternion(); + this.CAM_ROTATION.fromAngleAxis(0.7853982f, Vector3f.UNIT_X); + } + + public void setupCamera() { + this.player.attachChild((Spatial)this); + this.setLocalTranslation(CAM_VECTOR); + this.lookAt(this.player.getLocalTranslation(), Vector3f.UNIT_Y); + } +} diff --git a/j3o_converter/J3OConverter.java b/j3o_converter/J3OConverter.java new file mode 100644 index 0000000..ceb6490 --- /dev/null +++ b/j3o_converter/J3OConverter.java @@ -0,0 +1,392 @@ +import com.jme3.animation.AnimControl; +import com.jme3.animation.Animation; +import com.jme3.animation.Bone; +import com.jme3.animation.BoneTrack; +import com.jme3.animation.Skeleton; +import com.jme3.animation.Track; +import com.jme3.export.binary.BinaryImporter; +import com.jme3.math.Quaternion; +import com.jme3.math.Vector3f; +import com.jme3.scene.Geometry; +import com.jme3.scene.Mesh; +import com.jme3.scene.Node; +import com.jme3.scene.Spatial; +import com.jme3.scene.VertexBuffer; +import com.jme3.util.IntMap; +import com.jme3.util.SafeArrayList; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.nio.FloatBuffer; +import java.nio.ShortBuffer; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.logging.Logger; + +public class J3OConverter { + + private static final Logger logger = Logger.getLogger(J3OConverter.class.getName()); + + public static void main(String[] args) { + if (args.length < 2) { + System.err.println("Usage: J3OConverter "); + System.exit(1); + } + + File inputFile = new File(args[0]); + File outputFile = new File(args[1]); + + try { + BinaryImporter importer = new BinaryImporter(); + Object root = importer.load(inputFile); + + Map result = new HashMap<>(); + List> geometries = new ArrayList<>(); + List> skeletons = new ArrayList<>(); + Map animations = new HashMap<>(); + + if (root instanceof Node) { + extractFromNode((Node) root, geometries, skeletons, animations, new HashMap<>()); + } + + result.put("geometries", geometries); + result.put("skeletons", skeletons); + result.put("animations", animations); + + writeJson(outputFile, result); + System.out.println("Wrote " + outputFile); + } catch (Exception e) { + e.printStackTrace(); + System.exit(1); + } + } + + private static void extractFromNode(Node node, + List> geometries, + List> skeletons, + Map animations, + Map boneIdMap) { + for (Spatial child : node.getChildren()) { + if (child instanceof Node) { + extractFromNode((Node) child, geometries, skeletons, animations, boneIdMap); + } else if (child instanceof Geometry) { + Geometry geo = (Geometry) child; + Map meshData = extractMesh(geo.getMesh()); + if (meshData != null) { + meshData.put("name", geo.getName()); + geometries.add(meshData); + } + } + } + + // Look for AnimControl + AnimControl animControl = node.getControl(AnimControl.class); + if (animControl != null) { + Skeleton skeleton = animControl.getSkeleton(); + if (skeleton != null) { + Map skeletonData = extractSkeleton(skeleton); + if (skeletonData != null) { + skeletons.add(skeletonData); + } + } + + for (String animName : animControl.getAnimationNames()) { + Animation anim = animControl.getAnim(animName); + Map animData = extractAnimation(anim); + if (animData != null) { + animations.put(animName, animData); + } + } + } + } + + private static Map extractMesh(Mesh mesh) { + Map result = new HashMap<>(); + result.put("vertexCount", mesh.getVertexCount()); + result.put("triangleCount", mesh.getTriangleCount()); + result.put("elementCount", mesh.getTriangleCount() * 3); + + // Positions + VertexBuffer posBuf = mesh.getBuffer(VertexBuffer.Type.Position); + if (posBuf != null) { + FloatBuffer fb = (FloatBuffer) posBuf.getData(); + float[] positions = new float[fb.limit()]; + fb.rewind(); + fb.get(positions); + result.put("positions", positions); + } + + // Normals + VertexBuffer normBuf = mesh.getBuffer(VertexBuffer.Type.Normal); + if (normBuf != null) { + FloatBuffer fb = (FloatBuffer) normBuf.getData(); + float[] normals = new float[fb.limit()]; + fb.rewind(); + fb.get(normals); + result.put("normals", normals); + } + + // TexCoords + VertexBuffer texBuf = mesh.getBuffer(VertexBuffer.Type.TexCoord); + if (texBuf != null) { + FloatBuffer fb = (FloatBuffer) texBuf.getData(); + float[] texcoords = new float[fb.limit()]; + fb.rewind(); + fb.get(texcoords); + result.put("texcoords", texcoords); + } + + // BoneWeights + VertexBuffer weightBuf = mesh.getBuffer(VertexBuffer.Type.BoneWeight); + if (weightBuf != null) { + FloatBuffer fb = (FloatBuffer) weightBuf.getData(); + float[] weights = new float[fb.limit()]; + fb.rewind(); + fb.get(weights); + result.put("boneWeights", weights); + } + + // BoneIndices + VertexBuffer indexBuf = mesh.getBuffer(VertexBuffer.Type.BoneIndex); + if (indexBuf != null) { + java.nio.Buffer buf = indexBuf.getData(); + short[] indices; + if (buf instanceof ShortBuffer) { + ShortBuffer sb = (ShortBuffer) buf; + indices = new short[sb.limit()]; + sb.rewind(); + sb.get(indices); + int[] intIndices = new int[indices.length]; + for (int i = 0; i < indices.length; i++) { + intIndices[i] = indices[i] & 0xFFFF; + } + result.put("boneIndices", intIndices); + } else if (buf instanceof java.nio.ByteBuffer) { + java.nio.ByteBuffer bb = (java.nio.ByteBuffer) buf; + byte[] bytes = new byte[bb.limit()]; + bb.rewind(); + bb.get(bytes); + int[] intIndices = new int[bytes.length]; + for (int i = 0; i < bytes.length; i++) { + intIndices[i] = bytes[i] & 0xFF; + } + result.put("boneIndices", intIndices); + } + } + + // Indices - JME3 doesn't always have an index buffer (uses non-indexed rendering) + // Try to get the indices from the mesh's LOD levels or mode + VertexBuffer indexBuffer = mesh.getBuffer(VertexBuffer.Type.Index); + if (indexBuffer != null) { + java.nio.Buffer buf = indexBuffer.getData(); + if (buf instanceof ShortBuffer) { + ShortBuffer sb = (ShortBuffer) buf; + short[] indices = new short[sb.limit()]; + sb.rewind(); + sb.get(indices); + int[] intIndices = new int[indices.length]; + for (int i = 0; i < indices.length; i++) { + intIndices[i] = indices[i] & 0xFFFF; + } + result.put("indices", intIndices); + } else if (buf instanceof java.nio.IntBuffer) { + java.nio.IntBuffer ib = (java.nio.IntBuffer) buf; + int[] indices = new int[ib.limit()]; + ib.rewind(); + ib.get(indices); + result.put("indices", indices); + } + } + + if (!result.containsKey("indices")) { + // Non-indexed rendering: generate sequential indices + int count = mesh.getVertexCount(); + int[] indices = new int[count]; + for (int i = 0; i < count; i++) { + indices[i] = i; + } + result.put("indices", indices); + result.put("nonIndexed", true); + } + + return result; + } + + private static Map extractSkeleton(Skeleton skeleton) { + Map result = new HashMap<>(); + + Bone[] bones = skeleton.getBones(); + List> boneList = new ArrayList<>(); + Map nameToIndex = new HashMap<>(); + + for (int i = 0; i < bones.length; i++) { + Bone bone = bones[i]; + nameToIndex.put(bone.getName(), i); + + Map bdata = new HashMap<>(); + bdata.put("name", bone.getName()); + bdata.put("id", i); + + Vector3f pos = bone.getBindPosition(); + bdata.put("position", new float[]{pos.x, pos.y, pos.z}); + + Quaternion rot = bone.getBindRotation(); + bdata.put("rotation", new float[]{rot.getX(), rot.getY(), rot.getZ(), rot.getW()}); + + Vector3f scale = bone.getBindScale(); + bdata.put("scale", new float[]{scale.x, scale.y, scale.z}); + + // Get children bone names + List children = new ArrayList<>(); + for (Bone child : bone.getChildren()) { + children.add(child.getName()); + } + bdata.put("children", children); + + boneList.add(bdata); + } + + result.put("bones", boneList); + + // Roots + List roots = new ArrayList<>(); + Bone[] rootBones = skeleton.getRoots(); + for (Bone root : rootBones) { + roots.add(root.getName()); + } + result.put("roots", roots); + + return result; + } + + private static Map extractAnimation(Animation anim) { + Map result = new HashMap<>(); + result.put("name", anim.getName()); + result.put("length", anim.getLength()); + + Track[] tracks = anim.getTracks(); + List> trackList = new ArrayList<>(); + + for (Track track : tracks) { + if (track instanceof BoneTrack) { + BoneTrack boneTrack = (BoneTrack) track; + Map trackData = new HashMap<>(); + trackData.put("boneIndex", boneTrack.getTargetBoneIndex()); + trackData.put("times", boneTrack.getTimes()); + + // Translations + Vector3f[] translations = boneTrack.getTranslations(); + float[] transData = new float[translations.length * 3]; + for (int i = 0; i < translations.length; i++) { + transData[i * 3] = translations[i].x; + transData[i * 3 + 1] = translations[i].y; + transData[i * 3 + 2] = translations[i].z; + } + trackData.put("translations", transData); + + // Rotations + Quaternion[] rotations = boneTrack.getRotations(); + float[] rotData = new float[rotations.length * 4]; + for (int i = 0; i < rotations.length; i++) { + rotData[i * 4] = rotations[i].getX(); + rotData[i * 4 + 1] = rotations[i].getY(); + rotData[i * 4 + 2] = rotations[i].getZ(); + rotData[i * 4 + 3] = rotations[i].getW(); + } + trackData.put("rotations", rotData); + + // Scales + Vector3f[] scales = boneTrack.getScales(); + float[] scaleData = new float[scales.length * 3]; + for (int i = 0; i < scales.length; i++) { + scaleData[i * 3] = scales[i].x; + scaleData[i * 3 + 1] = scales[i].y; + scaleData[i * 3 + 2] = scales[i].z; + } + trackData.put("scales", scaleData); + + trackList.add(trackData); + } + } + + result.put("tracks", trackList); + return result; + } + + private static void writeJson(File file, Object data) throws IOException { + StringBuilder sb = new StringBuilder(); + writeValue(sb, data); + FileWriter writer = new FileWriter(file); + writer.write(sb.toString()); + writer.close(); + } + + private static void writeValue(StringBuilder sb, Object value) { + if (value == null) { + sb.append("null"); + } else if (value instanceof String) { + sb.append('"').append(escapeString((String) value)).append('"'); + } else if (value instanceof Integer || value instanceof Long || + value instanceof Float || value instanceof Double || + value instanceof Boolean) { + sb.append(value); + } else if (value instanceof float[]) { + sb.append('['); + float[] arr = (float[]) value; + for (int i = 0; i < arr.length; i++) { + if (i > 0) sb.append(','); + sb.append(arr[i]); + } + sb.append(']'); + } else if (value instanceof int[]) { + sb.append('['); + int[] arr = (int[]) value; + for (int i = 0; i < arr.length; i++) { + if (i > 0) sb.append(','); + sb.append(arr[i]); + } + sb.append(']'); + } else if (value instanceof List) { + sb.append('['); + List list = (List) value; + for (int i = 0; i < list.size(); i++) { + if (i > 0) sb.append(','); + writeValue(sb, list.get(i)); + } + sb.append(']'); + } else if (value instanceof Map) { + sb.append('{'); + Map map = (Map) value; + boolean first = true; + for (Map.Entry entry : map.entrySet()) { + if (!first) sb.append(','); + sb.append('"').append(escapeString(entry.getKey().toString())).append('"').append(':'); + writeValue(sb, entry.getValue()); + first = false; + } + sb.append('}'); + } + } + + private static String escapeString(String s) { + StringBuilder sb = new StringBuilder(); + for (char c : s.toCharArray()) { + switch (c) { + case '"': sb.append("\\\""); break; + case '\\': sb.append("\\\\"); break; + case '\n': sb.append("\\n"); break; + case '\r': sb.append("\\r"); break; + case '\t': sb.append("\\t"); break; + default: + if (c < 32) { + sb.append(String.format("\\u%04x", (int) c)); + } else { + sb.append(c); + } + } + } + return sb.toString(); + } +} diff --git a/j3o_json2gltf.py b/j3o_json2gltf.py new file mode 100644 index 0000000..026597a --- /dev/null +++ b/j3o_json2gltf.py @@ -0,0 +1,462 @@ +#!/usr/bin/env python3 +"""Convert JME3-extracted JSON (from J3OConverter.java) to glTF 2.0 GLB with animations.""" + +import json +import struct +import math +import os +import sys + +def quat_mult(qa, qb): + ax, ay, az, aw = qa + bx, by, bz, bw = qb + return ( + aw*bx + ax*bw + ay*bz - az*by, + aw*by - ax*bz + ay*bw + az*bx, + aw*bz + ax*by - ay*bx + az*bw, + aw*bw - ax*bx - ay*by - az*bz, + ) + +def pad4(data): + while len(data) % 4: + data += b'\x00' + return data + +def mat4_mult(a, b): + r = [0]*16 + for i in range(4): + for j in range(4): + for k in range(4): + r[j*4 + i] += a[k*4 + i] * b[j*4 + k] + return r + +def mat4_from_trs(t, r, s): + x, y, z, w = r + xx, yy, zz = x*x, y*y, z*z + xy, xz, yz = x*y, x*z, y*z + wx, wy, wz = w*x, w*y, w*z + return [ + (1-2*(yy+zz))*s[0], (2*(xy+wz))*s[0], (2*(xz-wy))*s[0], 0, + (2*(xy-wz))*s[1], (1-2*(xx+zz))*s[1], (2*(yz+wx))*s[1], 0, + (2*(xz+wy))*s[2], (2*(yz-wx))*s[2], (1-2*(xx+yy))*s[2], 0, + t[0], t[1], t[2], 1, + ] + +def invert_4x4_row(m): + a,b,c,d, e,f,g,h, i,j,k,l, m_,n,o,p = m + det = (a*(f*k*p+g*l*n+h*j*o-h*k*n-f*l*o-g*j*p) + - b*(e*k*p+g*l*m_+h*i*o-h*k*m_-e*l*o-g*i*p) + + c*(e*j*p+f*l*m_+h*i*n-h*j*m_-e*l*n-f*i*p) + - d*(e*j*o+f*k*m_+g*i*n-g*j*m_-e*k*n-f*i*o)) + if abs(det) < 1e-12: + return [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1] + idet = 1.0/det + return [ + (f*k*p+g*l*n+h*j*o-h*k*n-f*l*o-g*j*p)*idet, + -(b*k*p+c*l*n+d*j*o-d*k*n-b*l*o-c*j*p)*idet, + (b*g*p+c*h*n+d*f*o-d*g*n-b*h*o-c*f*p)*idet, + -(b*g*l+c*h*j+d*f*k-d*g*j-b*h*k-c*f*l)*idet, + -(e*k*p+g*l*m_+h*i*o-h*k*m_-e*l*o-g*i*p)*idet, + (a*k*p+c*l*m_+d*i*o-d*k*m_-a*l*o-c*i*p)*idet, + -(a*g*p+c*h*m_+d*e*o-d*g*m_-a*h*o-c*e*p)*idet, + (a*g*l+c*h*i+d*e*k-d*g*i-a*h*k-c*e*l)*idet, + (e*j*p+f*l*m_+h*i*n-h*j*m_-e*l*n-f*i*p)*idet, + -(a*j*p+b*l*m_+d*i*n-d*j*m_-a*l*n-b*i*p)*idet, + (a*f*p+b*h*m_+d*e*n-d*f*m_-a*h*n-b*e*p)*idet, + -(a*f*l+b*h*i+d*e*j-d*f*i-a*h*j-b*e*l)*idet, + -(e*j*o+f*k*m_+g*i*n-g*j*m_-e*k*n-f*i*o)*idet, + (a*j*o+b*k*m_+c*i*n-c*j*m_-a*k*n-b*i*o)*idet, + -(a*f*o+b*g*m_+c*e*n-c*f*m_-a*g*n-b*e*o)*idet, + (a*f*k+b*g*i+c*e*j-c*f*i-a*g*j-b*e*k)*idet, + ] + +def convert(json_path, output_path): + with open(json_path) as f: + data = json.load(f) + + geos = data.get('geometries', []) + skels = data.get('skeletons', []) + anims = data.get('animations', {}) + + if not geos: + print(f' No geometry in {json_path}') + return + + geo = geos[0] + positions = geo['positions'] + normals = geo.get('normals', []) + indices = geo.get('indices', []) + texcoords = geo.get('texcoords', []) + vertex_count = geo.get('vertexCount', len(positions) // 3) + + bone_weights = geo.get('boneWeights', []) + bone_indices = geo.get('boneIndices', []) + + skel = skels[0] if skels else None + + nodes = [] + skin = None + animations_out = [] + + # ── Skeleton → glTF nodes ────────────────────────────────────────────── + if skel: + bones = skel['bones'] + roots = skel['roots'] + name_to_bone = {b['name']: b for b in bones} + name_to_idx = {} + + # IMPORTANT: Keep the ORIGINAL bone list order (from JME3 skeleton.getBone(i)). + # BoneTrack.getTargetBoneIndex() and the mesh JOINTS_0 data reference + # this exact order. + order = [b['name'] for b in bones] + for i, name in enumerate(order): + name_to_idx[name] = i + b = name_to_bone[name] + nodes.append({ + 'name': name, + 'translation': b['position'], + 'rotation': b['rotation'], # x,y,z,w + 'scale': b['scale'], + }) + + # Hierarchy (by name) + for name in order: + b = name_to_bone[name] + for child_name in b['children']: + if child_name in name_to_idx and name in name_to_idx: + pi = name_to_idx[name] + ci = name_to_idx[child_name] + nodes[pi].setdefault('children', []).append(ci) + + # Inverse bind matrices + def world_transform(name, cache={}): + if name in cache: + return cache[name] + b = name_to_bone[name] + local = mat4_from_trs(b['position'], b['rotation'], b['scale']) + # Find parent + parent = None + for pn, pb in name_to_bone.items(): + if name in pb['children']: + parent = pn + break + if parent and parent in name_to_bone: + w = mat4_mult(world_transform(parent, cache), local) + else: + w = local + cache[name] = w + return w + + ibms = [] + for name in order: + w = world_transform(name) + # Convert col-major to row-major, invert, back to col-major + row = [w[i + j*4] for j in range(4) for i in range(4)] + inv_row = invert_4x4_row(row) + inv_col = [inv_row[j + i*4] for i in range(4) for j in range(4)] + ibms.extend(inv_col) + + # Joint indices (identity: bone list order == glTF node order) + joints = list(range(len(order))) + skin = {'joints': joints} + + # Mesh node with skin + mesh_node_idx = len(nodes) + nodes.append({'name': 'mesh', 'mesh': 0, 'skin': 0}) + + # Skeleton root node + root_node_idx = len(nodes) + root_children = [name_to_idx[r] for r in roots if r in name_to_idx] + root_children.append(mesh_node_idx) + nodes.append({'name': 'skeleton_root', 'children': root_children}) + + # Scene root + scene_node_idx = len(nodes) + nodes.append({'name': 'scene_root', 'children': [root_node_idx]}) + + # ── Animations ────────────────────────────────────────────────────── + anim_bin = bytearray() + anim_buf_views = [] + anim_accessors = [] + + for anim_name, anim in anims.items(): + tracks = anim.get('tracks', []) + if not tracks: + continue + + # Collect all keyframe times + all_times = set() + for t in tracks: + for tm in t.get('times', []): + all_times.add(round(tm, 6)) + sorted_times = sorted(all_times) + if len(sorted_times) < 2: + continue + + # Per-animation sampler/channel lists + anim_samplers_this = [] + anim_channels_this = [] + + # Time buffer + time_bytes = pad4(struct.pack(f'<{len(sorted_times)}f', *sorted_times)) + time_off = len(anim_bin) + anim_bin.extend(time_bytes) + tv_idx = len(anim_buf_views) + anim_buf_views.append({'byteOffset': time_off, 'byteLength': len(time_bytes)}) + t_acc = len(anim_accessors) + anim_accessors.append({'type': 'SCALAR', 'count': len(sorted_times), + 'min': [sorted_times[0]], 'max': [sorted_times[-1]]}) + + for track in tracks: + bone_idx = track.get('boneIndex', 0) + if bone_idx >= len(order): + continue + node_idx = name_to_idx.get(order[bone_idx], None) + if node_idx is None: + node_idx = bone_idx + + # Get bind pose for this bone (JME3 tracks are relative to bind) + bone_name = order[bone_idx] + bind = name_to_bone[bone_name] + bind_pos = bind['position'] + bind_rot = bind['rotation'] + bind_scale = bind['scale'] + + kf_times = list(track.get('times', [])) + kf_trans = list(track.get('translations', [])) + kf_rot = list(track.get('rotations', [])) + kf_scale = list(track.get('scales', [])) + + # Combine with bind pose: final = bind * relative + # rotation: bindRot * trackRot + combined_rot = [] + for i in range(0, len(kf_rot), 4): + q = quat_mult(bind_rot, kf_rot[i:i+4]) + combined_rot.extend(q) + kf_rot = combined_rot + + # translation: bindPos + trackTrans + combined_trans = [] + for i in range(0, len(kf_trans), 3): + combined_trans.extend([ + bind_pos[0] + kf_trans[i], + bind_pos[1] + kf_trans[i+1], + bind_pos[2] + kf_trans[i+2], + ]) + kf_trans = combined_trans + + # scale: bindScale * trackScale + combined_scale = [] + for i in range(0, len(kf_scale), 3): + combined_scale.extend([ + bind_scale[0] * kf_scale[i], + bind_scale[1] * kf_scale[i+1], + bind_scale[2] * kf_scale[i+2], + ]) + kf_scale = combined_scale + + def lerp_to(times, values, val_size, targets): + if not values: + return [] + result = [] + n_kf = len(times) + for qt in targets: + if qt <= times[0]: + result.extend(values[0:val_size]) + elif qt >= times[-1]: + result.extend(values[(n_kf-1)*val_size:(n_kf-1)*val_size+val_size]) + else: + for i in range(n_kf - 1): + if times[i] <= qt <= times[i+1]: + a = (qt - times[i]) / (times[i+1] - times[i]) if times[i+1] != times[i] else 0 + base_i = i * val_size + base_j = (i+1) * val_size + result.extend([ + values[base_i + j] + a * (values[base_j + j] - values[base_i + j]) + for j in range(val_size) + ]) + break + else: + result.extend(values[(n_kf-1)*val_size:(n_kf-1)*val_size+val_size]) + return result + + trans_interp = lerp_to(kf_times, kf_trans, 3, sorted_times) if kf_trans else [] + rot_interp = lerp_to(kf_times, kf_rot, 4, sorted_times) if kf_rot else [] + scale_interp = lerp_to(kf_times, kf_scale, 3, sorted_times) if kf_scale else [] + + for vals, count, acc_type, path in [ + (trans_interp, 3, 'VEC3', 'translation'), + (rot_interp, 4, 'VEC4', 'rotation'), + (scale_interp, 3, 'VEC3', 'scale'), + ]: + if not vals: + continue + raw = pad4(struct.pack(f'<{len(vals)}f', *vals)) + off2 = len(anim_bin) + anim_bin.extend(raw) + dv_idx = len(anim_buf_views) + anim_buf_views.append({'byteOffset': off2, 'byteLength': len(raw)}) + acc_idx = len(anim_accessors) + anim_accessors.append({'type': acc_type, 'count': len(sorted_times)}) + samp_idx = len(anim_samplers_this) + anim_samplers_this.append({'input': t_acc, 'output': acc_idx}) + anim_channels_this.append({'sampler': samp_idx, + 'target': {'node': node_idx, 'path': path}}) + + if anim_samplers_this: + animations_out.append({ + 'name': anim_name, + 'samplers': anim_samplers_this, + 'channels': anim_channels_this, + }) + else: + # No skeleton - simple mesh node + mesh_node_idx = len(nodes) + nodes.append({'name': 'mesh', 'mesh': 0}) + scene_node_idx = len(nodes) + nodes.append({'name': 'scene_root', 'children': [mesh_node_idx]}) + anim_bin = bytearray() + anim_buf_views = [] + anim_accessors = [] + anim_samplers = [] + anim_channels = [] + + # ── Build binary buffer ───────────────────────────────────────────────── + pos_bytes = pad4(struct.pack(f'<{len(positions)}f', *positions)) + norm_bytes = pad4(struct.pack(f'<{len(normals)}f', *normals)) + idx_bytes = pad4(struct.pack(f'<{len(indices)}H', *indices)) + uv_bytes = pad4(struct.pack(f'<{len(texcoords)}f', *texcoords)) if texcoords else b'' + + joint_bytes = b'' + weight_bytes = b'' + if skel and bone_weights: + # Joints: use existing bone_indices if available + joint_vals = [i & 0xFFFF for i in bone_indices] if bone_indices else [0] * (vertex_count * 4) + joint_bytes = pad4(struct.pack(f'<{len(joint_vals)}H', *joint_vals)) + weight_bytes = pad4(struct.pack(f'<{len(bone_weights)}f', *bone_weights)) + + ibm_bytes = pad4(struct.pack(f'<{len(ibms)}f', *ibms)) if skel else b'' + + all_bin = pos_bytes + norm_bytes + idx_bytes + uv_bytes + joint_bytes + weight_bytes + ibm_bytes + bytes(anim_bin) + + # ── Buffer views and accessors ────────────────────────────────────────── + off = 0 + buffer_views = [] + bv_pos = {'buffer': 0, 'byteOffset': off, 'byteLength': len(pos_bytes), 'target': 34962}; off += len(pos_bytes) + bv_nrm = {'buffer': 0, 'byteOffset': off, 'byteLength': len(norm_bytes), 'target': 34962}; off += len(norm_bytes) + bv_idx = {'buffer': 0, 'byteOffset': off, 'byteLength': len(idx_bytes), 'target': 34963}; off += len(idx_bytes) + buffer_views = [bv_pos, bv_nrm, bv_idx] + + accessors = [ + {'bufferView': 0, 'componentType': 5126, 'count': vertex_count, 'type': 'VEC3'}, + {'bufferView': 1, 'componentType': 5126, 'count': vertex_count, 'type': 'VEC3'}, + {'bufferView': 2, 'componentType': 5123, 'count': len(indices), 'type': 'SCALAR'}, + ] + + attributes = {'POSITION': 0, 'NORMAL': 1} + + if texcoords: + bv_uv = {'buffer': 0, 'byteOffset': off, 'byteLength': len(uv_bytes), 'target': 34962}; off += len(uv_bytes) + buffer_views.append(bv_uv) + accessors.append({'bufferView': 3, 'componentType': 5126, 'count': vertex_count, 'type': 'VEC2'}) + attributes['TEXCOORD_0'] = 3 + + # Joint/weight accessor indices shift if UV present + jnt_acc = 4 if texcoords else 3 + wgt_acc = 5 if texcoords else 4 + + if skel and bone_weights: + bv_jnt = {'buffer': 0, 'byteOffset': off, 'byteLength': len(joint_bytes), 'target': 34962}; off += len(joint_bytes) + bv_wgt = {'buffer': 0, 'byteOffset': off, 'byteLength': len(weight_bytes), 'target': 34962}; off += len(weight_bytes) + buffer_views.extend([bv_jnt, bv_wgt]) + accessors.append({'bufferView': 3 if not texcoords else 4, 'componentType': 5123, 'count': vertex_count, 'type': 'VEC4'}) + accessors.append({'bufferView': 4 if not texcoords else 5, 'componentType': 5126, 'count': vertex_count, 'type': 'VEC4'}) + attributes['JOINTS_0'] = jnt_acc + attributes['WEIGHTS_0'] = wgt_acc + + ibm_accessor_idx = None + if skel: + bv_ibm = {'buffer': 0, 'byteOffset': off, 'byteLength': len(ibm_bytes)}; off += len(ibm_bytes) + buffer_views.append(bv_ibm) + ibm_accessor_idx = len(accessors) + accessors.append({'bufferView': len(buffer_views)-1, 'componentType': 5126, + 'count': len(skin['joints']), 'type': 'MAT4'}) + skin['inverseBindMatrices'] = ibm_accessor_idx + + anim_base = off + for bv in anim_buf_views: + buffer_views.append({'buffer': 0, 'byteOffset': anim_base + bv['byteOffset'], 'byteLength': bv['byteLength']}) + + acc_offset = len(accessors) + for acc in anim_accessors: + a = {'componentType': 5126, 'type': acc['type'], 'count': acc['count'], + 'bufferView': len(buffer_views) - len(anim_accessors) + 0} + accessors.append(a) + + # Fix animation accessor bufferView indices + for i, acc in enumerate(anim_accessors): + accessors[acc_offset + i]['bufferView'] = len(buffer_views) - len(anim_accessors) + i + + # Fix sampler input/output indices (they reference anim_accessors relative) + for anim in animations_out: + for s in anim['samplers']: + s['input'] += acc_offset + s['output'] += acc_offset + + # ── Assemble glTF JSON ────────────────────────────────────────────────── + meshes = [{'name': geo.get('name', 'mesh'), 'primitives': [{ + 'attributes': attributes, + 'indices': 2, + 'material': 0, + }]}] + + gltf = { + 'asset': {'version': '2.0', 'generator': 'jme3-json2gltf.py'}, + 'scene': 0, + 'scenes': [{'nodes': [scene_node_idx]}], + 'nodes': nodes, + 'meshes': meshes, + 'materials': [{'name': 'default', 'pbrMetallicRoughness': { + 'baseColorFactor': [1, 1, 1, 1], 'metallicFactor': 0, 'roughnessFactor': 0.5}}], + 'animations': animations_out, + 'accessors': accessors, + 'bufferViews': buffer_views, + 'buffers': [{'byteLength': len(all_bin)}], + } + + if skin: + gltf['skins'] = [skin] + + gltf_json = json.dumps(gltf, separators=(',', ':')).encode('utf-8') + while len(gltf_json) % 4: + gltf_json += b' ' + while len(all_bin) % 4: + all_bin += b'\x00' + + header = struct.pack(' {output_path} (verts={vertex_count}, bones={len(skin["joints"]) if skin else 0}, ' + f'anims={len(animations_out)})') + +def main(): + in_dir = '/var/home/nico/Gamedev/Wackelpeter/web/public/models' + models = ['spider', 'staff', 'cross', 'helmet', 'wall1', 'tile1', 'tile2', 'blobknochen'] + for m in models: + jp = os.path.join(in_dir, f'{m}.json') + gp = os.path.join(in_dir, f'{m}.glb') + if os.path.exists(jp): + print(f'Converting {m}...') + try: + convert(jp, gp) + except Exception as e: + print(f' ERROR: {e}') + import traceback + traceback.print_exc() + +if __name__ == '__main__': + main() diff --git a/j3o_parser.py b/j3o_parser.py new file mode 100644 index 0000000..5a5bb6c --- /dev/null +++ b/j3o_parser.py @@ -0,0 +1,822 @@ +#!/usr/bin/env python3 +"""Parse JMonkeyEngine .j3o binary files and extract mesh/skeleton/animation data. + +Outputs glTF 2.0 .glb for meshes with skeletons, or OBJ-like JSON for static meshes. +""" + +import struct +import math +import os +import json +from pathlib import Path + +# ── Constants ─────────────────────────────────────────────────────────────── + +NULL_OBJECT = -1 +DEFAULT_OBJECT = -2 +SIGNATURE = 0x4A4D4533 + +FIELD_TYPE = { + 0: 'BYTE', 1: 'BYTE_1D', 2: 'BYTE_2D', + 10: 'INT', 11: 'INT_1D', 12: 'INT_2D', + 20: 'FLOAT', 21: 'FLOAT_1D', 22: 'FLOAT_2D', + 30: 'DOUBLE', 31: 'DOUBLE_1D', 32: 'DOUBLE_2D', + 40: 'LONG', 41: 'LONG_1D', 42: 'LONG_2D', + 50: 'SHORT', 51: 'SHORT_1D', 52: 'SHORT_2D', + 60: 'BOOLEAN', 61: 'BOOLEAN_1D', 62: 'BOOLEAN_2D', + 70: 'STRING', 71: 'STRING_1D', 72: 'STRING_2D', + 80: 'BITSET', + 90: 'SAVABLE', 91: 'SAVABLE_1D', 92: 'SAVABLE_2D', + 100: 'SAVABLE_ARRAYLIST', 101: 'SAVABLE_ARRAYLIST_1D', 102: 'SAVABLE_ARRAYLIST_2D', + 105: 'SAVABLE_MAP', 106: 'STRING_SAVABLE_MAP', 107: 'INT_SAVABLE_MAP', + 110: 'FLOATBUFFER_ARRAYLIST', 111: 'BYTEBUFFER_ARRAYLIST', + 120: 'FLOATBUFFER', 121: 'INTBUFFER', 122: 'BYTEBUFFER', 123: 'SHORTBUFFER', +} + +# VertexBuffer usage types (key for IntMap in Mesh.buffers) +VB_USAGE = { + 'Position': 0, 'Normal': 1, 'TexCoord': 2, 'Color': 3, + 'Tangent': 4, 'Binormal': 5, + 'Size': 6, 'InterleavedData': 7, 'Misc': 8, + 'BoneIndex': 9, 'BoneWeight': 10, 'HWBoneIndex': 11, 'HWBoneWeight': 12, + 'BindPosePosition': 13, 'BindPoseNormal': 14, 'BindPoseTangent': 15, +} + +VB_FORMAT = {'Float': 0, 'Short': 2, 'UnsignedShort': 4, 'UnsignedByte': 5, 'Byte': 6, 'Half': 7, 'Int': 8, 'UnsignedInt': 9} + + +# ── Binary reader ─────────────────────────────────────────────────────────── + +class J3OReader: + def __init__(self, data): + self.data = data + self.offset = 0 + + def tell(self): + return self.offset + + def read_bytes(self, n): + r = self.data[self.offset:self.offset + n] + self.offset += n + return r + + def read_be_int32(self): + return struct.unpack('>i', self.read_bytes(4))[0] + + def read_be_uint32(self): + return struct.unpack('>I', self.read_bytes(4))[0] + + def read_be_int16(self): + return struct.unpack('>h', self.read_bytes(2))[0] + + def read_byte(self): + b = self.data[self.offset] + self.offset += 1 + return b + + def read_float(self): + i = struct.unpack('>i', self.read_bytes(4))[0] + return struct.unpack('>f', struct.pack('>i', i))[0] + + def read_double(self): + i = struct.unpack('>q', self.read_bytes(8))[0] + return struct.unpack('>d', struct.pack('>q', i))[0] + + def read_short(self): + return struct.unpack('>h', self.read_bytes(2))[0] + + def read_bool(self): + return self.read_byte() != 0 + + def read_compressed_int(self): + first = self.read_byte() + if first == 0xFF: + return NULL_OBJECT + if first == 0xFE: + return DEFAULT_OBJECT + if first == 0x00: + return 0 + length = first & 0xFF + raw = self.read_bytes(length) + # Right-align to 4 bytes + if length <= 4: + pad_len = 4 - length + value_bytes = b'\x00' * pad_len + raw + else: + # If longer than 4 bytes, take only the last 4 + value_bytes = raw[length-4:] + try: + val = struct.unpack('>i', value_bytes)[0] + except struct.error: + return NULL_OBJECT + if val in (NULL_OBJECT, DEFAULT_OBJECT): + if length == 4: + self.offset -= 4 + return val + + def read_compressed_long(self): + first = self.read_byte() + if first == 0xFF: + return NULL_OBJECT + if first == 0xFE: + return DEFAULT_OBJECT + if first == 0x00: + return 0 + length = first & 0xFF + raw = self.read_bytes(length) + pad = b'\x00' * (8 - length) + return struct.unpack('>q', pad + raw)[0] + + def read_string(self): + length = self.read_compressed_int() + if length == NULL_OBJECT: + return None + return self.read_bytes(length).decode('utf-8', errors='replace') + + +# ── Field reading ─────────────────────────────────────────────────────────── + +class CapsuleReader: + """Reads field data for a single capsule.""" + def __init__(self, rdr: J3OReader, length): + self.rdr = rdr + self.end_offset = rdr.tell() + length + self.class_fields = None # set by BinaryClassObject + + def read_field_value(self, field_type, expected_alias=None): + """Read a value of the given type. Returns (value, field_alias).""" + if expected_alias is not None: + alias = self.rdr.read_byte() + else: + alias = 0 + + val = None + + if field_type in (0,): # BYTE + val = self.rdr.read_byte() + + elif field_type in (1,): # BYTE_1D + ln = self.rdr.read_compressed_int() + val = list(self.rdr.read_bytes(ln)) if ln > 0 else [] + + elif field_type in (2,): # BYTE_2D + outer = self.rdr.read_compressed_int() + val = [] + for _ in range(outer): + ln = self.rdr.read_compressed_int() + val.append(list(self.rdr.read_bytes(ln)) if ln > 0 else []) + + elif field_type in (10,): # INT + val = self.rdr.read_compressed_int() + + elif field_type in (11,): # INT_1D + ln = self.rdr.read_compressed_int() + val = [self.rdr.read_compressed_int() for _ in range(ln)] + + elif field_type in (12,): # INT_2D + outer = self.rdr.read_compressed_int() + val = [[self.rdr.read_compressed_int() for _ in range(self.rdr.read_compressed_int())] for _ in range(outer)] + + elif field_type in (20,): # FLOAT + val = self.rdr.read_float() + + elif field_type in (21,): # FLOAT_1D + ln = self.rdr.read_compressed_int() + val = [self.rdr.read_float() for _ in range(ln)] + + elif field_type in (22,): # FLOAT_2D + outer = self.rdr.read_compressed_int() + val = [[self.rdr.read_float() for _ in range(self.rdr.read_compressed_int())] for _ in range(outer)] + + elif field_type in (30,): # DOUBLE + val = self.rdr.read_double() + + elif field_type in (40,): # LONG + val = self.rdr.read_compressed_long() + + elif field_type in (50,): # SHORT + val = self.rdr.read_short() + + elif field_type in (51,): # SHORT_1D + ln = self.rdr.read_compressed_int() + val = [self.rdr.read_short() for _ in range(ln)] + + elif field_type in (60,): # BOOLEAN + val = self.rdr.read_bool() + + elif field_type in (61,): # BOOLEAN_1D + ln = self.rdr.read_compressed_int() + val = [self.rdr.read_bool() for _ in range(ln)] + + elif field_type in (70,): # STRING + val = self.rdr.read_string() + + elif field_type in (71,): # STRING_1D + ln = self.rdr.read_compressed_int() + val = [self.rdr.read_string() for _ in range(ln)] + + elif field_type in (80,): # BITSET + ln = self.rdr.read_compressed_int() + val = [self.rdr.read_bool() for _ in range(ln)] + + elif field_type in (90,): # SAVABLE + val = self.rdr.read_compressed_int() + + elif field_type in (91, 100): # SAVABLE_1D / SAVABLE_ARRAYLIST + ln = self.rdr.read_compressed_int() + val = [self.rdr.read_compressed_int() for _ in range(ln)] + + elif field_type in (92, 101): # SAVABLE_2D + outer = self.rdr.read_compressed_int() + val = [[self.rdr.read_compressed_int() for _ in range(self.rdr.read_compressed_int())] for _ in range(outer)] + + elif field_type in (105,): # SAVABLE_MAP + ln = self.rdr.read_compressed_int() + val = [[self.rdr.read_compressed_int(), self.rdr.read_compressed_int()] for _ in range(ln)] + + elif field_type in (106,): # STRING_SAVABLE_MAP + ln = self.rdr.read_compressed_int() + keys = [self.rdr.read_string() for _ in range(ln)] + _ = self.rdr.read_compressed_int() # skip length + vals = [self.rdr.read_compressed_int() for _ in range(ln)] + val = dict(zip(keys, vals)) + + elif field_type in (107,): # INT_SAVABLE_MAP + ln = self.rdr.read_compressed_int() + keys = [self.rdr.read_compressed_int() for _ in range(ln)] + ln2 = self.rdr.read_compressed_int() + vals = [self.rdr.read_compressed_int() for _ in range(ln2)] + val = dict(zip(keys, vals)) + + elif field_type in (120, 121, 122, 123): # Buffer types + ln = self.rdr.read_compressed_int() + if ln > 0: + elem_size = {120: 4, 121: 4, 122: 1, 123: 2}[field_type] + raw = self.rdr.read_bytes(ln * elem_size) + val = raw + else: + val = b'' + + elif field_type in (110,): # FLOATBUFFER_ARRAYLIST + ln = self.rdr.read_compressed_int() + val = [] + for _ in range(ln): + nb = self.rdr.read_compressed_int() + if nb > 0: + val.append(self.rdr.read_bytes(nb * 4)) + else: + val.append(b'') + + else: + # Unknown type - skip ahead + val = None + + return val, alias + + def read_all_fields(self, bco): + """Read all fields of a capsule using its class definition.""" + fields_read = {} + while self.rdr.tell() < self.end_offset - 1: + try: + alias = self.rdr.read_byte() + except (IndexError, struct.error): + break + field = bco.alias_fields.get(alias) + if field is None: + # Unknown field alias - skip the rest + break + try: + val, _ = self.read_field_value(field['type'], expected_alias=None) + fields_read[field['name']] = val + except (IndexError, struct.error): + break + return fields_read + + +# ── Class table ───────────────────────────────────────────────────────────── + +class BinaryClassObject: + def __init__(self, alias, name, fields): + self.alias = alias + self.name = name + self.fields = fields + self.alias_fields = {f['alias']: f for f in fields} + + +def parse_j3o_header(filepath): + """Parse J3O header, class table, and location table. Return loader function.""" + with open(filepath, 'rb') as f: + data = f.read() + + rdr = J3OReader(data) + + # Header + sig = rdr.read_be_uint32() + if sig != SIGNATURE: + # Old format (version 0): no signature, first int is num_classes + rdr.offset = 0 + version = 0 + num_classes = rdr.read_be_int32() + else: + version = rdr.read_be_int32() + num_classes = rdr.read_be_int32() + + alias_width = int(math.log(max(num_classes, 2), 256)) + 1 + + # Class table + classes = {} + for i in range(num_classes): + alias = rdr.read_bytes(alias_width) + + if version >= 1: + hier_size = rdr.read_byte() + _ = [rdr.read_be_int32() for _ in range(hier_size)] + else: + _ = [0] + + name_len = rdr.read_be_int32() + name = rdr.read_bytes(name_len).decode('ascii', errors='replace') + + num_fields = rdr.read_be_int32() + fields = [] + for _ in range(num_fields): + fa = rdr.read_byte() + ft = rdr.read_byte() + fn_len = rdr.read_be_int32() + fn = rdr.read_bytes(fn_len).decode('ascii', errors='replace') + fields.append({'alias': fa, 'type': ft, 'name': fn}) + + classes[alias] = BinaryClassObject(alias, name, fields) + + # Location table + num_locs = rdr.read_be_int32() + location_table = {} + for _ in range(num_locs): + obj_id = rdr.read_be_int32() + loc = rdr.read_be_int32() + location_table[obj_id] = loc + + # Root + _ = rdr.read_be_int32() + root_id = rdr.read_be_int32() + + payload_start = rdr.tell() + payload = data[payload_start:] + + return alias_width, classes, location_table, root_id, payload + + +def read_object(obj_id, alias_width, classes, location_table, payload, cache=None): + """Read a single capsule and return its class name and field data.""" + if cache is None: + cache = {} + + if obj_id in cache: + return cache[obj_id] + + if obj_id not in location_table: + cache[obj_id] = ('unknown', {}) + return cache[obj_id] + + loc = location_table[obj_id] + rdr = J3OReader(payload) + rdr.offset = loc + + alias = rdr.read_bytes(alias_width) + bco = classes.get(alias) + + data_len = rdr.read_be_int32() + + if bco is None: + cache[obj_id] = ('unknown', {}) + return cache[obj_id] + + cap_rdr = CapsuleReader(rdr, data_len) + fields = cap_rdr.read_all_fields(bco) + + result = (bco.name, fields) + cache[obj_id] = result + return result + + +def resolve_savable(obj_id, alias_width, classes, location_table, payload, cache): + """Resolve a Savable reference, returning (class_name, fields).""" + if obj_id <= 0 or obj_id == NULL_OBJECT or obj_id == DEFAULT_OBJECT: + return None + return read_object(obj_id, alias_width, classes, location_table, payload, cache) + + +# ── Vertex buffer decoding ────────────────────────────────────────────────── + +def decode_floatbuffer(raw, count): + """Decode LE float buffer. raw is bytes.""" + if len(raw) != count * 4: + return [0.0] * count + return list(struct.unpack(f'<{count}f', raw)) + +def decode_shortbuffer(raw, count): + return list(struct.unpack(f'<{count}h', raw)) + +def decode_bytebuffer(raw, count): + return list(raw[:count]) + +def decode_intbuffer(raw, count): + return list(struct.unpack(f'<{count}i', raw)) + + +# ── Mesh extraction ───────────────────────────────────────────────────────── + +def extract_mesh_geometry(obj_id, alias_width, classes, location_table, payload, cache): + obj = resolve_savable(obj_id, alias_width, classes, location_table, payload, cache) + if obj is None: + return None + + cls_name, fields = obj + if 'Mesh' not in cls_name: + return None + + vert_count = fields.get('vertCount', 0) + if vert_count == 0: + return None + + buffers_map = fields.get('buffers', {}) + element_count = fields.get('elementCount', 0) + + positions = [] + normals = [] + texcoords = [] + indices = [] + bone_weights_raw = b'' + bone_indices_raw = b'' + bone_idx_bytes_per_elem = 2 + weight_comps = 4 + idx_comps = 4 + + for usage_code, vb_id in buffers_map.items(): + vb_obj = resolve_savable(vb_id, alias_width, classes, location_table, payload, cache) + if vb_obj is None: + continue + + _, vb_fields = vb_obj + comp = vb_fields.get('components', 0) + format_code = vb_fields.get('format', -1) + + raw_data = None + is_float = False + is_short = False + is_byte = False + for dk, fl, sh, bt in [ + ('dataFloat', True, False, False), + ('dataUnsignedShort', False, True, False), + ('dataUnsignedByte', False, False, True), + ('dataShort', False, True, False), + ('dataByte', False, False, True), + ('dataInt', False, False, False), + ('data', False, False, False), + ]: + if dk in vb_fields: + raw_data = vb_fields[dk] + is_float = fl + is_short = sh + is_byte = bt + break + + if raw_data is None: + continue + + if usage_code == VB_USAGE['Position']: + elem_count = len(raw_data) // 4 + positions = decode_floatbuffer(raw_data, elem_count) + actual_vert_count = elem_count // comp + elif usage_code == VB_USAGE['Normal']: + elem_count = len(raw_data) // 4 + normals = decode_floatbuffer(raw_data, elem_count) + elif usage_code == VB_USAGE['TexCoord']: + elem_count = len(raw_data) // 4 + texcoords = decode_floatbuffer(raw_data, elem_count) + elif usage_code == VB_USAGE['BoneWeight']: # 10 + bone_weights_raw = raw_data + weight_comps = comp + elif usage_code == VB_USAGE['BoneIndex']: # 9 + bone_indices_raw = raw_data + bone_idx_bytes_per_elem = 2 if is_short else 1 + idx_comps = comp + elif usage_code == VB_USAGE['Misc']: # 8 + if is_short: + indices = list(struct.unpack(f'<{len(raw_data)//2}h', raw_data)) + elif len(raw_data) >= 2: + indices = list(struct.unpack(f'<{len(raw_data)//2}H', raw_data)) + elif raw_data: + indices = list(raw_data) + + if not positions: + return None + + # Decode bone data now that we know actual_vert_count + actual_vert_count = len(positions) // 3 if positions else vert_count + + bone_indices = [] + if bone_indices_raw: + if bone_idx_bytes_per_elem == 2: + count = len(bone_indices_raw) // 2 + total = min(count, actual_vert_count * idx_comps) + bone_indices = list(struct.unpack(f'<{total}H', bone_indices_raw[:total*2])) + else: + total = min(len(bone_indices_raw), actual_vert_count * idx_comps) + bone_indices = list(bone_indices_raw[:total]) + + bone_weights = [] + if bone_weights_raw: + total = min(len(bone_weights_raw) // 4, actual_vert_count * weight_comps) + bone_weights = decode_floatbuffer(bone_weights_raw, total) + + if not indices and element_count > 0: + indices = list(range(element_count)) + + return { + 'vertexCount': actual_vert_count, + 'positions': positions, + 'normals': normals, + 'texcoords': texcoords, + 'indices': indices, + 'boneWeights': bone_weights, + 'boneIndices': bone_indices, + } + + +# ── Skeleton extraction ───────────────────────────────────────────────────── + +def extract_skeleton(skeleton_id, alias_width, classes, location_table, payload, cache): + """Extract skeleton data.""" + obj = resolve_savable(skeleton_id, alias_width, classes, location_table, payload, cache) + if obj is None: + return None + + cls_name, fields = obj + if 'Skeleton' not in cls_name: + return None + + root_bones_ids = fields.get('rootBones', []) + bone_list_ids = fields.get('boneList', []) + + bones = [] + bid_to_idx = {} + + for i, bid in enumerate(bone_list_ids): + bone_obj = resolve_savable(bid, alias_width, classes, location_table, payload, cache) + if bone_obj is None: + continue + _, bf = bone_obj + bones.append({ + 'id': i, + 'name': bf.get('name', f'bone_{i}'), + 'position': bf.get('bindPos', [0,0,0]) if 'bindPos' in bf else [0,0,0], + 'rotation': bf.get('bindRot', [0,0,0,1]) if 'bindRot' in bf else [0,0,0,1], + 'scale': bf.get('bindScale', [1,1,1]) if 'bindScale' in bf else [1,1,1], + }) + bid_to_idx[bid] = i + + # Hierarchy + hierarchy = {} + for bid in bone_list_ids: + bone_obj = resolve_savable(bid, alias_width, classes, location_table, payload, cache) + if bone_obj is None: + continue + _, bf = bone_obj + children_ids = bf.get('children', []) + parent_idx = bid_to_idx.get(bid) + for cid in children_ids: + child_idx = bid_to_idx.get(cid) + if child_idx is not None and parent_idx is not None: + hierarchy[bones[child_idx]['name']] = bones[parent_idx]['name'] + + roots = [bid_to_idx[rid] for rid in root_bones_ids if rid in bid_to_idx] + + return { + 'bones': bones, + 'hierarchy': hierarchy, + 'roots': roots, + } + + +# ── Animation extraction ──────────────────────────────────────────────────── + +def extract_animations(anim_map, alias_width, classes, location_table, payload, cache): + """Extract animation data from StringSavableMap of anim_name -> Animation.""" + if anim_map is None: + return {} + + animations = {} + for anim_name, anim_id in anim_map.items(): + anim_obj = resolve_savable(anim_id, alias_width, classes, location_table, payload, cache) + if anim_obj is None: + continue + _, af = anim_obj + tracks_ids = af.get('tracks', []) + anim_len = af.get('length', 1.0) + anim_name_str = af.get('name', anim_name) or anim_name + + tracks = [] + for tid in tracks_ids: + track_obj = resolve_savable(tid, alias_width, classes, location_table, payload, cache) + if track_obj is None: + continue + ct, tf = track_obj + bone_idx = tf.get('boneIndex', 0) + + # times: float array + times = tf.get('times', []) + + # translations: savable CompactVector3Array + trans_id = tf.get('translations', None) + translations = [] + if trans_id is not None: + trans_obj = resolve_savable(trans_id, alias_width, classes, location_table, payload, cache) + if trans_obj: + _, trf = trans_obj + trans_data = trf.get('array', None) + if trans_data: + translations = list(struct.unpack(f'<{len(trans_data)//4}f', trans_data)) if trans_data else [] + + # rotations: savable CompactQuaternionArray + rot_id = tf.get('rotations', None) + rotations = [] + if rot_id is not None: + rot_obj = resolve_savable(rot_id, alias_width, classes, location_table, payload, cache) + if rot_obj: + _, rf = rot_obj + rot_data = rf.get('array', None) + if rot_data: + rotations = list(struct.unpack(f'<{len(rot_data)//4}f', rot_data)) if rot_data else [] + + # scales: savable CompactVector3Array + scale_id = tf.get('scales', None) + scales = [] + if scale_id is not None: + scale_obj = resolve_savable(scale_id, alias_width, classes, location_table, payload, cache) + if scale_obj: + _, sf = scale_obj + scale_data = sf.get('array', None) + if scale_data: + scales = list(struct.unpack(f'<{len(scale_data)//4}f', scale_data)) if scale_data else [] + + tracks.append({ + 'boneIndex': bone_idx, + 'times': times, + 'translations': translations, + 'rotations': rotations, + 'scales': scales, + }) + + animations[anim_name_str] = { + 'length': anim_len, + 'tracks': tracks, + } + + return animations + + +# ── Main extraction ───────────────────────────────────────────────────────── + +def extract_j3o(filepath): + """Extract mesh, skeleton, and animation data from a .j3o file.""" + alias_width, classes, location_table, root_id, payload = parse_j3o_header(filepath) + cache = {} + result = { + 'file': filepath, + 'geometries': [], + 'skeletons': [], + 'animations': {}, + } + + # Walk object graph looking for mesh/skeleton/animation data + def walk_obj(obj_id, depth=0): + if depth > 50 or obj_id <= 0: + return + try: + obj = resolve_savable(obj_id, alias_width, classes, location_table, payload, cache) + except Exception: + return + if obj is None: + return + cls_name, fields = obj + + # Check for Geometry / Mesh data + if 'Geometry' in cls_name: + mesh_id = fields.get('mesh', None) + if mesh_id and mesh_id > 0: + try: + geo = extract_mesh_geometry(mesh_id, alias_width, classes, location_table, payload, cache) + if geo: + result['geometries'].append({ + 'name': fields.get('name', 'unknown'), + 'geometry': geo, + }) + except Exception: + pass + + # Check for AnimControl + if 'AnimControl' in cls_name: + skeleton_id = fields.get('skeleton', None) + if skeleton_id and skeleton_id > 0: + skel = extract_skeleton(skeleton_id, alias_width, classes, location_table, payload, cache) + if skel: + result['skeletons'].append(skel) + + anim_map = fields.get('animations', None) + if isinstance(anim_map, dict): + anims = extract_animations(anim_map, alias_width, classes, location_table, payload, cache) + result['animations'].update(anims) + + # Check for SkeletonControl + if 'SkeletonControl' in cls_name: + skeleton_id = fields.get('skeleton', None) + if skeleton_id and skeleton_id > 0 and not result['skeletons']: + skel = extract_skeleton(skeleton_id, alias_width, classes, location_table, payload, cache) + if skel: + result['skeletons'].append(skel) + + # Recurse into children and controls + for list_key in ['children', 'controlsList']: + items = fields.get(list_key, None) + if isinstance(items, list): + for item in items: + if isinstance(item, int) and item > 0: + walk_obj(item, depth + 1) + + walk_obj(root_id) + + return result + + +# ── Convert to glTF / JSON ────────────────────────────────────────────────── + +def j3o_to_gltf(j3o_data, output_path): + """Convert extracted J3O data to glTF or OBJ-like JSON.""" + geos = j3o_data['geometries'] + skels = j3o_data['skeletons'] + anims = j3o_data['animations'] + + if not geos: + print(f" No geometry found in {j3o_data['file']}") + return + + # For now, output as simple OBJ-like JSON (positions + indices) + for geo_entry in geos: + g = geo_entry['geometry'] + name = geo_entry['name'] or os.path.basename(j3o_data['file']).replace('.j3o', '') + + out = { + 'name': name, + 'vertexCount': g['vertexCount'], + 'positions': g['positions'], + 'normals': g['normals'], + 'indices': g['indices'], + 'hasBones': len(g['boneWeights']) > 0, + 'boneWeights': g['boneWeights'], + 'boneIndices': g['boneIndices'], + } + + # Add skeleton if exists + if skels: + out['skeleton'] = skels[0] + if anims: + out['animations'] = anims + + out_path = os.path.join(output_path, f'{name}.json') + with open(out_path, 'w') as f: + json.dump(out, f, separators=(',', ':')) + + print(f" -> {out_path} ({g['vertexCount']} verts, {len(g['indices'])//3} faces)") + + +# ── Main ──────────────────────────────────────────────────────────────────── + +def main(): + base = '/var/home/nico/Gamedev/Wackelpeter/extracted/Models' + out_dir = '/var/home/nico/Gamedev/Wackelpeter/web/public/models' + + j3o_files = [ + ('spider', 'spider/spider.mesh.j3o'), + ('staff', 'staff/staff.mesh.j3o'), + ('cross', 'kross/kross.mesh.j3o'), + ] + + for name, path in j3o_files: + full = os.path.join(base, path) + if not os.path.exists(full): + print(f'Skipping {name}: not found') + continue + print(f'Extracting {name}...') + try: + data = extract_j3o(full) + j3o_to_gltf(data, out_dir) + print(f" Skeletons: {len(data['skeletons'])}, Animations: {len(data['animations'])}") + except Exception as e: + print(f' ERROR: {e}') + import traceback + traceback.print_exc() + + +if __name__ == '__main__': + main() diff --git a/ogre2gltf.py b/ogre2gltf.py new file mode 100644 index 0000000..39d79c5 --- /dev/null +++ b/ogre2gltf.py @@ -0,0 +1,485 @@ +#!/usr/bin/env python3 +"""Convert Ogre3D .mesh.xml + .skeleton.xml to glTF 2.0 (.glb) with all animations.""" + +import xml.etree.ElementTree as ET +import json +import struct +import math +import os + +# ── Math ──────────────────────────────────────────────────────────────────── + +def axis_angle_to_quat(ax, ay, az, angle): + s = math.sin(angle / 2) + return (ax * s, ay * s, az * s, math.cos(angle / 2)) + +def mat4_from_trs(tx, ty, tz, qx, qy, qz, qw, sx, sy, sz): + x, y, z, w = qx, qy, qz, qw + xx, yy, zz = x*x, y*y, z*z + xy, xz, yz = x*y, x*z, y*z + wx, wy, wz = w*x, w*y, w*z + return [ + (1 - 2*(yy + zz))*sx, (2*(xy + wz))*sx, (2*(xz - wy))*sx, 0, + (2*(xy - wz))*sy, (1 - 2*(xx + zz))*sy, (2*(yz + wx))*sy, 0, + (2*(xz + wy))*sz, (2*(yz - wx))*sz, (1 - 2*(xx + yy))*sz, 0, + tx, ty, tz, 1, + ] + +def mat4_mult(a, b): + r = [0]*16 + for i in range(4): + for j in range(4): + for k in range(4): + r[j*4 + i] += a[k*4 + i] * b[j*4 + k] + return r + +def lerp_keyframes(kf_times, kf_vals, query_times): + """Linearly interpolate keyframe values to query times.""" + if len(kf_times) == 1: + v = kf_vals[0] + result = [] + for _ in query_times: + result.extend(v) + return result + result = [] + for qt in query_times: + if qt <= kf_times[0]: + result.extend(kf_vals[0]) + elif qt >= kf_times[-1]: + result.extend(kf_vals[-1]) + else: + for i in range(len(kf_times) - 1): + if kf_times[i] <= qt <= kf_times[i+1]: + a = (qt - kf_times[i]) / (kf_times[i+1] - kf_times[i]) + v = [kf_vals[i][j] + a*(kf_vals[i+1][j] - kf_vals[i][j]) + for j in range(len(kf_vals[0]))] + result.extend(v) + break + else: + result.extend(kf_vals[-1]) + return result + +def pad(data, alignment=4): + """Pad binary data with null bytes to alignment (for BIN chunk).""" + while len(data) % alignment: + data += b'\x00' + return data + +# ── Parsing ───────────────────────────────────────────────────────────────── + +def parse_skeleton(filepath): + tree = ET.parse(filepath) + root = tree.getroot() + bones = [] + for b in root.find('bones').findall('bone'): + bid = int(b.get('id', '0')) + name = b.get('name', '') + pos = b.find('position') + px, py, pz = float(pos.get('x','0')), float(pos.get('y','0')), float(pos.get('z','0')) + rot = b.find('rotation') + angle = float(rot.get('angle','0')) + axis = rot.find('axis') + ax, ay, az = float(axis.get('x','1')), float(axis.get('y','0')), float(axis.get('z','0')) + bones.append({'id': bid, 'name': name, 'pos': (px, py, pz), + 'rot_axis': (ax, ay, az), 'rot_angle': angle, 'scale': (1,1,1)}) + hierarchy = {} + hier = root.find('bonehierarchy') + if hier is not None: + for bp in hier.findall('boneparent'): + hierarchy[bp.get('bone')] = bp.get('parent') + animations = {} + anims = root.find('animations') + if anims is not None: + for anim in anims.findall('animation'): + name = anim.get('name') + tracks = {} + for track in anim.find('tracks').findall('track'): + bn = track.get('bone') + kfs = [] + for kf in track.find('keyframes').findall('keyframe'): + t = float(kf.get('time')) + tr = kf.find('translate') + tx, ty, tz = float(tr.get('x','0')), float(tr.get('y','0')), float(tr.get('z','0')) + ro = kf.find('rotate') + ang = float(ro.get('angle','0')) + ax_e = ro.find('axis') + ax, ay, az = float(ax_e.get('x','1')), float(ax_e.get('y','0')), float(ax_e.get('z','0')) + q = axis_angle_to_quat(ax, ay, az, ang) + sc = kf.find('scale') + sx = float(sc.get('x','1')) if sc is not None else 1.0 + sy = float(sc.get('y','1')) if sc is not None else 1.0 + sz = float(sc.get('z','1')) if sc is not None else 1.0 + kfs.append((t, tx, ty, tz, q[0], q[1], q[2], q[3], sx, sy, sz)) + tracks[bn] = kfs + animations[name] = tracks + return bones, hierarchy, animations + +def parse_mesh(filepath): + tree = ET.parse(filepath) + root = tree.getroot() + verts = [] + sg = root.find('sharedgeometry') + if sg is not None: + for vb in sg.findall('vertexbuffer'): + for v in vb.findall('vertex'): + pos = v.find('position') + norm = v.find('normal') + vt = {'x': float(pos.get('x','0')), 'y': float(pos.get('y','0')), 'z': float(pos.get('z','0')), + 'nx': 0, 'ny': 0, 'nz': 1} + if norm is not None: + vt['nx'] = float(norm.get('x','0')); vt['ny'] = float(norm.get('y','0')); vt['nz'] = float(norm.get('z','0')) + verts.append(vt) + faces = [] + for sm in root.findall('.//submesh'): + for fe in sm.findall('faces'): + for f in fe.findall('face'): + faces.append((int(f.get('v1','0')), int(f.get('v2','0')), int(f.get('v3','0')))) + bw = [{} for _ in range(len(verts))] + ba = root.find('boneassignments') + if ba is not None: + for a in ba.findall('vertexboneassignment'): + vi = int(a.get('vertexindex','0')) + bi = int(a.get('boneindex','0')) + w = float(a.get('weight','1.0')) + if vi < len(bw): + bw[vi][bi] = w + return verts, faces, bw + +# ── glTF builder ──────────────────────────────────────────────────────────── + +def build_gltf(mesh_path, skeleton_path, output_path): + verts, faces, bw = parse_mesh(mesh_path) + bones, hierarchy, animations = parse_skeleton(skeleton_path) + + # Topological sort of bones + bone_by_name = {b['name']: b for b in bones} + bone_by_id = {b['id']: b for b in bones} + + roots = [b for b in bones if b['name'] not in hierarchy] + order = [] + visited = set() + def dfs(name): + if name in visited: return + visited.add(name) + order.append(name) + for child, parent in hierarchy.items(): + if parent == name: + dfs(child) + for root in roots: + dfs(root['name']) + + name_to_idx = {name: i for i, name in enumerate(order)} + + # glTF nodes (bones only for now) + nodes = [] + for name in order: + b = bone_by_name[name] + q = axis_angle_to_quat(*b['rot_axis'], b['rot_angle']) + nodes.append({ + 'name': name, + 'translation': list(b['pos']), + 'rotation': [q[0], q[1], q[2], q[3]], + 'scale': list(b['scale']), + }) + for child, parent in hierarchy.items(): + if child in name_to_idx and parent in name_to_idx: + ci, pi = name_to_idx[child], name_to_idx[parent] + nodes[pi].setdefault('children', []).append(ci) + + # Add a skeleton root node (identity matrix, all bones as children) + skeleton_root_idx = len(nodes) + nodes.append({'name': '__skeleton_root__', 'children': []}) + # Only add bones that are NOT children of other bones in hierarchy + for i, name in enumerate(order): + is_child = any(i in nodes[idx].get('children', []) for idx in range(len(nodes))) + if not is_child: + nodes[skeleton_root_idx]['children'].append(i) + + # Inverse bind matrices + def world_transform(name): + b = bone_by_name[name] + q = axis_angle_to_quat(*b['rot_axis'], b['rot_angle']) + local = mat4_from_trs(b['pos'][0], b['pos'][1], b['pos'][2], + q[0], q[1], q[2], q[3], 1, 1, 1) + parent = hierarchy.get(name) + if parent and parent in bone_by_name: + return mat4_mult(world_transform(parent), local) + return local + + ibm_flat = [] + for name in order: + w = world_transform(name) + # Invert 4x4 matrix + m = [w[i + j*4] for j in range(4) for i in range(4)] # transpose to row-major for inversion + inv = invert_4x4(m) + ibm_flat.extend(inv) # back in row-major? No - glTF uses column-major + + # Actually glTF stores matrices column-major in the linear buffer + # The inverse bind matrix in column-major form: each 4 floats = 1 column + ibm_col_major = [] + for name in order: + w = world_transform(name) + # w is column-major: [c0x, c0y, c0z, c0w, c1x, ..., c3w] + # Invert it + inv = invert_4x4_colmajor(w) + ibm_col_major.extend(inv) + + # Joint indices for skin + skin_joints = [name_to_idx[name] for name in order] + + # Vertex data + positions = [] + nrm = [] + joints0 = [] + weights0 = [] + for i, v in enumerate(verts): + positions.extend([v['x'], v['y'], v['z']]) + nrm.extend([v['nx'], v['ny'], v['nz']]) + wmap = bw[i] if i < len(bw) else {} + sw = sorted(wmap.items(), key=lambda x: x[1], reverse=True)[:4] + j = [0, 0, 0, 0] + wgt = [0.0, 0.0, 0.0, 0.0] + for k, (bid, weight) in enumerate(sw): + if bid in bone_by_id: + jname = bone_by_id[bid]['name'] + j[k] = name_to_idx.get(jname, 0) + wgt[k] = weight + total = sum(wgt) + if total > 0: + wgt = [x / total for x in wgt] + joints0.extend(j) + weights0.extend(wgt) + + indices = [] + for f in faces: + indices.extend(list(f)) + + # Bounding box + all_x = [v['x'] for v in verts] + all_y = [v['y'] for v in verts] + all_z = [v['z'] for v in verts] + bbox_min = [min(all_x), min(all_y), min(all_z)] + bbox_max = [max(all_x), max(all_y), max(all_z)] + + # Model node (has mesh and skin) + model_node_idx = len(nodes) + nodes.append({'name': os.path.basename(mesh_path).replace('.mesh.xml', '') + '_mesh', + 'mesh': 0, 'skin': 0}) + + # Scene root + scene_node_idx = len(nodes) + nodes.append({'name': 'scene_root', 'children': [skeleton_root_idx, model_node_idx]}) + + # ── Build buffer ──────────────────────────────────────────────────────── + pos_bytes = pad(struct.pack(f'<{len(positions)}f', *positions)) + nrm_bytes = pad(struct.pack(f'<{len(nrm)}f', *nrm)) + idx_bytes = pad(struct.pack(f'<{len(indices)}H', *indices)) + jnt_bytes = pad(struct.pack(f'<{len(joints0)}H', *joints0)) + wgt_bytes = pad(struct.pack(f'<{len(weights0)}f', *weights0)) + ibm_bytes = pad(struct.pack(f'<{len(ibm_col_major)}f', *ibm_col_major)) + + # Base data end + base_end = len(pos_bytes) + len(nrm_bytes) + len(idx_bytes) + len(jnt_bytes) + len(wgt_bytes) + len(ibm_bytes) + + # ── Animations ────────────────────────────────────────────────────────── + anim_data = bytearray() + gltf_animations = [] + buf_views = [] + accessors_list = [] + + # Fill static buffer views and accessors first + off = 0 + bv_pos = {'buffer': 0, 'byteOffset': off, 'byteLength': len(pos_bytes), 'target': 34962}; off += len(pos_bytes) + bv_nrm = {'buffer': 0, 'byteOffset': off, 'byteLength': len(nrm_bytes), 'target': 34962}; off += len(nrm_bytes) + bv_idx = {'buffer': 0, 'byteOffset': off, 'byteLength': len(idx_bytes), 'target': 34963}; off += len(idx_bytes) + bv_jnt = {'buffer': 0, 'byteOffset': off, 'byteLength': len(jnt_bytes), 'target': 34962}; off += len(jnt_bytes) + bv_wgt = {'buffer': 0, 'byteOffset': off, 'byteLength': len(wgt_bytes), 'target': 34962}; off += len(wgt_bytes) + bv_ibm = {'buffer': 0, 'byteOffset': off, 'byteLength': len(ibm_bytes)}; off += len(ibm_bytes) + + buffer_views = [bv_pos, bv_nrm, bv_idx, bv_jnt, bv_wgt, bv_ibm] + + accessors = [ + {'bufferView': 0, 'componentType': 5126, 'count': len(verts), 'type': 'VEC3', + 'min': bbox_min, 'max': bbox_max}, + {'bufferView': 1, 'componentType': 5126, 'count': len(verts), 'type': 'VEC3'}, + {'bufferView': 2, 'componentType': 5123, 'count': len(indices), 'type': 'SCALAR'}, + {'bufferView': 3, 'componentType': 5123, 'count': len(verts), 'type': 'VEC4'}, + {'bufferView': 4, 'componentType': 5126, 'count': len(verts), 'type': 'VEC4'}, + {'bufferView': 5, 'componentType': 5126, 'count': len(order), 'type': 'MAT4'}, + ] + + anim_base = off # animations start here + + for anim_name, tracks in animations.items(): + all_times = set() + for bn, kfs in tracks.items(): + for t, *_ in kfs: + all_times.add(t) + sorted_times = sorted(all_times) + if len(sorted_times) < 2: + continue + + time_data = pad(struct.pack(f'<{len(sorted_times)}f', *sorted_times)) + time_off = len(anim_data) + anim_data.extend(time_data) + + # Buffer view for time + tv_idx = len(buffer_views) + buffer_views.append({'buffer': 0, 'byteOffset': anim_base + time_off, 'byteLength': len(time_data)}) + + # Accessor for time (shared per animation) + t_acc_idx = len(accessors) + accessors.append({'bufferView': tv_idx, 'componentType': 5126, 'count': len(sorted_times), + 'type': 'SCALAR', 'min': [sorted_times[0]], 'max': [sorted_times[-1]]}) + + samplers = [] + channels = [] + + for bone_name, keyframes in tracks.items(): + if bone_name not in name_to_idx: + continue + node_idx = name_to_idx[bone_name] + + kf_times = [t for t, *_ in keyframes] + kf_trans = [list(kf[1:4]) for kf in keyframes] + kf_rot = [list(kf[4:8]) for kf in keyframes] + kf_scale = [list(kf[8:11]) for kf in keyframes] + + for data, acc_type, path in [ + (lerp_keyframes(kf_times, kf_trans, sorted_times), 'VEC3', 'translation'), + (lerp_keyframes(kf_times, kf_rot, sorted_times), 'VEC4', 'rotation'), + (lerp_keyframes(kf_times, kf_scale, sorted_times), 'VEC3', 'scale'), + ]: + raw = pad(struct.pack(f'<{len(data)}f', *data)) + off2 = len(anim_data) + anim_data.extend(raw) + + dv_idx = len(buffer_views) + buffer_views.append({'buffer': 0, 'byteOffset': anim_base + off2, 'byteLength': len(raw)}) + + acc_idx = len(accessors) + accessors.append({'bufferView': dv_idx, 'componentType': 5126, + 'count': len(sorted_times), 'type': acc_type}) + + samp_idx = len(samplers) + samplers.append({'input': t_acc_idx, 'interpolation': 'LINEAR', 'output': acc_idx}) + + channels.append({'sampler': samp_idx, 'target': {'node': node_idx, 'path': path}}) + + if samplers and channels: + gltf_animations.append({'name': anim_name, 'samplers': samplers, 'channels': channels}) + + anim_bin = bytes(anim_data) + + # Combine + all_bin = pos_bytes + nrm_bytes + idx_bytes + jnt_bytes + wgt_bytes + ibm_bytes + anim_bin + + # ── Build JSON ────────────────────────────────────────────────────────── + meshes = [{'name': 'mesh', 'primitives': [{ + 'attributes': {'POSITION': 0, 'NORMAL': 1, 'JOINTS_0': 3, 'WEIGHTS_0': 4}, + 'indices': 2, + 'material': 0, + }]}] + + materials = [{ + 'name': 'default', + 'pbrMetallicRoughness': { + 'baseColorFactor': [1.0, 1.0, 1.0, 1.0], + 'metallicFactor': 0.0, + 'roughnessFactor': 0.5, + }, + }] + + skin = [{'inverseBindMatrices': 5, 'joints': skin_joints, 'name': 'skin'}] + + gltf = { + 'asset': {'version': '2.0', 'generator': 'ogre2gltf.py'}, + 'scene': 0, + 'scenes': [{'nodes': [scene_node_idx]}], + 'nodes': nodes, + 'meshes': meshes, + 'materials': materials, + 'skins': skin, + 'animations': gltf_animations, + 'accessors': accessors, + 'bufferViews': buffer_views, + 'buffers': [{'byteLength': len(all_bin)}], + } + + # ── Write GLB ─────────────────────────────────────────────────────────── + gltf_json = json.dumps(gltf, separators=(',', ':'), allow_nan=False).encode('utf-8') + # GLB spec: JSON chunk padded with spaces (0x20), BIN chunk padded with nulls (0x00) + while len(gltf_json) % 4: + gltf_json += b' ' + while len(all_bin) % 4: + all_bin += b'\x00' + + header = struct.pack(' {output_path} ({len(verts)}v {len(faces)}f {len(bones)}b {len(gltf_animations)}a)') + +# ── Matrix inversion ─────────────────────────────────────────────────────── + +def invert_4x4(m): + """Invert 4x4 row-major matrix, return row-major.""" + a, b, c, d, e, f, g, h, i, j, k, l, m_, n, o, p = m + det = (a * (f*k*p + g*l*n + h*j*o - h*k*n - f*l*o - g*j*p) - + b * (e*k*p + g*l*m_ + h*i*o - h*k*m_ - e*l*o - g*i*p) + + c * (e*j*p + f*l*m_ + h*i*n - h*j*m_ - e*l*n - f*i*p) - + d * (e*j*o + f*k*m_ + g*i*n - g*j*m_ - e*k*n - f*i*o)) + if abs(det) < 1e-12: + return [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1] + inv_det = 1.0 / det + return [ + (f*k*p + g*l*n + h*j*o - h*k*n - f*l*o - g*j*p) * inv_det, + (b*k*p + c*l*n + d*j*o - d*k*n - b*l*o - c*j*p) * inv_det, + (b*g*p + c*h*n + d*f*o - d*g*n - b*h*o - c*f*p) * inv_det, + (b*g*l + c*h*j + d*f*k - d*g*j - b*h*k - c*f*l) * inv_det, + (e*k*p + g*l*m_ + h*i*o - h*k*m_ - e*l*o - g*i*p) * inv_det, + (a*k*p + c*l*m_ + d*i*o - d*k*m_ - a*l*o - c*i*p) * inv_det, + (a*g*p + c*h*m_ + d*e*o - d*g*m_ - a*h*o - c*e*p) * inv_det, + (a*g*l + c*h*i + d*e*k - d*g*i - a*h*k - c*e*l) * inv_det, + (e*j*p + f*l*m_ + h*i*n - h*j*m_ - e*l*n - f*i*p) * inv_det, + (a*j*p + b*l*m_ + d*i*n - d*j*m_ - a*l*n - b*i*p) * inv_det, + (a*f*p + b*h*m_ + d*e*n - d*f*m_ - a*h*n - b*e*p) * inv_det, + (a*f*l + b*h*i + d*e*j - d*f*i - a*h*j - b*e*l) * inv_det, + (e*j*o + f*k*m_ + g*i*n - g*j*m_ - e*k*n - f*i*o) * inv_det, + (a*j*o + b*k*m_ + c*i*n - c*j*m_ - a*k*n - b*i*o) * inv_det, + (a*f*o + b*g*m_ + c*e*n - c*f*m_ - a*g*n - b*e*o) * inv_det, + (a*f*k + b*g*i + c*e*j - c*f*i - a*g*j - b*e*k) * inv_det, + ] + +def invert_4x4_colmajor(m): + """Invert 4x4 column-major matrix, return column-major.""" + # Convert col-major to row-major, invert, convert back + rowm = [m[i + j*4] for j in range(4) for i in range(4)] + inv_rowm = invert_4x4(rowm) + return [inv_rowm[j + i*4] for i in range(4) for j in range(4)] + +# ── Main ──────────────────────────────────────────────────────────────────── + +def main(): + base = '/var/home/nico/Gamedev/Wackelpeter/extracted/Models' + out = '/var/home/nico/Gamedev/Wackelpeter/web/public/models' + + for name, mesh, skel in [ + ('blob', 'blob/Blob', 'blob/Blob'), + ('sword', 'sword/sword', 'sword/sword'), + ('shield', 'shield/shield', 'shield/shield'), + ]: + mf = os.path.join(base, f'{mesh}.mesh.xml') + sf = os.path.join(base, f'{skel}.skeleton.xml') + if os.path.exists(mf) and os.path.exists(sf): + print(f'Converting {name}...') + build_gltf(mf, sf, os.path.join(out, f'{name}.glb')) + else: + print(f'Skipping {name} (missing XML)') + +if __name__ == '__main__': + main() diff --git a/web/index.html b/web/index.html new file mode 100644 index 0000000..60a3e6c --- /dev/null +++ b/web/index.html @@ -0,0 +1,117 @@ + + + + + + Wackelpeter + + + +
+
+
+
100%
+
Wave 0
+
Kills: 0
+ +
+
+
+
Fireball
+
+
+
+
+
Sword
+
+
+
+
+
Teleport
+
+ +
+
+
+
Next Wave...
+
+ +
Verloren!
+
+ WASD: Move · Space: Jump · Mouse: Aim · Left Click: Fireball · Right Click: Sword · M3: Swap hands · E: Teleport +
+
+ + + diff --git a/web/package-lock.json b/web/package-lock.json new file mode 100644 index 0000000..187e174 --- /dev/null +++ b/web/package-lock.json @@ -0,0 +1,1246 @@ +{ + "name": "wackelpeter", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "wackelpeter", + "version": "1.0.0", + "dependencies": { + "three": "^0.170.0" + }, + "devDependencies": { + "@types/three": "^0.170.0", + "typescript": "^5.7.0", + "vite": "^6.0.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", + "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", + "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", + "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", + "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", + "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", + "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", + "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", + "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", + "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", + "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", + "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", + "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", + "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", + "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", + "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", + "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", + "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", + "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", + "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", + "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", + "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", + "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", + "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", + "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", + "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", + "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@napi-rs/lzma-linux-x64-gnu": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-x64-gnu/-/lzma-linux-x64-gnu-1.5.1.tgz", + "integrity": "sha512-oTXEIha4SsuXdTA4Iyskj0kpdx2yVXdhd75c2v3xGrHFfVMsbhTPZU/nMPL4sWKo4pBHm3aucLaqGlF696dTyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^22.20 || ^24.12 || >=25" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.62.4.tgz", + "integrity": "sha512-RrPokAb7dmbxFoeO3TloqHyOjgye8RkBhSqmp4aJMIex4c9r46ZstPnleDQOq1t46VOVjwIuwNogIqbodV1Vvg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.62.4.tgz", + "integrity": "sha512-JKuJc+pnpks2pjy7L/N3v/cAkZxYlnmuZoD840ldbMI5KDbC4iO9NKwPKYdjYFCMAIIlBzYSFHxIJVYzRo2/8A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.62.4.tgz", + "integrity": "sha512-krw5uS2STmvJ02x0uTXHbqQNuz+9eZ1iw+qXk9dmW2gvV4jV7O2hEoOnuhFrpOPiel1mBFtqbxYZZtC46hXLOw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.62.4.tgz", + "integrity": "sha512-wsTxtgApb4PrOsNJIm0FZ1h3WvCC+k9uxLJ4ad75hgoS4NiRes2SoJFlDAyMwiUY8IssDqGcHbXuN0sx1tfF1A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.62.4.tgz", + "integrity": "sha512-GUOnQlyZe3yAXhWOtOMsn5Qkrv5E5mZXa0thbARWi5Ei2szlVXJFQhddZ4HbAzh8q92w5twp+CQvs/eFanz9YQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.62.4.tgz", + "integrity": "sha512-/Y7f3QuxjzPKsjA/rfEDa3+0vXqyjmJ50Ln8dPpCmWkKTrUoWHG1cWhTqaAMLob2m2nESWuC7yGrREz019Ztqg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.62.4.tgz", + "integrity": "sha512-81wiiX3v7aqy+T+bT61TJ78yJjRquqFFTTbAPt08imfQQzkPIW8t6aJbkTagtCCrXMNc9D66+geqlK7ydLPNqA==", + "cpu": [ + "arm" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.62.4.tgz", + "integrity": "sha512-9kmDIvNZqdoHOBZgNtpTBeLWYO/LVipM3H/j62P8848/l/VPEQL6N3uxU9pvP1oZAsXyC2MEnFP3ovRjo7WYNQ==", + "cpu": [ + "arm" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.62.4.tgz", + "integrity": "sha512-CcnXHWnXg69g+DX5VWL3FHts3qMRN2uVEHX+BZvGLdd07/gXkn3ePjYtO1LDJvxkGKVHMclKBRa1QUTH+6toYQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.62.4.tgz", + "integrity": "sha512-iFOibiHnTRuhrWLlRsOQFdZJJIa7S8OwkneJr4ocALP16u5yk6lWLINFwhHaEqBFMsKDUZofLkGos7+CPzGB3g==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.62.4.tgz", + "integrity": "sha512-XnWYMI7euHlb5a871xPja+Gm7DRCFU+FGRrtS2sMq9N8FvqtpagUy6gD4YOemC5MRk9xbh8+jYMEJbigFQwsgA==", + "cpu": [ + "loong64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.62.4.tgz", + "integrity": "sha512-qGDAlO0U8xedCcsdRm9oaoQY8DAx/QT7uIxJWhCdx0ceIWX783UC9QSYkdpzAe29wNiVfp24+bZdQmn49o45SQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.62.4.tgz", + "integrity": "sha512-ru4H6ezD7ysA5EiEK6qkkaEb4modH8CTej6kUy/gQi20u3kB3G7Zn8snXXkeJSCOFKG/rbPPtM/+9Wgas1961w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.62.4.tgz", + "integrity": "sha512-2W4MO5WQVJnbJaZdvDb9rhBDuFU1nKIepPFpJUBsTh2k1YY2g+ODViaWuyOAjQ5cOP7NvrvLzt3wvHOoiAvc7w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.62.4.tgz", + "integrity": "sha512-+fxjfuoAmVMCYV5QyjoIpu0cp5DOiOTeqYFk1AVaxGr+/ravWLX89XfQmptsoWcaVy/TGf2hexzbUOrCQIL1CQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.62.4.tgz", + "integrity": "sha512-jTn8JfHGL4djjFxPuM06LmNUJDsst2jeVlsd9OmIH6zc5sC9K6rIuO4YajXatLUpBmBKl6b35ro1QZocLi+tcA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.62.4.tgz", + "integrity": "sha512-oCJCJL4pXsoDcP2QZ+JVlPTIRc6266zsIaeJJsWImmF7HO0W8nb6HuSgZlMWxJwaPf8ehbSw8yo0EUw925hKsA==", + "cpu": [ + "s390x" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.62.4.tgz", + "integrity": "sha512-W69hukhZ3KKNRCaMIEzKvcFye42hh0FE1+YoYaf5+Ikacuftoco6yO/xouz0hc5d5W/s3yBro5jRiuEE/Q5vUw==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.62.4.tgz", + "integrity": "sha512-qiXbGG2jkjXhzXpsFZSR2Xpb8DN/UaxYsbb/STbuR/6fpaDgRmmaq1B/LmtF2wQFOFOSsK2jdE0RZ3a0zHn4QA==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.62.4.tgz", + "integrity": "sha512-nWeM//hxv8mIo6jD7Hu4o48DVmV9pbV6gsKaWU+4NFyqHoPKwrkRiZGLKUhOBk8qNmDmpwFtPKg80Bo/Tn4xiQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.62.4.tgz", + "integrity": "sha512-s62SQ/vgsRSvMwDkOEfTqfgASF0f26ZNaQuTA6Aok5lrikf89yI2W0gFHvZb2Jpgc6N8JnOKZgCK2iciO3CsxQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.62.4.tgz", + "integrity": "sha512-J6wGf8TVGbXJq+HH+ttTvrcfNKPbuZecV6KT1B8I18BC5IURUh5kl4Yl5OEP5eFIUoI5BWxCsyYMhFsDx8kekw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.62.4.tgz", + "integrity": "sha512-zmfrQd/0wu6oJs8Vq8KwY/YtsKSsLtKe/HwAP4Wqy8LhWjeT55fHRAkOhYQ12wI3ayS4Tt12d5CDRD7N96SAYQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.62.4.tgz", + "integrity": "sha512-qPzHqdj9rfUD+w79dtE07zi/kFwKyCJqplp5K5ygeLTp7jLpAoc16OAH39HSmRC9UpozaecsleI8uAdEj6v2yw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.62.4.tgz", + "integrity": "sha512-zD6NdeWEByGE9QF9vCrlJ5YQB4oq9q91kPZS37Jwj5hOkvR1lTBSpsKhKDw4IJtbQ35LsTS1HD9DZYGKIshU1Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@tweenjs/tween.js": { + "version": "23.1.3", + "resolved": "https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-23.1.3.tgz", + "integrity": "sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/stats.js": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/stats.js/-/stats.js-0.17.4.tgz", + "integrity": "sha512-jIBvWWShCvlBqBNIZt0KAshWpvSjhkwkEu4ZUcASoAvhmrgAUI2t1dXrjSL4xXVLB4FznPrIsX3nKXFl/Dt4vA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/three": { + "version": "0.170.0", + "resolved": "https://registry.npmjs.org/@types/three/-/three-0.170.0.tgz", + "integrity": "sha512-CUm2uckq+zkCY7ZbFpviRttY+6f9fvwm6YqSqPfA5K22s9w7R4VnA3rzJse8kHVvuzLcTx+CjNCs2NYe0QFAyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tweenjs/tween.js": "~23.1.3", + "@types/stats.js": "*", + "@types/webxr": "*", + "@webgpu/types": "*", + "fflate": "~0.8.2", + "meshoptimizer": "~0.18.1" + } + }, + "node_modules/@types/webxr": { + "version": "0.5.24", + "resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.24.tgz", + "integrity": "sha512-h8fgEd/DpoS9CBrjEQXR+dIDraopAEfu4wYVNY2tEPwk60stPWhvZMf4Foo5FakuQ7HFZoa8WceaWFervK2Ovg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webgpu/types": { + "version": "0.1.71", + "resolved": "https://registry.npmjs.org/@webgpu/types/-/types-0.1.71.tgz", + "integrity": "sha512-mMy8/ODcKhab808co15eW+yN+HgXoQxRQHTiBV9Mrvl1r0ufnid7YOcI+gi4eUWSWl9ezD6TW2KXccrL8HCh2A==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/esbuild": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", + "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.12", + "@esbuild/android-arm": "0.25.12", + "@esbuild/android-arm64": "0.25.12", + "@esbuild/android-x64": "0.25.12", + "@esbuild/darwin-arm64": "0.25.12", + "@esbuild/darwin-x64": "0.25.12", + "@esbuild/freebsd-arm64": "0.25.12", + "@esbuild/freebsd-x64": "0.25.12", + "@esbuild/linux-arm": "0.25.12", + "@esbuild/linux-arm64": "0.25.12", + "@esbuild/linux-ia32": "0.25.12", + "@esbuild/linux-loong64": "0.25.12", + "@esbuild/linux-mips64el": "0.25.12", + "@esbuild/linux-ppc64": "0.25.12", + "@esbuild/linux-riscv64": "0.25.12", + "@esbuild/linux-s390x": "0.25.12", + "@esbuild/linux-x64": "0.25.12", + "@esbuild/netbsd-arm64": "0.25.12", + "@esbuild/netbsd-x64": "0.25.12", + "@esbuild/openbsd-arm64": "0.25.12", + "@esbuild/openbsd-x64": "0.25.12", + "@esbuild/openharmony-arm64": "0.25.12", + "@esbuild/sunos-x64": "0.25.12", + "@esbuild/win32-arm64": "0.25.12", + "@esbuild/win32-ia32": "0.25.12", + "@esbuild/win32-x64": "0.25.12" + } + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/fflate": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.3.tgz", + "integrity": "sha512-tbZNuJrLwGUp3zshBtdy4W+ORxZuIh8a5ilyIEQDC5rY1f3U20JMry0Ll3WBzU58EZKsEuJFXhb5gwv8CsPvgA==", + "dev": true, + "license": "MIT" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/meshoptimizer": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-0.18.1.tgz", + "integrity": "sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.18", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.18.tgz", + "integrity": "sha512-DTg4MJbGMWkfi6VZFdNt2/caMbQy4Ou+Op/hJQvGEWcnVfoA1QA+xzRKAzw9jD6+GVOOeYr/mIcuDSdug6F6+w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz", + "integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.26", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.26.tgz", + "integrity": "sha512-u82N74LFzG8ca+dD8puPnplTXoGH4fTPpVGuIbt36G3qvNlkvfD0lEAZSxaly3KX8TS/L1A1gsCEmvKmBcVbkQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.17", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/rollup": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.62.4.tgz", + "integrity": "sha512-RXOqwaPsBGjMNMa4sQjDjHieHEZDFoj/Rdr46l2MU5DfEs16wHJPC2RPTPHWhNl+M3aI472LLqFkFKut4SblOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.9" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@napi-rs/lzma-linux-x64-gnu": "1.5.1", + "@rollup/rollup-android-arm-eabi": "4.62.4", + "@rollup/rollup-android-arm64": "4.62.4", + "@rollup/rollup-darwin-arm64": "4.62.4", + "@rollup/rollup-darwin-x64": "4.62.4", + "@rollup/rollup-freebsd-arm64": "4.62.4", + "@rollup/rollup-freebsd-x64": "4.62.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.62.4", + "@rollup/rollup-linux-arm-musleabihf": "4.62.4", + "@rollup/rollup-linux-arm64-gnu": "4.62.4", + "@rollup/rollup-linux-arm64-musl": "4.62.4", + "@rollup/rollup-linux-loong64-gnu": "4.62.4", + "@rollup/rollup-linux-loong64-musl": "4.62.4", + "@rollup/rollup-linux-ppc64-gnu": "4.62.4", + "@rollup/rollup-linux-ppc64-musl": "4.62.4", + "@rollup/rollup-linux-riscv64-gnu": "4.62.4", + "@rollup/rollup-linux-riscv64-musl": "4.62.4", + "@rollup/rollup-linux-s390x-gnu": "4.62.4", + "@rollup/rollup-linux-x64-gnu": "4.62.4", + "@rollup/rollup-linux-x64-musl": "4.62.4", + "@rollup/rollup-openbsd-x64": "4.62.4", + "@rollup/rollup-openharmony-arm64": "4.62.4", + "@rollup/rollup-win32-arm64-msvc": "4.62.4", + "@rollup/rollup-win32-ia32-msvc": "4.62.4", + "@rollup/rollup-win32-x64-gnu": "4.62.4", + "@rollup/rollup-win32-x64-msvc": "4.62.4", + "fsevents": "~2.3.2" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/three": { + "version": "0.170.0", + "resolved": "https://registry.npmjs.org/three/-/three-0.170.0.tgz", + "integrity": "sha512-FQK+LEpYc0fBD+J8g6oSEyyNzjp+Q7Ks1C568WWaoMRLW+TkNNWmenWeGgJjV105Gd+p/2ql1ZcjYvNiPZBhuQ==", + "license": "MIT" + }, + "node_modules/tinyglobby": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/vite": { + "version": "6.4.3", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.3.tgz", + "integrity": "sha512-NTKlcQjlAK7MlQoyb6LgaqHc8sso/pVyUJYWMws3jg21uTJw/LddqIFPcPqP6PzpgbIcZyKI85sFE4HBrQDA8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + } + } +} diff --git a/web/package.json b/web/package.json new file mode 100644 index 0000000..c180877 --- /dev/null +++ b/web/package.json @@ -0,0 +1,19 @@ +{ + "name": "wackelpeter", + "version": "1.0.0", + "private": true, + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "preview": "vite preview" + }, + "dependencies": { + "three": "^0.170.0" + }, + "devDependencies": { + "@types/three": "^0.170.0", + "typescript": "^5.7.0", + "vite": "^6.0.0" + } +} diff --git a/web/public/models/Material.json b/web/public/models/Material.json new file mode 100644 index 0000000..d3288f0 --- /dev/null +++ b/web/public/models/Material.json @@ -0,0 +1 @@ +{"name":"Material","vertexCount":86,"positions":[1.0,-1.0,-1.0,1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,-1.0,-1.0,1.0,1.0,-0.9999989867210388,-1.0,1.0,-1.0,-1.0,2.7634100914001465,-1.0,1.0,2.7634100914001465,-0.9999989867210388,1.0,-1.0,-1.0,1.0,1.0,-0.9999989867210388,0.9999989867210388,1.0,1.0000009536743164,1.0,-1.0,1.0,1.0,-1.0,1.0,0.9999989867210388,1.0,1.0000009536743164,-1.0,1.0,1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.0,1.0,-1.0,-1.0,-1.0,-1.0,1.0,1.0,-0.9999989867210388,1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,1.0,-1.0,0.9999989867210388,2.7634100914001465,1.0000009536743164,1.0,2.7634100914001465,-0.9999989867210388,1.0,4.550975799560547,-0.9999989867210388,0.9999989867210388,4.550975799560547,1.0000009536743164,-1.0,1.0,1.0,0.9999989867210388,1.0,1.0000009536743164,0.9999989867210388,2.7634100914001465,1.0000009536743164,-1.0,2.7634100914001465,1.0,-1.0,2.7634100914001465,-1.0,-1.0,1.0,-1.0,-2.6426289081573486,1.0,-1.0,-2.6426289081573486,2.7634100914001465,-1.0,1.0,2.7634100914001465,-0.9999989867210388,0.9999989867210388,2.7634100914001465,1.0000009536743164,2.715096950531006,2.7634100914001465,1.0000020265579224,2.7150979042053223,2.7634100914001465,-0.9999989867210388,1.0,4.550975799560547,-0.9999989867210388,-1.0,4.550975799560547,-1.0,-1.0,4.550975799560547,1.0,0.9999989867210388,4.550975799560547,1.0000009536743164,-1.0,4.550975799560547,-1.0,1.0,4.550975799560547,-0.9999989867210388,-1.0,2.7634100914001465,1.0,0.9999989867210388,2.7634100914001465,1.0000009536743164,0.9999989867210388,4.550975799560547,1.0000009536743164,-1.0,4.550975799560547,1.0,-1.0,2.7634100914001465,-1.0,-1.0,2.7634100914001465,1.0,-1.0,4.550975799560547,1.0,-1.0,4.550975799560547,-1.0,2.715096950531006,1.0,1.0000020265579224,2.7150979042053223,1.0,-0.9999989867210388,2.7150979042053223,2.7634100914001465,-0.9999989867210388,2.715096950531006,2.7634100914001465,1.0000020265579224,1.0,1.0,-0.9999989867210388,1.0,2.7634100914001465,-0.9999989867210388,2.7150979042053223,2.7634100914001465,-0.9999989867210388,2.7150979042053223,1.0,-0.9999989867210388,0.9999989867210388,2.7634100914001465,1.0000009536743164,0.9999989867210388,1.0,1.0000009536743164,2.715096950531006,1.0,1.0000020265579224,2.715096950531006,2.7634100914001465,1.0000020265579224,0.9999989867210388,1.0,1.0000009536743164,1.0,1.0,-0.9999989867210388,2.7150979042053223,1.0,-0.9999989867210388,2.715096950531006,1.0,1.0000020265579224,-2.6426289081573486,1.0,-1.0,-2.6426289081573486,1.0,0.9999989867210388,-2.6426289081573486,2.7634100914001465,0.9999989867210388,-2.6426289081573486,2.7634100914001465,-1.0,-1.0,1.0,-1.0,-1.0,1.0,1.0,-2.6426289081573486,1.0,0.9999989867210388,-2.6426289081573486,1.0,-1.0,-1.0,2.7634100914001465,1.0,-1.0,2.7634100914001465,-1.0,-2.6426289081573486,2.7634100914001465,-1.0,-2.6426289081573486,2.7634100914001465,0.9999989867210388,-1.0,1.0,1.0,-1.0,2.7634100914001465,1.0,-2.6426289081573486,2.7634100914001465,0.9999989867210388,-2.6426289081573486,1.0,0.9999989867210388],"normals":[],"indices":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"hasBones":true,"boneWeights":[1.0,-1.0,-1.0,1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,-1.0,-1.0,1.0,1.0,-0.9999989867210388,-1.0,1.0,-1.0,-1.0,2.7634100914001465,-1.0,1.0,2.7634100914001465,-0.9999989867210388,1.0,-1.0,-1.0,1.0,1.0,-0.9999989867210388,0.9999989867210388,1.0,1.0000009536743164,1.0,-1.0,1.0,1.0,-1.0,1.0,0.9999989867210388,1.0,1.0000009536743164,-1.0,1.0,1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.0,1.0,-1.0,-1.0,-1.0,-1.0,1.0,1.0,-0.9999989867210388,1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,1.0,-1.0,0.9999989867210388,2.7634100914001465,1.0000009536743164,1.0,2.7634100914001465,-0.9999989867210388,1.0,4.550975799560547,-0.9999989867210388,0.9999989867210388,4.550975799560547,1.0000009536743164,-1.0,1.0,1.0,0.9999989867210388,1.0,1.0000009536743164,0.9999989867210388,2.7634100914001465,1.0000009536743164,-1.0,2.7634100914001465,1.0,-1.0,2.7634100914001465,-1.0,-1.0,1.0,-1.0,-2.6426289081573486,1.0,-1.0,-2.6426289081573486,2.7634100914001465,-1.0,1.0,2.7634100914001465,-0.9999989867210388,0.9999989867210388,2.7634100914001465,1.0000009536743164,2.715096950531006,2.7634100914001465,1.0000020265579224,2.7150979042053223,2.7634100914001465,-0.9999989867210388,1.0,4.550975799560547,-0.9999989867210388,-1.0,4.550975799560547,-1.0,-1.0,4.550975799560547,1.0,0.9999989867210388,4.550975799560547,1.0000009536743164,-1.0,4.550975799560547,-1.0,1.0,4.550975799560547,-0.9999989867210388,-1.0,2.7634100914001465,1.0,0.9999989867210388,2.7634100914001465,1.0000009536743164,0.9999989867210388,4.550975799560547,1.0000009536743164,-1.0,4.550975799560547,1.0,-1.0,2.7634100914001465,-1.0,-1.0,2.7634100914001465,1.0,-1.0,4.550975799560547,1.0,-1.0,4.550975799560547,-1.0,2.715096950531006,1.0,1.0000020265579224,2.7150979042053223,1.0,-0.9999989867210388,2.7150979042053223,2.7634100914001465,-0.9999989867210388,2.715096950531006,2.7634100914001465,1.0000020265579224,1.0,1.0,-0.9999989867210388,1.0,2.7634100914001465,-0.9999989867210388,2.7150979042053223,2.7634100914001465,-0.9999989867210388,2.7150979042053223,1.0,-0.9999989867210388,0.9999989867210388,2.7634100914001465,1.0000009536743164,0.9999989867210388,1.0,1.0000009536743164,2.715096950531006,1.0,1.0000020265579224,2.715096950531006,2.7634100914001465,1.0000020265579224,0.9999989867210388,1.0,1.0000009536743164,1.0,1.0,-0.9999989867210388,2.7150979042053223,1.0,-0.9999989867210388,2.715096950531006,1.0,1.0000020265579224,-2.6426289081573486,1.0,-1.0,-2.6426289081573486,1.0,0.9999989867210388,-2.6426289081573486,2.7634100914001465,0.9999989867210388,-2.6426289081573486,2.7634100914001465,-1.0,-1.0,1.0,-1.0,-1.0,1.0,1.0,-2.6426289081573486,1.0,0.9999989867210388,-2.6426289081573486,1.0,-1.0,-1.0,2.7634100914001465,1.0,-1.0,2.7634100914001465,-1.0,-2.6426289081573486,2.7634100914001465,-1.0,-2.6426289081573486,2.7634100914001465,0.9999989867210388,-1.0,1.0,1.0,-1.0,2.7634100914001465,1.0,-2.6426289081573486,2.7634100914001465,0.9999989867210388,-2.6426289081573486,1.0,0.9999989867210388],"boneIndices":[0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23,24,25,26,24,26,27,28,29,30,28,30,31,32,33,34,32,34,35,36,37,38,36,38,39,40,41,42,40,42,43,7,6,44,7,44,45,46,47,48,46,48,49,50,51,52,50,52,53,54,55,56,54,56,57,58,59,60,58,60,61,62,63,64,62,64,65,66,67,68,66,68,69,70,71,72,70,72,73,74,75,76,74,76,77,78,79,80,78,80,81,82,83,84,82,84,85],"skeleton":{"bones":[{"id":0,"name":"Bone","position":[0,0,0],"rotation":[0,0,0,1],"scale":[1,1,1]}],"hierarchy":{},"roots":[0]},"animations":{"kross-ogremesh":{"length":1.0,"tracks":[]}}} \ No newline at end of file diff --git a/web/public/models/blob.glb b/web/public/models/blob.glb new file mode 100644 index 0000000..ca7f911 Binary files /dev/null and b/web/public/models/blob.glb differ diff --git a/web/public/models/blobknochen.glb b/web/public/models/blobknochen.glb new file mode 100644 index 0000000..b5bb437 Binary files /dev/null and b/web/public/models/blobknochen.glb differ diff --git a/web/public/models/blobknochen.json b/web/public/models/blobknochen.json new file mode 100644 index 0000000..38aa72b --- /dev/null +++ b/web/public/models/blobknochen.json @@ -0,0 +1 @@ +{"skeletons":[{"bones":[{"children":[],"rotation":[0.0,0.0,0.0,1.0],"name":"","scale":[1.0,1.0,1.0],"id":0,"position":[0.0,0.0,0.0]},{"children":["Bone.003","Bone.002"],"rotation":[0.7071066,0.0,0.0,0.7071069],"name":"Wirbel","scale":[1.0,0.99999994,0.99999994],"id":1,"position":[0.0,-0.8358549,0.0]},{"children":["rechter Arm"],"rotation":[0.9365144,-0.24383433,0.24383426,-0.06348569],"name":"Bone.002","scale":[0.99999994,1.0,1.0],"id":2,"position":[0.0,2.4753697E-7,-2.3959198]},{"children":[],"rotation":[-0.0030139268,0.70168424,0.6234812,0.34482053],"name":"rechter Arm","scale":[1.0,0.99999994,0.99999976],"id":3,"position":[5.9604645E-8,8.940697E-8,-1.2441596]},{"children":["linker Arm"],"rotation":[0.9333788,0.24936482,-0.24936469,-0.0666214],"name":"Bone.003","scale":[0.99999994,0.99999994,0.99999994],"id":4,"position":[0.0,2.4753697E-7,-2.3959198]},{"children":[],"rotation":[0.003082243,0.7017231,0.61904705,-0.35264152],"name":"linker Arm","scale":[1.0000001,0.99999994,1.0],"id":5,"position":[1.7881393E-7,-8.940697E-8,-1.2335805]}],"roots":["Wirbel",""]}],"geometries":[{"boneIndices":[1,3,0,0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3,0,2,3,0,0,2,3,0,0,1,2,3,0,1,3,0,0,1,3,0,0,1,2,3,0,1,2,3,0,1,2,4,0,1,2,4,0,1,2,4,0,1,2,4,0,1,0,0,0,1,0,0,0,1,2,3,0,1,2,3,0,1,2,4,0,1,2,4,0,1,2,3,0,1,2,3,0,2,3,0,0,2,3,0,0,1,2,3,0,1,2,3,0,2,3,0,0,2,3,0,0,1,2,4,0,1,2,4,0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3,0,1,3,0,0,1,2,3,0,1,2,4,0,1,0,0,0,1,2,3,0,1,2,3,0,1,2,3,0,1,0,0,0,1,2,3,0,1,2,4,0,1,2,4,0,1,0,0,0,1,2,3,0,1,2,4,0,1,2,3,0,1,2,3,4,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3,4,1,2,3,4,1,2,3,0,1,2,3,4,1,2,3,0,1,2,3,0,1,0,0,0,1,2,3,0,1,2,4,0,1,2,4,0,1,0,0,0,1,2,3,0,1,2,4,0,1,0,0,0,1,0,0,0,1,2,3,0,1,2,3,0,1,2,4,0,1,2,4,0,1,2,3,0,1,2,4,0,1,2,3,0,1,2,3,4,1,2,3,0,1,2,3,4,1,3,0,0,1,2,3,4,1,2,4,0,1,2,3,0,1,0,0,0,1,2,3,4,1,2,3,4,1,0,0,0,1,2,3,4,1,2,4,0,1,2,4,0,1,0,0,0,1,2,3,4,1,2,4,0,1,2,3,0,1,2,4,0,1,2,3,0,1,2,3,4,1,2,3,4,1,2,3,0,1,2,4,0,1,2,3,4,1,2,3,0,1,2,3,4,1,0,0,0,1,2,3,4,1,0,0,0,1,2,3,4,1,2,4,0,1,2,4,0,1,0,0,0,1,2,3,4,1,2,4,0,1,0,0,0,1,0,0,0,1,2,5,4,1,2,5,4,1,2,4,0,1,2,4,0,1,2,5,4,1,2,4,0,1,2,5,4,1,2,4,0,1,0,0,0,1,2,5,4,1,0,0,0,1,2,5,4,1,2,4,0,1,4,5,0,1,0,0,0,1,2,4,5,1,2,5,4,1,0,0,0,1,2,5,4,1,2,4,0,1,2,4,0,1,0,0,0,1,2,4,5,1,2,4,0,1,2,4,5,1,2,4,0,1,4,5,0,1,2,4,5,1,4,5,0,1,4,5,0,1,2,4,0,1,2,4,5,1,4,5,0,1,2,4,5,1,0,0,0,1,2,4,5,1,0,0,0,1,2,4,5,1,2,4,0,1,2,4,0,1,0,0,0,1,2,4,5,1,2,4,0,1,2,4,0,1,2,4,0,1,0,0,0,1,0,0,0,1,2,4,5,1,4,5,0,1,2,4,0,1,4,5,0,1,2,4,5,1,4,5,0,1,2,4,5,1,4,5,0,1,2,4,5,1,5,0,0,1,2,4,5,1,2,4,5,1,2,4,5,1,4,5,0,1,4,5,0,1,4,5,0,1,0,0,0,1,4,5,0,1,2,4,0,1,2,4,0,1,0,0,0,1,4,5,0,1,2,4,0,1,4,5,0,1,2,4,5,1,4,5,0,1,4,5,0,1,4,5,0,1,2,4,0,1,2,4,5,1,4,5,0,1,4,5,0,1,4,5,0,1,4,5,0,1,4,5,0,1,4,5,0,1,0,0,0,1,4,5,0,1,2,4,0,1,2,4,0,1,0,0,0,1,4,5,0,1,5,0,0,1,4,5,0,1,4,5,0,1,2,4,0,1,2,4,0,1,0,0,0,1,4,5,0,1,2,4,0,1,4,5,0,1,4,5,0,1,4,5,0,1,4,5,0,1,4,5,0,1,4,5,0,1,4,5,0,1,4,5,0,4,5,0,0,4,5,0,0,1,4,5,0,1,4,5,0,1,5,0,0,1,4,5,0,1,2,4,0,1,2,4,0,1,0,0,0,1,4,5,0,1,2,4,0,1,4,5,0,4,5,0,0,1,4,5,0,1,4,5,0,1,2,4,0,4,5,0,0,1,4,5,0,4,5,0,0,1,4,5,0,4,5,0,0,1,5,0,0,1,4,5,0,1,5,0,0,1,4,5,0,1,2,4,0,1,2,4,0,1,0,0,0,1,5,0,0,1,5,0,0,1,4,5,0,1,4,5,0,1,2,4,0,1,2,4,0,1,0,0,0,1,4,5,0,1,2,4,0,1,4,5,0,4,5,0,0,1,4,5,0,4,5,0,0,1,4,5,0,4,5,0,0,1,4,5,0,1,4,5,0,4,5,0,0,4,5,0,0,1,5,0,0,1,4,5,0,1,5,0,0,1,4,5,0,1,2,4,0,1,2,4,0,1,0,0,0,1,4,5,0,1,2,4,5,1,4,5,0,1,4,5,0,1,4,5,0,1,4,5,0,1,2,4,5,1,2,4,5,1,4,5,0,1,4,5,0,1,5,0,0,4,5,0,0,1,5,0,0,1,4,5,0,1,5,0,0,1,4,5,0,1,2,4,0,1,2,4,0,1,0,0,0,1,5,0,0,1,5,0,0,1,5,0,0,1,4,5,0,1,2,4,0,1,2,4,0,1,0,0,0,1,4,5,0,1,2,4,5,1,4,5,0,1,2,4,5,1,5,0,0,1,2,4,5,1,5,0,0,4,5,0,0,1,2,4,5,1,2,5,4,1,3,5,0,1,5,0,0,1,3,4,5,1,5,0,0,1,3,4,5,1,0,0,0,1,3,4,5,1,2,4,0,1,2,4,0,1,0,0,0,1,3,5,0,1,2,4,5,1,3,5,0,1,3,4,5,1,3,5,0,1,2,4,0,1,2,4,5,1,3,5,0,1,2,5,4,1,3,5,0,1,2,5,4,1,3,5,0,1,5,3,4,1,5,0,0,1,3,4,5,1,0,0,0,1,2,4,0,1,0,0,0,1,3,5,0,1,3,5,0,1,5,3,4,1,5,3,4,1,0,0,0,1,3,4,5,1,2,4,0,1,2,4,0,1,0,0,0,1,3,5,0,1,2,4,5,1,3,5,0,1,2,5,4,1,3,5,0,1,2,5,4,1,3,5,0,1,3,5,0,1,2,3,4,1,2,3,4,1,3,5,0,1,5,3,4,1,3,5,0,1,5,3,4,1,0,0,0,1,3,5,0,1,2,4,0,1,2,4,0,1,0,0,0,1,3,5,0,1,2,4,0,1,0,0,0,1,0,0,0,1,3,5,0,1,3,5,0,1,2,4,0,1,2,3,4,1,3,5,0,1,2,3,4,1,3,5,0,1,2,3,4,1,3,5,0,1,2,3,5,1,3,0,0,1,2,3,5,1,2,4,0,1,3,0,0,1,3,0,0,1,2,3,5,1,2,3,5,1,3,0,0,1,2,3,5,1,2,4,0,1,2,4,0,1,0,0,0,1,3,5,0,1,2,3,4,1,3,5,0,1,2,3,4,1,3,5,0,1,2,3,4,1,3,0,0,1,3,0,0,1,2,3,4,1,2,3,4,1,3,0,0,1,2,3,0,1,3,0,0,1,2,3,0,1,3,0,0,1,2,3,5,1,2,4,0,1,2,4,0,1,0,0,0,1,3,5,0,1,2,3,4,1,3,0,0,1,0,0,0,1,2,3,0,1,2,3,0,1,2,4,0,1,2,3,4,1,3,0,0,1,2,3,4,1,3,0,0,1,2,3,4,1,3,0,0,2,3,0,0,1,3,0,0,1,3,0,0,1,2,4,0,1,3,0,0,1,3,0,0,2,3,0,0,1,2,3,0,1,3,0,0,1,2,3,0,1,2,4,0,1,2,4,0,1,0,0,0,1,2,3,0,1,2,3,4,1,2,3,0,1,2,3,4,1,2,3,0,1,2,3,0,1,2,3,4,1,2,3,0,1,2,3,0,1,2,3,0,2,3,0,0,1,2,3,0,2,3,0,0,1,3,0,0,1,2,3,0,1,3,0,0,1,2,3,0,1,2,4,0,1,2,4,0,1,0,0,0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,4,0,1,2,4,0,1,3,0,0,1,0,0,0,1,2,3,0,1,2,4,0,1,2,3,0,2,3,0,0,1,2,3,0,2,3,0,0,1,2,3,0,2,3,0,0,1,3,0,0,1,2,4,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,3,0,0,1,3,0,0,1,3,0,0,1,3,0,0,1,3,0,0,1,3,0,0,1,3,0,0,1,3,0,0,5,0,0,0,5,0,0,0,1,3,0,0,1,3,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,3,0,0,1,3,0,0,1,3,0,0,1,3,0,0,5,0,0,0,5,0,0,0,1,3,0,0,1,3,0,0,1,3,0,0,1,3,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,3,0,0,1,3,0,0,1,3,0,0,1,3,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,3,0,0,1,3,0,0,1,3,0,0,1,3,0,0,5,0,0,0,5,0,0,0,1,3,0,0,1,3,0,0,1,3,0,0,1,3,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,3,0,0,1,3,0,0,1,3,0,0,1,3,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,3,0,0,1,3,0,0,1,3,0,0,1,3,0,0,5,0,0,0,5,0,0,0,1,3,0,0,1,3,0,0,1,3,0,0,1,3,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,3,0,0,1,3,0,0,1,3,0,0,1,3,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,3,0,0,1,3,0,0,1,3,0,0,1,3,0,0,5,0,0,0,5,0,0,0,1,3,0,0,1,3,0,0,1,3,0,0,1,3,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,3,0,0,1,3,0,0,1,3,0,0,1,3,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,3,0,0,1,3,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,3,0,0,1,3,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0],"indices":[0,1,2,0,2,3,4,5,6,4,6,7,8,0,3,8,3,9,10,4,7,10,7,11,12,13,14,12,14,15,16,8,9,16,9,17,18,10,11,18,11,19,20,12,15,20,15,21,22,18,19,22,19,23,24,20,21,24,21,25,26,22,23,26,23,27,28,24,25,28,25,29,1,26,27,1,27,2,5,28,29,5,29,6,21,15,30,21,30,31,23,19,32,23,32,33,25,21,31,25,31,34,27,23,33,27,33,35,29,25,34,29,34,36,2,27,35,2,35,37,6,29,36,6,36,38,3,2,37,3,37,39,7,6,38,7,38,40,9,3,39,9,39,41,11,7,40,11,40,42,15,14,43,15,43,30,17,9,41,17,41,44,19,11,42,19,42,32,40,38,45,40,45,46,41,39,47,41,47,48,42,40,46,42,46,49,30,43,50,30,50,51,44,41,48,44,48,52,32,42,49,32,49,53,31,30,51,31,51,54,33,32,53,33,53,55,34,31,54,34,54,56,35,33,55,35,55,57,36,34,56,36,56,58,37,35,57,37,57,59,38,36,58,38,58,45,39,37,59,39,59,47,57,55,60,57,60,61,58,56,62,58,62,63,59,57,61,59,61,64,45,58,63,45,63,65,47,59,64,47,64,66,46,45,65,46,65,67,48,47,66,48,66,68,49,46,67,49,67,69,51,50,70,51,70,71,52,48,68,52,68,72,53,49,69,53,69,73,54,51,71,54,71,74,55,53,73,55,73,60,56,54,74,56,74,62,72,68,75,72,75,76,73,69,77,73,77,78,74,71,79,74,79,80,60,73,78,60,78,81,62,74,80,62,80,82,61,60,81,61,81,83,63,62,82,63,82,84,64,61,83,64,83,85,65,63,84,65,84,86,66,64,85,66,85,87,67,65,86,67,86,88,68,66,87,68,87,75,69,67,88,69,88,77,71,70,89,71,89,79,87,85,90,87,90,91,88,86,92,88,92,93,75,87,91,75,91,94,77,88,93,77,93,95,79,89,96,79,96,97,76,75,94,76,94,98,78,77,95,78,95,99,80,79,97,80,97,100,81,78,99,81,99,101,82,80,100,82,100,102,83,81,101,83,101,103,84,82,102,84,102,104,85,83,103,85,103,90,86,84,104,86,104,92,103,101,105,103,105,106,104,102,107,104,107,108,90,103,106,90,106,109,92,104,108,92,108,110,91,90,109,91,109,111,93,92,110,93,110,112,94,91,111,94,111,113,95,93,112,95,112,114,97,96,115,97,115,116,98,94,113,98,113,117,99,95,114,99,114,118,100,97,116,100,116,119,101,99,118,101,118,105,102,100,119,102,119,107,117,113,120,117,120,121,118,114,122,118,122,123,119,116,124,119,124,125,105,118,123,105,123,126,107,119,125,107,125,127,106,105,126,106,126,128,108,107,127,108,127,129,109,106,128,109,128,130,110,108,129,110,129,131,111,109,130,111,130,132,112,110,131,112,131,133,113,111,132,113,132,120,114,112,133,114,133,122,116,115,134,116,134,124,132,130,135,132,135,136,133,131,137,133,137,138,120,132,136,120,136,139,122,133,138,122,138,140,124,134,141,124,141,142,121,120,139,121,139,143,123,122,140,123,140,144,125,124,142,125,142,145,126,123,144,126,144,146,127,125,145,127,145,147,128,126,146,128,146,148,129,127,147,129,147,149,130,128,148,130,148,135,131,129,149,131,149,137,148,146,150,148,150,151,149,147,152,149,152,153,135,148,151,135,151,154,137,149,153,137,153,155,136,135,154,136,154,156,138,137,155,138,155,157,139,136,156,139,156,158,140,138,157,140,157,159,142,141,160,142,160,161,143,139,158,143,158,162,144,140,159,144,159,163,145,142,161,145,161,164,146,144,163,146,163,150,147,145,164,147,164,152,161,160,165,161,165,166,162,158,167,162,167,168,163,159,169,163,169,170,164,161,166,164,166,171,150,163,170,150,170,172,152,164,171,152,171,173,151,150,172,151,172,174,153,152,173,153,173,175,154,151,174,154,174,176,155,153,175,155,175,177,156,154,176,156,176,178,157,155,177,157,177,179,158,156,178,158,178,167,159,157,179,159,179,169,177,175,180,177,180,181,178,176,182,178,182,183,179,177,181,179,181,184,167,178,183,167,183,185,169,179,184,169,184,186,166,165,187,166,187,188,168,167,185,168,185,189,170,169,186,170,186,190,171,166,188,171,188,191,172,170,190,172,190,192,173,171,191,173,191,193,174,172,192,174,192,194,175,173,193,175,193,180,176,174,194,176,194,182,192,190,195,192,195,196,193,191,197,193,197,198,194,192,196,194,196,199,180,193,198,180,198,200,182,194,199,182,199,201,181,180,200,181,200,202,183,182,201,183,201,203,184,181,202,184,202,204,185,183,203,185,203,205,186,184,204,186,204,206,188,187,207,188,207,208,189,185,205,189,205,209,190,186,206,190,206,195,191,188,208,191,208,197,205,203,210,205,210,211,206,204,212,206,212,213,208,207,214,208,214,215,209,205,211,209,211,216,195,206,213,195,213,217,197,208,215,197,215,218,196,195,217,196,217,219,198,197,218,198,218,220,199,196,219,199,219,221,200,198,220,200,220,222,201,199,221,201,221,223,202,200,222,202,222,224,203,201,223,203,223,210,204,202,224,204,224,212,223,221,225,223,225,226,224,222,227,224,227,228,210,223,226,210,226,229,212,224,228,212,228,230,211,210,229,211,229,231,213,212,230,213,230,232,215,214,233,215,233,234,216,211,231,216,231,235,217,213,232,217,232,236,218,215,234,218,234,237,219,217,236,219,236,238,220,218,237,220,237,239,221,219,238,221,238,225,222,220,239,222,239,227,238,236,240,238,240,241,239,237,242,239,242,243,225,238,241,225,241,244,227,239,243,227,243,245,226,225,244,226,244,246,228,227,245,228,245,247,229,226,246,229,246,248,230,228,247,230,247,249,231,229,248,231,248,250,232,230,249,232,249,251,234,233,252,234,252,253,235,231,250,235,250,254,236,232,251,236,251,240,237,234,253,237,253,242,250,248,255,250,255,256,251,249,257,251,257,258,253,252,259,253,259,260,254,250,256,254,256,261,240,251,258,240,258,262,242,253,260,242,260,263,241,240,262,241,262,264,243,242,263,243,263,265,244,241,264,244,264,266,245,243,265,245,265,267,246,244,266,246,266,268,247,245,267,247,267,269,248,246,268,248,268,255,249,247,269,249,269,257,268,266,270,268,270,271,269,267,272,269,272,273,255,268,271,255,271,274,257,269,273,257,273,275,256,255,274,256,274,276,258,257,275,258,275,277,260,259,278,260,278,279,261,256,276,261,276,280,262,258,277,262,277,281,263,260,279,263,279,282,264,262,281,264,281,283,265,263,282,265,282,284,266,264,283,266,283,270,267,265,284,267,284,272,283,281,285,283,285,286,284,282,287,284,287,288,270,283,286,270,286,289,272,284,288,272,288,290,271,270,289,271,289,291,273,272,290,273,290,292,274,271,291,274,291,293,275,273,292,275,292,294,276,274,293,276,293,295,277,275,294,277,294,296,279,278,297,279,297,298,280,276,295,280,295,299,281,277,296,281,296,285,282,279,298,282,298,287,295,293,300,295,300,301,296,294,302,296,302,303,298,297,304,298,304,305,299,295,301,299,301,306,285,296,303,285,303,307,287,298,305,287,305,308,286,285,307,286,307,309,288,287,308,288,308,310,289,286,309,289,309,311,290,288,310,290,310,312,291,289,311,291,311,313,292,290,312,292,312,314,293,291,313,293,313,300,294,292,314,294,314,302,312,310,315,312,315,316,313,311,317,313,317,318,314,312,316,314,316,319,300,313,318,300,318,320,302,314,319,302,319,321,301,300,320,301,320,322,303,302,321,303,321,323,305,304,324,305,324,325,306,301,322,306,322,326,307,303,323,307,323,327,308,305,325,308,325,328,309,307,327,309,327,329,310,308,328,310,328,315,311,309,329,311,329,317,327,323,330,327,330,331,328,325,332,328,332,333,329,327,331,329,331,334,315,328,333,315,333,335,317,329,334,317,334,336,316,315,335,316,335,337,318,317,336,318,336,338,319,316,337,319,337,339,320,318,338,320,338,340,321,319,339,321,339,341,322,320,340,322,340,342,323,321,341,323,341,330,325,324,343,325,343,332,326,322,342,326,342,344,340,338,345,340,345,346,341,339,347,341,347,348,342,340,346,342,346,349,330,341,348,330,348,350,332,343,351,332,351,352,344,342,349,344,349,353,331,330,350,331,350,354,333,332,352,333,352,355,334,331,354,334,354,356,335,333,355,335,355,357,336,334,356,336,356,358,337,335,357,337,357,359,338,336,358,338,358,345,339,337,359,339,359,347,358,356,360,358,360,361,359,357,362,359,362,363,345,358,361,345,361,364,347,359,363,347,363,365,346,345,364,346,364,366,348,347,365,348,365,367,349,346,366,349,366,368,350,348,367,350,367,369,352,351,370,352,370,371,353,349,368,353,368,372,354,350,369,354,369,373,355,352,371,355,371,374,356,354,373,356,373,360,357,355,374,357,374,362,372,368,375,372,375,376,373,369,377,373,377,378,374,371,379,374,379,380,360,373,378,360,378,381,362,374,380,362,380,382,361,360,381,361,381,383,363,362,382,363,382,384,364,361,383,364,383,385,365,363,384,365,384,386,366,364,385,366,385,387,367,365,386,367,386,388,368,366,387,368,387,375,369,367,388,369,388,377,371,370,389,371,389,379,387,385,390,387,390,391,388,386,392,388,392,393,375,387,391,375,391,394,377,388,393,377,393,395,379,389,396,379,396,397,376,375,394,376,394,398,378,377,395,378,395,399,380,379,397,380,397,400,381,378,399,381,399,401,382,380,400,382,400,402,383,381,401,383,401,403,384,382,402,384,402,404,385,383,403,385,403,390,386,384,404,386,404,392,403,401,405,403,405,406,404,402,407,404,407,408,390,403,406,390,406,409,392,404,408,392,408,410,391,390,409,391,409,411,393,392,410,393,410,412,394,391,411,394,411,413,395,393,412,395,412,414,397,396,415,397,415,416,398,394,413,398,413,417,399,395,414,399,414,418,400,397,416,400,416,419,401,399,418,401,418,405,402,400,419,402,419,407,417,413,420,417,420,421,418,414,422,418,422,423,419,416,424,419,424,425,405,418,423,405,423,426,407,419,425,407,425,427,406,405,426,406,426,428,408,407,427,408,427,429,409,406,428,409,428,430,410,408,429,410,429,431,411,409,430,411,430,432,412,410,431,412,431,433,413,411,432,413,432,420,414,412,433,414,433,422,416,415,434,416,434,424,432,430,435,432,435,436,433,431,437,433,437,438,420,432,436,420,436,439,422,433,438,422,438,440,424,434,441,424,441,442,421,420,439,421,439,443,423,422,440,423,440,444,425,424,442,425,442,445,426,423,444,426,444,446,427,425,445,427,445,447,428,426,446,428,446,448,429,427,447,429,447,449,430,428,448,430,448,435,431,429,449,431,449,437,447,445,450,447,450,451,448,446,452,448,452,453,449,447,451,449,451,454,435,448,453,435,453,455,437,449,454,437,454,456,436,435,455,436,455,457,438,437,456,438,456,458,439,436,457,439,457,459,440,438,458,440,458,460,442,441,461,442,461,462,443,439,459,443,459,463,444,440,460,444,460,464,445,442,462,445,462,450,446,444,464,446,464,452,460,458,465,460,465,466,462,461,467,462,467,468,463,459,469,463,469,470,464,460,466,464,466,471,450,462,468,450,468,472,452,464,471,452,471,473,451,450,472,451,472,474,453,452,473,453,473,475,454,451,474,454,474,476,455,453,475,455,475,477,456,454,476,456,476,478,457,455,477,457,477,479,458,456,478,458,478,465,459,457,479,459,479,469,13,480,14,481,16,17,481,17,44,14,480,43,43,480,50,481,44,52,50,480,70,481,52,72,481,72,76,70,480,89,89,480,96,481,76,98,96,480,115,481,98,117,481,117,121,115,480,134,134,480,141,481,121,143,141,480,160,481,143,162,481,162,168,160,480,165,165,480,187,481,168,189,187,480,207,481,189,209,481,209,216,207,480,214,214,480,233,481,216,235,481,235,254,233,480,252,481,254,261,252,480,259,259,480,278,481,261,280,481,280,299,278,480,297,297,480,304,481,299,306,304,480,324,481,306,326,481,326,344,324,480,343,343,480,351,481,344,353,351,480,370,481,353,372,481,372,376,370,480,389,389,480,396,481,376,398,396,480,415,481,398,417,481,417,421,415,480,434,434,480,441,481,421,443,441,480,461,481,443,463,481,463,470,461,480,467,477,475,26,477,26,1,478,476,28,478,28,5,479,477,1,479,1,0,465,478,5,465,5,4,467,480,13,469,479,0,469,0,8,466,465,4,466,4,10,468,467,13,468,13,12,470,469,8,470,8,16,471,466,10,471,10,18,472,468,12,472,12,20,481,470,16,473,471,18,473,18,22,474,472,20,474,20,24,475,473,22,475,22,26,476,474,24,476,24,28,402,382,482,402,382,483,447,427,484,447,427,485,56,62,486,56,62,487,357,335,488,357,335,489,25,24,490,25,24,491,147,127,492,147,127,493,284,265,494,284,265,495,56,34,496,56,34,56,193,173,497,193,173,498,102,82,499,102,82,500,427,407,501,427,407,427,239,220,502,239,220,503,335,315,504,335,315,335,382,362,505,382,362,382,34,25,25,34,25,34,310,315,315,310,315,506,127,107,507,127,107,127,451,447,447,451,447,508,173,152,509,173,152,173,24,474,510,24,474,24,310,288,511,310,288,310,82,62,62,82,62,82,402,407,407,402,407,402,474,451,451,474,451,474,265,243,512,265,243,265,357,362,362,357,362,357,147,152,152,147,152,147,288,284,284,288,284,288,220,198,513,220,198,220,198,193,193,198,193,198,102,107,107,102,107,102,243,239,239,243,239,243,514,515,516,514,516,517,518,519,520,518,520,521,522,523,519,522,519,518,524,525,523,524,523,522,515,526,527,515,527,516,525,528,529,525,529,523,530,514,517,530,517,531,532,533,515,532,515,514,519,534,535,519,535,520,523,529,534,523,534,519,528,536,537,528,537,529,533,538,526,533,526,515,539,532,514,539,514,530,534,540,541,534,541,535,529,537,540,529,540,534,536,542,543,536,543,537,544,545,533,544,533,532,545,546,538,545,538,533,540,547,548,540,548,541,537,543,547,537,547,540,542,549,550,542,550,543,551,544,532,551,532,539,552,553,545,552,545,544,547,554,555,547,555,548,543,550,554,543,554,547,549,556,557,549,557,550,553,558,546,553,546,545,559,552,544,559,544,551,554,560,561,554,561,555,550,557,560,550,560,554,556,562,563,556,563,557,564,565,553,564,553,552,565,566,558,565,558,553,560,567,568,560,568,561,557,563,567,557,567,560,562,569,570,562,570,563,571,564,552,571,552,559,572,573,565,572,565,564,567,574,575,567,575,568,563,570,574,563,574,567,569,576,577,569,577,570,573,578,566,573,566,565,579,572,564,579,564,571,574,580,581,574,581,575,570,577,580,570,580,574,576,582,583,576,583,577,584,585,573,584,573,572,585,586,578,585,578,573,580,587,588,580,588,581,577,583,587,577,587,580,582,589,590,582,590,583,591,584,572,591,572,579,592,593,585,592,585,584,587,594,595,587,595,588,583,590,594,583,594,587,589,596,597,589,597,590,593,598,586,593,586,585,599,592,584,599,584,591,594,600,601,594,601,595,590,597,600,590,600,594,596,602,603,596,603,597,604,605,593,604,593,592,605,606,598,605,598,593,600,607,608,600,608,601,597,603,607,597,607,600,602,609,610,602,610,603,611,604,592,611,592,599,612,613,605,612,605,604,607,614,615,607,615,608,603,610,614,603,614,607,613,616,606,613,606,605,617,612,604,617,604,611,618,619,612,618,612,617,619,620,613,619,613,612,620,621,616,620,616,613,622,525,524,521,520,623,520,535,623,622,528,525,535,541,623,622,536,528,541,548,623,622,542,536,548,555,623,622,549,542,555,561,623,622,556,549,561,568,623,622,562,556,568,575,623,622,569,562,575,581,623,622,576,569,581,588,623,622,582,576,588,595,623,622,589,582,595,601,623,622,596,589,601,608,623,622,602,596,608,615,623,622,609,602,609,524,522,609,522,610,615,521,623,622,524,609,614,518,521,614,521,615,610,522,518,610,518,614,531,517,624,531,624,625,516,527,626,516,626,627,517,516,627,517,627,624,625,624,628,625,628,629,627,626,630,627,630,631,624,627,631,624,631,628,629,628,632,629,632,633,631,630,634,631,634,635,628,631,635,628,635,632,636,618,617,621,637,616,616,637,606,636,617,611,606,637,598,636,611,599,598,637,586,636,599,591,586,637,578,636,591,579,578,637,566,636,579,571,566,637,558,636,571,559,558,637,546,636,559,551,546,637,538,636,551,539,538,637,526,636,539,530,526,637,527,636,530,531,527,637,626,636,531,625,626,637,630,636,625,629,630,637,634,636,629,633,633,632,619,633,619,618,634,637,621,636,633,618,635,634,621,635,621,620,632,635,620,632,620,619],"boneWeights":[0.930941,0.069059014,0.0,0.0,0.8485917,0.032577038,0.1188313,0.0,0.85063535,0.04380855,0.10555607,0.0,0.93475986,0.0021918605,0.06304826,0.0,0.05035407,0.3736715,0.5759744,0.0,0.45644993,0.5435501,0.0,0.0,0.5272526,0.47274733,0.0,0.0,0.06071352,0.44295216,0.4963343,0.0,0.98477215,0.01522781,0.0,0.0,0.989385,0.0106149865,0.0,0.0,0.20552462,0.21491271,0.57956266,0.0,0.21012664,0.32247326,0.46740016,0.0,0.101777926,0.7960508,0.1021714,0.0,0.294193,0.4093997,0.2964073,0.0,0.2947117,0.40822515,0.29706314,0.0,0.104578935,0.7904335,0.10498749,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.37063545,0.15702745,0.4723371,0.0,0.385039,0.23213774,0.38282326,0.0,0.03235387,0.94238335,0.025262792,0.0,0.039460175,0.9300919,0.030447954,0.0,0.59280276,0.10465939,0.30253792,0.0,0.61089516,0.13341689,0.25568798,0.0,0.94468254,0.05531751,0.0,0.0,0.95885223,0.041147735,0.0,0.0,0.741148,0.06703351,0.19181852,0.0,0.7532785,0.07954737,0.1671741,0.0,0.856038,0.14396197,0.0,0.0,0.8789255,0.1210744,0.0,0.0,0.11307927,0.7730185,0.113902256,0.0,0.054830536,0.8992348,0.04593473,0.0,0.4869659,0.22232056,0.2907135,0.0,0.65739733,0.1377325,0.20487015,0.0,0.024765216,0.9464679,0.028766943,0.0,0.7771432,0.08379198,0.13906486,0.0,0.02841003,0.8683312,0.10325878,0.0,0.86099106,0.048716858,0.09029214,0.0,0.03809529,0.56748235,0.3944223,0.0,0.9398344,0.004694013,0.055471554,0.0,0.0963985,0.46482143,0.43878007,0.0,0.9954096,0.004590409,0.0,0.0,0.26596823,0.34380737,0.39022437,0.0,0.29628667,0.4045945,0.29911882,0.0,1.0,0.0,0.0,0.0,0.104806684,0.65065527,0.24453808,0.0,0.16239156,0.46817937,0.36942908,0.0,0.9522865,0.004369446,0.043344088,0.0,1.0,0.0,0.0,0.0,0.3566996,0.32648236,0.3168181,0.0,0.2989282,0.3983807,0.3026911,0.0,0.12852573,0.7410149,0.13045935,0.0,1.0,0.0,0.0,0.0,0.5676204,0.20677558,0.22560404,0.0,0.07208287,0.86509335,0.06282376,0.0,0.70823354,0.13089043,0.16087599,0.0,0.062134612,0.9050798,0.017354779,0.015430828,0.8065326,0.08139837,0.11206905,0.0,0.07387237,0.8434983,0.08262939,0.0,0.87775505,0.04728923,0.07495573,0.0,0.7616713,0.11606181,0.12226692,0.0,0.8380449,0.074253775,0.08770136,0.0,0.10016603,0.84091824,0.007206115,0.051709555,0.12651359,0.7805737,0.065458365,0.02745443,0.8986305,0.040738665,0.06063078,0.0,0.19165641,0.63067645,0.1754349,0.0022321835,0.97107714,0.0014893911,0.027433375,0.0,0.26391962,0.43802983,0.29805052,0.0,1.0,0.0,0.0,0.0,0.5171178,0.26338324,0.21949905,0.0,0.3025897,0.38948566,0.3079246,0.0,0.1532608,0.68916845,0.1575708,0.0,1.0,0.0,0.0,0.0,0.6573256,0.1767841,0.16589025,0.0,0.09862641,0.815157,0.08621655,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.6304801,0.21447909,0.15504082,0.0,0.7342803,0.1461476,0.11957218,0.0,0.19122991,0.60865873,0.20011134,0.0,0.13581614,0.7425233,0.12166057,0.0,0.81100017,0.09837133,0.090628475,0.0,0.16086073,0.758406,0.080733374,0.0,0.8684615,0.06460989,0.06692862,0.0,0.202647,0.68225735,0.051301282,0.06379433,0.9245186,0.030894019,0.044587415,0.0,0.30755803,0.52673537,0.12568761,0.04001903,0.98767,0.012329933,0.0,0.0,0.39329773,0.3709907,0.22248572,0.013225799,0.3070426,0.37806824,0.31488916,0.0,0.95813406,0.019329827,0.02253611,0.0,0.99999994,0.0,0.0,0.0,0.47751042,0.36400983,0.08589382,0.0725859,0.5686842,0.25452253,0.12361749,0.05317577,0.99999994,0.0,0.0,0.0,0.7115167,0.1607584,0.10081762,0.02690731,0.31162512,0.3650126,0.3233622,0.0,0.24896167,0.48507774,0.2659606,0.0,0.99999994,0.0,0.0,0.0,0.7916086,0.114844404,0.08273963,0.010807396,0.18387166,0.64280033,0.17332804,0.0,0.85412925,0.080271095,0.06559964,0.0,0.25250354,0.6239564,0.12354008,0.0,0.89736843,0.054205988,0.048425637,0.0,0.31388906,0.55492336,0.028539006,0.10264855,0.88086176,0.06298389,0.040096182,0.0160581,0.9417851,0.03657765,0.02163718,0.0,0.39770007,0.41616088,0.1861391,0.0,0.46046746,0.3716628,0.0075243143,0.1603454,0.9891882,0.0069823703,0.003829463,0.0,0.5799895,0.25128758,0.057256233,0.1114667,1.0,0.0,0.0,0.0,0.6658654,0.1787911,0.07383803,0.081505425,1.0,0.0,0.0,0.0,0.76067275,0.11739249,0.064696155,0.057238564,0.31475148,0.35286006,0.3323885,0.0,0.27778918,0.4099001,0.31231067,0.0,0.99999994,0.0,0.0,0.0,0.820889,0.08644508,0.055454407,0.03721156,0.23903199,0.5147859,0.24618222,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.7938822,0.085917346,0.037075747,0.0831247,0.8466366,0.06482414,0.02581901,0.06272026,0.28754386,0.3562067,0.35624948,0.0,0.29467523,0.35288534,0.35243946,0.0,0.90186477,0.043809988,0.013617487,0.040707715,0.44380277,0.2789179,0.2772793,0.0,0.96672976,0.017132862,0.0012458501,0.014891522,0.5081069,0.24754839,0.2443447,0.0,1.0,0.0,0.0,0.0,0.62348574,0.17375682,0.033832323,0.16892505,1.0,0.0,0.0,0.0,0.70592767,0.12557282,0.04688961,0.121609904,0.31584904,0.3420522,0.34209877,0.0,0.9907651,0.005165947,0.004069015,0.0,1.0,0.0,0.0,0.0,0.5779199,0.11388846,0.24247105,0.06572063,0.6644441,0.083729886,0.079558134,0.17226796,1.0,0.0,0.0,0.0,0.75981635,0.058962706,0.06799606,0.11322484,0.31473446,0.3323456,0.35291994,0.0,0.27772182,0.31226605,0.4100121,0.0,0.99999994,0.0,0.0,0.0,0.8191934,0.039982464,0.0833537,0.057470445,0.23897079,0.24656466,0.51446456,0.0,0.8785646,0.01821573,0.0607602,0.04245943,0.3980768,0.18747601,0.4144471,0.0,0.94335204,0.033815417,0.02283243,0.0,0.45662385,0.16107595,0.3639062,0.01839398,0.8553107,0.07771558,0.066973716,0.0,0.89809275,0.05253843,0.049368847,0.0,0.25278282,0.124485865,0.6227313,0.0,0.31038,0.10282397,0.5425499,0.04424607,0.96029973,0.017260395,0.02243989,0.0,0.47579902,0.07395266,0.3494569,0.10079146,0.99999994,0.0,0.0,0.0,0.56838787,0.05453421,0.24493021,0.13214761,1.0,0.0,0.0,0.0,0.7108258,0.029189711,0.154812,0.10517237,0.31158975,0.32331446,0.3650958,0.0,0.24879268,0.26584587,0.48536146,0.0,0.99999994,0.0,0.0,0.0,0.7911977,0.012728132,0.11080002,0.08527409,0.1836574,0.17351986,0.6428227,0.0,0.30698738,0.3148297,0.37818295,0.0,0.19087827,0.19983208,0.6092897,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.631506,0.0011326935,0.2067636,0.16059764,0.7361279,0.14134432,0.12252773,0.0,0.13539347,0.12161612,0.74299043,0.0,0.81283176,0.09532901,0.09183919,0.0,0.15952396,0.08063927,0.7524147,0.0074220253,0.8701792,0.062725924,0.06709489,0.0,0.20128517,0.06423702,0.6718635,0.062614284,0.9275033,0.028659096,0.043837633,0.0,0.30499294,0.041128885,0.50084114,0.15303694,0.98897314,0.01102689,0.0,0.0,0.39408693,0.0148118045,0.35678226,0.23431902,0.12436715,0.027440391,0.76733327,0.08085922,0.18573116,0.0014550259,0.5829978,0.22981605,0.9018762,0.038422026,0.059701752,0.0,0.974548,1.726151E-4,0.02527939,0.0,0.26499683,0.41934073,0.3156624,0.0,1.0,0.0,0.0,0.0,0.519936,0.25430617,0.22575776,0.0,0.3025161,0.3078512,0.3896327,0.0,0.1527688,0.15715598,0.6900752,0.0,1.0,0.0,0.0,0.0,0.66027,0.17126194,0.16846803,0.0,0.09800219,0.0859496,0.8160482,0.0,0.76448584,0.11269819,0.12281599,0.0,0.098429434,0.05125704,0.83235055,0.01796309,0.8405901,0.07223319,0.087176636,0.0,0.57233804,0.20112798,0.22653396,0.0,0.71252483,0.12753049,0.15994474,0.0,0.07131481,0.062379334,0.8663059,0.0,0.06047351,0.014626109,0.89743334,0.027467025,0.81027174,0.07941461,0.11031358,0.0,0.07098946,0.82849056,0.100520015,0.0,0.8818298,0.04505874,0.073111445,0.0,0.0900381,0.5530401,0.3569218,0.0,0.95688313,0.0031235307,0.039993398,0.0,0.16290282,0.4458253,0.39127186,0.0,1.0,0.0,0.0,0.0,0.36187702,0.31680065,0.32132232,0.0,0.29883936,0.30260396,0.39855668,0.0,0.12793455,0.12993985,0.74212563,0.0,1.0,0.0,0.0,0.0,0.9434649,0.0035837085,0.052951373,0.0,0.9985872,0.0014128487,0.0,0.0,0.09837396,0.4527393,0.44888675,0.0,0.2730684,0.3363286,0.39060307,0.0,0.29618683,0.2990198,0.40479338,0.0,0.11242838,0.113308564,0.774263,0.0,0.99999994,0.0,0.0,0.0,0.4940959,0.2174797,0.28842434,0.0,0.054032713,0.044797458,0.90116984,0.0,0.6638292,0.13479497,0.20137583,0.0,0.022249306,0.94304985,0.034700856,0.0,0.7825776,0.082050875,0.13537152,0.0,0.024385404,0.8627256,0.11288894,0.0,0.8661415,0.0467499,0.087108485,0.0,0.029130355,0.5397984,0.43107125,0.0,0.76110756,0.07822643,0.16066591,0.0,0.85720927,0.042258445,0.100532286,0.0,0.8766615,0.12333852,0.0,0.0,0.5186302,0.4813698,0.0,0.0,0.9392438,0.0012857718,0.059470493,0.0,0.06378429,0.4373651,0.49885067,0.0,0.99348485,0.0065150787,0.0,0.0,0.21969101,0.3174781,0.46283087,0.0,0.29460555,0.2969552,0.40843922,0.0,0.10390512,0.10434869,0.79174626,0.0,1.0,0.0,0.0,0.0,0.39630285,0.22816038,0.37553677,0.0,0.03785291,0.029195812,0.93295133,0.0,0.62054944,0.13119182,0.24825883,0.0,0.957428,0.042572077,0.0,0.0,0.38705185,0.15595454,0.45699367,0.0,0.6070826,0.103642255,0.28927508,0.0,0.030872399,0.02395308,0.94517446,0.0,0.94551665,0.054483373,0.0,0.0,0.7522801,0.06627959,0.18144026,0.0,0.8575008,0.14249912,0.0,0.0,0.8570237,0.031543937,0.111432314,0.0,0.4548696,0.54513043,0.0,0.0,0.9357939,0.064206146,0.0,0.0,0.054878633,0.3707109,0.5744105,0.0,0.9898655,0.01013454,0.0,0.0,0.21922004,0.21385393,0.56692606,0.0,0.29408565,0.296294,0.40962029,0.0,0.10111444,0.10151426,0.79737127,0.0,1.0,0.0,0.0,0.0,0.9336155,0.06638445,0.0,0.0,0.9881527,0.011847419,0.0,0.0,0.06670978,0.1629152,0.770375,0.0,0.23188385,0.1266997,0.64141643,0.0,0.29461735,0.2969919,0.4083907,0.0,0.103664964,0.10432111,0.79201394,0.0,1.0,0.0,0.0,0.0,0.39906493,0.101828314,0.49910676,0.0,0.035504226,0.028410455,0.9360853,0.0,0.61389756,0.07503741,0.31106505,0.0,0.93195826,0.068041734,0.0,0.0,0.755773,0.051891837,0.19233523,0.0,0.8149206,0.1850794,0.0,0.0,0.864874,0.017565915,0.117560044,0.0,0.20198804,0.79801196,0.0,0.0,0.7798373,0.027462294,0.19270039,0.0,0.8791966,0.0033426557,0.11746081,0.0,0.7698767,0.23012331,0.0,0.0,0.10192407,0.89807594,0.0,0.0,0.93427765,0.06572227,0.0,0.0,0.07621921,0.073795274,0.84998554,0.0,0.98856145,0.011438622,0.0,0.0,0.26273617,0.07309202,0.66417176,0.0,0.29620826,0.2990878,0.40470397,0.0,0.111962534,0.113254964,0.7747824,0.0,0.99999994,0.0,0.0,0.0,0.43859917,0.06508612,0.49631476,0.0,0.051804643,0.042987898,0.90164673,0.003560662,0.6400495,0.05225102,0.30769953,0.0,0.008392634,0.9070532,0.08455417,0.0,0.5364143,0.035034884,0.42855075,0.0,0.69657457,0.022379655,0.28104573,0.0,0.0673704,0.060894262,0.8605663,0.011169062,0.044774354,0.0074782544,0.85005987,0.09768754,0.8133246,0.0066452404,0.1800302,0.0,0.03433562,0.7035073,0.2621571,0.0,0.88988537,0.110114634,0.0,0.0,0.05088736,0.9491127,0.0,0.0,0.93764114,0.062358834,0.0,0.0,0.095487975,0.02147275,0.88303924,0.0,0.9910422,0.0089578405,0.0,0.0,0.3273343,0.038891476,0.63377416,0.0,0.29886732,0.30269238,0.3984403,0.0,0.1272908,0.1298713,0.7428379,0.0,1.0,0.0,0.0,0.0,0.9431199,0.05688013,0.0,0.0,0.9952986,0.0047014137,0.0,0.0,0.1482434,0.8517566,0.0,0.0,0.44171923,0.016610574,0.54167014,0.0,0.302547,0.30794525,0.38950768,0.0,0.15205441,0.15710486,0.6908407,0.0,0.99999994,0.0,0.0,0.0,0.62519306,0.010708897,0.36409807,0.0,0.09250173,0.083522044,0.8081398,0.015836425,0.75493425,0.001778016,0.24328779,0.0,0.079979315,0.039242566,0.77712655,0.10365161,0.8421844,0.15781556,0.0,0.0,0.08122213,0.005993197,0.63800687,0.27477774,0.9017199,0.09828011,0.0,0.0,0.008550971,0.99144906,0.0,0.0,0.1350831,0.07029121,0.694242,0.100383684,0.15038005,0.04613247,0.24694179,0.55654573,0.8671162,0.0014105802,0.13147317,0.0,0.91573465,0.08426541,0.0,0.0,0.1336675,0.0019674054,0.08317638,0.78118867,0.95117396,0.048826065,0.0,0.0,0.28473273,0.01799407,0.024171442,0.6731017,1.0,0.0,0.0,0.0,0.56143343,0.02553813,0.0073531843,0.40567526,0.30701855,0.31491253,0.3780689,0.0,0.19027336,0.19986068,0.60986596,0.0,1.0,0.0,0.0,0.0,0.69573194,0.020274185,0.2839939,0.0,0.12906589,0.11839068,0.7366931,0.015850252,0.79311436,0.011526995,0.19535859,0.0,0.64782375,0.06468669,0.0057262206,0.28176326,0.73777,0.05610988,0.2061201,0.0,0.24851868,0.26602516,0.48545614,0.0,0.17796409,0.17020443,0.64081943,0.01101203,0.81015414,0.042348053,0.14749794,0.0,0.22586529,0.109555155,0.08837194,0.5762076,0.8725246,0.024228312,0.10324697,0.0,0.26115987,0.08089837,0.19890617,0.45903555,0.9240388,0.006672244,0.06928891,0.0,0.31842142,0.4872114,0.07360311,0.12076407,0.96590936,0.03409058,0.0,0.0,0.4694426,0.07163519,0.04749963,0.41142255,1.0,0.0,0.0,0.0,0.31161964,0.3233699,0.3650105,0.0,1.0,0.0,0.0,0.0,0.9187725,0.026695767,0.054531727,0.0,0.9787966,0.002049653,0.019153709,0.0,0.472281,0.2915882,0.1288763,0.107254565,0.5715884,0.25833797,0.12424143,0.045832146,1.0,0.0,0.0,0.0,0.7029724,0.1038371,0.0014925813,0.19169797,0.31476232,0.3323622,0.35287547,0.0,0.27757242,0.31237397,0.41005352,0.0,1.0,0.0,0.0,0.0,0.76825315,0.08549729,0.14624947,0.0,0.23588435,0.2447397,0.5168163,0.0025596335,0.82340145,0.068084925,0.10851359,0.0,0.37576312,0.16866612,0.071661465,0.38390937,0.8694704,0.05239101,0.07813853,0.0,0.41757268,0.12938163,0.14835732,0.3046884,0.8251846,0.09699055,0.077824816,0.0,0.8700449,0.07174545,0.058209702,0.0,0.42587188,0.25592285,0.06160397,0.25660127,0.47275534,0.20198898,0.12195824,0.20329753,0.9158503,0.05117643,0.032973297,0.0,0.5196928,0.17698762,0.21894635,0.08437317,0.97838795,0.016617417,0.004994555,0.0,0.59938097,0.16236325,0.20734891,0.030906888,1.0,0.0,0.0,0.0,0.7122255,0.16098428,0.12679018,0.0,0.31587526,0.34202403,0.34210077,0.0,0.28742456,0.35617858,0.35639685,0.0,1.0,0.0,0.0,0.0,0.77233917,0.1268776,0.10078325,0.0,0.29385924,0.35283458,0.35330614,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.67472583,0.24357441,0.08169975,0.0,0.74883616,0.18343785,0.06772598,0.0,0.27761003,0.40978873,0.31260124,0.0,0.23434287,0.51356024,0.008234103,0.24386273,0.811089,0.13449076,0.054420207,0.0,0.37143162,0.3806172,0.079947904,0.16800329,0.86946326,0.09648455,0.034052163,0.0,0.4053807,0.29860926,0.16792467,0.12808539,0.9211317,0.06638737,0.012480958,0.0,0.44323796,0.099783964,0.35597497,0.10100317,0.96733904,0.03266094,0.0,0.0,0.5301091,0.038841594,0.33389765,0.097151674,0.31477675,0.35278714,0.3324361,0.0,0.91696477,0.08303529,0.0,0.0,0.9508719,0.04912812,0.0,0.0,0.256684,0.105080515,0.58655727,0.051678233,0.3648205,0.037557665,0.5430646,0.054557182,0.999767,2.3298356E-4,0.0,0.0,0.58972484,0.0018975567,0.35838598,0.049991723,0.31165022,0.3649015,0.3234482,0.0,0.24862567,0.48505998,0.2663143,0.0,1.0,0.0,0.0,0.0,0.70383775,0.25863454,0.037527665,0.0,0.17671402,0.63713044,0.016341548,0.16981402,0.7934151,0.18301338,0.02357149,0.0,0.22178209,0.57267004,0.0963172,0.10923063,0.8643621,0.1261618,0.0094760135,0.0,0.24807379,0.45252115,0.2195029,0.079902135,0.7616891,0.23831081,0.0,0.0,0.8431491,0.15685083,0.0,0.0,0.13218647,0.6912241,0.10633084,0.07025864,0.14204971,0.55244356,0.2599556,0.045551047,0.90079546,0.099204555,0.0,0.0,0.10630228,0.078325756,0.815372,0.0,0.9417243,0.058275644,0.0,0.0,0.21977746,0.016393045,0.76382947,0.0,0.99302924,0.006970693,0.0,0.0,0.4732855,0.0047339536,0.51157856,0.010402027,0.3070674,0.37793186,0.31500065,0.0,0.19051634,0.60919636,0.20028727,0.0,1.0,0.0,0.0,0.0,0.64296675,0.35181868,0.0052145463,0.0,0.12828422,0.73299414,0.020330617,0.11839101,0.9874077,0.012592223,0.0,0.0,1.0,0.0,0.0,0.0,0.34772515,0.008744602,0.64353025,0.0,0.55412245,0.0070607136,0.43881685,0.0,0.1524156,0.6899629,0.15762153,0.0,0.0922074,0.8046816,0.01931459,0.083796404,0.7101135,0.28988653,0.0,0.0,0.07846506,0.7744434,0.10740154,0.039690007,0.8147463,0.18525365,0.0,0.0,0.077651255,0.6360194,0.2801856,0.0061436533,0.88598233,0.11401766,0.0,0.0,0.025678426,0.9743216,0.0,0.0,0.9346594,0.06534054,0.0,0.0,0.10751677,0.8924832,0.0,0.0,0.30261377,0.38934255,0.30804366,0.0,0.87464863,0.12535138,0.0,0.0,0.9294818,0.07051825,0.0,0.0,0.059546452,0.9404536,0.0,0.0,0.073211275,0.019864969,0.90692365,0.0,0.98345894,0.016541086,0.0,0.0,0.2665888,0.034695912,0.6987152,0.0,0.2989499,0.3982508,0.30279922,0.0,0.12775809,0.7417899,0.13045205,0.0,1.0,0.0,0.0,0.0,0.4440245,0.032208607,0.52376693,0.0,0.067474425,0.8573876,0.0137946345,0.06134328,0.64949507,0.020905634,0.3295993,0.0,0.043804023,0.84777296,0.10024168,0.008181303,0.78686106,0.005999903,0.20713905,0.0,0.031773224,0.7029949,0.26523188,0.0,0.052167345,0.8981766,0.0055183177,0.04413778,0.008616416,0.90482026,0.08656326,0.0,0.6072081,0.051810905,0.34098104,0.0,0.7584975,0.027290989,0.21421154,0.0,0.7676687,0.23233135,0.0,0.0,0.865958,0.003454169,0.13058776,0.0,0.11074646,0.88925356,0.0,0.0,0.9269622,0.07303771,0.0,0.0,0.06309387,0.07370975,0.8631964,0.0,0.98161334,0.01838665,0.0,0.0,0.22684745,0.071726024,0.70142645,0.0,0.29630357,0.40449607,0.29920036,0.0,0.11251915,0.7736002,0.113880634,0.0,1.0,0.0,0.0,0.0,0.39271933,0.06406701,0.54321367,0.0,0.058696523,0.16350599,0.7777975,0.0,0.21036924,0.12610361,0.6635271,0.0,0.2947211,0.4081721,0.2971069,0.0,0.10428836,0.7907387,0.104972914,0.0,0.98207414,0.017925823,0.0,0.0,0.99999994,0.0,0.0,0.0,0.37298188,0.10151625,0.5255019,0.0,0.036751684,0.9335441,0.029704113,0.0,0.59231263,0.075165644,0.33252177,0.0,0.9303489,0.06965114,0.0,0.0,0.74015605,0.052141916,0.20770204,0.0,0.8126236,0.18737634,0.0,0.0,0.85413325,0.018094145,0.12777263,0.0,0.21069427,0.78930575,0.0,0.0,0.9274808,0.07251919,0.0,0.0,0.3239694,0.33799636,0.3380342,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.05438487,0.9456151,0.0,0.0,0.053663846,0.94633615,0.0,0.0,0.055863436,0.9441366,0.0,0.0,0.056027763,0.9439722,0.0,0.0,0.054670274,0.9453297,0.0,0.0,0.054131147,0.94586885,0.0,0.0,0.05672157,0.9432784,0.0,0.0,0.05675117,0.9432488,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.056996536,0.94300354,0.0,0.0,0.052883193,0.9471168,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.05198261,0.94801736,0.0,0.0,0.055828203,0.9441717,0.0,0.0,0.05778579,0.9422142,0.0,0.0,0.050593138,0.94940686,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.04729328,0.95270675,0.0,0.0,0.056259323,0.94374067,0.0,0.0,0.05981816,0.94018185,0.0,0.0,0.043515313,0.9564847,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.033679355,0.9663206,0.0,0.0,0.057981808,0.9420182,0.0,0.0,0.064487055,0.93551296,0.0,0.0,0.06677068,0.9332293,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.06436558,0.9356344,0.0,0.0,0.06291503,0.937085,0.0,0.0,0.06897665,0.93102336,0.0,0.0,0.09468507,0.905315,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.09378907,0.90621096,0.0,0.0,0.06778647,0.93221354,0.0,0.0,0.06880625,0.93119377,0.0,0.0,0.08120712,0.9187929,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.08074485,0.9192551,0.0,0.0,0.06791333,0.93208665,0.0,0.0,0.0667116,0.93328834,0.0,0.0,0.07222078,0.9277792,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.071949005,0.92805105,0.0,0.0,0.06602682,0.93397313,0.0,0.0,0.0639492,0.93605083,0.0,0.0,0.06525786,0.93474215,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.065088876,0.93491113,0.0,0.0,0.06340373,0.9365962,0.0,0.0,0.061166115,0.93883383,0.0,0.0,0.05881981,0.9411801,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.05874049,0.9412595,0.0,0.0,0.060709827,0.93929017,0.0,0.0,0.058895092,0.9411049,0.0,0.0,0.055107895,0.94489217,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0549875,0.9450125,0.0,0.0,0.058484826,0.94151515,0.0,0.0,0.057549004,0.94245106,0.0,0.0,0.053484973,0.946515,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.053298183,0.9467019,0.0,0.0,0.05710778,0.9428922,0.0,0.0,0.056979343,0.9430207,0.0,0.0,0.053906906,0.9460931,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.05373533,0.9462647,0.0,0.0,0.056486636,0.9435134,0.0,0.0,0.056787863,0.94321215,0.0,0.0,0.054620385,0.9453796,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.054415792,0.94558424,0.0,0.0,0.05621933,0.9437806,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.060825348,0.93917465,0.0,0.0,0.05993426,0.94006574,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0],"name":"Blob1","elementCount":3792,"positions":[-0.5555702,-0.83146966,-0.0,-0.70710677,-0.70710677,-0.0,-0.6935199,-0.70710677,-0.13794975,-0.54489505,-0.83146966,-0.10838643,-0.98078525,0.28706086,-0.0,-0.9238795,0.57173383,-0.0,-0.9061274,0.57173383,-0.18024,-0.9619397,0.2870608,-0.19134177,-0.38268328,-0.9238796,-0.0,-0.37533012,-0.9238796,-0.074657865,-1.0,7.54979E-8,-0.0,-0.9807853,1.1920929E-7,-0.1950904,-0.38268346,1.6647532,-0.0,-0.19509032,1.7727537,-0.0,-0.19134171,1.7727537,-0.0380603,-0.37533027,1.6647532,-0.0746579,-0.19509009,-0.9807853,-0.0,-0.19134147,-0.9807853,-0.03806025,-0.9807853,-0.1950902,-0.0,-0.96193975,-0.19509017,-0.19134179,-0.55557024,1.4548253,-0.0,-0.5448951,1.4548253,-0.108386435,-0.92387956,-0.38268328,-0.0,-0.90612745,-0.38268328,-0.18024002,-0.73019946,1.2180539,2.2507152E-9,-0.7161689,1.218054,-0.1424549,-0.83146966,-0.5555702,-0.0,-0.81549317,-0.5555702,-0.16221175,-0.83146966,0.95410895,-0.0,-0.81549317,0.9541089,-0.16221175,-0.35355335,1.6647532,-0.14644673,-0.5132799,1.4548253,-0.21260764,-0.90612733,-0.19509017,-0.3753304,-0.85355335,-0.38268328,-0.3535535,-0.6746163,1.218054,-0.27943537,-0.7681777,-0.5555702,-0.31818977,-0.7681777,0.9541089,-0.31818977,-0.6532814,-0.70710677,-0.27059817,-0.8535533,0.57173383,-0.35355347,-0.51327986,-0.83146966,-0.21260762,-0.9061273,0.2870608,-0.3753304,-0.3535532,-0.9238796,-0.14644668,-0.9238795,1.1920929E-7,-0.38268358,-0.18023992,1.7727537,-0.07465796,-0.1802397,-0.9807853,-0.074657865,-0.7681776,0.57173383,-0.5132801,-0.8154929,0.2870608,-0.54489523,-0.4619396,-0.83146966,-0.30865842,-0.31818944,-0.9238796,-0.21260762,-0.83146954,1.1920929E-7,-0.5555704,-0.1622116,1.7727537,-0.108386554,-0.31818956,1.6647532,-0.21260771,-0.16221142,-0.9807853,-0.10838641,-0.815493,-0.19509017,-0.54489523,-0.46193966,1.4548253,-0.30865845,-0.7681777,-0.38268328,-0.51328015,-0.6071386,1.218054,-0.40567726,-0.6913416,-0.5555702,-0.46193993,-0.6913416,0.9541089,-0.46193993,-0.5879377,-0.70710677,-0.39284766,-0.65328133,-0.38268328,-0.6532817,-0.5879376,-0.5555702,-0.58793795,-0.51632875,1.218054,-0.51632917,-0.5879376,0.9541089,-0.58793795,-0.4999998,-0.70710677,-0.5000002,-0.6532813,0.57173383,-0.6532816,-0.39284727,-0.83146966,-0.39284766,-0.6935196,0.2870608,-0.69352007,-0.27059782,-0.9238796,-0.27059817,-0.70710665,1.1920929E-7,-0.707107,-0.13794957,1.7727537,-0.13794991,-0.2705979,1.6647532,-0.2705983,-0.13794942,-0.9807853,-0.13794973,-0.69351965,-0.19509017,-0.69352007,-0.39284733,1.4548253,-0.3928477,-0.21260726,-0.9238796,-0.3181898,-0.1083861,-0.9807853,-0.16221173,-0.55557007,1.1920929E-7,-0.83146983,-0.54489475,-0.19509017,-0.8154933,-0.21260731,1.6647532,-0.3181899,-0.30865806,1.4548253,-0.46194,-0.5132798,-0.38268328,-0.768178,-0.4056768,1.218054,-0.6071389,-0.46193945,-0.5555702,-0.6913418,-0.46193945,0.9541089,-0.6913418,-0.3928472,-0.70710677,-0.587938,-0.51327974,0.57173383,-0.7681779,-0.308658,-0.83146966,-0.46193993,-0.54489475,0.2870608,-0.8154933,-0.1083862,1.7727537,-0.16221192,-0.27059773,-0.70710677,-0.6532817,-0.2126072,-0.83146966,-0.51328015,-0.3535531,0.57173383,-0.85355353,-0.37532982,0.2870608,-0.9061275,-0.14644632,-0.9238796,-0.35355353,-0.3826832,1.1920929E-7,-0.92387974,-0.074657604,1.7727537,-0.18024023,-0.14644635,1.6647532,-0.35355362,-0.074657544,-0.9807853,-0.18024,-0.37532982,-0.19509017,-0.9061275,-0.21260726,1.4548253,-0.5132802,-0.35355315,-0.38268328,-0.8535536,-0.27943492,1.218054,-0.6746166,-0.3181893,-0.5555702,-0.7681778,-0.3181893,0.9541089,-0.7681778,-0.18023966,-0.38268328,-0.90612763,-0.16221128,-0.5555702,-0.8154932,-0.14245449,1.218054,-0.7161691,-0.16221128,0.9541089,-0.8154932,-0.13794933,-0.70710677,-0.6935201,-0.18023962,0.57173383,-0.9061276,-0.10838602,-0.83146966,-0.5448953,-0.19134125,0.2870608,-0.9619398,-0.07465751,-0.9238796,-0.37533042,-0.19509003,1.1920929E-7,-0.9807855,-0.03805995,1.7727537,-0.191342,-0.07465752,1.6647532,-0.3753305,-0.03805993,-0.9807853,-0.19134176,-0.19134125,-0.19509017,-0.9619398,-0.10838606,1.4548253,-0.54489535,3.556437E-7,-0.9238796,-0.38268355,3.146655E-7,-0.9807853,-0.19509037,3.4074253E-7,1.1920929E-7,-1.0000001,4.7485298E-7,-0.19509017,-0.98078525,3.6309427E-7,1.6647532,-0.38268363,3.6309427E-7,1.4548253,-0.5555705,3.4074253E-7,-0.38268328,-0.92387974,4.0411467E-7,1.218054,-0.73019964,4.1524834E-7,-0.5555702,-0.8314696,4.1524834E-7,0.9541089,-0.8314696,4.0034718E-7,-0.70710677,-0.70710695,3.7054485E-7,0.57173383,-0.9238796,3.928966E-7,-0.83146966,-0.55557036,4.7485298E-7,0.2870608,-0.98078525,3.4446782E-7,1.7727537,-0.19509059,0.13795012,-0.70710677,-0.69352007,0.1083868,-0.83146966,-0.54489523,0.18024035,0.57173383,-0.9061275,0.19134219,0.2870608,-0.9619397,0.074658215,-0.9238796,-0.3753304,0.1950907,1.1920929E-7,-0.98078537,0.038060628,1.7727537,-0.19134198,0.07465824,1.6647532,-0.37533048,0.038060557,-0.9807853,-0.19134176,0.19134219,-0.19509017,-0.9619397,0.10838679,1.4548253,-0.54489535,0.18024035,-0.38268328,-0.90612763,0.14245528,1.218054,-0.71616906,0.16221209,-0.5555702,-0.8154931,0.16221209,0.9541089,-0.8154931,0.3535538,-0.38268328,-0.85355353,0.31819004,-0.5555702,-0.7681776,0.2794357,1.218054,-0.6746164,0.31819004,0.9541089,-0.7681776,0.2705985,-0.70710677,-0.65328157,0.3535538,0.57173383,-0.8535534,0.21260798,-0.83146966,-0.51328003,0.37533072,0.2870608,-0.90612733,0.146447,-0.9238796,-0.35355347,0.3826838,1.1920929E-7,-0.92387956,0.07465828,1.7727537,-0.18024018,0.14644705,1.6647532,-0.35355353,0.07465817,-0.9807853,-0.18023999,0.37533072,-0.19509017,-0.90612733,0.21260798,1.4548253,-0.51328015,0.10838686,1.7727537,-0.16221187,0.21260798,1.6647532,-0.31818977,0.21260792,-0.9238796,-0.3181897,0.10838671,-0.9807853,-0.1622117,0.5555706,1.1920929E-7,-0.8314696,0.54489547,-0.19509017,-0.815493,0.30865878,1.4548253,-0.46193993,0.51328033,-0.38268328,-0.76817787,0.40567756,1.218054,-0.60713875,0.4619401,-0.5555702,-0.6913416,0.4619401,0.9541089,-0.6913416,0.39284796,-0.70710677,-0.5879379,0.51328033,0.57173383,-0.76817775,0.30865875,-0.83146966,-0.4619398,0.54489547,0.2870608,-0.815493,0.5879381,0.9541089,-0.58793765,0.65328187,0.57173383,-0.65328145,0.5000004,-0.70710677,-0.5,0.39284796,-0.83146966,-0.39284748,0.69352025,0.2870608,-0.6935198,0.27059844,-0.9238796,-0.27059808,0.7071071,1.1920929E-7,-0.7071067,0.1379502,1.7727537,-0.13794984,0.27059853,1.6647532,-0.2705981,0.13795003,-0.9807853,-0.1379497,0.69352025,-0.19509017,-0.6935198,0.392848,1.4548253,-0.3928476,0.65328187,-0.38268328,-0.65328157,0.5163294,1.218054,-0.516329,0.5879381,-0.5555702,-0.58793765,0.8154934,-0.19509017,-0.54489493,0.76817816,-0.38268328,-0.51328003,0.4619403,1.4548253,-0.30865833,0.60713905,1.218054,-0.40567705,0.691342,-0.5555702,-0.46193963,0.691342,0.9541089,-0.46193963,0.5879382,-0.70710677,-0.39284745,0.76817816,0.57173383,-0.5132799,0.4619402,-0.83146966,-0.30865824,0.8154934,0.2870608,-0.54489493,0.31819004,-0.9238796,-0.21260755,0.83146995,1.1920929E-7,-0.5555701,0.1622122,1.7727537,-0.10838647,0.31819013,1.6647532,-0.21260756,0.16221201,-0.9807853,-0.10838639,0.51328033,-0.83146966,-0.21260746,0.35355377,-0.9238796,-0.14644662,0.90612763,0.2870608,-0.3753301,0.9238798,1.1920929E-7,-0.3826833,0.18024048,1.7727537,-0.07465789,0.35355386,1.6647532,-0.14644662,0.18024029,-0.9807853,-0.07465784,0.90612763,-0.19509017,-0.3753301,0.51328045,1.4548253,-0.21260753,0.85355383,-0.38268328,-0.3535534,0.67461663,1.218054,-0.2794352,0.768178,-0.5555702,-0.3181895,0.768178,0.9541089,-0.3181895,0.6532818,-0.70710677,-0.270598,0.8535538,0.57173383,-0.3535533,0.81549335,-0.5555702,-0.16221155,0.69352025,-0.70710677,-0.13794963,0.81549335,0.9541089,-0.16221155,0.9061278,0.57173383,-0.18023983,0.54489547,-0.83146966,-0.10838629,0.96193993,0.2870608,-0.19134155,0.37533066,-0.9238796,-0.07465783,0.9807855,1.1920929E-7,-0.1950902,0.19134225,1.7727537,-0.038060244,0.37533075,1.6647532,-0.074657805,0.19134204,-0.9807853,-0.038060237,0.96193993,-0.19509017,-0.19134155,0.5448956,1.4548253,-0.108386345,0.90612787,-0.38268328,-0.18023995,0.71616924,1.218054,-0.14245479,0.9807854,-0.19509017,1.4901161E-7,0.9238799,-0.38268328,4.4703484E-8,0.55557066,1.4548253,6.7055225E-8,0.73019975,1.218054,6.3801934E-8,0.8314698,-0.5555702,1.0430813E-7,0.8314698,0.9541089,1.0430813E-7,0.70710707,-0.70710677,5.9604645E-8,0.92387986,0.57173383,1.4901161E-7,0.55557054,-0.83146966,9.685755E-8,0.9807854,0.2870608,1.4901161E-7,0.3826838,-0.9238796,2.2351742E-8,1.0000001,1.1920929E-7,1.0430813E-7,0.19509085,1.7727537,3.3527613E-8,0.38268387,1.6647532,5.2154064E-8,0.19509065,-0.9807853,-0.0,0.5448954,-0.83146966,0.10838648,0.37533066,-0.9238796,0.074657865,0.9619399,0.2870608,0.19134183,0.98078537,1.1920929E-7,0.1950904,0.19134223,1.7727537,0.038060308,0.37533072,1.6647532,0.07465791,0.19134204,-0.9807853,0.038060233,0.9619399,-0.19509017,0.19134183,0.5448955,1.4548253,0.10838647,0.9061278,-0.38268328,0.18024002,0.7161691,1.218054,0.1424549,0.8154933,-0.5555702,0.16221176,0.8154933,0.9541089,0.16221176,0.6935202,-0.70710677,0.13794975,0.90612775,0.57173383,0.18024011,0.76817787,-0.5555702,0.31818968,0.6532817,-0.70710677,0.2705981,0.76817787,0.9541089,0.31818968,0.85355365,0.57173383,0.35355353,0.5132802,-0.83146966,0.21260762,0.9061275,0.2870608,0.37533036,0.35355377,-0.9238796,0.14644665,0.92387956,1.1920929E-7,0.38268346,0.18024044,1.7727537,0.07465795,0.3535538,1.6647532,0.1464467,0.18024027,-0.9807853,0.07465783,0.9061275,-0.19509017,0.37533036,0.51328033,1.4548253,0.21260765,0.8535537,-0.38268328,0.35355347,0.6746165,1.218054,0.2794353,0.81549317,-0.19509017,0.5448952,0.76817805,-0.38268328,0.51328003,0.46194014,1.4548253,0.30865842,0.6071389,1.218054,0.40567714,0.6913418,-0.5555702,0.46193975,0.6913418,0.9541089,0.46193975,0.587938,-0.70710677,0.39284754,0.768178,0.57173383,0.5132801,0.46194002,-0.83146966,0.30865836,0.81549317,0.2870608,0.5448952,0.31819,-0.9238796,0.21260756,0.8314696,1.1920929E-7,0.5555702,0.16221213,1.7727537,0.10838652,0.31819004,1.6647532,0.21260762,0.16221198,-0.9807853,0.10838637,0.39284772,-0.83146966,0.39284754,0.27059838,-0.9238796,0.27059808,0.69351995,0.2870608,0.6935199,0.70710677,1.1920929E-7,0.70710665,0.13795011,1.7727537,0.13794985,0.2705984,1.6647532,0.27059817,0.13794999,-0.9807853,0.13794968,0.69351995,-0.19509017,0.6935199,0.3928478,1.4548253,0.39284763,0.65328175,-0.38268328,0.65328157,0.5163292,1.218054,0.516329,0.5879379,-0.5555702,0.5879377,0.5879379,0.9541089,0.5879377,0.50000024,-0.70710677,0.5,0.6532817,0.57173383,0.65328157,0.4056773,1.218054,0.60713863,0.4619399,0.9541089,0.6913416,0.4619399,-0.5555702,0.6913416,0.3928477,-0.70710677,0.5879378,0.51328015,0.57173383,0.7681778,0.3086585,-0.83146966,0.46193978,0.5448951,0.2870608,0.81549305,0.21260786,-0.9238796,0.31818968,0.55557024,1.1920929E-7,0.8314694,0.10838676,1.7727537,0.16221184,0.21260786,1.6647532,0.31818977,0.10838668,-0.9807853,0.16221166,0.5448951,-0.19509017,0.81549305,0.30865857,1.4548253,0.46193987,0.5132802,-0.38268328,0.76817787,0.3826835,1.1920929E-7,0.92387927,0.3753303,-0.19509017,0.9061273,0.14644691,1.6647532,0.3535535,0.21260779,1.4548253,0.51328003,0.35355362,-0.38268328,0.8535535,0.27943546,1.218054,0.6746163,0.3181898,-0.5555702,0.76817757,0.3181898,0.9541089,0.76817757,0.27059826,-0.70710677,0.65328145,0.35355356,0.57173383,0.8535534,0.21260774,-0.83146966,0.51328,0.3753303,0.2870608,0.9061273,0.14644694,-0.9238796,0.3535534,0.074658185,1.7727537,0.18024012,0.07465814,-0.9807853,0.18023992,0.13794991,-0.70710677,0.6935199,0.10838658,-0.83146966,0.54489505,0.18024011,0.57173383,0.9061274,0.19134177,0.2870608,0.9619395,0.074658155,-0.9238796,0.3753303,0.19509043,1.1920929E-7,0.98078495,0.038060542,1.7727537,0.19134188,0.07465811,1.6647532,0.3753304,0.03806054,-0.9807853,0.19134167,0.19134177,-0.19509017,0.9619395,0.10838662,1.4548253,0.5448952,0.18024015,-0.38268328,0.9061275,0.14245507,1.218054,0.7161689,0.16221187,-0.5555702,0.8154929,0.16221187,0.9541089,0.8154929,1.7682976E-7,-0.38268328,0.92387956,2.2153324E-7,-0.5555702,0.83146936,2.1946104E-7,1.218054,0.7301994,2.2153324E-7,0.9541089,0.83146936,2.2153324E-7,-0.70710677,0.7071067,1.4702744E-7,0.57173383,0.92387944,2.1408266E-7,-0.83146966,0.5555701,1.0232395E-7,0.2870608,0.98078495,3.109402E-7,-0.9238796,0.38268346,1.619286E-7,1.1920929E-7,0.9999996,2.774126E-7,1.7727537,0.19509046,2.5133556E-7,1.6647532,0.38268352,3.146655E-7,-0.9807853,0.19509026,1.0232395E-7,-0.19509017,0.98078495,2.2898382E-7,1.4548253,0.55557024,-0.07465753,-0.9238796,0.3753303,-0.03805991,-0.9807853,0.19134165,-0.19509009,1.1920929E-7,0.9807848,-0.19134155,-0.19509017,0.96193933,-0.0746576,1.6647532,0.37533036,-0.10838615,1.4548253,0.5448951,-0.18023978,-0.38268328,0.90612745,-0.14245461,1.218054,0.71616876,-0.1622114,-0.5555702,0.81549287,-0.1622114,0.9541089,0.81549287,-0.13794945,-0.70710677,0.69351983,-0.1802398,0.57173383,0.9061273,-0.10838614,-0.83146966,0.544895,-0.19134155,0.2870608,0.96193933,-0.038059983,1.7727537,0.19134183,-0.2705978,-0.70710677,0.65328133,-0.21260726,-0.83146966,0.5132798,-0.3535532,0.57173383,0.8535532,-0.37533,0.2870608,0.906127,-0.1464463,-0.9238796,0.3535534,-0.3826831,1.1920929E-7,0.92387897,-0.074657604,1.7727537,0.18024005,-0.14644638,1.6647532,0.35355344,-0.07465749,-0.9807853,0.18023989,-0.37533,-0.19509017,0.906127,-0.2126073,1.4548253,0.5132799,-0.3535532,-0.38268328,0.85355335,-0.27943498,1.218054,0.67461616,-0.3181893,-0.5555702,0.76817745,-0.3181893,0.9541089,0.76817745,-0.5132798,-0.38268328,0.7681777,-0.46193933,-0.5555702,0.6913414,-0.4056768,1.218054,0.6071385,-0.46193933,0.9541089,0.6913414,-0.3928472,-0.70710677,0.58793765,-0.51327974,0.57173383,0.7681775,-0.30865797,-0.83146966,0.46193957,-0.54489475,0.2870608,0.8154927,-0.21260722,-0.9238796,0.31818965,-0.5555698,1.1920929E-7,0.831469,-0.10838616,1.7727537,0.16221175,-0.2126073,1.6647532,0.31818968,-0.10838601,-0.9807853,0.1622116,-0.54489475,-0.19509017,0.8154927,-0.30865803,1.4548253,0.4619397,-0.27059776,-0.9238796,0.27059802,-0.1379493,-0.9807853,0.13794962,-0.70710623,1.1920929E-7,0.7071062,-0.6935195,-0.19509017,0.6935195,-0.27059782,1.6647532,0.27059805,-0.3928472,1.4548253,0.3928474,-0.6532813,-0.38268328,0.6532814,-0.51632863,1.218054,0.5163288,-0.5879373,-0.5555702,0.5879375,-0.5879373,0.9541089,0.5879375,-0.49999967,-0.70710677,0.49999985,-0.6532812,0.57173383,0.6532812,-0.39284715,-0.83146966,0.39284727,-0.6935195,0.2870608,0.6935195,-0.13794948,1.7727537,0.13794973,-0.5879375,-0.70710677,0.3928473,-0.4619394,-0.83146966,0.30865806,-0.76817745,0.57173383,0.5132797,-0.8154926,0.2870608,0.5448947,-0.31818935,-0.9238796,0.2126075,-0.83146894,1.1920929E-7,0.55556965,-0.16221146,1.7727537,0.1083864,-0.3181894,1.6647532,0.21260752,-0.16221127,-0.9807853,0.108386315,-0.8154926,-0.19509017,0.5448947,-0.46193945,1.4548253,0.30865818,-0.7681775,-0.38268328,0.51327986,-0.60713834,1.218054,0.4056769,-0.69134116,-0.5555702,0.46193948,-0.69134116,0.9541089,0.46193948,-0.5132797,1.4548253,0.21260741,-0.674616,1.218054,0.27943507,-0.8535531,-0.38268328,0.35355324,-0.7681771,-0.5555702,0.31818938,-0.7681771,0.9541089,0.31818938,-0.65328115,-0.70710677,0.27059788,-0.85355306,0.57173383,0.3535531,-0.51327956,-0.83146966,0.21260731,-0.9061268,0.2870608,0.3753299,-0.3535531,-0.9238796,0.14644659,-0.9238787,1.1920929E-7,0.38268292,-0.18023974,1.7727537,0.07465783,-0.35355315,1.6647532,0.14644659,-0.18023953,-0.9807853,0.07465778,-0.9061268,-0.19509017,0.3753299,-0.96193904,0.2870608,0.19134142,-0.98078436,1.1920929E-7,0.1950899,-0.19134149,1.7727537,0.0380602,-0.37533003,1.6647532,0.07465779,-0.37532997,-0.9238796,0.0746578,-0.19134127,-0.9807853,0.038060203,-0.96193904,-0.19509017,0.19134142,-0.54489475,1.4548253,0.108386256,-0.9061271,-0.38268328,0.18023978,-0.71616846,1.218054,0.14245468,-0.81549245,-0.5555702,0.1622115,-0.81549245,0.9541089,0.1622115,-0.69351953,-0.70710677,0.13794953,-0.90612704,0.57173383,0.18023965,-0.54489464,-0.83146966,0.10838618,5.4914324E-8,1.7919683,1.810275E-7,3.2584137E-7,-1.0,-0.0,-0.14245461,1.218054,0.71616876,-0.27943498,1.218054,0.67461616,-0.51632863,1.218054,0.5163288,-0.60713834,1.218054,0.4056769,-0.51632875,1.218054,-0.51632917,-0.6071386,1.218054,-0.40567726,0.27943546,1.218054,0.6746163,0.14245507,1.218054,0.7161689,-0.73019946,1.2180539,2.2507152E-9,-0.7161689,1.218054,-0.1424549,4.0411467E-7,1.218054,-0.73019964,0.14245528,1.218054,-0.71616906,0.7161691,1.218054,0.1424549,0.6746165,1.218054,0.2794353,-0.6746163,1.218054,-0.27943537,0.40567756,1.218054,-0.60713875,0.5163294,1.218054,-0.516329,-0.4056768,1.218054,-0.6071389,-0.27943492,1.218054,-0.6746166,-0.4056768,1.218054,0.6071385,0.67461663,1.218054,-0.2794352,0.71616924,1.218054,-0.14245479,0.4056773,1.218054,0.60713863,2.1946104E-7,1.218054,0.7301994,0.5163292,1.218054,0.516329,-0.14245449,1.218054,-0.7161691,-0.674616,1.218054,0.27943507,0.2794357,1.218054,-0.6746164,-0.71616846,1.218054,0.14245468,0.6071389,1.218054,0.40567714,0.73019975,1.218054,6.3801934E-8,0.60713905,1.218054,-0.40567705,0.7549803,0.36030376,1.2344189,0.7549803,0.545714,1.2344189,0.6421454,0.545714,1.2710812,0.64214563,0.36030376,1.271081,-0.90425014,0.54571396,0.98732716,-0.87958324,0.545714,0.8712782,-0.7800238,0.695714,0.915605,-0.7952688,0.695714,0.98732716,-0.90425014,0.36030376,0.98732716,-0.8795831,0.36030376,0.8712783,-0.7952688,0.21030378,0.98732716,-0.7800237,0.21030378,0.915605,0.7004895,0.695714,1.1400383,0.630754,0.695714,1.1626968,-0.73692465,0.21030378,0.85628426,-0.8098475,0.36030376,0.7752953,0.7004895,0.21030378,1.1400383,0.630754,0.21030378,1.1626968,0.843148,0.36030376,1.1550322,0.843148,0.545714,1.1550324,-0.8098475,0.545714,0.7752953,-0.73692465,0.695714,0.85628426,-0.67342377,0.21030378,0.81962204,-0.70710087,0.36030376,0.7159746,0.7549803,0.695714,1.0909746,0.7549803,0.21030378,1.0909746,-0.707101,0.545714,0.71597457,-0.67342377,0.695714,0.81962204,-0.60050106,0.21030378,0.81195754,-0.5891094,0.36030376,0.7035732,0.8914039,0.36030376,1.0466479,0.8914039,0.545714,1.046648,0.7848041,0.695714,1.0239894,-0.5891094,0.545714,0.70357317,-0.60050106,0.695714,0.81195754,-0.5307653,0.21030378,0.83461607,-0.47627473,0.36030376,0.74023545,0.7848041,0.21030378,1.0239894,0.8914039,0.36030376,0.9280065,0.8914039,0.545714,0.9280065,-0.47627473,0.545714,0.7402354,-0.5307653,0.695714,0.83461607,-0.47627473,0.21030378,0.88367975,-0.38810682,0.36030376,0.8196221,0.7848041,0.695714,0.95066494,0.7848041,0.21030378,0.95066494,-0.38810682,0.545714,0.8196221,-0.47627473,0.695714,0.8836797,-0.44645095,0.21030378,0.95066494,-0.33985114,0.36030376,0.9280065,0.84314823,0.36030376,0.8196221,0.84314823,0.545714,0.8196221,0.7549803,0.695714,0.8836797,-0.33985114,0.545714,0.9280065,-0.44645095,0.695714,0.95066494,-0.44645095,0.21030378,1.0239894,-0.33985114,0.36030376,1.0466479,0.7549803,0.21030378,0.88367975,0.7549803,0.36030376,0.74023545,0.7549803,0.545714,0.7402354,-0.33985114,0.545714,1.046648,-0.44645095,0.695714,1.0239894,-0.47627473,0.21030378,1.0909746,-0.38810706,0.36030376,1.1550322,0.70048976,0.695714,0.83461607,0.70048976,0.21030378,0.83461607,-0.38810706,0.545714,1.1550324,-0.47627473,0.695714,1.0909746,-0.53076553,0.21030378,1.1400383,-0.47627473,0.36030376,1.2344189,0.64214563,0.36030376,0.7035732,0.64214563,0.545714,0.70357317,0.630754,0.695714,0.81195754,-0.47627473,0.545714,1.2344189,-0.53076553,0.695714,1.1400383,-0.60050106,0.21030378,1.1626968,-0.5891094,0.36030376,1.271081,0.630754,0.21030378,0.81195754,0.5241542,0.36030376,0.7159746,0.5241542,0.545714,0.71597457,-0.58910966,0.545714,1.2710812,-0.60050106,0.695714,1.1626968,-0.673424,0.21030378,1.1550322,-0.707101,0.36030376,1.2586796,0.5578313,0.695714,0.81962204,0.5578313,0.21030378,0.81962204,-0.7071011,0.545714,1.2586796,-0.673424,0.695714,1.1550322,-0.73692477,0.21030378,1.11837,-0.8098475,0.36030376,1.1993589,0.4214077,0.36030376,0.7752953,0.4214077,0.545714,0.7752953,0.4943304,0.695714,0.85628426,-0.8098476,0.545714,1.1993589,-0.73692477,0.695714,1.11837,-0.7800238,0.21030378,1.0590491,-0.8795831,0.36030376,1.1033759,0.4943304,0.21030378,0.85628426,0.35167193,0.36030376,0.8712783,0.3516717,0.545714,0.8712782,-0.87958324,0.545714,1.1033759,-0.7800238,0.695714,1.0590491,0.45123124,0.695714,0.915605,0.45123148,0.21030378,0.915605,0.43598628,0.21030378,0.98732716,0.3270049,0.36030376,0.98732716,0.3270049,0.54571396,0.98732716,0.43598628,0.695714,0.98732716,-0.6189332,0.15300888,0.98732716,-0.6189332,0.7530089,0.98732716,0.5241542,0.36030376,1.2586796,0.55783105,0.21030378,1.1550322,0.55783105,0.695714,1.1550322,0.52415395,0.545714,1.2586796,0.4214077,0.36030376,1.1993589,0.4943304,0.21030378,1.11837,0.4943304,0.695714,1.11837,0.42140746,0.545714,1.1993589,0.35167193,0.36030376,1.1033759,0.45123124,0.21030378,1.0590491,0.45123124,0.695714,1.0590491,0.3516717,0.545714,1.1033759,0.61232185,0.15300888,0.98732716,0.61232185,0.7530089,0.98732716],"triangleCount":1264,"normals":[-0.5597705,-0.82863855,0.0,-0.7101352,-0.70403147,0.0,-0.69649345,-0.70403147,-0.13852352,-0.54899746,-0.82863855,-0.109195225,-0.99133277,0.13113804,0.0,-0.97653127,0.21524705,0.0,-0.9577929,0.21524705,-0.19049653,-0.9722892,0.13113804,-0.1933958,-0.38785973,-0.9216895,0.0,-0.38041323,-0.9216895,-0.075655386,-0.9998779,-0.01556444,0.0,-0.98065126,-0.01556444,-0.19504379,-0.6522416,0.7579882,0.0,-0.31714836,0.9483627,0.0,-0.31104466,0.9483627,-0.06186102,-0.6396985,0.7579882,-0.12723167,-0.20096439,-0.97958314,0.0,-0.19708854,-0.97958314,-0.039185766,-0.98098695,-0.1939146,0.0,-0.9621571,-0.1939146,-0.19138157,-0.78923917,0.6140324,0.0,-0.77407146,0.6140324,-0.15396588,-0.9247413,-0.3805353,0.0,-0.90697956,-0.3805353,-0.1803949,-0.8790246,0.47672963,0.0,-0.86214787,0.47672963,-0.1714835,-0.83333844,-0.55275124,0.0,-0.8173162,-0.55275124,-0.1625721,-0.9551683,0.29602954,0.0,-0.9367962,0.29602954,-0.1863155,-0.602588,0.7579882,-0.24958037,-0.7291787,0.6140324,-0.30201116,-0.9063387,-0.1939146,-0.37540817,-0.85436565,-0.3805353,-0.35389262,-0.81212807,0.47672963,-0.336375,-0.7698904,-0.55275124,-0.31888792,-0.8824427,0.29602954,-0.36552018,-0.6560564,-0.70403147,-0.2717368,-0.9022187,0.21524705,-0.37369916,-0.51713616,-0.82863855,-0.21420942,-0.915891,0.13113804,-0.37937558,-0.35834834,-0.9216895,-0.14841151,-0.92376477,-0.01556444,-0.38261056,-0.2930082,0.9483627,-0.12134159,-0.18564409,-0.97958314,-0.076906644,-0.8119755,0.21524705,-0.54252756,-0.8242744,0.13113804,-0.55076754,-0.46540728,-0.82863855,-0.3109836,-0.32248908,-0.9216895,-0.21549119,-0.83135474,-0.01556444,-0.5554979,-0.26367992,0.9483627,-0.17618336,-0.54231393,0.7579882,-0.36234626,-0.16708884,-0.97958314,-0.111636706,-0.8156682,-0.1939146,-0.54499954,-0.6562395,0.6140324,-0.43848994,-0.76891387,-0.3805353,-0.5137486,-0.7308878,0.47672963,-0.4883572,-0.69289225,-0.55275124,-0.4629658,-0.7941832,0.29602954,-0.53065586,-0.5904416,-0.70403147,-0.39451277,-0.6538896,-0.3805353,-0.6538896,-0.5892514,-0.55275124,-0.5892514,-0.62157047,0.47672963,-0.62157047,-0.67540514,0.29602954,-0.67540514,-0.50212103,-0.70403147,-0.50212103,-0.6905118,0.21524705,-0.6905118,-0.39579454,-0.82863855,-0.39579454,-0.70097965,0.13113804,-0.70097965,-0.27426985,-0.9216895,-0.27426985,-0.7069918,-0.01556444,-0.7069918,-0.22425,0.9483627,-0.22425,-0.4611957,0.7579882,-0.4611957,-0.14209418,-0.97958314,-0.14209418,-0.6936552,-0.1939146,-0.6936552,-0.558092,0.6140324,-0.558092,-0.21549119,-0.9216895,-0.32248908,-0.111636706,-0.97958314,-0.16708884,-0.5554979,-0.01556444,-0.83135474,-0.54499954,-0.1939146,-0.8156682,-0.36234626,0.7579882,-0.54231393,-0.43848994,0.6140324,-0.6562395,-0.5137486,-0.3805353,-0.76891387,-0.4883572,0.47672963,-0.7308878,-0.4629658,-0.55275124,-0.69289225,-0.53065586,0.29602954,-0.7941832,-0.39451277,-0.70403147,-0.5904416,-0.54252756,0.21524705,-0.8119755,-0.3109836,-0.82863855,-0.46540728,-0.55076754,0.13113804,-0.8242744,-0.17618336,0.9483627,-0.26367992,-0.2717368,-0.70403147,-0.6560564,-0.21420942,-0.82863855,-0.51713616,-0.37369916,0.21524705,-0.9022187,-0.37937558,0.13113804,-0.915891,-0.14841151,-0.9216895,-0.35834834,-0.38261056,-0.01556444,-0.92376477,-0.12134159,0.9483627,-0.2930082,-0.24958037,0.7579882,-0.602588,-0.076906644,-0.97958314,-0.18564409,-0.37540817,-0.1939146,-0.9063387,-0.30201116,0.6140324,-0.7291787,-0.3538621,-0.3805353,-0.85436565,-0.336375,0.47672963,-0.81212807,-0.31888792,-0.55275124,-0.7698904,-0.36552018,0.29602954,-0.8824427,-0.1803949,-0.3805353,-0.90697956,-0.1625721,-0.55275124,-0.8173162,-0.1714835,0.47672963,-0.86214787,-0.1863155,0.29602954,-0.9367962,-0.13852352,-0.70403147,-0.69649345,-0.19049653,0.21524705,-0.9577929,-0.109195225,-0.82863855,-0.54899746,-0.1933958,0.13113804,-0.9722892,-0.075655386,-0.9216895,-0.38041323,-0.19504379,-0.01556444,-0.98065126,-0.06186102,0.9483627,-0.31104466,-0.12723167,0.7579882,-0.6396985,-0.039185766,-0.97958314,-0.19708854,-0.19138157,-0.1939146,-0.9621571,-0.15396588,0.6140324,-0.77407146,0.0,-0.9216895,-0.38785973,0.0,-0.97958314,-0.20096439,0.0,-0.01556444,-0.9998779,0.0,-0.1939146,-0.98098695,0.0,0.7579882,-0.6522416,0.0,0.6140324,-0.78923917,0.0,-0.3805353,-0.9247413,0.0,0.47672963,-0.8790246,0.0,-0.55275124,-0.83333844,0.0,0.29602954,-0.9551683,0.0,-0.70403147,-0.7101352,0.0,0.21524705,-0.97653127,0.0,-0.82863855,-0.5597705,0.0,0.13113804,-0.99133277,0.0,0.9483627,-0.31714836,0.13852352,-0.70403147,-0.69649345,0.109195225,-0.82863855,-0.54899746,0.19049653,0.21524705,-0.9577929,0.1933958,0.13113804,-0.9722892,0.075655386,-0.9216895,-0.38041323,0.19504379,-0.01556444,-0.98065126,0.06186102,0.9483627,-0.31104466,0.12723167,0.7579882,-0.6396985,0.039185766,-0.97958314,-0.19708854,0.19138157,-0.1939146,-0.9621571,0.15396588,0.6140324,-0.77407146,0.1803949,-0.3805353,-0.90697956,0.1714835,0.47672963,-0.86214787,0.1625721,-0.55275124,-0.8173162,0.1863155,0.29602954,-0.9367962,0.35389262,-0.3805353,-0.85436565,0.31888792,-0.55275124,-0.7698904,0.336375,0.47672963,-0.81212807,0.36552018,0.29602954,-0.8824427,0.2717368,-0.70403147,-0.6560564,0.37369916,0.21524705,-0.9022187,0.21420942,-0.82863855,-0.51713616,0.37937558,0.13113804,-0.915891,0.14841151,-0.9216895,-0.35834834,0.38261056,-0.01556444,-0.92376477,0.12134159,0.9483627,-0.2930082,0.24958037,0.7579882,-0.602588,0.076906644,-0.97958314,-0.18564409,0.37540817,-0.1939146,-0.9063387,0.30201116,0.6140324,-0.7291787,0.17618336,0.9483627,-0.26367992,0.36234626,0.7579882,-0.54231393,0.21549119,-0.9216895,-0.32248908,0.111636706,-0.97958314,-0.16708884,0.5554979,-0.01556444,-0.83135474,0.54499954,-0.1939146,-0.8156682,0.43848994,0.6140324,-0.6562395,0.5137486,-0.3805353,-0.76891387,0.4883572,0.47672963,-0.7308878,0.4629658,-0.55275124,-0.69289225,0.53065586,0.29602954,-0.7941832,0.39451277,-0.70403147,-0.5904416,0.54252756,0.21524705,-0.8119755,0.3109836,-0.82863855,-0.46540728,0.55076754,0.13113804,-0.8242744,0.67540514,0.29602954,-0.67540514,0.6905118,0.21524705,-0.6905118,0.50212103,-0.70403147,-0.50212103,0.39579454,-0.82863855,-0.39579454,0.70097965,0.13113804,-0.70097965,0.27426985,-0.9216895,-0.27426985,0.7069918,-0.01556444,-0.7069918,0.22425,0.9483627,-0.22425,0.4611957,0.7579882,-0.4611957,0.14209418,-0.97958314,-0.14209418,0.6936552,-0.1939146,-0.6936552,0.558092,0.6140324,-0.558092,0.6538896,-0.3805353,-0.6538896,0.62157047,0.47672963,-0.62157047,0.5892514,-0.55275124,-0.5892514,0.8156682,-0.1939146,-0.54499954,0.76891387,-0.3805353,-0.5137486,0.6562395,0.6140324,-0.43848994,0.7308878,0.47672963,-0.4883572,0.69289225,-0.55275124,-0.4629658,0.7941832,0.29602954,-0.53065586,0.5904416,-0.70403147,-0.39451277,0.8119755,0.21524705,-0.54252756,0.46540728,-0.82863855,-0.3109836,0.8242744,0.13113804,-0.55076754,0.32248908,-0.9216895,-0.21549119,0.83135474,-0.01556444,-0.5554979,0.26367992,0.9483627,-0.17618336,0.54231393,0.7579882,-0.36234626,0.16708884,-0.97958314,-0.111636706,0.51713616,-0.82863855,-0.21420942,0.35834834,-0.9216895,-0.14841151,0.915891,0.13113804,-0.37937558,0.92376477,-0.01556444,-0.38261056,0.2930082,0.9483627,-0.12134159,0.602588,0.7579882,-0.24958037,0.18564409,-0.97958314,-0.076906644,0.9063387,-0.1939146,-0.37540817,0.7291787,0.6140324,-0.30201116,0.85436565,-0.3805353,-0.3538621,0.81212807,0.47672963,-0.336375,0.7698904,-0.55275124,-0.31888792,0.8824427,0.29602954,-0.36552018,0.6560564,-0.70403147,-0.2717368,0.9022187,0.21524705,-0.37369916,0.8173162,-0.55275124,-0.1625721,0.69649345,-0.70403147,-0.13852352,0.9367962,0.29602954,-0.1863155,0.9577929,0.21524705,-0.19049653,0.54899746,-0.82863855,-0.109195225,0.9722892,0.13113804,-0.1933958,0.38041323,-0.9216895,-0.075655386,0.98065126,-0.01556444,-0.19504379,0.31104466,0.9483627,-0.06186102,0.6396985,0.7579882,-0.12723167,0.19708854,-0.97958314,-0.039185766,0.9621571,-0.1939146,-0.19138157,0.77407146,0.6140324,-0.15396588,0.90697956,-0.3805353,-0.1803949,0.86214787,0.47672963,-0.1714835,0.98098695,-0.1939146,0.0,0.9247413,-0.3805353,0.0,0.78923917,0.6140324,0.0,0.8790246,0.47672963,0.0,0.83333844,-0.55275124,0.0,0.9551683,0.29602954,0.0,0.7101352,-0.70403147,0.0,0.97653127,0.21524705,0.0,0.5597705,-0.82863855,0.0,0.99133277,0.13113804,0.0,0.38785973,-0.9216895,0.0,0.9998779,-0.01556444,0.0,0.31714836,0.9483627,0.0,0.6522416,0.7579882,0.0,0.20096439,-0.97958314,0.0,0.54899746,-0.82863855,0.109195225,0.38041323,-0.9216895,0.075655386,0.9722892,0.13113804,0.1933958,0.98065126,-0.01556444,0.19504379,0.31104466,0.9483627,0.06186102,0.6396985,0.7579882,0.12723167,0.19708854,-0.97958314,0.039185766,0.9621571,-0.1939146,0.19138157,0.77407146,0.6140324,0.15396588,0.90697956,-0.3805353,0.1803949,0.86214787,0.47672963,0.1714835,0.8173162,-0.55275124,0.1625721,0.9367962,0.29602954,0.1863155,0.69649345,-0.70403147,0.13852352,0.9577929,0.21524705,0.19049653,0.7698904,-0.55275124,0.31888792,0.6560564,-0.70403147,0.2717368,0.8824427,0.29602954,0.36552018,0.9022187,0.21524705,0.37369916,0.51713616,-0.82863855,0.21420942,0.915891,0.13113804,0.37937558,0.35834834,-0.9216895,0.14841151,0.92376477,-0.01556444,0.38261056,0.2930082,0.9483627,0.12134159,0.602588,0.7579882,0.24958037,0.18564409,-0.97958314,0.076906644,0.9063387,-0.1939146,0.37540817,0.7291787,0.6140324,0.30201116,0.85436565,-0.3805353,0.35389262,0.81212807,0.47672963,0.336375,0.8156682,-0.1939146,0.54499954,0.76891387,-0.3805353,0.5137486,0.6562395,0.6140324,0.43848994,0.7308878,0.47672963,0.4883572,0.69289225,-0.55275124,0.4629658,0.7941832,0.29602954,0.53065586,0.5904416,-0.70403147,0.39451277,0.8119755,0.21524705,0.54252756,0.46540728,-0.82863855,0.3109836,0.8242744,0.13113804,0.55076754,0.32248908,-0.9216895,0.21549119,0.83135474,-0.01556444,0.5554979,0.26367992,0.9483627,0.17618336,0.54231393,0.7579882,0.36234626,0.16708884,-0.97958314,0.111636706,0.39579454,-0.82863855,0.39579454,0.27426985,-0.9216895,0.27426985,0.70097965,0.13113804,0.70097965,0.7069918,-0.01556444,0.7069918,0.22425,0.9483627,0.22425,0.4611957,0.7579882,0.4611957,0.14209418,-0.97958314,0.14209418,0.6936552,-0.1939146,0.6936552,0.558092,0.6140324,0.558092,0.6538896,-0.3805353,0.6538896,0.62157047,0.47672963,0.62157047,0.5892514,-0.55275124,0.5892514,0.67540514,0.29602954,0.67540514,0.50212103,-0.70403147,0.50212103,0.6905118,0.21524705,0.6905118,0.4883572,0.47672963,0.7308878,0.53065586,0.29602954,0.7941832,0.4629658,-0.55275124,0.69289225,0.39451277,-0.70403147,0.5904416,0.54252756,0.21524705,0.8119755,0.3109836,-0.82863855,0.46540728,0.55076754,0.13113804,0.8242744,0.21549119,-0.9216895,0.32248908,0.5554979,-0.01556444,0.83135474,0.17618336,0.9483627,0.26367992,0.36234626,0.7579882,0.54231393,0.111636706,-0.97958314,0.16708884,0.54499954,-0.1939146,0.8156682,0.43848994,0.6140324,0.6562395,0.5137486,-0.3805353,0.76891387,0.38261056,-0.01556444,0.92376477,0.37540817,-0.1939146,0.9063387,0.24958037,0.7579882,0.602588,0.30201116,0.6140324,0.7291787,0.3538621,-0.3805353,0.85436565,0.336375,0.47672963,0.81212807,0.31888792,-0.55275124,0.7698904,0.36552018,0.29602954,0.8824427,0.2717368,-0.70403147,0.6560564,0.37369916,0.21524705,0.9022187,0.21420942,-0.82863855,0.51713616,0.37937558,0.13113804,0.915891,0.14841151,-0.9216895,0.35834834,0.12134159,0.9483627,0.2930082,0.076906644,-0.97958314,0.18564409,0.13852352,-0.70403147,0.69649345,0.109195225,-0.82863855,0.54899746,0.19049653,0.21524705,0.9577929,0.1933958,0.13113804,0.9722892,0.075655386,-0.9216895,0.38041323,0.19504379,-0.01556444,0.98065126,0.06186102,0.9483627,0.31104466,0.12723167,0.7579882,0.6396985,0.039185766,-0.97958314,0.19708854,0.19138157,-0.1939146,0.9621571,0.15396588,0.6140324,0.77407146,0.1803949,-0.3805353,0.90697956,0.1714835,0.47672963,0.86214787,0.1625721,-0.55275124,0.8173162,0.1863155,0.29602954,0.9367962,0.0,-0.3805353,0.9247413,0.0,-0.55275124,0.83333844,0.0,0.47672963,0.8790246,0.0,0.29602954,0.9551683,0.0,-0.70403147,0.7101352,0.0,0.21524705,0.97653127,0.0,-0.82863855,0.5597705,0.0,0.13113804,0.99133277,0.0,-0.9216895,0.38785973,0.0,-0.01556444,0.9998779,0.0,0.9483627,0.31714836,0.0,0.7579882,0.6522416,0.0,-0.97958314,0.20096439,0.0,-0.1939146,0.98098695,0.0,0.6140324,0.78923917,-0.075655386,-0.9216895,0.38041323,-0.039185766,-0.97958314,0.19708854,-0.19504379,-0.01556444,0.98065126,-0.19138157,-0.1939146,0.9621571,-0.12723167,0.7579882,0.6396985,-0.15396588,0.6140324,0.77407146,-0.1803949,-0.3805353,0.90697956,-0.1714835,0.47672963,0.86214787,-0.1625721,-0.55275124,0.8173162,-0.1863155,0.29602954,0.9367962,-0.13852352,-0.70403147,0.69649345,-0.19049653,0.21524705,0.9577929,-0.109195225,-0.82863855,0.54899746,-0.1933958,0.13113804,0.9722892,-0.06186102,0.9483627,0.31104466,-0.2717368,-0.70403147,0.6560564,-0.21420942,-0.82863855,0.51713616,-0.37369916,0.21524705,0.9022187,-0.37937558,0.13113804,0.915891,-0.14841151,-0.9216895,0.35834834,-0.38261056,-0.01556444,0.92376477,-0.12134159,0.9483627,0.2930082,-0.24958037,0.7579882,0.602588,-0.076906644,-0.97958314,0.18564409,-0.37540817,-0.1939146,0.9063387,-0.30201116,0.6140324,0.7291787,-0.35389262,-0.3805353,0.85436565,-0.336375,0.47672963,0.81212807,-0.31888792,-0.55275124,0.7698904,-0.36552018,0.29602954,0.8824427,-0.5137486,-0.3805353,0.76891387,-0.4629658,-0.55275124,0.69289225,-0.4883572,0.47672963,0.7308878,-0.53065586,0.29602954,0.7941832,-0.39451277,-0.70403147,0.5904416,-0.54252756,0.21524705,0.8119755,-0.3109836,-0.82863855,0.46540728,-0.55076754,0.13113804,0.8242744,-0.21549119,-0.9216895,0.32248908,-0.5554979,-0.01556444,0.83135474,-0.17618336,0.9483627,0.26367992,-0.36234626,0.7579882,0.54231393,-0.111636706,-0.97958314,0.16708884,-0.54499954,-0.1939146,0.8156682,-0.43848994,0.6140324,0.6562395,-0.27426985,-0.9216895,0.27426985,-0.14209418,-0.97958314,0.14209418,-0.7069918,-0.01556444,0.7069918,-0.6936552,-0.1939146,0.6936552,-0.4611957,0.7579882,0.4611957,-0.558092,0.6140324,0.558092,-0.6538896,-0.3805353,0.6538896,-0.62157047,0.47672963,0.62157047,-0.5892514,-0.55275124,0.5892514,-0.67540514,0.29602954,0.67540514,-0.50212103,-0.70403147,0.50212103,-0.6905118,0.21524705,0.6905118,-0.39579454,-0.82863855,0.39579454,-0.70097965,0.13113804,0.70097965,-0.22425,0.9483627,0.22425,-0.5904416,-0.70403147,0.39451277,-0.46540728,-0.82863855,0.3109836,-0.8119755,0.21524705,0.54252756,-0.8242744,0.13113804,0.55076754,-0.32248908,-0.9216895,0.21549119,-0.83135474,-0.01556444,0.5554979,-0.26367992,0.9483627,0.17618336,-0.54231393,0.7579882,0.36234626,-0.16708884,-0.97958314,0.111636706,-0.8156682,-0.1939146,0.54499954,-0.6562395,0.6140324,0.43848994,-0.76891387,-0.3805353,0.5137486,-0.7308878,0.47672963,0.4883572,-0.69289225,-0.55275124,0.4629658,-0.7941832,0.29602954,0.53065586,-0.7291787,0.6140324,0.30201116,-0.81212807,0.47672963,0.336375,-0.85436565,-0.3805353,0.3538621,-0.7698904,-0.55275124,0.31888792,-0.8824427,0.29602954,0.36552018,-0.6560564,-0.70403147,0.2717368,-0.9022187,0.21524705,0.37369916,-0.51713616,-0.82863855,0.21420942,-0.915891,0.13113804,0.37937558,-0.35834834,-0.9216895,0.14841151,-0.92376477,-0.01556444,0.38261056,-0.2930082,0.9483627,0.12134159,-0.602588,0.7579882,0.24958037,-0.18564409,-0.97958314,0.076906644,-0.9063387,-0.1939146,0.37540817,-0.9722892,0.13113804,0.1933958,-0.98065126,-0.01556444,0.19504379,-0.31104466,0.9483627,0.06186102,-0.6396985,0.7579882,0.12723167,-0.38041323,-0.9216895,0.075655386,-0.19708854,-0.97958314,0.039185766,-0.9621571,-0.1939146,0.19138157,-0.77407146,0.6140324,0.15396588,-0.90697956,-0.3805353,0.1803949,-0.86214787,0.47672963,0.1714835,-0.8173162,-0.55275124,0.1625721,-0.9367962,0.29602954,0.18634602,-0.69649345,-0.70403147,0.13852352,-0.9577929,0.21524705,0.19049653,-0.54899746,-0.82863855,0.109195225,0.0,1.0,0.0,0.0,-1.0,0.0,-0.100283824,0.85766166,0.50428784,-0.19675283,0.85766166,0.4750206,-0.363567,0.85766166,0.363567,-0.4275033,0.85766166,0.28565326,-0.363567,0.85766166,-0.363567,-0.4275033,0.85766166,-0.28565326,0.19675283,0.85766166,0.4750206,0.100283824,0.85766166,0.50428784,-0.5141453,0.85766166,0.0,-0.50428784,0.85766166,-0.100283824,0.0,0.85766166,-0.5141453,0.100283824,0.85766166,-0.50428784,0.50428784,0.85766166,0.100283824,0.4750206,0.85766166,0.19675283,-0.4750206,0.85766166,-0.19675283,0.28565326,0.85766166,-0.4275033,0.363567,0.85766166,-0.363567,-0.28565326,0.85766166,-0.4275033,-0.19675283,0.85766166,-0.4750206,-0.28565326,0.85766166,0.4275033,0.4750206,0.85766166,-0.19675283,0.50428784,0.85766166,-0.100283824,0.28565326,0.85766166,0.4275033,0.0,0.85766166,0.5141453,0.363567,0.85766166,0.363567,-0.100283824,0.85766166,-0.50428784,-0.4750206,0.85766166,0.19675283,0.19675283,0.85766166,-0.4750206,-0.50428784,0.85766166,0.100283824,0.4275033,0.85766166,0.28565326,0.5141453,0.85766166,0.0,0.4275033,0.85766166,-0.28565326,0.47734,-0.2976165,0.8267769,0.47734,0.297586,0.8267769,0.09976501,0.297586,0.9494308,0.09976501,-0.2976165,0.9494308,0.95468,-0.297586,0.0,0.8721275,-0.297586,0.388287,0.5603809,-0.78972745,0.24948882,0.61342204,-0.78972745,0.0,0.95468,0.2976165,0.0,0.8721275,0.2976165,0.388287,0.61342204,0.78972745,0.0,0.5603809,0.78972745,0.24948882,0.30671102,0.78972745,0.5312357,0.06411939,0.78972745,0.610065,0.41044343,0.78972745,0.45585498,0.6387829,0.2976165,0.7094638,0.30671102,-0.78972745,0.5312357,0.06411939,-0.78972745,0.610065,0.7723319,-0.2976165,0.5611438,0.7723319,0.297586,0.5611438,0.6387829,-0.2976165,0.7094638,0.41044343,-0.78972745,0.45585498,0.18955046,0.78972745,0.58339185,0.2949919,0.2976165,0.9079562,0.49626148,0.78972745,0.36054567,0.49626148,-0.78972745,0.36054567,0.2949919,-0.297586,0.9079562,0.18955046,-0.78972745,0.58339185,-0.06411939,0.78972745,0.610065,-0.09976501,0.2976165,0.9494308,0.93380535,-0.2976165,0.19846186,0.93380535,0.297586,0.19846186,0.6000244,0.78972745,0.12753685,-0.09976501,-0.297586,0.9494308,-0.06411939,-0.78972745,0.610065,-0.30671102,0.78972745,0.5312357,-0.47734,0.2976165,0.8267769,0.6000244,-0.78972745,0.12753685,0.93380535,-0.2976165,-0.19846186,0.93380535,0.2976165,-0.19846186,-0.47734,-0.297586,0.8267769,-0.30671102,-0.78972745,0.5312357,-0.49626148,0.78972745,0.36054567,-0.7723319,0.2976165,0.5611438,0.6000244,0.78972745,-0.12753685,0.6000244,-0.78972745,-0.12753685,-0.7723319,-0.2976165,0.5611438,-0.49626148,-0.78972745,0.36054567,-0.6000244,0.78972745,0.12753685,-0.93380535,0.2976165,0.19846186,0.7723319,-0.2976165,-0.5611438,0.7723319,0.2976165,-0.5611438,0.49626148,0.78972745,-0.36054567,-0.93380535,-0.2976165,0.19846186,-0.6000244,-0.78972745,0.12753685,-0.6000244,0.78972745,-0.12753685,-0.93380535,0.297586,-0.19846186,0.49626148,-0.78972745,-0.36054567,0.47734,-0.2976165,-0.8267769,0.47734,0.297586,-0.8267769,-0.93380535,-0.297586,-0.19846186,-0.6000244,-0.78972745,-0.12753685,-0.49626148,0.78972745,-0.36054567,-0.7723319,0.2976165,-0.5611438,0.30671102,0.78972745,-0.5312357,0.30671102,-0.78972745,-0.5312357,-0.7723319,-0.297586,-0.5611438,-0.49626148,-0.78972745,-0.36054567,-0.30671102,0.78972745,-0.5312357,-0.47734,0.2976165,-0.8267769,0.09976501,-0.2976165,-0.9494308,0.09976501,0.297586,-0.9494308,0.06411939,0.78972745,-0.610065,-0.47734,-0.297586,-0.8267769,-0.30671102,-0.78972745,-0.5312357,-0.06411939,0.78972745,-0.610065,-0.09976501,0.2976165,-0.9494308,0.06411939,-0.78972745,-0.610065,-0.2949919,-0.2976165,-0.9079562,-0.2949919,0.297586,-0.9079562,-0.09976501,-0.297586,-0.9494308,-0.06411939,-0.78972745,-0.610065,0.18955046,0.78972745,-0.58339185,0.2949919,0.2976165,-0.9079562,-0.18955046,0.78972745,-0.58339185,-0.18955046,-0.78972745,-0.58339185,0.2949919,-0.297586,-0.9079562,0.18955046,-0.78972745,-0.58339185,0.41044343,0.78972745,-0.45585498,0.6387829,0.2976165,-0.7094638,-0.6387829,-0.2976165,-0.7094638,-0.6387829,0.297586,-0.7094638,-0.41044343,0.78972745,-0.45585498,0.6387829,-0.297586,-0.7094638,0.41044343,-0.78972745,-0.45585498,0.5603809,0.78972745,-0.24948882,0.8721275,0.2976165,-0.388287,-0.41044343,-0.78972745,-0.45585498,-0.8721275,-0.2976165,-0.388287,-0.8721275,0.297586,-0.388287,0.8721275,-0.297586,-0.388287,0.5603809,-0.78972745,-0.24948882,-0.5603809,0.78972745,-0.24948882,-0.5603809,-0.78972745,-0.24948882,-0.61342204,-0.78972745,0.0,-0.95468,-0.2976165,0.0,-0.95468,0.297586,0.0,-0.61342204,0.78972745,0.0,0.0,1.0,0.0,0.0,-1.0,0.0,-0.2949919,-0.2976165,0.9079562,-0.18955046,-0.78972745,0.58339185,-0.18955046,0.78972745,0.58339185,-0.2949919,0.297586,0.9079562,-0.6387829,-0.2976165,0.7094638,-0.41044343,-0.78972745,0.45585498,-0.41044343,0.78972745,0.45585498,-0.6387829,0.297586,0.7094638,-0.8721275,-0.2976165,0.388287,-0.5603809,-0.78972745,0.24948882,-0.5603809,0.78972745,0.24948882,-0.8721275,0.297586,0.388287,0.0,-1.0,0.0,0.0,1.0,0.0],"vertexCount":638}],"animations":{"die":{"name":"die","length":1.16,"tracks":[{"times":[0.0,0.04,0.08,0.12,0.16,0.19999999,0.24,0.28,0.32,0.35999998,0.39999998,0.44,0.48,0.52,0.56,0.59999996,0.64,0.68,0.71999997,0.76,0.79999995,0.84,0.88,0.91999996,0.96,1.0,1.04,1.0799999,1.12,1.16],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0018678,1.0018678,0.9967206,1.0072886,1.0072886,0.9872021,1.0159894,1.0159894,0.97192484,1.0276968,1.0276968,0.95136833,1.0421373,1.0421373,0.9260126,1.0590378,1.0590378,0.8963377,1.078125,1.078125,0.8628235,1.0991255,1.0991255,0.8259499,1.1217659,1.1217659,0.78619677,1.1457726,1.1457726,0.7440437,1.1708728,1.1708728,0.6999714,1.196793,1.196793,0.65445906,1.2232598,1.2232598,0.60798705,1.25,1.25,0.56103516,1.2767402,1.2767402,0.5140832,1.3032069,1.3032069,0.46761113,1.3291271,1.3291271,0.4220989,1.3542274,1.3542274,0.3780265,1.3782344,1.3782344,0.33587372,1.4008746,1.4008746,0.29612046,1.421875,1.421875,0.25924683,1.4409621,1.4409621,0.22573258,1.4578626,1.4578626,0.19605763,1.4723032,1.4723032,0.17070198,1.4840106,1.4840106,0.15014552,1.4927113,1.4927113,0.13486814,1.4981322,1.4981322,0.12534975,1.5,1.5,0.12207031],"boneIndex":1,"rotations":[0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0]},{"times":[0.0,0.04],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":2,"rotations":[0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0]},{"times":[0.0,0.04],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":3,"rotations":[0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0]},{"times":[0.0,0.04],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":4,"rotations":[0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0]},{"times":[0.0,0.04],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":5,"rotations":[0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0]}]},"leftHand":{"name":"leftHand","length":0.79999995,"tracks":[{"times":[0.0,0.04],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":2,"rotations":[0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0]},{"times":[0.0,0.04],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0496439,1.0,1.0,1.0496439],"boneIndex":3,"rotations":[0.034853928,4.876054E-10,3.427996E-9,0.993861,0.034853928,4.876054E-10,3.427996E-9,0.993861]},{"times":[0.0,0.04],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":4,"rotations":[0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0]},{"times":[0.0,0.04,0.08,0.12,0.16,0.19999999,0.24,0.28,0.32,0.35999998,0.39999998,0.44,0.48,0.52,0.56,0.59999996,0.64,0.68,0.71999997,0.76,0.79999995],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0164436,1.0,1.0,1.0605121,0.9999999,0.9999999,1.1243126,1.0,1.0,1.199953,1.0,1.0,1.2795393,1.0,1.0,1.3551793,0.99999994,0.99999994,1.4189801,1.0,1.0,1.4630486,1.0,1.0,1.4794922,0.9999999,0.9999999,1.4660664,1.0,1.0,1.4296252,1.0,1.0,1.3759218,1.0000001,1.0000001,1.310711,1.0,1.0,1.2397461,0.99999994,0.99999994,1.1687812,0.99999994,0.99999994,1.1035702,1.0,1.0,1.0498672,1.0,1.0,1.0134258,1.0,1.0,1.0],"boneIndex":5,"rotations":[0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0]}]},"rightHand":{"name":"rightHand","length":1.16,"tracks":[{"times":[0.0,0.04,0.08,0.12,0.16,0.19999999,0.24,0.28,0.32,0.35999998,0.39999998,0.44,0.48,0.52,0.56,0.59999996,0.64,0.68,0.71999997,0.76,0.79999995,0.84,0.88,0.91999996,0.96,1.0,1.04,1.0799999,1.12,1.16],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0000001,1.0000001,1.0000001,0.99999994,0.99999994,0.99999994,1.0,1.0,1.0,1.0,1.0,1.0,0.99999994,0.99999994,0.99999994,0.9999999,0.9999999,0.9999999,1.0,1.0,1.0,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,0.9999999,0.9999999,0.9999999,1.0,1.0,1.0,0.9999999,0.9999999,0.9999999,0.99999994,0.99999994,0.99999994,1.0,1.0,1.0,0.99999994,0.99999994,0.99999994,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.99999994,0.99999994,0.99999994,1.0,1.0,1.0,0.99999994,0.99999994,0.99999994,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":2,"rotations":[0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0000001,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0000001,0.0,0.0,-0.0,1.0000001,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0]},{"times":[0.0,0.04,0.08,0.12,0.16,0.19999999,0.24,0.28,0.32,0.35999998,0.39999998,0.44,0.48,0.52,0.56,0.59999996,0.64,0.68,0.71999997,0.76,0.79999995,0.84,0.88,0.91999996,0.96,1.0,1.04,1.0799999,1.12,1.16],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.007208,0.99999994,0.99999994,1.0279307,1.0,1.0,1.0608169,1.0,1.0,1.104515,0.99999994,0.99999994,1.1576734,1.0000001,1.0000001,1.218941,0.99999994,0.99999994,1.2869655,1.0,1.0,1.3603964,1.0000001,1.0000001,1.4378817,0.9999999,0.9999999,1.5180696,1.0,1.0,1.5996094,1.0,1.0,1.6811491,1.0,1.0,1.7613372,1.0,1.0,1.8388224,0.99999994,0.99999994,1.9122531,1.0,1.0,1.980278,1.0,1.0,2.0415454,1.0,1.0,2.094704,1.0,1.0,2.138402,1.0,1.0,2.1712883,1.0,1.0,2.1920109,1.0,1.0,2.1992188,0.9999999,0.9999999,2.1103876,0.9999999,0.9999999,1.8883098,1.0,1.0,1.5996094,1.0,1.0,1.3109086,1.0,1.0,1.088831,1.0,1.0,1.0],"boneIndex":3,"rotations":[0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0049818316,6.971521E-11,4.9011656E-10,0.9991222,0.018930962,2.649178E-10,1.8624431E-9,0.99666476,0.040352836,5.646931E-10,3.969944E-9,0.9928905,0.06775292,9.481269E-10,6.6655854E-9,0.9880634,0.09963664,1.394304E-9,9.80233E-9,0.98244584,0.13450944,1.8823105E-9,1.3233146E-8,0.9763019,0.17087683,2.3912314E-9,1.6810997E-8,0.9698948,0.20724422,2.9001526E-9,2.0388848E-8,0.9634876,0.242117,3.388159E-9,2.3819663E-8,0.95734364,0.27400073,3.8343364E-9,2.6956409E-8,0.9517263,0.3014008,4.2177692E-9,2.9652048E-8,0.94689894,0.3228227,4.5175454E-9,3.175955E-8,0.94312483,0.3367718,4.7127475E-9,3.3131876E-8,0.9406673,0.34175366,4.782463E-9,3.3621994E-8,0.9397896,0.31427062,4.7824624E-9,3.3621994E-8,0.93978965,0.24181533,4.7824633E-9,3.3621994E-8,0.93978953,0.13937856,4.7824633E-9,3.3621994E-8,0.93978965,0.02195105,4.7824633E-9,3.3621994E-8,0.93978965,-0.09547648,4.7824633E-9,3.3621994E-8,0.9397896,-0.19791324,4.7824633E-9,3.3621994E-8,0.9397896,-0.27036852,4.782463E-9,3.3621994E-8,0.93978965,-0.29785156,4.782463E-9,3.3621994E-8,0.9397896,-0.27578846,4.782463E-9,3.3621994E-8,0.93978953,-0.22063076,4.7824624E-9,3.362199E-8,0.93978953,-0.14892578,4.7824633E-9,3.3621994E-8,0.93978965,-0.07722077,4.7824633E-9,3.3621994E-8,0.93978965,-0.022063082,4.782463E-9,3.3621994E-8,0.93978953,0.0,4.782463E-9,3.3621994E-8,0.9397896]},{"times":[0.0,0.04,0.08,0.12,0.16,0.19999999,0.24,0.28,0.32,0.35999998,0.39999998,0.44,0.48,0.52,0.56,0.59999996,0.64,0.68,0.71999997,0.76,0.79999995,0.84,0.88,0.91999996,0.96,1.0,1.04,1.0799999,1.12,1.16],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0000001,1.0000001,1.0000001,0.99999994,0.99999994,0.99999994,1.0,1.0,1.0,1.0,1.0,1.0,0.99999994,0.99999994,0.99999994,0.9999999,0.9999999,0.9999999,1.0,1.0,1.0,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,0.9999999,0.9999999,0.9999999,1.0,1.0,1.0,0.9999999,0.9999999,0.9999999,0.99999994,0.99999994,0.99999994,1.0,1.0,1.0,0.99999994,0.99999994,0.99999994,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.99999994,0.99999994,0.99999994,1.0,1.0,1.0,0.99999994,0.99999994,0.99999994,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":4,"rotations":[0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0000001,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0000001,0.0,0.0,-0.0,1.0000001,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0]},{"times":[0.0,0.04,0.08,0.12,0.16,0.19999999,0.24,0.28,0.32,0.35999998,0.39999998,0.44,0.48,0.52,0.56,0.59999996,0.64,0.68,0.71999997,0.76,0.79999995,0.84,0.88,0.91999996,0.96,1.0,1.04,1.0799999,1.12,1.16],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0000001,1.0000001,1.0000001,0.99999994,0.99999994,0.99999994,1.0,1.0,1.0,1.0,1.0,1.0,0.99999994,0.99999994,0.99999994,0.9999999,0.9999999,0.9999999,1.0,1.0,1.0,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,0.9999999,0.9999999,0.9999999,1.0,1.0,1.0,0.9999999,0.9999999,0.9999999,0.99999994,0.99999994,0.99999994,1.0,1.0,1.0,0.99999994,0.99999994,0.99999994,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.99999994,0.99999994,0.99999994,1.0,1.0,1.0,0.99999994,0.99999994,0.99999994,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":5,"rotations":[0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0000001,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0000001,0.0,0.0,-0.0,1.0000001,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0]}]},"stand":{"name":"stand","length":0.04,"tracks":[{"times":[0.0,0.04],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":2,"rotations":[0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0]},{"times":[0.0,0.04],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":3,"rotations":[0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0]},{"times":[0.0,0.04],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":4,"rotations":[0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0]},{"times":[0.0,0.04],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":5,"rotations":[0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0]}]},"walk":{"name":"walk","length":1.1999999,"tracks":[{"times":[0.0,0.04,0.08,0.12,0.16,0.19999999,0.24,0.28,0.32,0.35999998,0.39999998,0.44,0.48,0.52,0.56,0.59999996,0.64,0.68,0.71999997,0.76,0.79999995,0.84,0.88,0.91999996,0.96,1.0,1.04,1.0799999,1.12,1.16,1.1999999],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.023290757,-1.0244548E-8,0.0,0.08715251,-3.7252903E-8,0.0,0.1825695,-8.195639E-8,0.0,0.3005259,-1.3411045E-7,0.0,0.43200597,-1.937151E-7,0.0,0.56799394,-2.3841858E-7,0.0,0.699474,-2.9802322E-7,0.0,0.8174304,-3.5762787E-7,0.0,0.9128474,-3.874302E-7,0.0,0.9767091,-4.4703484E-7,0.0,0.9999999,-4.4703484E-7,0.0,0.92592573,-4.172325E-7,0.0,0.7407406,-3.2782555E-7,0.0,0.49999994,-2.2351742E-7,0.0,0.2592592,-1.1920929E-7,0.0,0.07407409,-3.3527613E-8,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0000001,1.0000001,0.99016213,0.9999999,0.9999999,0.96296287,1.0,1.0,0.921875,0.9999999,0.9999999,0.87037027,1.0000001,1.0000001,0.81192136,1.0,1.0,0.75,1.0,1.0,0.68807876,1.0,1.0,0.6296296,1.0,1.0,0.578125,1.0,1.0,0.537037,1.0,1.0,0.509838,1.0,1.0,0.5,0.9914062,1.0,0.54296875,0.96875,1.0,0.65625,0.93671876,1.0,0.81640625,0.90000004,1.0,1.0,0.86328125,1.0,1.1835938,0.83125,1.0,1.34375,0.80859375,1.0,1.4570312,0.8,1.0,1.5,0.8068588,1.0,1.4828532,0.8252401,1.0,1.4368999,0.8518518,0.9999999,1.3703701,0.88340205,1.0,1.2914952,0.9165981,1.0,1.2085047,0.94814825,1.0,1.1296296,0.97475994,0.99999994,1.0631001,0.9931413,1.0,1.0171468,1.0,1.0,1.0],"boneIndex":1,"rotations":[0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0000001,0.0,0.0,-0.0,1.0000001,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0]},{"times":[0.0,0.04,0.08,0.12,0.16,0.19999999,0.24,0.28,0.32,0.35999998,0.39999998,0.44,0.48,0.52,0.56,0.59999996,0.64,0.68,0.71999997,0.76,0.79999995,0.84,0.88,0.91999996,0.96,1.0,1.04,1.0799999,1.12,1.16,1.1999999],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0000001,1.0000001,1.0000001,0.9999999,0.9999999,0.9999999,1.0,1.0,1.0,0.9999999,0.9999999,0.9999999,1.0000001,1.0000001,1.0000001,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.9999999,0.9999999,0.9999999,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.99999994,0.99999994,0.99999994,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":2,"rotations":[0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0000001,0.0,0.0,-0.0,1.0000001,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0]},{"times":[0.0,0.04,0.08,0.12,0.16,0.19999999,0.24,0.28,0.32,0.35999998,0.39999998,0.44,0.48,0.52,0.56,0.59999996,0.64,0.68,0.71999997,0.76,0.79999995,0.84,0.88,0.91999996,0.96,1.0,1.04,1.0799999,1.12,1.16,1.1999999],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0000001,1.0000001,1.0000001,0.9999999,0.9999999,0.9999999,1.0,1.0,1.0,0.9999999,0.9999999,0.9999999,1.0000001,1.0000001,1.0000001,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.9999999,0.9999999,0.9999999,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.99999994,0.99999994,0.99999994,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":3,"rotations":[0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0000001,0.0,0.0,-0.0,1.0000001,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0]},{"times":[0.0,0.04,0.08,0.12,0.16,0.19999999,0.24,0.28,0.32,0.35999998,0.39999998,0.44,0.48,0.52,0.56,0.59999996,0.64,0.68,0.71999997,0.76,0.79999995,0.84,0.88,0.91999996,0.96,1.0,1.04,1.0799999,1.12,1.16,1.1999999],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0000001,1.0000001,1.0000001,0.9999999,0.9999999,0.9999999,1.0,1.0,1.0,0.9999999,0.9999999,0.9999999,1.0000001,1.0000001,1.0000001,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.9999999,0.9999999,0.9999999,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.99999994,0.99999994,0.99999994,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":4,"rotations":[0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0000001,0.0,0.0,-0.0,1.0000001,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0]},{"times":[0.0,0.04,0.08,0.12,0.16,0.19999999,0.24,0.28,0.32,0.35999998,0.39999998,0.44,0.48,0.52,0.56,0.59999996,0.64,0.68,0.71999997,0.76,0.79999995,0.84,0.88,0.91999996,0.96,1.0,1.04,1.0799999,1.12,1.16,1.1999999],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0000001,1.0000001,1.0000001,0.9999999,0.9999999,0.9999999,1.0,1.0,1.0,0.9999999,0.9999999,0.9999999,1.0000001,1.0000001,1.0000001,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.9999999,0.9999999,0.9999999,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.99999994,0.99999994,0.99999994,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":5,"rotations":[0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0000001,0.0,0.0,-0.0,1.0000001,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0]}]},"jump":{"name":"jump","length":1.1999999,"tracks":[{"times":[0.0,0.04,0.08,0.12,0.16,0.19999999,0.24,0.28,0.32,0.35999998,0.39999998,0.44,0.48,0.52,0.56,0.59999996,0.64,0.68,0.71999997,0.76,0.79999995,0.84,0.88,0.91999996,0.96,1.0,1.04,1.0799999,1.12,1.16,1.1999999],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.023290757,-1.0244548E-8,0.0,0.08715251,-3.7252903E-8,0.0,0.1825695,-8.195639E-8,0.0,0.3005259,-1.3411045E-7,0.0,0.43200597,-1.937151E-7,0.0,0.56799394,-2.3841858E-7,0.0,0.699474,-2.9802322E-7,0.0,0.8174304,-3.5762787E-7,0.0,0.9128474,-3.874302E-7,0.0,0.9767091,-4.4703484E-7,0.0,0.9999999,-4.4703484E-7,0.0,0.92592573,-4.172325E-7,0.0,0.7407406,-3.2782555E-7,0.0,0.49999994,-2.2351742E-7,0.0,0.2592592,-1.1920929E-7,0.0,0.07407409,-3.3527613E-8,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0000001,1.0000001,0.99016213,0.9999999,0.9999999,0.96296287,1.0,1.0,0.921875,0.9999999,0.9999999,0.87037027,1.0000001,1.0000001,0.81192136,1.0,1.0,0.75,1.0,1.0,0.68807876,1.0,1.0,0.6296296,1.0,1.0,0.578125,1.0,1.0,0.537037,1.0,1.0,0.509838,1.0,1.0,0.5,0.9914062,1.0,0.54296875,0.96875,1.0,0.65625,0.93671876,1.0,0.81640625,0.90000004,1.0,1.0,0.86328125,1.0,1.1835938,0.83125,1.0,1.34375,0.80859375,1.0,1.4570312,0.8,1.0,1.5,0.8068588,1.0,1.4828532,0.8252401,1.0,1.4368999,0.8518518,0.9999999,1.3703701,0.88340205,1.0,1.2914952,0.9165981,1.0,1.2085047,0.94814825,1.0,1.1296296,0.97475994,0.99999994,1.0631001,0.9931413,1.0,1.0171468,1.0,1.0,1.0],"boneIndex":1,"rotations":[0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0000001,0.0,0.0,-0.0,1.0000001,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0]},{"times":[0.0,0.04,0.08,0.12,0.16,0.19999999,0.24,0.28,0.32,0.35999998,0.39999998,0.44,0.48,0.52,0.56,0.59999996,0.64,0.68,0.71999997,0.76,0.79999995,0.84,0.88,0.91999996,0.96,1.0,1.04,1.0799999,1.12,1.16,1.1999999],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0000001,1.0000001,1.0000001,0.9999999,0.9999999,0.9999999,1.0,1.0,1.0,0.9999999,0.9999999,0.9999999,1.0000001,1.0000001,1.0000001,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.9999999,0.9999999,0.9999999,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.99999994,0.99999994,0.99999994,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":2,"rotations":[0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0000001,0.0,0.0,-0.0,1.0000001,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0]},{"times":[0.0,0.04,0.08,0.12,0.16,0.19999999,0.24,0.28,0.32,0.35999998,0.39999998,0.44,0.48,0.52,0.56,0.59999996,0.64,0.68,0.71999997,0.76,0.79999995,0.84,0.88,0.91999996,0.96,1.0,1.04,1.0799999,1.12,1.16,1.1999999],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0000001,1.0000001,1.0000001,0.9999999,0.9999999,0.9999999,1.0,1.0,1.0,0.9999999,0.9999999,0.9999999,1.0000001,1.0000001,1.0000001,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.9999999,0.9999999,0.9999999,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.99999994,0.99999994,0.99999994,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":3,"rotations":[0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0000001,0.0,0.0,-0.0,1.0000001,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0]},{"times":[0.0,0.04,0.08,0.12,0.16,0.19999999,0.24,0.28,0.32,0.35999998,0.39999998,0.44,0.48,0.52,0.56,0.59999996,0.64,0.68,0.71999997,0.76,0.79999995,0.84,0.88,0.91999996,0.96,1.0,1.04,1.0799999,1.12,1.16,1.1999999],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0000001,1.0000001,1.0000001,0.9999999,0.9999999,0.9999999,1.0,1.0,1.0,0.9999999,0.9999999,0.9999999,1.0000001,1.0000001,1.0000001,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.9999999,0.9999999,0.9999999,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.99999994,0.99999994,0.99999994,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":4,"rotations":[0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0000001,0.0,0.0,-0.0,1.0000001,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0]},{"times":[0.0,0.04,0.08,0.12,0.16,0.19999999,0.24,0.28,0.32,0.35999998,0.39999998,0.44,0.48,0.52,0.56,0.59999996,0.64,0.68,0.71999997,0.76,0.79999995,0.84,0.88,0.91999996,0.96,1.0,1.04,1.0799999,1.12,1.16,1.1999999],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0000001,1.0000001,1.0000001,0.9999999,0.9999999,0.9999999,1.0,1.0,1.0,0.9999999,0.9999999,0.9999999,1.0000001,1.0000001,1.0000001,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.9999999,0.9999999,0.9999999,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.99999994,0.99999994,0.99999994,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":5,"rotations":[0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0000001,0.0,0.0,-0.0,1.0000001,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,0.99999994,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,0.9999999,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0,0.0,0.0,-0.0,1.0]}]}}} \ No newline at end of file diff --git a/web/public/models/cross.glb b/web/public/models/cross.glb new file mode 100644 index 0000000..396b520 Binary files /dev/null and b/web/public/models/cross.glb differ diff --git a/web/public/models/cross.json b/web/public/models/cross.json new file mode 100644 index 0000000..1dc1a0e --- /dev/null +++ b/web/public/models/cross.json @@ -0,0 +1 @@ +{"skeletons":[{"bones":[{"children":[],"rotation":[0.0,0.0,0.0,1.0],"name":"Bone","scale":[1.0,1.0,1.0],"id":0,"position":[0.0,0.0,0.0]}],"roots":["Bone"]}],"materials":[{"geometryName":"Material","materialDef":"Common/MatDefs/Misc/Unshaded.j3md","name":null,"params":[{"color":[1.0,0.0,0.0,1.0],"name":"Color","type":"Vector4"}]}],"geometries":[{"boneIndices":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"indices":[0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23,24,25,26,24,26,27,28,29,30,28,30,31,32,33,34,32,34,35,36,37,38,36,38,39,40,41,42,40,42,43,7,6,44,7,44,45,46,47,48,46,48,49,50,51,52,50,52,53,54,55,56,54,56,57,58,59,60,58,60,61,62,63,64,62,64,65,66,67,68,66,68,69,70,71,72,70,72,73,74,75,76,74,76,77,78,79,80,78,80,81,82,83,84,82,84,85],"boneWeights":[1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0],"name":"Material","elementCount":132,"positions":[1.0,-1.0,-1.0,1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,-1.0,-1.0,1.0,1.0,-0.999999,-1.0,1.0,-1.0,-1.0,2.76341,-1.0,1.0,2.76341,-0.999999,1.0,-1.0,-1.0,1.0,1.0,-0.999999,0.999999,1.0,1.000001,1.0,-1.0,1.0,1.0,-1.0,1.0,0.999999,1.0,1.000001,-1.0,1.0,1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.0,1.0,-1.0,-1.0,-1.0,-1.0,1.0,1.0,-0.999999,1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,1.0,-1.0,0.999999,2.76341,1.000001,1.0,2.76341,-0.999999,1.0,4.550976,-0.999999,0.999999,4.550976,1.000001,-1.0,1.0,1.0,0.999999,1.0,1.000001,0.999999,2.76341,1.000001,-1.0,2.76341,1.0,-1.0,2.76341,-1.0,-1.0,1.0,-1.0,-2.642629,1.0,-1.0,-2.642629,2.76341,-1.0,1.0,2.76341,-0.999999,0.999999,2.76341,1.000001,2.715097,2.76341,1.000002,2.715098,2.76341,-0.999999,1.0,4.550976,-0.999999,-1.0,4.550976,-1.0,-1.0,4.550976,1.0,0.999999,4.550976,1.000001,-1.0,4.550976,-1.0,1.0,4.550976,-0.999999,-1.0,2.76341,1.0,0.999999,2.76341,1.000001,0.999999,4.550976,1.000001,-1.0,4.550976,1.0,-1.0,2.76341,-1.0,-1.0,2.76341,1.0,-1.0,4.550976,1.0,-1.0,4.550976,-1.0,2.715097,1.0,1.000002,2.715098,1.0,-0.999999,2.715098,2.76341,-0.999999,2.715097,2.76341,1.000002,1.0,1.0,-0.999999,1.0,2.76341,-0.999999,2.715098,2.76341,-0.999999,2.715098,1.0,-0.999999,0.999999,2.76341,1.000001,0.999999,1.0,1.000001,2.715097,1.0,1.000002,2.715097,2.76341,1.000002,0.999999,1.0,1.000001,1.0,1.0,-0.999999,2.715098,1.0,-0.999999,2.715097,1.0,1.000002,-2.642629,1.0,-1.0,-2.642629,1.0,0.999999,-2.642629,2.76341,0.999999,-2.642629,2.76341,-1.0,-1.0,1.0,-1.0,-1.0,1.0,1.0,-2.642629,1.0,0.999999,-2.642629,1.0,-1.0,-1.0,2.76341,1.0,-1.0,2.76341,-1.0,-2.642629,2.76341,-1.0,-2.642629,2.76341,0.999999,-1.0,1.0,1.0,-1.0,2.76341,1.0,-2.642629,2.76341,0.999999,-2.642629,1.0,0.999999],"triangleCount":44,"normals":[0.0,-1.0,-0.0,0.0,-1.0,-0.0,0.0,-1.0,-0.0,0.0,-1.0,-0.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,-0.0,-0.0,1.0,-0.0,-0.0,1.0,-0.0,-0.0,1.0,-0.0,-0.0,1.0,-1.0,-0.0,-0.0,-1.0,-0.0,-0.0,-1.0,-0.0,-0.0,-1.0,-0.0,-0.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,1.0,0.0,1.0E-6,1.0,0.0,1.0E-6,1.0,0.0,1.0E-6,1.0,0.0,1.0E-6,-0.0,0.0,1.0,-0.0,0.0,1.0,-0.0,0.0,1.0,-0.0,0.0,1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,1.0,-0.0,0.0,1.0,-0.0,0.0,1.0,-0.0,0.0,1.0,-0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,0.0,-1.0,0.0,0.0,-1.0,-0.0,0.0,1.0,-0.0,0.0,1.0,-0.0,0.0,1.0,-0.0,0.0,1.0,-1.0,0.0,-0.0,-1.0,0.0,-0.0,-1.0,0.0,-0.0,-1.0,0.0,-0.0,1.0,0.0,1.0E-6,1.0,0.0,1.0E-6,1.0,0.0,1.0E-6,1.0,0.0,1.0E-6,1.0E-6,0.0,-1.0,1.0E-6,0.0,-1.0,1.0E-6,0.0,-1.0,1.0E-6,0.0,-1.0,-1.0E-6,0.0,1.0,-1.0E-6,0.0,1.0,-1.0E-6,0.0,1.0,-1.0E-6,0.0,1.0,-0.0,-1.0,-0.0,-0.0,-1.0,-0.0,-0.0,-1.0,-0.0,-0.0,-1.0,-0.0,-1.0,0.0,-0.0,-1.0,0.0,-0.0,-1.0,0.0,-0.0,-1.0,0.0,-0.0,0.0,-1.0,-0.0,0.0,-1.0,-0.0,0.0,-1.0,-0.0,0.0,-1.0,-0.0,-0.0,1.0,-0.0,-0.0,1.0,-0.0,-0.0,1.0,-0.0,-0.0,1.0,-0.0,-0.0,0.0,1.0,-0.0,0.0,1.0,-0.0,0.0,1.0,-0.0,0.0,1.0],"vertexCount":86}],"animations":{"normal":{"name":"normal","length":0.7916667,"tracks":[{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334,0.5,0.5416667,0.5833333,0.625,0.6666667,0.7083333,0.75,0.7916667],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":0,"rotations":[0.0,0.0,0.0,1.0,-0.0,0.028167775,0.0,0.9996032,-0.0,0.11833656,0.0,0.99297357,-0.0,0.27947474,0.0,0.96015304,-0.0,0.5010278,0.0,0.8654312,-0.0,0.72486645,0.0,0.68888944,-0.0,0.8818373,0.0,0.4715537,-0.0,0.9616591,0.0,0.27424768,-0.0,0.9928716,0.0,0.1191888,-0.0,1.0,0.0,-1.6292068E-7,0.0,-0.9933664,-0.0,0.1149919,0.0,-0.9669568,-0.0,0.2549402,0.0,-0.90505844,-0.0,0.42528728,0.0,-0.7873049,-0.0,0.6165639,0.0,-0.6083893,-0.0,0.79363877,0.0,-0.40230575,-0.0,0.91550535,0.0,-0.22151129,-0.0,0.9751578,-0.0,-0.09433801,-0.0,0.9955402,-0.0,-0.022660062,-0.0,0.9997432,0.0,0.0,0.0,1.0]}]}}} \ No newline at end of file diff --git a/web/public/models/helmet.glb b/web/public/models/helmet.glb new file mode 100644 index 0000000..1c3e288 Binary files /dev/null and b/web/public/models/helmet.glb differ diff --git a/web/public/models/helmet.json b/web/public/models/helmet.json new file mode 100644 index 0000000..2f22634 --- /dev/null +++ b/web/public/models/helmet.json @@ -0,0 +1 @@ +{"skeletons":[],"materials":[{"geometryName":"Sphere1","materialDef":"Common/MatDefs/Light/Lighting.j3md","name":null,"params":[{"color":[1.0,1.0,1.0,1.0],"name":"Diffuse","type":"Vector4"},{"name":"UseMaterialColors","type":"Boolean","value":"true"},{"color":[0.0,0.0,0.0,1.0],"name":"Ambient","type":"Vector4"},{"name":"ParallaxHeight","type":"Float","value":0.05},{"texture":"Models/helmet/helmet.png","name":"DiffuseMap","type":"Texture2D"},{"color":[1.0,1.0,1.0,1.0],"name":"Specular","type":"Vector4"},{"name":"Shininess","type":"Float","value":20.0}]}],"geometries":[{"texcoords":[0.14411664,0.7529861,0.12653771,0.69655085,0.13537128,0.6929093,0.14411664,0.7529861,0.13537128,0.6929093,0.14420484,0.6892678,0.14420484,0.6892678,0.17676124,0.7395287,0.771814,0.78618586,0.70640516,0.7919481,0.7025912,0.75364363,0.771814,0.78618586,0.7025912,0.75364363,0.7676858,0.74472547,0.31719738,0.5128529,0.29180443,0.42820445,0.34097123,0.40793604,0.31719738,0.5128529,0.34097123,0.40793604,0.38904735,0.4832336,0.70640516,0.7919481,0.6477201,0.80796605,0.644801,0.77864915,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.38904735,0.4832336,0.3822375,0.37407354,0.3822375,0.37407354,0.44935188,0.43374857,0.29260522,0.74052477,0.23466268,0.7158743,0.23740186,0.68654007,0.23740186,0.68654007,0.29618412,0.7021977,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17676124,0.7395287,0.15161896,0.68318385,0.15161896,0.68318385,0.15903306,0.67709994,0.15903306,0.67709994,0.20416023,0.7170455,0.3577533,0.7490434,0.29618412,0.7021977,0.3616271,0.7075585,0.44935188,0.43374857,0.41193655,0.32962573,0.41193655,0.32962573,0.49275264,0.36879468,0.23877813,0.6526195,0.23877813,0.6526195,0.29798234,0.65787834,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16436896,0.66911423,0.16436896,0.66911423,0.16970484,0.6611285,0.16970484,0.6611285,0.2238791,0.6875341,0.3616271,0.7075585,0.29798234,0.65787834,0.36357346,0.6595875,0.49275264,0.36879468,0.4274295,0.27854204,0.4274295,0.27854204,0.5153934,0.29414347,0.23866928,0.6171266,0.23866928,0.6171266,0.29784006,0.6115046,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1724884,0.65195054,0.1724884,0.65195054,0.17527194,0.64277256,0.17527194,0.64277256,0.23416576,0.6536168,0.36357346,0.6595875,0.29784006,0.6115046,0.36341947,0.609393,0.5153934,0.29414347,0.4273398,0.2253615,0.4273398,0.2253615,0.51526225,0.21642795,0.23708488,0.5832151,0.23708488,0.5832151,0.29576996,0.56719714,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17525584,0.6332179,0.17525584,0.6332179,0.1752397,0.6236632,0.1752397,0.6236632,0.23410618,0.61830723,0.36341947,0.609393,0.29576996,0.56719714,0.36117882,0.5614349,0.51526225,0.21642795,0.4116753,0.1748094,0.4116753,0.1748094,0.4923709,0.14255355,0.23416577,0.5538982,0.23416577,0.5538982,0.29195598,0.5288927,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17242533,0.61458075,0.17242533,0.61458075,0.16961098,0.60549825,0.16961098,0.60549825,0.22370565,0.58474284,0.36117882,0.5614349,0.29195598,0.5288927,0.35705057,0.51997447,0.4923709,0.14255355,0.38182798,0.1313775,0.38182798,0.1313775,0.4487534,0.07908426,0.5738328,0.96527565,0.5158903,0.94062525,0.51862943,0.91129094,0.51862943,0.91129094,0.5774117,0.9269486,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16424845,0.59769505,0.16424845,0.59769505,0.15888591,0.58989185,0.15888591,0.58989185,0.20388831,0.555906,0.63898087,0.97379434,0.5774117,0.9269486,0.64285463,0.9323094,0.4487534,0.07908426,0.34044978,0.09892495,0.34044978,0.09892495,0.38828534,0.03165971,0.5200057,0.8773704,0.5200057,0.8773704,0.57920986,0.8826292,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15145169,0.58406126,0.15145169,0.58406126,0.14401749,0.5782307,0.14401749,0.5782307,0.17641504,0.53435886,0.64285463,0.9323094,0.57920986,0.8826292,0.644801,0.88433844,0.38828534,0.03165971,0.29121748,0.08033531,0.31633958,0.0044936663,0.51989686,0.8418775,0.51989686,0.8418775,0.5790676,0.83625555,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13517214,0.57489073,0.13517214,0.57489073,0.1263268,0.57155085,0.1263268,0.57155085,0.14372692,0.52201617,0.5790676,0.83625555,0.644647,0.83414394,0.31633958,0.0044936663,0.23850545,0.0772603,0.23930879,0.0,0.51831245,0.80796605,0.51831245,0.80796605,0.5769975,0.791948,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.116856284,0.5709984,0.116856284,0.5709984,0.10738576,0.5704459,0.10738576,0.5704459,0.10872845,0.51997447,0.5769975,0.791948,0.64240634,0.7861858,0.23930879,0.0,0.18699749,0.08997318,0.18699749,0.08997318,0.16403753,0.018578041,0.5153934,0.77864915,0.5153934,0.77864915,0.57318354,0.75364363,0.0,0.0,0.0,0.0,0.0,0.0,0.09813157,0.57272995,0.09813157,0.57272995,0.08887737,0.575014,0.08887737,0.575014,0.07452942,0.5284153,0.64240634,0.7861858,0.57318354,0.75364363,0.6382781,0.74472547,0.16403753,0.018578041,0.14127024,0.11734438,0.09721393,0.05857698,0.44141868,0.77069074,0.38409,0.74030256,0.38754046,0.7180938,0.38754046,0.7180938,0.4459269,0.7416736,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08066177,0.5799317,0.08066177,0.5799317,0.072446175,0.58484936,0.072446175,0.58484936,0.044168524,0.54658854,0.5063411,0.78039956,0.4459269,0.7416736,0.51122075,0.7489916,0.09721393,0.05857698,0.1053868,0.1569418,0.04477561,0.116442725,0.38973922,0.6887141,0.38973922,0.6887141,0.44879973,0.7032871,0.0,0.0,0.0,0.0,0.065999165,0.5919636,0.065999165,0.5919636,0.059552155,0.5990779,0.059552155,0.5990779,0.020343492,0.57287955,0.44879973,0.7032871,0.51433027,0.7074424,0.04477561,0.116442725,0.082535565,0.20524706,0.082535565,0.20524706,0.011381915,0.18703367,0.3904909,0.65477395,0.3904909,0.65477395,0.44978184,0.65894216,0.0,0.0,0.0,0.0,0.0,0.0,0.055446584,0.6077567,0.055446584,0.6077567,0.051341012,0.61643547,0.051341012,0.61643547,0.005171271,0.6049521,0.51433027,0.7074424,0.44978184,0.65894216,0.5153933,0.65944374,0.011381915,0.18703367,0.07474695,0.257968,0.07474695,0.257968,0.0,0.26407754,0.38972872,0.6192891,0.38972872,0.6192891,0.44878602,0.6125789,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.049941674,0.6259076,0.049941674,0.6259076,0.048542332,0.6353797,0.048542332,0.6353797,0.0,0.63995653,0.44878602,0.6125789,0.5143154,0.60926056,0.0,0.26407754,0.08271306,0.3104202,0.011641245,0.34072864,0.3875204,0.58541256,0.3875204,0.58541256,0.4459007,0.56831706,0.0,0.0,0.0,0.0,0.0,0.0,0.049973555,0.6448035,0.049973555,0.6448035,0.051404785,0.6542274,0.051404785,0.6542274,0.0052891206,0.67478245,0.4459007,0.56831706,0.51119244,0.56135184,0.011641245,0.34072864,0.10572601,0.35794297,0.045271292,0.4101761,0.38406217,0.5561543,0.38406217,0.5561543,0.4413823,0.5300894,0.0,0.0,0.0,0.0,0.0,0.0,0.055539403,0.66276556,0.055539403,0.66276556,0.059674043,0.67130375,0.059674043,0.67130375,0.020568715,0.7063355,0.4413823,0.5300894,0.5063017,0.51997447,0.045271292,0.4101761,0.14174102,0.39631373,0.14174102,0.39631373,0.09790192,0.46624935,0.70324045,0.96527565,0.6452979,0.9406252,0.6480371,0.91129094,0.6480371,0.91129094,0.7068193,0.92694855,0.0,0.0,0.0,0.0,0.0,0.0,0.06614469,0.6781976,0.06614469,0.6781976,0.07261534,0.68509156,0.07261534,0.68509156,0.044481114,0.731812,0.7683885,0.9737943,0.7068193,0.92694855,0.7722623,0.9323093,0.09790192,0.46624935,0.18755803,0.4221231,0.16485664,0.5039659,0.64941335,0.87737036,0.64941335,0.87737036,0.7086175,0.88262916,0.0,0.0,0.0,0.0,0.0,0.0,0.08084706,0.6897286,0.08084706,0.6897286,0.089078784,0.6943656,0.089078784,0.6943656,0.07490157,0.7489483,0.7086175,0.88262916,0.77420866,0.8843384,0.16485664,0.5039659,0.23910594,0.43307778,0.24018629,0.51997447,0.64930445,0.8418775,0.64930445,0.8418775,0.70847523,0.8362555,0.0,0.0,0.0,0.0,0.0,0.0,0.09834016,0.6963338,0.09834016,0.6963338,0.10760152,0.698302,0.10760152,0.698302,0.109127134,0.7562217,0.70847523,0.8362555,0.77405465,0.8341439,0.12653771,0.69655085,0.11293754,0.6408134,0.11497006,0.63997555,0.11667597,0.6385757,0.11790371,0.63673824,0.118544176,0.6346265,0.118540466,0.63242805,0.11789291,0.63033825,0.116659045,0.62854284,0.1149485,0.62720126,0.11291327,0.6264328,0.110734195,0.62630564,0.1086049,0.62683123,0.10671457,0.6279627,0.10523117,0.62959963,0.10428652,0.63159657,0.10396455,0.633776,0.10429386,0.6359443,0.1052452,0.6379089,0.10673403,0.6394951,0.10862807,0.64056206,0.24018629,0.51997447,0.29180443,0.42820445,0.11075902,0.6410149,0.11706962,0.69742644,0.0,0.0,0.11706962,0.69742644,0.77405465,0.8341439,0.11497006,0.63997555,0.11293754,0.6408134,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11667597,0.6385757,0.0,0.0,0.0,0.0,0.0,0.0,0.11790371,0.63673824,0.0,0.0,0.0,0.0,0.0,0.0,0.118544176,0.6346265,0.0,0.0,0.0,0.0,0.0,0.0,0.118540466,0.63242805,0.0,0.0,0.0,0.0,0.0,0.0,0.11789291,0.63033825,0.0,0.0,0.0,0.0,0.0,0.0,0.116659045,0.62854284,0.0,0.0,0.0,0.0,0.0,0.0,0.1149485,0.62720126,0.0,0.0,0.0,0.0,0.0,0.0,0.11291327,0.6264328,0.0,0.0,0.0,0.0,0.0,0.0,0.110734195,0.62630564,0.0,0.0,0.0,0.0,0.0,0.0,0.1086049,0.62683123,0.0,0.0,0.0,0.0,0.0,0.0,0.10671457,0.6279627,0.0,0.0,0.0,0.0,0.0,0.0,0.10523117,0.62959963,0.0,0.0,0.0,0.0,0.0,0.0,0.10428652,0.63159657,0.0,0.0,0.0,0.0,0.0,0.0,0.10396455,0.633776,0.0,0.0,0.0,0.0,0.0,0.0,0.10429386,0.6359443,0.0,0.0,0.0,0.0,0.0,0.0,0.1052452,0.6379089,0.0,0.0,0.0,0.0,0.0,0.0,0.10673403,0.6394951,0.0,0.0,0.0,0.0,0.0,0.0,0.10862807,0.64056206,0.0,0.0,0.0,0.0,0.0,0.0,0.11075902,0.6410149,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.80687976,0.7449817,0.8087062,0.7448111,0.8101912,0.76384133,0.8101912,0.76384133,0.8092412,0.76393,0.8337733,0.74472547,0.83598316,0.7447322,0.8353945,0.76380026,0.8353945,0.76380026,0.83424497,0.76379675,0.24870974,0.74912906,0.25053614,0.7492996,0.24817477,0.76824796,0.24817477,0.76824796,0.24722472,0.7681593,0.24227653,0.7491488,0.24438792,0.74905014,0.2449766,0.7681182,0.2449766,0.7681182,0.24387829,0.7681695,0.785751,0.8558727,0.78392464,0.8557021,0.786286,0.8367537,0.786286,0.8367537,0.78723603,0.8368425,0.79218423,0.85585296,0.79007286,0.85595155,0.78948414,0.83688354,0.78948414,0.83688354,0.7905825,0.8368322,0.813028,0.7447322,0.8151394,0.74483085,0.81353766,0.7638516,0.81353766,0.7638516,0.8124393,0.76380026,0.83809453,0.74483085,0.83991987,0.7450126,0.8374423,0.7639461,0.8364928,0.7638516,0.83166134,0.7448111,0.83424497,0.76379675,0.83314633,0.76384133,0.24659778,0.7490434,0.24722472,0.7681593,0.24612612,0.7681147,0.2404512,0.7493305,0.24387829,0.7681695,0.24292879,0.76826406,0.78786296,0.85595834,0.78723603,0.8368425,0.7883346,0.83688706,0.79400957,0.85567117,0.7905825,0.8368322,0.791532,0.8367377,0.81081814,0.74472547,0.8124393,0.76380026,0.81128985,0.76379675,0.8364928,0.7638516,0.82983494,0.74498165,0.83314633,0.76384133,0.8321963,0.76393,0.24612612,0.7681147,0.78254604,0.8554619,0.7855689,0.8366288,0.7883346,0.83688706,0.81696475,0.74501264,0.81448716,0.7639461,0.81128985,0.76379675,0.791532,0.8367377,0.79614913,0.8153411,0.79614913,0.8153411,0.800295,0.8149283,0.81430876,0.78511864,0.81430876,0.78511864,0.8092896,0.7851032,0.8420595,0.7853427,0.8420595,0.7853427,0.83726394,0.78511864,0.8274479,0.7852979,0.8274479,0.7852979,0.82329965,0.78568524,0.24812631,0.78942114,0.24812631,0.78942114,0.24310714,0.7894366,0.3821461,0.53281415,0.38099656,0.5328158,0.37904298,0.5199818,0.37904298,0.5199818,0.38406217,0.51997447,0.78633446,0.81558055,0.78633446,0.81558055,0.7913536,0.81556517,0.8232502,0.7857555,0.8191043,0.7853427,0.8092896,0.7851032,0.8044928,0.7852979,0.8092412,0.76393,0.8044928,0.7852979,0.8003445,0.7856852,0.83726394,0.78511864,0.83224475,0.7851032,0.25707144,0.7900031,0.25292316,0.7896158,0.24310714,0.7894366,0.23831159,0.78966063,0.7773893,0.8149986,0.7815376,0.81538594,0.7913536,0.81556517,0.8191043,0.7853427,0.8462053,0.7857555,0.83224475,0.7851032,0.25292316,0.7896158,0.24292879,0.76826406,0.23831159,0.78966063,0.23416577,0.79007345,0.7815376,0.81538594,0.25712097,0.80614555,0.25712097,0.80614555,0.2529727,0.8057582,0.24315666,0.80557895,0.24315666,0.80557895,0.2383611,0.805803,0.7773398,0.7988562,0.7773398,0.7988562,0.78148806,0.7992435,0.7913041,0.79942274,0.7913041,0.79942274,0.79609966,0.79919875,0.8190548,0.80148506,0.8190548,0.80148506,0.8142593,0.80126107,0.84615576,0.8018979,0.84615576,0.8018979,0.84200996,0.80148506,0.8321952,0.8012456,0.8321952,0.8012456,0.8273984,0.80144024,0.2529727,0.8057582,0.24817584,0.80556357,0.2383611,0.805803,0.23421529,0.80621576,0.78148806,0.7992435,0.7862849,0.7994382,0.800295,0.8149283,0.79609966,0.79919875,0.80024546,0.7987859,0.8142593,0.80126107,0.8092401,0.8012456,0.84200996,0.80148506,0.8372144,0.801261,0.82329965,0.78568524,0.8273984,0.80144024,0.8232501,0.8018276,0.24817584,0.80556357,0.7742582,0.8144529,0.77420866,0.7983106,0.7862849,0.7994382,0.82320064,0.8018979,0.8092401,0.8012456,0.80444324,0.80144024,0.8003445,0.7856852,0.80444324,0.80144024,0.800295,0.8018276,0.8372144,0.801261,0.83453697,0.85595834,0.83453697,0.85595834,0.24583408,0.8602762,0.7886267,0.74472547,0.81158185,0.8559584,0.23421529,0.80621576,0.80024546,0.7987859,0.87767893,0.24535993,0.8856386,0.19249894,0.8993666,0.19249696,0.8993666,0.19249696,0.8907977,0.24940442,0.87766355,0.13964026,0.8907811,0.13559194,0.8907811,0.13559194,0.87766355,0.13964026,0.85446244,0.09148062,0.865804,0.08374569,0.865804,0.08374569,0.8180969,0.052299224,0.82665455,0.041564982,0.82665455,0.041564982,0.77179796,0.025577523,0.7768115,0.012797727,0.7768115,0.012797727,0.77179796,0.025577523,0.7196796,0.013689798,0.7207035,0.0,0.7207035,0.0,0.6663728,0.017692402,0.6633161,0.004309022,0.6633161,0.004309022,0.616614,0.037229624,0.60974824,0.025341801,0.60974824,0.025341801,0.5748245,0.07056554,0.56475985,0.06122957,0.56475985,0.06122957,0.5447176,0.11473809,0.5323482,0.108783506,0.5323482,0.108783506,0.5289684,0.16582234,0.5153934,0.16377826,0.5153934,0.16377826,0.52897614,0.21927923,0.5154017,0.22132725,0.5154017,0.22132725,0.52897614,0.21927923,0.54474026,0.27035892,0.5323726,0.2763171,0.5323726,0.2763171,0.57486004,0.31452268,0.56479806,0.3238616,0.56479806,0.3238616,0.61665916,0.34784645,0.6097969,0.35973626,0.6097969,0.35973626,0.61665916,0.34784645,0.6664237,0.3673692,0.66337085,0.3807535,0.66337085,0.3807535,0.6664237,0.3673692,0.7197316,0.3713563,0.7207595,0.38504577,0.7207595,0.38504577,0.7718466,0.35945344,0.7768638,0.37223172,0.7768638,0.37223172,0.8181377,0.33271822,0.82669854,0.34344998,0.82669854,0.34344998,0.7322478,0.72754467,0.7784143,0.7085131,0.78450733,0.7193108,0.7322478,0.72754467,0.78450733,0.7193108,0.7348069,0.73979926,0.85449195,0.29352626,0.8907977,0.24940442,0.86583567,0.30125785,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.96066904,0.04753496,0.90381086,0.052821185,0.8993666,0.008186995,0.95593596,0.0,0.9292792,0.9462577,0.8726607,0.9384179,0.876831,0.8937573,0.876831,0.8937573,0.9337205,0.89869463,0.87892634,0.8421142,0.87892634,0.8421142,0.93595207,0.8436952,0.8787606,0.7880773,0.8787606,0.7880773,0.9357755,0.78614646,0.8763484,0.736448,0.8763484,0.736448,0.93320656,0.7311618,0.87190413,0.6918138,0.87190413,0.6918138,0.9284735,0.68362683,0.99332714,0.9462576,0.9367086,0.93841785,0.9408789,0.8937573,0.9408789,0.8937573,0.99776846,0.8986945,0.94297427,0.84211415,0.94297427,0.84211415,1.0,0.8436951,0.9428085,0.78807724,0.9428085,0.78807724,0.99982345,0.7861464,0.9403963,0.736448,0.9403963,0.736448,0.9972545,0.7311618,0.93595207,0.6918138,0.93595207,0.6918138,0.9925214,0.68362683,0.9283583,0.6836269,0.8719465,0.6746332,0.8771997,0.640821,0.8771997,0.640821,0.933953,0.6476172,0.8805473,0.5960912,0.8805473,0.5960912,0.93751806,0.5999805,0.8816917,0.5444183,0.8816917,0.5444183,0.93873686,0.54494935,0.8805313,0.49039358,0.8805313,0.49039358,0.9375011,0.4874136,0.8771692,0.43881744,0.8771692,0.43881744,0.93392044,0.43248552,0.87190413,0.39427269,0.87190413,0.39427269,0.9283132,0.38504577,0.9567417,0.26263073,0.9001232,0.254791,0.9042935,0.2101304,0.9042935,0.2101304,0.961183,0.21506765,0.9063888,0.15848729,0.9063888,0.15848729,0.96341455,0.16006826,0.90622306,0.104450405,0.90622306,0.104450405,0.963238,0.10251953,0.6827652,0.7321206,0.7348069,0.73979926,0.6815363,0.74472547,0.86583567,0.30125785,0.81716233,0.676717,0.8262215,0.68508077,0.845049,0.6349816,0.85624295,0.64015055,0.85959655,0.5870152,0.8719041,0.58851236,0.8595123,0.53707993,0.87181336,0.5347545,0.84480375,0.48961276,0.8559789,0.48365372,0.81677777,0.44883123,0.8258076,0.43975043,0.7779247,0.41835907,0.78398025,0.40694562,0.7316967,0.40090382,0.73421353,0.38815418,0.6822014,0.39801648,0.68092936,0.38504577,0.6338366,0.40995356,0.6288623,0.39789668,0.5908998,0.43565446,0.5826387,0.42556494,0.55720615,0.47283548,0.5463658,0.46559218,0.5357494,0.51819295,0.5232665,0.51442176,0.52843606,0.5676967,0.5153934,0.567715,0.53591603,0.616948,0.5234459,0.6207365,0.5575246,0.6615708,0.54670864,0.66877514,0.5913419,0.69760007,0.58311456,0.7075624,0.63436294,0.7218344,0.62942886,0.7336519],"indices":[0,1,2,3,4,5,3,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,20,22,12,23,24,25,26,25,27,28,18,29,28,30,31,32,33,34,32,35,36,37,38,39,37,40,41,42,6,43,42,44,45,42,46,47,48,32,49,48,49,50,51,30,52,51,53,54,49,35,55,49,56,57,58,59,60,61,60,62,47,46,63,47,64,65,47,66,67,68,49,69,68,69,70,71,53,72,71,73,74,69,56,75,69,76,77,78,79,80,81,80,82,67,66,83,67,84,85,67,86,87,88,69,89,88,89,90,91,73,92,91,93,94,89,76,95,89,96,97,98,99,100,101,100,102,87,86,103,87,104,105,87,106,107,108,89,109,108,109,110,111,93,112,111,113,114,109,96,115,109,116,117,118,119,120,121,120,122,107,106,123,107,124,125,107,126,127,128,109,129,128,129,130,131,113,132,131,133,134,135,136,137,135,138,139,140,141,142,143,142,144,127,126,145,127,146,147,127,148,149,150,135,151,150,151,152,153,133,154,153,155,156,151,138,157,151,158,159,160,161,162,163,162,164,149,148,165,149,166,167,149,168,169,170,151,171,170,171,172,173,155,174,173,174,175,171,158,176,171,177,178,179,180,181,179,182,183,169,168,184,169,185,186,169,187,188,172,171,189,172,189,190,191,174,192,191,192,193,189,177,194,189,195,196,197,198,199,197,200,201,188,187,202,188,203,204,188,205,206,190,189,207,190,207,208,209,192,210,209,211,212,207,195,213,207,214,215,216,197,217,216,217,218,206,205,219,206,220,221,206,222,223,224,207,225,224,225,226,227,211,228,227,228,229,230,231,232,230,233,234,235,236,237,238,237,239,223,222,240,223,241,242,223,243,244,245,230,246,245,246,247,248,228,249,248,249,250,246,233,251,246,252,253,24,254,255,24,255,25,244,243,256,244,257,258,244,259,260,247,246,261,247,261,262,263,249,264,263,265,266,261,252,267,261,268,269,270,37,271,270,271,272,260,259,273,260,274,275,260,276,277,278,261,279,278,279,280,281,265,282,281,283,284,279,268,285,279,286,287,288,289,290,288,291,292,277,276,293,277,294,295,277,296,297,280,279,298,280,298,299,300,283,301,300,301,302,298,286,303,298,304,305,306,61,307,306,307,308,297,296,309,297,310,311,297,312,313,299,298,314,299,314,315,316,301,317,316,317,318,314,304,319,314,320,321,79,322,323,79,324,80,313,312,325,313,326,327,313,328,329,315,314,330,315,330,331,332,317,333,332,334,335,336,337,338,336,339,340,38,341,342,38,343,40,329,328,344,329,345,346,329,347,348,349,336,350,349,350,351,352,334,353,352,353,354,350,339,355,350,356,357,358,101,359,358,359,360,348,347,361,348,362,363,348,364,365,351,350,366,351,366,367,368,353,369,368,369,370,366,356,371,366,372,373,119,374,375,119,376,120,365,364,377,365,378,379,365,380,381,367,366,382,367,382,383,384,385,4,6,386,44,46,387,64,66,388,84,86,389,104,106,390,124,126,391,146,148,392,166,168,393,185,187,394,203,205,395,220,222,396,241,243,397,257,259,398,274,276,399,294,296,400,310,312,401,326,328,402,345,347,403,362,364,404,378,405,369,406,405,406,17,380,407,408,382,372,21,382,21,20,341,143,409,341,409,343,381,380,410,381,410,384,381,384,3,411,382,20,411,20,11,4,412,6,4,413,412,414,415,416,414,417,418,44,419,46,44,412,419,420,414,421,420,421,422,64,423,66,64,419,423,424,420,425,424,425,426,84,427,86,84,423,427,428,424,429,428,429,430,104,431,106,104,427,431,432,428,433,432,433,434,124,435,126,124,431,435,436,432,437,436,437,438,146,439,148,146,435,439,440,436,441,440,441,442,166,443,168,166,439,443,444,440,445,444,445,446,185,447,187,185,443,447,448,444,449,448,449,450,203,451,205,203,447,451,452,448,453,452,453,454,220,455,222,220,451,455,456,452,457,456,457,458,241,459,243,241,455,459,460,456,461,460,461,462,257,463,259,257,459,463,464,460,465,464,465,466,274,467,276,274,463,467,468,464,469,468,469,470,294,471,296,294,467,471,472,468,473,472,473,474,310,475,312,310,471,475,476,472,477,476,477,478,326,479,328,326,475,479,480,476,481,480,481,482,345,483,347,345,479,483,484,480,485,484,485,486,362,487,364,362,483,487,488,484,489,488,489,490,378,491,380,378,487,491,492,488,493,492,493,494,410,413,384,410,491,413,415,492,495,415,495,417,496,497,498,496,499,500,501,502,503,501,504,505,506,507,508,506,509,510,511,512,513,511,514,515,516,517,518,516,519,520,521,522,523,521,524,525,526,527,528,526,529,530,531,532,533,531,533,534,535,501,536,535,536,537,538,506,539,538,539,540,541,511,542,541,542,543,544,516,545,544,545,546,547,521,548,547,548,549,550,526,551,550,551,552,502,531,553,502,553,504,554,535,555,554,555,556,512,538,557,512,557,514,517,558,559,517,559,519,522,544,560,522,560,524,527,561,562,527,562,529,497,550,563,497,563,499,564,548,565,564,566,567,563,551,568,563,569,570,504,553,571,504,572,573,556,555,574,556,575,576,514,557,577,514,578,579,580,581,582,580,583,584,524,560,585,524,586,587,529,562,588,529,588,589,499,563,590,499,590,591,592,499,593,592,593,594,536,504,595,536,595,596,539,509,597,539,597,598,542,514,599,542,599,600,545,519,601,545,601,602,548,524,603,548,603,566,551,529,604,551,604,569,553,533,605,553,605,572,555,536,606,555,606,575,557,539,607,557,607,578,608,542,609,608,609,610,560,545,611,560,611,586,607,597,612,607,613,614,609,599,615,609,616,617,611,601,618,611,619,620,566,603,621,566,622,623,569,604,624,569,625,626,572,605,627,572,628,629,575,606,630,575,631,632,578,607,633,578,633,634,610,609,635,610,635,636,586,611,637,586,637,638,639,566,640,639,640,641,590,569,642,590,642,643,595,572,644,595,644,645,646,575,647,646,647,648,599,578,649,599,649,616,601,650,651,601,651,619,603,586,652,603,652,622,604,588,653,604,653,625,593,590,654,593,654,655,656,593,657,656,657,658,606,595,659,606,659,631,659,644,660,648,647,661,616,649,662,619,651,663,622,652,663,625,653,664,657,654,664,658,657,664,631,659,661,633,613,662,635,616,662,637,619,663,640,622,663,642,625,664,644,628,661,647,631,661,649,633,662,665,635,662,652,637,663,666,640,663,654,642,664,667,668,669,667,670,671,668,672,673,668,674,670,675,676,677,675,678,674,676,679,680,676,681,678,679,682,683,679,684,681,685,686,687,685,688,684,686,689,690,686,691,688,689,692,693,689,694,691,692,695,696,692,697,694,695,698,699,695,700,697,698,701,702,698,703,700,701,704,705,701,706,703,707,708,709,707,710,706,708,711,712,708,713,710,711,714,715,711,716,713,717,718,719,717,720,716,721,722,723,721,724,720,722,725,726,722,727,724,725,728,729,725,730,727,731,732,733,734,735,736,737,667,738,737,738,739,236,740,741,236,741,237,742,216,743,742,743,744,745,746,747,745,747,748,180,745,748,180,748,182,749,163,750,749,750,751,141,752,753,141,753,142,754,121,755,754,755,756,99,757,758,99,758,100,759,760,761,759,761,762,374,81,763,374,763,376,59,358,764,59,764,60,760,288,765,760,765,761,322,26,766,322,766,324,740,306,767,740,767,741,289,742,768,289,768,291,746,270,769,746,769,747,770,749,771,770,771,255,752,238,772,752,772,753,198,754,773,198,773,200,757,179,774,757,774,758,161,759,775,161,775,162,776,777,778,776,778,779,780,781,782,780,783,784,784,783,785,784,786,787,787,786,788,787,789,790,790,789,791,790,792,793,793,792,794,793,795,796,797,798,799,797,800,801,801,800,802,801,803,804,804,803,805,804,806,807,807,806,808,807,809,810,810,809,811,810,812,813,814,815,816,814,817,818,818,817,819,818,820,821,821,820,822,821,823,824,824,823,825,824,826,827,827,826,828,827,829,830,830,829,831,830,832,833,834,835,836,834,837,838,838,837,839,838,840,841,841,840,842,841,843,844,844,843,777,844,777,776,845,734,846,845,846,847,728,737,848,728,848,730,732,849,850,732,850,735,849,851,852,849,852,850,851,853,854,851,854,852,853,855,856,853,856,854,855,857,858,855,858,856,857,859,860,857,860,858,859,861,862,859,862,860,861,863,864,861,864,862,863,865,866,863,866,864,865,867,868,865,868,866,867,869,870,867,870,868,869,871,872,869,872,870,871,873,874,871,874,872,873,875,876,873,876,874,875,877,878,875,878,876,877,879,880,877,880,878,879,881,882,879,882,880,881,883,884,881,884,882,883,845,847,883,847,884],"name":"Sphere1","elementCount":1953,"positions":[-0.65111965,0.69144166,-6.5793486E-9,-0.35238343,0.8910508,-6.5793486E-9,-0.34455574,0.8910508,-0.051933408,-0.65111965,0.69144166,-6.5793486E-9,-0.34455574,0.8910508,-0.051933408,-0.33672804,0.8910508,-0.10386681,-0.33672804,0.8910508,-0.10386681,-0.6221922,0.6914417,-0.19192083,-0.9208222,0.040322006,-6.5793486E-9,-0.85072875,0.39270544,-6.5793486E-9,-0.81293327,0.3927054,-0.25075665,-0.9208222,0.040322006,-6.5793486E-9,-0.81293327,0.3927054,-0.25075665,-0.8799127,0.040322006,-0.27141708,-1.4330986,-0.5012205,-5.7184195E-9,-0.98066634,-0.2438007,3.4891805E-9,-0.9370981,-0.2438007,-0.28905642,-1.4330986,-0.5012205,-5.7184195E-9,-0.9370981,-0.2438007,-0.28905642,-1.3694298,-0.5012205,-0.4224132,-0.85072875,0.39270544,-6.5793486E-9,-0.65111965,0.69144166,-6.5793486E-9,-0.6221922,0.6914417,-0.19192083,0.4604106,0.040322006,0.79745525,0.20490174,0.040322006,0.897735,0.20490174,0.040322006,0.897735,0.4604106,0.040322006,0.79745525,0.4604106,0.040322006,0.79745525,-1.3694298,-0.5012205,-0.4224132,-0.8102645,-0.2438007,-0.5524289,-0.8102645,-0.2438007,-0.5524289,-1.1840816,-0.5012205,-0.8072931,-0.81293327,0.3927054,-0.25075665,-0.6221922,0.6914417,-0.19192083,-0.53798026,0.6914417,-0.36678866,-0.53798026,0.6914417,-0.36678866,-0.7029051,0.3927054,-0.47923252,-0.8102645,-0.2438007,-0.5524289,-0.9370981,-0.2438007,-0.28905642,-0.9370981,-0.2438007,-0.28905642,-0.9370981,-0.2438007,-0.28905642,-0.8102645,-0.2438007,-0.5524289,-0.6221922,0.6914417,-0.19192083,-0.31394047,0.8910508,-0.15118569,-0.31394047,0.8910508,-0.15118569,-0.29115286,0.8910508,-0.19850458,-0.29115286,0.8910508,-0.19850458,-0.53798026,0.6914417,-0.36678866,-0.8799127,0.040322006,-0.27141708,-0.7029051,0.3927054,-0.47923252,-0.760819,0.040322006,-0.5187175,-1.1840816,-0.5012205,-0.8072931,-0.6114355,-0.2438007,-0.76671565,-0.6114355,-0.2438007,-0.76671565,-0.89352214,-0.5012205,-1.1204414,-0.40596643,0.6914417,-0.5090656,-0.40596643,0.6914417,-0.5090656,-0.5304207,0.3927054,-0.6651264,0.7188786,-0.2438007,0.6670224,0.8835492,-0.2438007,0.42549527,0.8835492,-0.2438007,0.42549527,0.7188786,-0.2438007,0.6670224,0.7188786,-0.2438007,0.6670224,-0.2554302,0.8910508,-0.23700446,-0.2554302,0.8910508,-0.23700446,-0.2197075,0.8910508,-0.27550435,-0.2197075,0.8910508,-0.27550435,-0.40596643,0.6914417,-0.5090656,-0.760819,0.040322006,-0.5187175,-0.5304207,0.3927054,-0.6651264,-0.57412326,0.040322006,-0.71992767,-0.89352214,-0.5012205,-1.1204414,-0.35827768,-0.2438007,-0.9128763,-0.35827768,-0.2438007,-0.9128763,-0.5235695,-0.5012205,-1.3340336,-0.2378807,0.6914417,-0.60611,-0.2378807,0.6914417,-0.60611,-0.31080616,0.3927054,-0.7919209,0.9105369,0.040322006,0.13724159,0.8296316,0.040322006,0.39952984,0.8296316,0.040322006,0.39952984,0.9105369,0.040322006,0.13724159,0.9105369,0.040322006,0.13724159,-0.17422384,0.8910508,-0.30176437,-0.17422384,0.8910508,-0.30176437,-0.12874019,0.8910508,-0.32802436,-0.12874019,0.8910508,-0.32802436,-0.2378807,0.6914417,-0.60611,-0.57412326,0.040322006,-0.71992767,-0.31080616,0.3927054,-0.7919209,-0.33641413,0.040322006,-0.85716903,-0.5235695,-0.5012205,-1.3340336,-0.07328535,-0.2438007,-0.9779239,-0.07328535,-0.2438007,-0.9779239,-0.107095495,-0.5012205,-1.4290911,-0.0486583,0.6914417,-0.64929867,-0.0486583,0.6914417,-0.64929867,-0.063575126,0.3927054,-0.8483497,0.96971256,-0.2438007,-0.14616044,0.8835494,-0.2438007,-0.42549482,0.8835494,-0.2438007,-0.42549482,0.96971256,-0.2438007,-0.14616044,0.96971256,-0.2438007,-0.14616044,-0.07753697,0.8910508,-0.33971113,-0.07753697,0.8910508,-0.33971113,-0.026333753,0.8910508,-0.35139793,-0.026333753,0.8910508,-0.35139793,-0.0486583,0.6914417,-0.64929867,-0.33641413,0.040322006,-0.85716903,-0.063575126,0.3927054,-0.8483497,-0.068813175,0.040322006,-0.91824716,-0.107095495,-0.5012205,-1.4290911,0.21821865,-0.2438007,-0.95607865,0.21821865,-0.2438007,-0.95607865,0.31889445,-0.5012205,-1.3971674,0.1448876,0.6914417,-0.63479435,0.1448876,0.6914417,-0.63479435,0.18930481,0.3927054,-0.82939893,0.67501014,0.040322006,-0.6263179,0.8296318,0.040322006,-0.39952952,0.8296318,0.040322006,-0.39952952,0.67501014,0.040322006,-0.6263179,0.67501014,0.040322006,-0.6263179,0.026039392,0.8910508,-0.34747308,0.026039392,0.8910508,-0.34747308,0.07841254,0.8910508,-0.34354827,0.07841254,0.8910508,-0.34354827,0.1448876,0.6914417,-0.63479435,-0.068813175,0.040322006,-0.91824716,0.18930481,0.3927054,-0.82939893,0.2049021,0.040322006,-0.897735,0.31889445,-0.5012205,-1.3971674,0.49033296,-0.2438007,-0.8492816,0.49033296,-0.2438007,-0.8492816,0.7165492,-0.5012205,-1.2410992,0.18930481,0.3927054,-0.82939893,0.1448876,0.6914417,-0.63479435,0.32555956,0.6914417,-0.5638858,0.32555956,0.6914417,-0.5638858,0.42536417,0.3927054,-0.7367524,-0.93709797,-0.2438007,0.28905588,-0.8102646,-0.2438007,0.55242836,-0.8102646,-0.2438007,0.55242836,-0.93709797,-0.2438007,0.28905588,-0.93709797,-0.2438007,0.28905588,0.12730204,0.8910508,-0.32436055,0.12730204,0.8910508,-0.32436055,0.17619152,0.8910508,-0.30517283,0.17619152,0.8910508,-0.30517283,0.32555956,0.6914417,-0.5638858,0.2049021,0.040322006,-0.897735,0.42536417,0.3927054,-0.7367524,0.4604109,0.040322006,-0.79745513,0.7165492,-0.5012205,-1.2410992,0.718879,-0.2438007,-0.6670221,0.718879,-0.2438007,-0.6670221,1.0505352,-0.5012205,-0.97475404,0.4773041,0.6914417,-0.44287354,0.4773041,0.6914417,-0.44287354,0.623628,0.3927054,-0.5786422,-0.57412344,0.040322006,0.7199273,-0.7608191,0.040322006,0.51871717,-0.7608191,0.040322006,0.51871717,-0.57412344,0.040322006,0.7199273,-0.57412344,0.040322006,0.7199273,0.2172533,0.8910508,-0.27242714,0.2172533,0.8910508,-0.27242714,0.2583151,0.8910508,-0.23968145,0.2583151,0.8910508,-0.23968145,0.4773041,0.6914417,-0.44287354,0.4604109,0.040322006,-0.79745513,0.623628,0.3927054,-0.5786422,0.67501014,0.040322006,-0.6263179,1.0505352,-0.5012205,-0.97475404,0.8835494,-0.2438007,-0.42549482,1.2911767,-0.5012205,-0.6217976,0.5866381,0.6914417,-0.28250995,0.5866381,0.6914417,-0.28250995,0.76647973,0.3927054,-0.36911708,0.49033296,-0.2438007,-0.8492816,0.21821865,-0.2438007,-0.95607865,0.21821865,-0.2438007,-0.95607865,0.21821865,-0.2438007,-0.95607865,0.49033296,-0.2438007,-0.8492816,0.28790066,0.8910508,-0.1962874,0.28790066,0.8910508,-0.1962874,0.31748623,0.8910508,-0.15289332,0.31748623,0.8910508,-0.15289332,0.5866381,0.6914417,-0.28250995,0.76647973,0.3927054,-0.36911708,0.8296318,0.040322006,-0.39952952,1.2911767,-0.5012205,-0.6217976,0.96971256,-0.2438007,-0.14616044,1.4170915,-0.5012205,-0.2135919,0.64384663,0.6914417,-0.09704417,0.64384663,0.6914417,-0.09704417,0.84122634,0.3927054,-0.1267943,-0.068813175,0.040322006,-0.91824716,0.2049021,0.040322006,-0.897735,0.2049021,0.040322006,-0.897735,0.2049021,0.040322006,-0.897735,-0.068813175,0.040322006,-0.91824716,0.33296674,0.8910508,-0.102706626,0.33296674,0.8910508,-0.102706626,0.3484473,0.8910508,-0.052519932,0.3484473,0.8910508,-0.052519932,0.64384663,0.6914417,-0.09704417,0.84122634,0.3927054,-0.1267943,0.91053694,0.040322006,-0.13724121,1.4170915,-0.5012205,-0.2135919,0.9697125,-0.2438007,0.14616093,0.9697125,-0.2438007,0.14616093,1.4170913,-0.5012205,0.21359247,0.6438466,0.6914417,0.09704443,0.6438466,0.6914417,0.09704443,0.8412263,0.3927054,0.12679471,-0.33641413,0.040322006,-0.85716903,-0.068813175,0.040322006,-0.91824716,-0.33641413,0.040322006,-0.85716903,0.34844726,0.8910508,7.0780516E-8,0.34844726,0.8910508,7.0780516E-8,0.34844726,0.8910508,0.05252007,0.34844726,0.8910508,0.05252007,0.6438466,0.6914417,0.09704443,0.91053694,0.040322006,-0.13724121,0.8412263,0.3927054,0.12679471,0.9105369,0.040322006,0.13724159,1.4170913,-0.5012205,0.21359247,0.8835492,-0.2438007,0.42549527,1.2911763,-0.5012205,0.6217983,0.8412263,0.3927054,0.12679471,0.6438466,0.6914417,0.09704443,0.5866379,0.6914417,0.2825102,0.5866379,0.6914417,0.2825102,0.76647955,0.3927054,0.36911744,-0.35827795,-0.2438007,0.912876,-0.07328572,-0.2438007,0.9779237,-0.07328572,-0.2438007,0.9779237,-0.35827795,-0.2438007,0.912876,-0.35827795,-0.2438007,0.912876,0.3329667,0.8910508,0.10270675,0.3329667,0.8910508,0.10270675,0.31748614,0.8910508,0.15289344,0.31748614,0.8910508,0.15289344,0.5866379,0.6914417,0.2825102,0.9105369,0.040322006,0.13724159,0.76647955,0.3927054,0.36911744,0.8296316,0.040322006,0.39952984,1.2911763,-0.5012205,0.6217983,0.7188786,-0.2438007,0.6670224,1.0505347,-0.5012205,0.97475445,0.4773038,0.6914417,0.4428737,0.4773038,0.6914417,0.4428737,0.6236277,0.3927054,0.5786424,-0.06881352,0.040322006,0.91824704,-0.06881352,0.040322006,0.91824704,0.28790057,0.8910508,0.19628748,0.28790057,0.8910508,0.19628748,0.25831497,0.8910508,0.23968154,0.25831497,0.8910508,0.23968154,0.4773038,0.6914417,0.4428737,0.6236277,0.3927054,0.5786424,0.6750099,0.040322006,0.6263181,1.0505347,-0.5012205,0.97475445,0.49033257,-0.2438007,0.8492818,0.49033257,-0.2438007,0.8492818,0.71654856,-0.5012205,1.2410994,0.32555926,0.6914417,0.56388587,0.32555926,0.6914417,0.56388587,0.42536384,0.3927054,0.73675257,-0.6114355,-0.2438007,-0.76671565,-0.8102645,-0.2438007,-0.5524289,-0.6114355,-0.2438007,-0.76671565,0.21725318,0.8910508,0.2724272,0.21725318,0.8910508,0.2724272,0.17619137,0.8910508,0.3051729,0.17619137,0.8910508,0.3051729,0.32555926,0.6914417,0.56388587,0.6750099,0.040322006,0.6263181,0.42536384,0.3927054,0.73675257,0.4604106,0.040322006,0.79745525,0.71654856,-0.5012205,1.2410994,0.21821825,-0.2438007,0.95607865,0.21821825,-0.2438007,0.95607865,0.31889376,-0.5012205,1.3971672,0.14488728,0.6914417,0.6347943,0.14488728,0.6914417,0.6347943,0.18930446,0.3927054,0.82939893,-0.8799127,0.040322006,-0.27141708,-0.760819,0.040322006,-0.5187175,-0.760819,0.040322006,-0.5187175,-0.760819,0.040322006,-0.5187175,-0.8799127,0.040322006,-0.27141708,0.12730189,0.8910508,0.32436058,0.12730189,0.8910508,0.32436058,0.07841239,0.8910508,0.34354827,0.07841239,0.8910508,0.34354827,0.14488728,0.6914417,0.6347943,0.18930446,0.3927054,0.82939893,0.20490174,0.040322006,0.897735,0.31889376,-0.5012205,1.3971672,-0.07328572,-0.2438007,0.9779237,-0.10709611,-0.5012205,1.4290907,-0.048658583,0.6914417,0.6492985,-0.048658583,0.6914417,0.6492985,-0.06357545,0.3927054,0.8483495,0.49033257,-0.2438007,0.8492818,0.7188786,-0.2438007,0.6670224,0.49033257,-0.2438007,0.8492818,0.026039246,0.8910508,0.34747308,0.026039246,0.8910508,0.34747308,-0.026333898,0.8910508,0.35139787,-0.026333898,0.8910508,0.35139787,-0.048658583,0.6914417,0.6492985,-0.06357545,0.3927054,0.8483495,-0.06881352,0.040322006,0.91824704,-0.10709611,-0.5012205,1.4290907,-0.35827795,-0.2438007,0.912876,-0.5235699,-0.5012205,1.334033,-0.2378809,0.6914417,0.6061097,-0.2378809,0.6914417,0.6061097,-0.31080642,0.3927054,0.7919206,0.6750099,0.040322006,0.6263181,0.6750099,0.040322006,0.6263181,0.6750099,0.040322006,0.6263181,-0.077537104,0.8910508,0.33971107,-0.077537104,0.8910508,0.33971107,-0.12874031,0.8910508,0.32802424,-0.12874031,0.8910508,0.32802424,-0.2378809,0.6914417,0.6061097,-0.31080642,0.3927054,0.7919206,-0.3364144,0.040322006,0.8571688,-0.5235699,-0.5012205,1.334033,-0.61143565,-0.2438007,0.7667152,-0.61143565,-0.2438007,0.7667152,-0.8935223,-0.5012205,1.1204406,-0.31080642,0.3927054,0.7919206,-0.2378809,0.6914417,0.6061097,-0.40596652,0.6914417,0.50906533,-0.40596652,0.6914417,0.50906533,-0.5304209,0.3927054,0.665126,-0.98066634,-0.2438007,3.4891805E-9,-0.98066634,-0.2438007,3.4891805E-9,-0.98066634,-0.2438007,3.4891805E-9,-0.17422396,0.8910508,0.30176422,-0.17422396,0.8910508,0.30176422,-0.2197076,0.8910508,0.2755042,-0.2197076,0.8910508,0.2755042,-0.40596652,0.6914417,0.50906533,-0.3364144,0.040322006,0.8571688,-0.5304209,0.3927054,0.665126,-0.57412344,0.040322006,0.7199273,-0.8935223,-0.5012205,1.1204406,-0.8102646,-0.2438007,0.55242836,-1.1840814,-0.5012205,0.8072923,-0.5379802,0.6914417,0.36678824,-0.5379802,0.6914417,0.36678824,-0.7029052,0.3927054,0.47923198,0.9697125,-0.2438007,0.14616093,0.96971256,-0.2438007,-0.14616044,0.9697125,-0.2438007,0.14616093,-0.25543025,0.8910508,0.23700431,-0.25543025,0.8910508,0.23700431,-0.2911529,0.8910508,0.1985044,-0.2911529,0.8910508,0.1985044,-0.5379802,0.6914417,0.36678824,-0.7029052,0.3927054,0.47923198,-0.7608191,0.040322006,0.51871717,-1.1840814,-0.5012205,0.8072923,-0.93709797,-0.2438007,0.28905588,-1.3694295,-0.5012205,0.4224124,-0.622192,0.6914417,0.19192047,-0.622192,0.6914417,0.19192047,-0.8129332,0.3927054,0.25075617,0.91053694,0.040322006,-0.13724121,0.91053694,0.040322006,-0.13724121,0.91053694,0.040322006,-0.13724121,-0.31394044,0.8910508,0.15118551,-0.31394044,0.8910508,0.15118551,-0.33672798,0.8910508,0.10386663,-0.33672798,0.8910508,0.10386663,-0.622192,0.6914417,0.19192047,-0.8129332,0.3927054,0.25075617,-0.87991256,0.040322006,0.27141666,-0.35238343,0.8910508,-6.5793486E-9,-0.040540174,0.92609775,6.2224444E-8,-0.038739096,0.92609775,-0.01194931,-0.03349589,0.92609775,-0.02283693,-0.025276445,0.92609775,-0.031695377,-0.0148111,0.92609775,-0.037737552,-0.0030297316,0.92609775,-0.040426563,0.009020822,0.92609775,-0.0395235,0.02026982,0.92609775,-0.035108592,0.029717742,0.92609775,-0.027574131,0.03652509,0.92609775,-0.017589575,0.040087014,0.92609775,-0.0060421014,0.040087007,0.92609775,0.0060422425,0.03652508,0.92609775,0.017589714,0.029717728,0.92609775,0.027574264,0.020269804,0.92609775,0.035108734,0.009020805,0.92609775,0.03952363,-0.0030297488,0.92609775,0.04042669,-0.014811114,0.92609775,0.037737668,-0.025276458,0.92609775,0.031695493,-0.03349589,0.92609775,0.022837032,-1.3694295,-0.5012205,0.4224124,-0.98066634,-0.2438007,3.4891805E-9,-0.038739085,0.92609775,0.011949419,-0.3445557,0.8910508,0.05193331,-0.93709797,-0.2438007,0.28905588,-0.3445557,0.8910508,0.05193331,-0.87991256,0.040322006,0.27141666,-0.038739096,0.92609775,-0.01194931,-0.040540174,0.92609775,6.2224444E-8,-0.025276445,0.92609775,-0.031695377,-0.03349589,0.92609775,-0.02283693,-0.03349589,0.92609775,-0.02283693,-0.03349589,0.92609775,-0.02283693,-0.025276445,0.92609775,-0.031695377,-0.03349589,0.92609775,-0.02283693,-0.0148111,0.92609775,-0.037737552,-0.025276445,0.92609775,-0.031695377,-0.0148111,0.92609775,-0.037737552,-0.025276445,0.92609775,-0.031695377,-0.0030297316,0.92609775,-0.040426563,-0.0148111,0.92609775,-0.037737552,-0.0030297316,0.92609775,-0.040426563,-0.0148111,0.92609775,-0.037737552,0.009020822,0.92609775,-0.0395235,-0.0030297316,0.92609775,-0.040426563,0.009020822,0.92609775,-0.0395235,-0.0030297316,0.92609775,-0.040426563,0.02026982,0.92609775,-0.035108592,0.009020822,0.92609775,-0.0395235,0.02026982,0.92609775,-0.035108592,0.009020822,0.92609775,-0.0395235,0.029717742,0.92609775,-0.027574131,0.02026982,0.92609775,-0.035108592,0.029717742,0.92609775,-0.027574131,0.02026982,0.92609775,-0.035108592,0.03652509,0.92609775,-0.017589575,0.029717742,0.92609775,-0.027574131,0.03652509,0.92609775,-0.017589575,0.029717742,0.92609775,-0.027574131,0.040087014,0.92609775,-0.0060421014,0.03652509,0.92609775,-0.017589575,0.040087014,0.92609775,-0.0060421014,0.03652509,0.92609775,-0.017589575,0.040087007,0.92609775,0.0060422425,0.040087014,0.92609775,-0.0060421014,0.040087007,0.92609775,0.0060422425,0.040087014,0.92609775,-0.0060421014,0.03652508,0.92609775,0.017589714,0.040087007,0.92609775,0.0060422425,0.03652508,0.92609775,0.017589714,0.040087007,0.92609775,0.0060422425,0.029717728,0.92609775,0.027574264,0.03652508,0.92609775,0.017589714,0.029717728,0.92609775,0.027574264,0.03652508,0.92609775,0.017589714,0.020269804,0.92609775,0.035108734,0.029717728,0.92609775,0.027574264,0.020269804,0.92609775,0.035108734,0.029717728,0.92609775,0.027574264,0.009020805,0.92609775,0.03952363,0.020269804,0.92609775,0.035108734,0.009020805,0.92609775,0.03952363,0.020269804,0.92609775,0.035108734,-0.0030297488,0.92609775,0.04042669,0.009020805,0.92609775,0.03952363,-0.0030297488,0.92609775,0.04042669,0.009020805,0.92609775,0.03952363,-0.014811114,0.92609775,0.037737668,-0.0030297488,0.92609775,0.04042669,-0.014811114,0.92609775,0.037737668,-0.0030297488,0.92609775,0.04042669,-0.025276458,0.92609775,0.031695493,-0.014811114,0.92609775,0.037737668,-0.025276458,0.92609775,0.031695493,-0.014811114,0.92609775,0.037737668,-0.03349589,0.92609775,0.022837032,-0.025276458,0.92609775,0.031695493,-0.03349589,0.92609775,0.022837032,-0.025276458,0.92609775,0.031695493,-0.038739085,0.92609775,0.011949419,-0.03349589,0.92609775,0.022837032,-0.038739085,0.92609775,0.011949419,-0.03349589,0.92609775,0.022837032,-0.040540174,0.92609775,6.2224444E-8,-0.038739085,0.92609775,0.011949419,-0.040540174,0.92609775,6.2224444E-8,-0.038739085,0.92609775,0.011949419,-0.038739096,0.92609775,-0.01194931,-0.040540174,0.92609775,6.2224444E-8,-0.038739096,0.92609775,-0.01194931,-0.038739096,0.92609775,-0.01194931,-0.038739096,0.92609775,-0.01194931,-0.040540174,0.92609775,6.2224444E-8,-0.021088272,1.0286885,8.2266105E-8,-0.021088272,1.0286885,8.2266105E-8,-0.020151388,1.0286885,-0.006215742,-0.0148111,0.92609775,-0.037737552,-0.025276445,0.92609775,-0.031695377,-0.01314839,1.0286885,-0.01648725,-0.01314839,1.0286885,-0.01648725,-0.007704526,1.0286885,-0.019630266,0.02026982,0.92609775,-0.035108592,0.009020822,0.92609775,-0.0395235,0.004692365,1.0286885,-0.020559283,0.004692365,1.0286885,-0.020559283,0.010543869,1.0286885,-0.018262736,0.040087014,0.92609775,-0.0060421014,0.03652509,0.92609775,-0.017589575,0.018999537,1.0286885,-0.009149695,0.018999537,1.0286885,-0.009149695,0.020852378,1.0286885,-0.003142931,0.029717728,0.92609775,0.027574264,0.03652508,0.92609775,0.017589714,0.018999534,1.0286885,0.009149867,0.018999534,1.0286885,0.009149867,0.0154584795,1.0286885,0.0143436305,-0.0030297488,0.92609775,0.04042669,0.009020805,0.92609775,0.03952363,0.0046923556,1.0286885,0.020559456,0.0046923556,1.0286885,0.020559456,-0.0015761019,1.0286885,0.021029208,-0.03349589,0.92609775,0.022837032,-0.025276458,0.92609775,0.031695493,-0.013148397,1.0286885,0.016487416,-0.013148397,1.0286885,0.016487416,-0.017423984,1.0286885,0.01187942,-0.03349589,0.92609775,-0.02283693,-0.038739096,0.92609775,-0.01194931,-0.020151388,1.0286885,-0.006215742,-0.01742398,1.0286885,-0.011879266,-0.0030297316,0.92609775,-0.040426563,-0.007704526,1.0286885,-0.019630266,-0.001576093,1.0286885,-0.02102904,0.029717742,0.92609775,-0.027574131,0.010543869,1.0286885,-0.018262736,0.015458487,1.0286885,-0.014343463,0.040087007,0.92609775,0.0060422425,0.020852378,1.0286885,-0.003142931,0.020852378,1.0286885,0.0031431038,0.020269804,0.92609775,0.035108734,0.0154584795,1.0286885,0.0143436305,0.010543859,1.0286885,0.01826291,-0.014811114,0.92609775,0.037737668,-0.0015761019,1.0286885,0.021029208,-0.007704532,1.0286885,0.019630434,-0.038739085,0.92609775,0.011949419,-0.017423984,1.0286885,0.01187942,-0.020151388,1.0286885,0.0062158974,-0.01742398,1.0286885,-0.011879266,0.009020822,0.92609775,-0.0395235,-0.001576093,1.0286885,-0.02102904,0.004692365,1.0286885,-0.020559283,0.015458487,1.0286885,-0.014343463,0.040087007,0.92609775,0.0060422425,0.020852378,1.0286885,0.0031431038,0.010543859,1.0286885,0.01826291,-0.014811114,0.92609775,0.037737668,-0.007704532,1.0286885,0.019630434,-0.020151388,1.0286885,0.0062158974,-0.007704532,1.0286885,0.019630434,-0.0068811513,1.1564515,0.09181987,-0.0068811513,1.1564515,0.09181987,-0.033639807,1.1564515,0.08571238,-0.076078,1.1564515,0.051869012,-0.076078,1.1564515,0.051869012,-0.0879867,1.1564515,0.02714029,-0.07607798,1.1564515,-0.051868904,-0.07607798,1.1564515,-0.051868904,-0.05740941,1.1564515,-0.07198882,-0.0068811127,1.1564515,-0.0918197,-0.0068811127,1.1564515,-0.0918197,0.02048895,1.1564515,-0.089768596,0.06749723,1.1564515,-0.062628366,0.06749723,1.1564515,-0.062628366,0.08295858,1.1564515,-0.039950732,0.018999534,1.0286885,0.009149867,0.020852378,1.0286885,0.0031431038,0.09104866,1.1564515,0.013723504,0.09104866,1.1564515,0.013723504,0.082958564,1.1564515,0.039950926,0.04603842,1.1564515,0.07974134,0.04603842,1.1564515,0.07974134,0.020488909,1.1564515,0.08976878,-0.033639807,1.1564515,0.08571238,-0.057409443,1.1564515,0.07198897,-0.0879867,1.1564515,0.02714029,-0.092077434,1.1564515,8.003108E-8,-0.020151388,1.0286885,-0.006215742,-0.092077434,1.1564515,8.003108E-8,-0.0879867,1.1564515,-0.027140167,-0.05740941,1.1564515,-0.07198882,-0.033639785,1.1564515,-0.08571222,0.02048895,1.1564515,-0.089768596,0.046038464,1.1564515,-0.07974115,0.08295858,1.1564515,-0.039950732,0.09104866,1.1564515,-0.013723306,0.082958564,1.1564515,0.039950926,0.0674972,1.1564515,0.06262854,0.020488909,1.1564515,0.08976878,-0.057409443,1.1564515,0.07198897,-0.0879867,1.1564515,-0.027140167,-0.033639785,1.1564515,-0.08571222,0.046038464,1.1564515,-0.07974115,0.020852378,1.0286885,0.0031431038,0.09104866,1.1564515,-0.013723306,0.09104866,1.1564515,0.013723504,0.0674972,1.1564515,0.06262854,0.020488948,1.2456213,-0.089768596,0.020488948,1.2456213,-0.089768596,0.04603846,1.2456213,-0.07974115,0.08295858,1.2456213,-0.039950732,0.08295858,1.2456213,-0.039950732,0.09104866,1.2456213,-0.013723306,0.082958564,1.2456213,0.039950926,0.082958564,1.2456213,0.039950926,0.0674972,1.2456213,0.06262854,0.020488907,1.2456213,0.08976878,0.020488907,1.2456213,0.08976878,-0.0068811537,1.2456213,0.09181987,-0.057409447,1.2456213,0.07198897,-0.057409447,1.2456213,0.07198897,-0.076078,1.2456213,0.051869012,-0.0879867,1.2456213,-0.027140167,-0.0879867,1.2456213,-0.027140167,-0.07607798,1.2456213,-0.051868904,-0.03363979,1.2456213,-0.08571222,-0.03363979,1.2456213,-0.08571222,-0.006881115,1.2456213,-0.0918197,0.04603846,1.2456213,-0.07974115,0.06749723,1.2456213,-0.062628366,0.09104866,1.2456213,-0.013723306,0.09104866,1.2456213,0.013723504,0.0674972,1.2456213,0.06262854,0.046038415,1.2456213,0.07974134,-0.033639807,1.1564515,0.08571238,-0.0068811537,1.2456213,0.09181987,-0.03363981,1.2456213,0.08571238,-0.076078,1.2456213,0.051869012,-0.0879867,1.2456213,0.02714029,-0.07607798,1.2456213,-0.051868904,-0.057409413,1.2456213,-0.07198882,0.02048895,1.1564515,-0.089768596,-0.006881115,1.2456213,-0.0918197,0.020488948,1.2456213,-0.089768596,0.06749723,1.2456213,-0.062628366,0.09104866,1.1564515,0.013723504,0.09104866,1.2456213,0.013723504,0.046038415,1.2456213,0.07974134,-0.03363981,1.2456213,0.08571238,-0.0879867,1.2456213,0.02714029,-0.092077434,1.2456213,8.003108E-8,-0.0879867,1.1564515,-0.027140167,-0.092077434,1.2456213,8.003108E-8,-0.0879867,1.2456213,-0.027140167,-0.057409413,1.2456213,-0.07198882,-1.8795784E-7,1.5347954,8.043241E-8,-1.8795784E-7,1.5347954,8.043241E-8,-1.8795784E-7,1.5347954,8.043241E-8,-1.8795784E-7,1.5347954,8.043241E-8,-1.8795784E-7,1.5347954,8.043241E-8,0.09104866,1.2456213,0.013723504,-0.03363981,1.2456213,0.08571238,-0.93709797,-0.2438007,0.28905588,-0.8102646,-0.2438007,0.55242836,-0.87229013,-0.2546755,0.5947166,-0.87229013,-0.2546755,0.5947166,-1.0088326,-0.2546755,0.31118304,-0.61143565,-0.2438007,0.7667152,-0.6582409,-0.2546755,0.8254071,-0.6582409,-0.2546755,0.8254071,-0.61143565,-0.2438007,0.7667152,-0.35827795,-0.2438007,0.912876,-0.385704,-0.2546755,0.98275644,-0.385704,-0.2546755,0.98275644,-0.07328572,-0.2438007,0.9779237,-0.07889571,-0.2546755,1.0527835,-0.07889571,-0.2546755,1.0527835,0.21821825,-0.2438007,0.95607865,0.23492283,-0.2546755,1.0292662,0.23492283,-0.2546755,1.0292662,0.21821825,-0.2438007,0.95607865,0.49033257,-0.2438007,0.8492818,0.52786744,-0.2546755,0.9142941,0.52786744,-0.2546755,0.9142941,0.7188786,-0.2438007,0.6670224,0.7739086,-0.2546755,0.71808285,0.7739086,-0.2546755,0.71808285,0.8835492,-0.2438007,0.42549527,0.9511847,-0.2546755,0.45806682,0.9511847,-0.2546755,0.45806682,0.9697125,-0.2438007,0.14616093,1.0439438,-0.2546755,0.15734951,1.0439438,-0.2546755,0.15734951,0.96971256,-0.2438007,-0.14616044,1.0439439,-0.2546755,-0.15734899,1.0439439,-0.2546755,-0.15734899,0.8835494,-0.2438007,-0.42549482,0.9511849,-0.2546755,-0.45806634,0.9511849,-0.2546755,-0.45806634,0.718879,-0.2438007,-0.6670221,0.77390903,-0.2546755,-0.7180825,0.77390903,-0.2546755,-0.7180825,0.718879,-0.2438007,-0.6670221,0.49033296,-0.2438007,-0.8492816,0.52786785,-0.2546755,-0.91429394,0.52786785,-0.2546755,-0.91429394,0.21821865,-0.2438007,-0.95607865,0.23492326,-0.2546755,-1.0292662,0.23492326,-0.2546755,-1.0292662,-0.07328535,-0.2438007,-0.9779239,-0.07889531,-0.2546755,-1.0527837,-0.07889531,-0.2546755,-1.0527837,-0.07328535,-0.2438007,-0.9779239,-0.35827768,-0.2438007,-0.9128763,-0.38570374,-0.2546755,-0.9827568,-0.38570374,-0.2546755,-0.9827568,-0.35827768,-0.2438007,-0.9128763,-0.6114355,-0.2438007,-0.76671565,-0.6582407,-0.2546755,-0.82540756,-0.6582407,-0.2546755,-0.82540756,-0.8102645,-0.2438007,-0.5524289,-0.8722901,-0.2546755,-0.5947172,-0.8722901,-0.2546755,-0.5947172,-0.9370981,-0.2438007,-0.28905642,-1.0088327,-0.2546755,-0.31118363,-1.0088327,-0.2546755,-0.31118363,-0.9208222,0.040322006,-6.5793486E-9,-0.8799127,0.040322006,-0.27141708,-0.9472698,0.05119671,-0.292194,-0.9208222,0.040322006,-6.5793486E-9,-0.9472698,0.05119671,-0.292194,-0.9913109,0.05119671,-6.7570873E-9,-0.98066634,-0.2438007,3.4891805E-9,-1.0088326,-0.2546755,0.31118304,-1.0557361,-0.2546755,4.082185E-9,0.21821825,-0.2438007,0.95607865,0.21821825,-0.2438007,0.95607865,-0.57412326,0.040322006,-0.71992767,-0.33641413,0.040322006,-0.85716903,-0.57412326,0.040322006,-0.71992767,-0.07328535,-0.2438007,-0.9779239,-0.35827768,-0.2438007,-0.9128763,-0.35827768,-0.2438007,-0.9128763,-0.07328535,-0.2438007,-0.9779239,-0.3364144,0.040322006,0.8571688,-0.57412344,0.040322006,0.7199273,-0.3364144,0.040322006,0.8571688,-0.61143565,-0.2438007,0.7667152,-0.61143565,-0.2438007,0.7667152,0.4604109,0.040322006,-0.79745513,0.67501014,0.040322006,-0.6263179,0.4604109,0.040322006,-0.79745513,0.718879,-0.2438007,-0.6670221,0.718879,-0.2438007,-0.6670221,-0.87991256,0.040322006,0.27141666,-0.9208222,0.040322006,-6.5793486E-9,-0.9208222,0.040322006,-6.5793486E-9,-0.87991256,0.040322006,0.27141666,0.9105369,0.040322006,0.13724159,0.9697125,-0.2438007,0.14616093,-0.8799127,0.040322006,-0.27141708,0.4604106,0.040322006,0.79745525,0.49033257,-0.2438007,0.8492818,-0.57412326,0.040322006,-0.71992767,-0.6114355,-0.2438007,-0.76671565,-0.06881352,0.040322006,0.91824704,-0.3364144,0.040322006,0.8571688,-0.35827795,-0.2438007,0.912876,0.4604109,0.040322006,-0.79745513,0.49033296,-0.2438007,-0.8492816,-0.87991256,0.040322006,0.27141666,-1.0557361,-0.2546755,4.082185E-9,-0.9913109,0.05119671,-6.7570873E-9,-0.9472698,0.05119671,-0.292194,-1.0088327,-0.2546755,-0.31118363,-1.0088327,-0.2546755,-0.31118363,-0.9472698,0.05119671,-0.292194,-0.8190595,0.05119671,-0.55842525,-0.8190595,0.05119671,-0.55842525,-0.8722901,-0.2546755,-0.5947172,-0.6180723,0.05119671,-0.77503794,-0.6180723,0.05119671,-0.77503794,-0.6582407,-0.2546755,-0.82540756,-0.36216652,0.05119671,-0.9227851,-0.36216652,0.05119671,-0.9227851,-0.38570374,-0.2546755,-0.9827568,-0.07408079,0.05119671,-0.98853874,-0.07408079,0.05119671,-0.98853874,-0.07889531,-0.2546755,-1.0527837,0.22058733,0.05119671,-0.9664564,0.22058733,0.05119671,-0.9664564,0.23492326,-0.2546755,-1.0292662,0.23492326,-0.2546755,-1.0292662,0.22058733,0.05119671,-0.9664564,0.49565527,0.05119671,-0.8585001,0.49565527,0.05119671,-0.8585001,0.52786785,-0.2546755,-0.91429394,0.726682,0.05119671,-0.6742624,0.726682,0.05119671,-0.6742624,0.77390903,-0.2546755,-0.7180825,0.89313996,0.05119671,-0.4301134,0.89313996,0.05119671,-0.4301134,0.9511849,-0.2546755,-0.45806634,0.9802384,0.05119671,-0.147747,0.9802384,0.05119671,-0.147747,1.0439439,-0.2546755,-0.15734899,0.9802383,0.05119671,0.1477474,0.9802383,0.05119671,0.1477474,1.0439438,-0.2546755,0.15734951,1.0439438,-0.2546755,0.15734951,0.9802383,0.05119671,0.1477474,0.8931398,0.05119671,0.43011376,0.8931398,0.05119671,0.43011376,0.9511847,-0.2546755,0.45806682,0.72668177,0.05119671,0.6742626,0.72668177,0.05119671,0.6742626,0.7739086,-0.2546755,0.71808285,0.49565494,0.05119671,0.85850024,0.49565494,0.05119671,0.85850024,0.52786744,-0.2546755,0.9142941,0.22058694,0.05119671,0.9664564,0.22058694,0.05119671,0.9664564,0.23492283,-0.2546755,1.0292662,-0.07408116,0.05119671,0.9885386,-0.07408116,0.05119671,0.9885386,-0.07889571,-0.2546755,1.0527835,-0.36216682,0.05119671,0.92278486,-0.36216682,0.05119671,0.92278486,-0.385704,-0.2546755,0.98275644,-0.385704,-0.2546755,0.98275644,-0.36216682,0.05119671,0.92278486,-0.61807245,0.05119671,0.7750376,-0.61807245,0.05119671,0.7750376,-0.6582409,-0.2546755,0.8254071,-0.8190596,0.05119671,0.55842483,-0.8190596,0.05119671,0.55842483,-0.87229013,-0.2546755,0.5947166,-0.9472696,0.05119671,0.29219356,-0.9472696,0.05119671,0.29219356,-1.0088326,-0.2546755,0.31118304,-0.87991256,0.040322006,0.27141666,-0.9913109,0.05119671,-6.7570873E-9,-0.9472696,0.05119671,0.29219356,-1.0557361,-0.2546755,4.082185E-9,-0.760819,0.040322006,-0.5187175,-0.8190595,0.05119671,-0.55842525,-0.57412326,0.040322006,-0.71992767,-0.6180723,0.05119671,-0.77503794,-0.33641413,0.040322006,-0.85716903,-0.36216652,0.05119671,-0.9227851,-0.068813175,0.040322006,-0.91824716,-0.07408079,0.05119671,-0.98853874,0.2049021,0.040322006,-0.897735,0.22058733,0.05119671,-0.9664564,0.4604109,0.040322006,-0.79745513,0.49565527,0.05119671,-0.8585001,0.67501014,0.040322006,-0.6263179,0.726682,0.05119671,-0.6742624,0.8296318,0.040322006,-0.39952952,0.89313996,0.05119671,-0.4301134,0.91053694,0.040322006,-0.13724121,0.9802384,0.05119671,-0.147747,0.9105369,0.040322006,0.13724159,0.9802383,0.05119671,0.1477474,0.8296316,0.040322006,0.39952984,0.8931398,0.05119671,0.43011376,0.6750099,0.040322006,0.6263181,0.72668177,0.05119671,0.6742626,0.4604106,0.040322006,0.79745525,0.49565494,0.05119671,0.85850024,0.20490174,0.040322006,0.897735,0.22058694,0.05119671,0.9664564,-0.06881352,0.040322006,0.91824704,-0.07408116,0.05119671,0.9885386,-0.3364144,0.040322006,0.8571688,-0.36216682,0.05119671,0.92278486,-0.57412344,0.040322006,0.7199273,-0.61807245,0.05119671,0.7750376,-0.7608191,0.040322006,0.51871717,-0.8190596,0.05119671,0.55842483],"triangleCount":651,"normals":[-0.71611685,0.6979278,0.0,-0.3628651,0.93182164,0.0,-0.34250924,0.9380779,-0.0516068,-0.71611685,0.6979278,0.0,-0.34250924,0.9380779,-0.0516068,-0.3467513,0.93182164,-0.10693686,-0.3467513,0.93182164,-0.10693686,-0.6843165,0.6979278,-0.21106601,-0.9807733,0.19507432,0.0,-0.9264809,0.3762627,0.0,-0.8853114,0.3762627,-0.27307963,-0.9807733,0.19507432,0.0,-0.8853114,0.3762627,-0.27307963,-0.9371929,0.19507432,-0.28907132,-0.49452192,0.86913663,0.0,-0.49452192,0.86913663,0.0,-0.4725486,0.86913663,-0.14575641,-0.49452192,0.86913663,0.0,-0.4725486,0.86913663,-0.14575641,-0.4725486,0.86913663,-0.14575641,-0.9264809,0.3762627,0.0,-0.71611685,0.6979278,0.0,-0.6843165,0.6979278,-0.21106601,0.4903714,0.19507432,0.84936064,0.21823786,0.19507432,0.95617545,-0.033906065,0.9882809,-0.14862514,0.4903714,0.19507432,0.84936064,-0.076235235,0.9882809,-0.13202307,-0.4725486,0.86913663,-0.14575641,-0.4085818,0.86913663,-0.27857295,-0.4085818,0.86913663,-0.27857295,-0.4085818,0.86913663,-0.27857295,-0.8853114,0.3762627,-0.27307963,-0.6843165,0.6979278,-0.21106601,-0.59169286,0.6979278,-0.40339366,-0.59169286,0.6979278,-0.40339366,-0.7654958,0.3762627,-0.521897,-0.4085818,0.86913663,-0.27857295,-0.4725486,0.86913663,-0.14575641,0.13696708,-0.98965424,0.042237617,0.13696708,-0.98965424,0.042237617,0.118442334,-0.98965424,0.08075198,-0.6843165,0.6979278,-0.21106601,-0.31205177,0.9380779,-0.15027314,-0.31205177,0.9380779,-0.15027314,-0.29981384,0.93182164,-0.20441298,-0.29981384,0.93182164,-0.20441298,-0.59169286,0.6979278,-0.40339366,-0.9371929,0.19507432,-0.28907132,-0.7654958,0.3762627,-0.521897,-0.810358,0.19507432,-0.5524766,-0.4085818,0.86913663,-0.27857295,-0.3083285,0.86913663,-0.38660848,-0.3083285,0.86913663,-0.38660848,-0.3083285,0.86913663,-0.38660848,-0.4464858,0.6979278,-0.5598926,-0.4464858,0.6979278,-0.5598926,-0.57765436,0.3762627,-0.72435683,0.36249885,0.86913663,0.33634448,0.4455397,0.86913663,0.21454512,-0.12915434,-0.98965424,-0.062196724,0.36249885,0.86913663,0.33634448,-0.105075225,-0.98965424,-0.097506635,-0.25388348,0.9380779,-0.23557237,-0.25388348,0.9380779,-0.23557237,-0.2262337,0.93182164,-0.28370008,-0.2262337,0.93182164,-0.28370008,-0.4464858,0.6979278,-0.5598926,-0.810358,0.19507432,-0.5524766,-0.57765436,0.3762627,-0.72435683,-0.61149937,0.19507432,-0.7668081,-0.3083285,0.86913663,-0.38660848,-0.18066958,0.86913663,-0.4603412,-0.18066958,0.86913663,-0.4603412,-0.18066958,0.86913663,-0.4603412,-0.26163518,0.6979278,-0.6666158,-0.26163518,0.6979278,-0.6666158,-0.3384808,0.3762627,-0.8624531,0.9698172,0.19507432,0.14615314,0.8836329,0.19507432,0.4255196,-0.1373638,0.9882809,-0.06613361,0.9698172,0.19507432,0.14615314,-0.15076144,0.9882809,-0.022705771,-0.17316203,0.9380779,-0.29996642,-0.17316203,0.9380779,-0.29996642,-0.13257241,0.93182164,-0.33777887,-0.13257241,0.93182164,-0.33777887,-0.26163518,0.6979278,-0.6666158,-0.61149937,0.19507432,-0.7668081,-0.3384808,0.3762627,-0.8624531,-0.35831782,0.19507432,-0.9129612,-0.18066958,0.86913663,-0.4603412,-0.0369274,0.86913663,-0.49311808,-0.0369274,0.86913663,-0.49311808,-0.0369274,0.86913663,-0.49311808,-0.053498946,0.6979278,-0.71413314,-0.053498946,0.6979278,-0.71413314,-0.06921598,0.3762627,-0.92388684,0.4889981,0.86913663,-0.0737022,0.4455397,0.86913663,-0.21454512,-0.12915434,-0.98965424,0.062196724,0.4889981,0.86913663,-0.0737022,-0.14175847,-0.98965424,0.021362957,-0.07705924,0.9380779,-0.3376873,-0.07705924,0.9380779,-0.3376873,-0.027100436,0.93182164,-0.36185798,-0.027100436,0.93182164,-0.36185798,-0.053498946,0.6979278,-0.71413314,-0.35831782,0.19507432,-0.9129612,-0.06921598,0.3762627,-0.92388684,-0.07327494,0.19507432,-0.9780267,-0.0369274,0.86913663,-0.49311808,0.11001923,0.86913663,-0.4821009,0.11001923,0.86913663,-0.4821009,0.11001923,0.86913663,-0.4821009,0.15933713,0.6979278,-0.6981719,0.15933713,0.6979278,-0.6981719,0.20615253,0.3762627,-0.9032563,0.71895504,0.19507432,-0.6670736,0.8836329,0.19507432,-0.4255196,-0.1373638,0.9882809,0.06613361,0.71895504,0.19507432,-0.6670736,-0.11175878,0.9882809,0.1037019,0.025879696,0.9380779,-0.3454085,0.025879696,0.9380779,-0.3454085,0.08072146,0.93182164,-0.35377055,0.08072146,0.93182164,-0.35377055,0.15933713,0.6979278,-0.6981719,-0.07327494,0.19507432,-0.9780267,0.20615253,0.3762627,-0.9032563,0.21823786,0.19507432,-0.95617545,0.11001923,0.86913663,-0.4821009,0.24726096,0.86913663,-0.42826626,0.24726096,0.86913663,-0.42826626,0.24726096,0.86913663,-0.42826626,0.20615253,0.3762627,-0.9032563,0.15933713,0.6979278,-0.6981719,0.35804316,0.6979278,-0.6201972,0.35804316,0.6979278,-0.6201972,0.46324044,0.3762627,-0.80236214,-0.4725486,0.86913663,0.14575641,-0.4085818,0.86913663,0.27857295,0.118442334,-0.98965424,-0.08075198,-0.4725486,0.86913663,0.14575641,0.13696708,-0.98965424,-0.042237617,0.12652974,0.9380779,-0.32239753,0.12652974,0.9380779,-0.32239753,0.18143255,0.93182164,-0.3142491,0.18143255,0.93182164,-0.3142491,0.35804316,0.6979278,-0.6201972,0.21823786,0.19507432,-0.95617545,0.46324044,0.3762627,-0.80236214,0.4903714,0.19507432,-0.84936064,0.24726096,0.86913663,-0.42826626,0.36249885,0.86913663,-0.33634448,0.36249885,0.86913663,-0.33634448,0.36249885,0.86913663,-0.33634448,0.5249489,0.6979278,-0.48707542,0.5249489,0.6979278,-0.48707542,0.6791589,0.3762627,-0.6301767,-0.61149937,0.19507432,0.7668081,-0.810358,0.19507432,0.5524766,0.12594989,0.9882809,-0.08587909,-0.61149937,0.19507432,0.7668081,0.09503464,0.9882809,-0.119205296,0.21594897,0.9380779,-0.27079073,0.21594897,0.9380779,-0.27079073,0.26599932,0.93182164,-0.24680318,0.26599932,0.93182164,-0.24680318,0.5249489,0.6979278,-0.48707542,0.4903714,0.19507432,-0.84936064,0.6791589,0.3762627,-0.6301767,0.71895504,0.19507432,-0.6670736,0.36249885,0.86913663,-0.33634448,0.4455397,0.86913663,-0.21454512,0.4455397,0.86913663,-0.21454512,0.6452223,0.6979278,-0.31070894,0.6452223,0.6979278,-0.31070894,0.83474225,0.3762627,-0.40198982,0.24726096,0.86913663,-0.42826626,0.11001923,0.86913663,-0.4821009,-0.03189184,-0.98965424,0.13974425,-0.03189184,-0.98965424,0.13974425,-0.071657464,-0.98965424,0.1241493,0.28617206,0.9380779,-0.19510484,0.28617206,0.9380779,-0.19510484,0.3269448,0.93182164,-0.15744498,0.3269448,0.93182164,-0.15744498,0.6452223,0.6979278,-0.31070894,0.83474225,0.3762627,-0.40198982,0.8836329,0.19507432,-0.4255196,0.4455397,0.86913663,-0.21454512,0.4889981,0.86913663,-0.0737022,0.4889981,0.86913663,-0.0737022,0.708121,0.6979278,-0.10672323,0.708121,0.6979278,-0.10672323,0.91613513,0.3762627,-0.13806574,-0.07327494,0.19507432,-0.9780267,0.21823786,0.19507432,-0.95617545,-0.033906065,0.9882809,0.14862514,-0.033906065,0.9882809,0.14862514,0.011383404,0.9882809,0.15204321,0.33097324,0.9380779,-0.10208441,0.33097324,0.9380779,-0.10208441,0.3588061,0.93182164,-0.0540788,0.3588061,0.93182164,-0.0540788,0.708121,0.6979278,-0.10672323,0.91613513,0.3762627,-0.13806574,0.9698172,0.19507432,-0.14615314,0.4889981,0.86913663,-0.0737022,0.4889981,0.86913663,0.0737022,0.4889981,0.86913663,0.0737022,0.4889981,0.86913663,0.0737022,0.708121,0.6979278,0.10672323,0.708121,0.6979278,0.10672323,0.91613513,0.3762627,0.13806574,-0.35831782,0.19507432,-0.9129612,0.011383404,0.9882809,0.15204321,0.05569628,0.9882809,0.14191107,0.34635457,0.9380779,0.0,0.34635457,0.9380779,0.0,0.3588061,0.93182164,0.0540788,0.3588061,0.93182164,0.0540788,0.708121,0.6979278,0.10672323,0.9698172,0.19507432,-0.14615314,0.91613513,0.3762627,0.13806574,0.9698172,0.19507432,0.14615314,0.4889981,0.86913663,0.0737022,0.4455397,0.86913663,0.21454512,0.4455397,0.86913663,0.21454512,0.91613513,0.3762627,0.13806574,0.708121,0.6979278,0.10672323,0.6452223,0.6979278,0.31070894,0.6452223,0.6979278,0.31070894,0.83474225,0.3762627,0.40198982,-0.18066958,0.86913663,0.4603412,-0.0369274,0.86913663,0.49311808,0.010711997,-0.98965424,-0.1429487,-0.18066958,0.86913663,0.4603412,0.052369762,-0.98965424,-0.13342692,0.33097324,0.9380779,0.10208441,0.33097324,0.9380779,0.10208441,0.3269448,0.93182164,0.15744498,0.3269448,0.93182164,0.15744498,0.6452223,0.6979278,0.31070894,0.9698172,0.19507432,0.14615314,0.83474225,0.3762627,0.40198982,0.8836329,0.19507432,0.4255196,0.4455397,0.86913663,0.21454512,0.36249885,0.86913663,0.33634448,0.36249885,0.86913663,0.33634448,0.5249489,0.6979278,0.48707542,0.5249489,0.6979278,0.48707542,0.6791589,0.3762627,0.6301767,-0.07327494,0.19507432,0.9780267,0.011383404,0.9882809,-0.15204321,0.28617206,0.9380779,0.19510484,0.28617206,0.9380779,0.19510484,0.26599932,0.93182164,0.24680318,0.26599932,0.93182164,0.24680318,0.5249489,0.6979278,0.48707542,0.6791589,0.3762627,0.6301767,0.71895504,0.19507432,0.6670736,0.36249885,0.86913663,0.33634448,0.24726096,0.86913663,0.42826626,0.24726096,0.86913663,0.42826626,0.24726096,0.86913663,0.42826626,0.35804316,0.6979278,0.6201972,0.35804316,0.6979278,0.6201972,0.46324044,0.3762627,0.80236214,-0.3083285,0.86913663,-0.38660848,0.118442334,-0.98965424,0.08075198,0.089358196,-0.98965424,0.11206397,0.21594897,0.9380779,0.27079073,0.21594897,0.9380779,0.27079073,0.18143255,0.93182164,0.3142491,0.18143255,0.93182164,0.3142491,0.35804316,0.6979278,0.6201972,0.71895504,0.19507432,0.6670736,0.46324044,0.3762627,0.80236214,0.4903714,0.19507432,0.84936064,0.24726096,0.86913663,0.42826626,0.11001923,0.86913663,0.4821009,0.11001923,0.86913663,0.4821009,0.11001923,0.86913663,0.4821009,0.15933713,0.6979278,0.6981719,0.15933713,0.6979278,0.6981719,0.20615253,0.3762627,0.9032563,-0.9371929,0.19507432,-0.28907132,-0.810358,0.19507432,-0.5524766,0.12594989,0.9882809,0.08587909,0.12594989,0.9882809,0.08587909,0.14569536,0.9882809,0.044923246,0.12652974,0.9380779,0.32239753,0.12652974,0.9380779,0.32239753,0.08072146,0.93182164,0.35377055,0.08072146,0.93182164,0.35377055,0.15933713,0.6979278,0.6981719,0.20615253,0.3762627,0.9032563,0.21823786,0.19507432,0.95617545,0.11001923,0.86913663,0.4821009,-0.0369274,0.86913663,0.49311808,-0.0369274,0.86913663,0.49311808,-0.053498946,0.6979278,0.71413314,-0.053498946,0.6979278,0.71413314,-0.06921598,0.3762627,0.92388684,0.24726096,0.86913663,0.42826626,-0.105075225,-0.98965424,-0.097506635,-0.071657464,-0.98965424,-0.1241493,0.025879696,0.9380779,0.3454085,0.025879696,0.9380779,0.3454085,-0.027100436,0.93182164,0.36185798,-0.027100436,0.93182164,0.36185798,-0.053498946,0.6979278,0.71413314,-0.06921598,0.3762627,0.92388684,-0.07327494,0.19507432,0.9780267,-0.0369274,0.86913663,0.49311808,-0.18066958,0.86913663,0.4603412,-0.18066958,0.86913663,0.4603412,-0.26163518,0.6979278,0.6666158,-0.26163518,0.6979278,0.6666158,-0.3384808,0.3762627,0.8624531,0.71895504,0.19507432,0.6670736,-0.11175878,0.9882809,-0.1037019,-0.11175878,0.9882809,-0.1037019,-0.07705924,0.9380779,0.3376568,-0.07705924,0.9380779,0.3376568,-0.13257241,0.93182164,0.33777887,-0.13257241,0.93182164,0.33777887,-0.26163518,0.6979278,0.6666158,-0.3384808,0.3762627,0.8624531,-0.35831782,0.19507432,0.9129612,-0.18066958,0.86913663,0.4603412,-0.3083285,0.86913663,0.38660848,-0.3083285,0.86913663,0.38660848,-0.3083285,0.86913663,0.38660848,-0.3384808,0.3762627,0.8624531,-0.26163518,0.6979278,0.6666158,-0.4464858,0.6979278,0.5598926,-0.4464858,0.6979278,0.5598926,-0.57765436,0.3762627,0.72435683,-0.49452192,0.86913663,0.0,0.14334545,-0.98965424,0.0,0.14334545,-0.98965424,0.0,-0.17316203,0.9380779,0.29996642,-0.17316203,0.9380779,0.29996642,-0.2262337,0.93182164,0.28370008,-0.2262337,0.93182164,0.28370008,-0.4464858,0.6979278,0.5598926,-0.35831782,0.19507432,0.9129612,-0.57765436,0.3762627,0.72435683,-0.61149937,0.19507432,0.7668081,-0.3083285,0.86913663,0.38660848,-0.4085818,0.86913663,0.27857295,-0.4085818,0.86913663,0.27857295,-0.59169286,0.6979278,0.40339366,-0.59169286,0.6979278,0.40339366,-0.7654958,0.3762627,0.521897,0.4889981,0.86913663,0.0737022,-0.14175847,-0.98965424,0.021362957,-0.14175847,-0.98965424,-0.021362957,-0.253914,0.9380779,0.23557237,-0.253914,0.9380779,0.23557237,-0.29981384,0.93182164,0.20441298,-0.29981384,0.93182164,0.20441298,-0.59169286,0.6979278,0.40339366,-0.7654958,0.3762627,0.521897,-0.810358,0.19507432,0.5524766,-0.4085818,0.86913663,0.27857295,-0.4725486,0.86913663,0.14575641,-0.4725486,0.86913663,0.14575641,-0.6843165,0.6979278,0.21106601,-0.6843165,0.6979278,0.21106601,-0.8853114,0.3762627,0.27307963,0.9698172,0.19507432,-0.14615314,-0.15076144,0.9882809,0.022705771,-0.15076144,0.9882809,0.022705771,-0.31205177,0.9380779,0.15027314,-0.31205177,0.9380779,0.15027314,-0.3467513,0.93182164,0.10693686,-0.3467513,0.93182164,0.10693686,-0.6843165,0.6979278,0.21106601,-0.8853114,0.3762627,0.27307963,-0.9371929,0.19507432,0.28907132,-0.3628651,0.93182164,0.0,-0.11166722,0.9937437,0.0,-0.10669271,0.9937437,-0.032898955,-0.092257455,0.9937437,-0.06289865,-0.06961272,0.9937437,-0.08731346,-0.04077273,0.9937437,-0.103946045,-0.008331553,0.9937437,-0.11136204,0.024842067,0.9937437,-0.108859524,0.055818353,0.9937437,-0.096713156,0.08185064,0.9937437,-0.07596057,0.100619525,0.9937437,-0.048432875,0.110415965,0.9937437,-0.016632589,0.110415965,0.9937437,0.016632589,0.100619525,0.9937437,0.048432875,0.08185064,0.9937437,0.07596057,0.055818353,0.9937437,0.096713156,0.024842067,0.9937437,0.108859524,-0.008331553,0.9937437,0.11136204,-0.04077273,0.9937437,0.103946045,-0.06961272,0.9937437,0.08731346,-0.092257455,0.9937437,0.06289865,-0.4725486,0.86913663,0.14575641,-0.49452192,0.86913663,0.0,-0.10669271,0.9937437,0.032898955,-0.34250924,0.9380779,0.0516068,0.13696708,-0.98965424,-0.042237617,-0.34250924,0.9380779,0.0516068,-0.9371929,0.19507432,0.28907132,-0.10669271,0.9937437,-0.032898955,-0.11166722,0.9937437,0.0,-0.06961272,0.9937437,-0.08731346,-0.092257455,0.9937437,-0.06289865,-0.81176186,0.18628499,-0.55345315,-0.81176186,0.18628499,-0.55345315,-0.61256754,0.18628499,-0.76812035,-0.092257455,0.9937437,-0.06289865,-0.04077273,0.9937437,-0.103946045,-0.61256754,0.18628499,-0.76812035,-0.3589282,0.18628499,-0.9145787,-0.06961272,0.9937437,-0.08731346,-0.008331553,0.9937437,-0.11136204,-0.3589282,0.18628499,-0.9145787,-0.07339702,0.18628499,-0.97973573,-0.04077273,0.9937437,-0.103946045,0.024842067,0.9937437,-0.108859524,-0.07339702,0.18628499,-0.97973573,0.21860409,0.18628499,-0.9578539,-0.008331553,0.9937437,-0.11136204,0.055818353,0.9937437,-0.096713156,0.21860409,0.18628499,-0.9578539,0.49122593,0.18628499,-0.85085607,0.024842067,0.9937437,-0.108859524,0.08185064,0.9937437,-0.07596057,0.49122593,0.18628499,-0.85085607,0.7202063,0.18628499,-0.6682638,0.055818353,0.9937437,-0.096713156,0.100619525,0.9937437,-0.048432875,0.7202063,0.18628499,-0.6682638,0.88518935,0.18628499,-0.42628255,0.08185064,0.9937437,-0.07596057,0.110415965,0.9937437,-0.016632589,0.88518935,0.18628499,-0.42628255,0.9714957,0.18628499,-0.14642781,0.100619525,0.9937437,-0.048432875,0.110415965,0.9937437,0.016632589,0.9714957,0.18628499,-0.14642781,0.9714957,0.18628499,0.14642781,0.110415965,0.9937437,-0.016632589,0.100619525,0.9937437,0.048432875,0.9714957,0.18628499,0.14642781,0.88518935,0.18628499,0.42628255,0.110415965,0.9937437,0.016632589,0.08185064,0.9937437,0.07596057,0.88518935,0.18628499,0.42628255,0.7202063,0.18628499,0.6682638,0.100619525,0.9937437,0.048432875,0.055818353,0.9937437,0.096713156,0.7202063,0.18628499,0.6682638,0.49122593,0.18628499,0.85085607,0.08185064,0.9937437,0.07596057,0.024842067,0.9937437,0.108859524,0.49122593,0.18628499,0.85085607,0.21860409,0.18628499,0.9578539,0.055818353,0.9937437,0.096713156,-0.008331553,0.9937437,0.11136204,0.21860409,0.18628499,0.9578539,-0.07339702,0.18628499,0.97973573,0.024842067,0.9937437,0.108859524,-0.04077273,0.9937437,0.103946045,-0.07339702,0.18628499,0.97973573,-0.3589282,0.18628499,0.9145787,-0.008331553,0.9937437,0.11136204,-0.06961272,0.9937437,0.08731346,-0.3589282,0.18628499,0.9145787,-0.61256754,0.18628499,0.76812035,-0.04077273,0.9937437,0.103946045,-0.092257455,0.9937437,0.06289865,-0.61256754,0.18628499,0.76812035,-0.81176186,0.18628499,0.55345315,-0.06961272,0.9937437,0.08731346,-0.10669271,0.9937437,0.032898955,-0.81176186,0.18628499,0.55345315,-0.9388409,0.18628499,0.28959015,-0.092257455,0.9937437,0.06289865,-0.11166722,0.9937437,0.0,-0.9388409,0.18628499,0.28959015,-0.9824824,0.18628499,0.0,-0.10669271,0.9937437,0.032898955,-0.10669271,0.9937437,-0.032898955,-0.9824824,0.18628499,0.0,-0.9388409,0.18628499,-0.28959015,-0.9388409,0.18628499,-0.28959015,-0.9388409,0.18628499,-0.28959015,-0.9824824,0.18628499,0.0,-0.9863582,-0.16452529,0.0,-0.9863582,-0.16452529,0.0,-0.9425337,-0.16452529,-0.29071933,-0.3589282,0.18628499,-0.9145787,-0.61256754,0.18628499,-0.76812035,-0.6149785,-0.16452529,-0.7711722,-0.6149785,-0.16452529,-0.7711722,-0.36033204,-0.16452529,-0.91817987,0.49122593,0.18628499,-0.85085607,0.21860409,0.18628499,-0.9578539,0.2194586,-0.16452529,-0.9616382,0.2194586,-0.16452529,-0.9616382,0.4931791,-0.16452529,-0.85421306,0.9714957,0.18628499,-0.14642781,0.88518935,0.18628499,-0.42628255,0.8886685,-0.16452529,-0.42796105,0.8886685,-0.16452529,-0.42796105,0.975341,-0.16452529,-0.14700766,0.7202063,0.18628499,0.6682638,0.88518935,0.18628499,0.42628255,0.8886685,-0.16452529,0.42796105,0.8886685,-0.16452529,0.42796105,0.7230445,-0.16452529,0.67088836,-0.07339702,0.18628499,0.97973573,0.21860409,0.18628499,0.9578539,0.2194586,-0.16452529,0.9616382,0.2194586,-0.16452529,0.9616382,-0.0737022,-0.16452529,0.9836116,-0.81176186,0.18628499,0.55345315,-0.61256754,0.18628499,0.76812035,-0.6149785,-0.16452529,0.7711722,-0.6149785,-0.16452529,0.7711722,-0.81496626,-0.16452529,0.55561996,-0.81176186,0.18628499,-0.55345315,-0.9388409,0.18628499,-0.28959015,-0.9425337,-0.16452529,-0.29071933,-0.81496626,-0.16452529,-0.55561996,-0.07339702,0.18628499,-0.97973573,-0.36033204,-0.16452529,-0.91817987,-0.0737022,-0.16452529,-0.9836116,0.7202063,0.18628499,-0.6682638,0.4931791,-0.16452529,-0.85421306,0.7230445,-0.16452529,-0.67088836,0.9714957,0.18628499,0.14642781,0.975341,-0.16452529,-0.14700766,0.975341,-0.16452529,0.14700766,0.49122593,0.18628499,0.85085607,0.7230445,-0.16452529,0.67088836,0.4931791,-0.16452529,0.85421306,-0.3589282,0.18628499,0.9145787,-0.0737022,-0.16452529,0.9836116,-0.36033204,-0.16452529,0.91817987,-0.9388409,0.18628499,0.28959015,-0.81496626,-0.16452529,0.55561996,-0.9425337,-0.16452529,0.29071933,-0.81496626,-0.16452529,-0.55561996,0.21860409,0.18628499,-0.9578539,-0.0737022,-0.16452529,-0.9836116,0.2194586,-0.16452529,-0.9616382,0.7230445,-0.16452529,-0.67088836,0.9714957,0.18628499,0.14642781,0.975341,-0.16452529,0.14700766,0.4931791,-0.16452529,0.85421306,-0.3589282,0.18628499,0.9145787,-0.36033204,-0.16452529,0.91817987,-0.9425337,-0.16452529,0.29071933,-0.36033204,-0.16452529,0.91817987,-0.072420426,-0.24524674,0.9667348,-0.072420426,-0.24524674,0.9667348,-0.3541673,-0.24524674,0.9024323,-0.8009888,-0.24524674,0.54609823,-0.8009888,-0.24524674,0.54609823,-0.9263588,-0.24524674,0.28574482,-0.8009888,-0.24524674,-0.54609823,-0.8009888,-0.24524674,-0.54609823,-0.60441905,-0.24524674,-0.7579272,-0.072420426,-0.24524674,-0.9667348,-0.072420426,-0.24524674,-0.9667348,0.21570483,-0.24524674,-0.9451277,0.710654,-0.24524674,-0.65938294,0.710654,-0.24524674,-0.65938294,0.8734397,-0.24524674,-0.4206061,0.8886685,-0.16452529,0.42796105,0.975341,-0.16452529,0.14700766,0.9586169,-0.24524674,0.14447463,0.9586169,-0.24524674,0.14447463,0.8734397,-0.24524674,0.4206061,0.48472548,-0.24524674,0.8395642,0.48472548,-0.24524674,0.8395642,0.21570483,-0.24524674,0.9451277,-0.3541673,-0.24524674,0.9024323,-0.60441905,-0.24524674,0.7579272,-0.9263588,-0.24524674,0.28574482,-0.96945095,-0.24524674,0.0,-0.9425337,-0.16452529,-0.29071933,-0.96945095,-0.24524674,0.0,-0.9263588,-0.24524674,-0.28574482,-0.60441905,-0.24524674,-0.7579272,-0.3541673,-0.24524674,-0.9024323,0.21570483,-0.24524674,-0.9451277,0.48472548,-0.24524674,-0.8395642,0.8734397,-0.24524674,-0.4206061,0.9586169,-0.24524674,-0.14447463,0.8734397,-0.24524674,0.4206061,0.710654,-0.24524674,0.65938294,0.21570483,-0.24524674,0.9451277,-0.60441905,-0.24524674,0.7579272,-0.9263588,-0.24524674,-0.28574482,-0.3541673,-0.24524674,-0.9024323,0.48472548,-0.24524674,-0.8395642,0.975341,-0.16452529,0.14700766,0.9586169,-0.24524674,-0.14447463,0.9586169,-0.24524674,0.14447463,0.710654,-0.24524674,0.65938294,0.21994689,0.15134129,-0.96368295,0.21994689,0.15134129,-0.96368295,0.49421674,0.15134129,-0.8560442,0.8905606,0.15134129,-0.4288766,0.8905606,0.15134129,-0.4288766,0.9774163,0.15134129,-0.14731285,0.8905606,0.15134129,0.4288766,0.8905606,0.15134129,0.4288766,0.724601,0.15134129,0.67232275,0.21994689,0.15134129,0.96368295,0.21994689,0.15134129,0.96368295,-0.0738548,0.15134129,0.98568684,-0.6162908,0.15134129,0.77282023,-0.6162908,0.15134129,0.77282023,-0.8167058,0.15134129,0.5568102,-0.9445479,0.15134129,-0.29132968,-0.9445479,0.15134129,-0.29132968,-0.8167058,0.15134129,-0.5568102,-0.36112553,0.15134129,-0.92013305,-0.36112553,0.15134129,-0.92013305,-0.0738548,0.15134129,-0.98568684,0.49421674,0.15134129,-0.8560442,0.724601,0.15134129,-0.67232275,0.9774163,0.15134129,-0.14731285,0.9774163,0.15134129,0.14731285,0.724601,0.15134129,0.67232275,0.49421674,0.15134129,0.8560442,-0.3541673,-0.24524674,0.9024323,-0.0738548,0.15134129,0.98568684,-0.36112553,0.15134129,0.92013305,-0.8167058,0.15134129,0.5568102,-0.9445479,0.15134129,0.29132968,-0.8167058,0.15134129,-0.5568102,-0.6162908,0.15134129,-0.77282023,0.21570483,-0.24524674,-0.9451277,-0.0738548,0.15134129,-0.98568684,0.21994689,0.15134129,-0.96368295,0.724601,0.15134129,-0.67232275,0.9586169,-0.24524674,0.14447463,0.9774163,0.15134129,0.14731285,0.49421674,0.15134129,0.8560442,-0.36112553,0.15134129,0.92013305,-0.9445479,0.15134129,0.29132968,-0.988464,0.15134129,0.0,-0.9263588,-0.24524674,-0.28574482,-0.988464,0.15134129,0.0,-0.9445479,0.15134129,-0.29132968,-0.6162908,0.15134129,-0.77282023,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.9774163,0.15134129,0.14731285,-0.36112553,0.15134129,0.92013305,0.13696708,-0.98965424,-0.042237617,0.118442334,-0.98965424,-0.08075198,-0.6295663,-0.6475723,0.42924285,-0.6295663,-0.6475723,0.42924285,-0.7281411,-0.6475723,0.22458571,0.089358196,-0.98965424,-0.11206397,-0.47508162,-0.6475723,0.5957518,-0.47508162,-0.6475723,0.5957518,0.089358196,-0.98965424,-0.11206397,0.052369762,-0.98965424,-0.13342692,-0.27835932,-0.6475723,0.7093112,-0.27835932,-0.6475723,0.7093112,0.010711997,-0.98965424,-0.1429487,-0.05691702,-0.6475723,0.75984985,-0.05691702,-0.6475723,0.75984985,-0.03189184,-0.98965424,-0.13974425,0.16953032,-0.6475723,0.74288154,0.16953032,-0.6475723,0.74288154,-0.03189184,-0.98965424,-0.13974425,-0.071657464,-0.98965424,-0.1241493,0.38099307,-0.6475723,0.65990174,0.38099307,-0.6475723,0.65990174,-0.105075225,-0.98965424,-0.097506635,0.5585803,-0.6475723,0.5182653,0.5585803,-0.6475723,0.5182653,-0.12915434,-0.98965424,-0.062196724,0.68651384,-0.6475723,0.33060703,0.68651384,-0.6475723,0.33060703,-0.14175847,-0.98965424,-0.021362957,0.7534715,-0.6475723,0.11355937,0.7534715,-0.6475723,0.11355937,-0.14175847,-0.98965424,0.021362957,0.7534715,-0.6475723,-0.11355937,0.7534715,-0.6475723,-0.11355937,-0.12915434,-0.98965424,0.062196724,0.68651384,-0.6475723,-0.33060703,0.68651384,-0.6475723,-0.33060703,-0.105075225,-0.98965424,0.097506635,0.5585803,-0.6475723,-0.5182653,0.5585803,-0.6475723,-0.5182653,-0.105075225,-0.98965424,0.097506635,-0.071657464,-0.98965424,0.1241493,0.38099307,-0.6475723,-0.65990174,0.38099307,-0.6475723,-0.65990174,-0.03189184,-0.98965424,0.13974425,0.16953032,-0.6475723,-0.74288154,0.16953032,-0.6475723,-0.74288154,0.010711997,-0.98965424,0.1429487,-0.05691702,-0.6475723,-0.75984985,-0.05691702,-0.6475723,-0.75984985,0.010711997,-0.98965424,0.1429487,0.052369762,-0.98965424,0.13342692,-0.27835932,-0.6475723,-0.7093112,-0.27835932,-0.6475723,-0.7093112,0.052369762,-0.98965424,0.13342692,0.089358196,-0.98965424,0.11206397,-0.47508162,-0.6475723,-0.5957518,-0.47508162,-0.6475723,-0.5957518,0.118442334,-0.98965424,0.08075198,-0.6295663,-0.6475723,-0.42924285,-0.6295663,-0.6475723,-0.42924285,0.13696708,-0.98965424,0.042237617,-0.7281411,-0.6475723,-0.22458571,-0.7281411,-0.6475723,-0.22458571,0.15247047,0.9882809,0.0,0.14569536,0.9882809,0.044923246,-0.58281195,0.79244363,-0.17975402,0.15247047,0.9882809,0.0,-0.58281195,0.79244363,-0.17975402,-0.6099124,0.79244363,0.0,0.14334545,-0.98965424,0.0,-0.7281411,-0.6475723,0.22458571,-0.76198614,-0.6475723,0.0,0.11001923,0.86913663,0.4821009,-0.03189184,-0.98965424,-0.13974425,-0.61149937,0.19507432,-0.7668081,0.05569628,0.9882809,0.14191107,0.09503464,0.9882809,0.119205296,-0.0369274,0.86913663,-0.49311808,-0.18066958,0.86913663,-0.4603412,0.052369762,-0.98965424,0.13342692,0.010711997,-0.98965424,0.1429487,-0.35831782,0.19507432,0.9129612,0.09503464,0.9882809,-0.119205296,0.05569628,0.9882809,-0.14191107,-0.3083285,0.86913663,0.38660848,0.089358196,-0.98965424,-0.11206397,0.4903714,0.19507432,-0.84936064,-0.11175878,0.9882809,0.1037019,-0.076235235,0.9882809,0.13202307,0.36249885,0.86913663,-0.33634448,-0.105075225,-0.98965424,0.097506635,-0.9371929,0.19507432,0.28907132,-0.9807733,0.19507432,0.0,0.15247047,0.9882809,0.0,0.14569536,0.9882809,-0.044923246,-0.15076144,0.9882809,-0.022705771,-0.14175847,-0.98965424,-0.021362957,0.14569536,0.9882809,0.044923246,-0.076235235,0.9882809,-0.13202307,-0.071657464,-0.98965424,-0.1241493,0.09503464,0.9882809,0.119205296,0.089358196,-0.98965424,0.11206397,-0.07327494,0.19507432,0.9780267,0.05569628,0.9882809,-0.14191107,0.052369762,-0.98965424,-0.13342692,-0.076235235,0.9882809,0.13202307,-0.071657464,-0.98965424,0.1241493,0.14569536,0.9882809,-0.044923246,-0.76198614,-0.6475723,0.0,-0.6099124,0.79244363,0.0,-0.58281195,0.79244363,-0.17975402,-0.7281411,-0.6475723,-0.22458571,-0.7281411,-0.6475723,-0.22458571,-0.58281195,0.79244363,-0.17975402,-0.5039216,0.79244363,-0.34357738,-0.5039216,0.79244363,-0.34357738,-0.6295663,-0.6475723,-0.42924285,-0.38026062,0.79244363,-0.4768517,-0.38026062,0.79244363,-0.4768517,-0.47508162,-0.6475723,-0.5957518,-0.22281563,0.79244363,-0.56776637,-0.22281563,0.79244363,-0.56776637,-0.27835932,-0.6475723,-0.7093112,-0.045564134,0.79244363,-0.60820335,-0.045564134,0.79244363,-0.60820335,-0.05691702,-0.6475723,-0.75984985,0.13571581,0.79244363,-0.5946226,0.13571581,0.79244363,-0.5946226,0.16953032,-0.6475723,-0.74288154,0.16953032,-0.6475723,-0.74288154,0.13571581,0.79244363,-0.5946226,0.30494094,0.79244363,-0.52821434,0.30494094,0.79244363,-0.52821434,0.38099307,-0.6475723,-0.65990174,0.44709617,0.79244363,-0.4148381,0.44709617,0.79244363,-0.4148381,0.5585803,-0.6475723,-0.5182653,0.54951626,0.79244363,-0.264626,0.54951626,0.79244363,-0.264626,0.68651384,-0.6475723,-0.33060703,0.6031068,0.79244363,-0.09088412,0.6031068,0.79244363,-0.09088412,0.7534715,-0.6475723,-0.11355937,0.6031068,0.79244363,0.09088412,0.6031068,0.79244363,0.09088412,0.7534715,-0.6475723,0.11355937,0.7534715,-0.6475723,0.11355937,0.6031068,0.79244363,0.09088412,0.54951626,0.79244363,0.264626,0.54951626,0.79244363,0.264626,0.68651384,-0.6475723,0.33060703,0.44709617,0.79244363,0.4148381,0.44709617,0.79244363,0.4148381,0.5585803,-0.6475723,0.5182653,0.30494094,0.79244363,0.52821434,0.30494094,0.79244363,0.52821434,0.38099307,-0.6475723,0.65990174,0.13571581,0.79244363,0.5946226,0.13571581,0.79244363,0.5946226,0.16953032,-0.6475723,0.74288154,-0.045564134,0.79244363,0.60820335,-0.045564134,0.79244363,0.60820335,-0.05691702,-0.6475723,0.75984985,-0.22281563,0.79244363,0.56776637,-0.22281563,0.79244363,0.56776637,-0.27835932,-0.6475723,0.7093112,-0.27835932,-0.6475723,0.7093112,-0.22281563,0.79244363,0.56776637,-0.38026062,0.79244363,0.4768517,-0.38026062,0.79244363,0.4768517,-0.47508162,-0.6475723,0.5957518,-0.5039216,0.79244363,0.34357738,-0.5039216,0.79244363,0.34357738,-0.6295663,-0.6475723,0.42924285,-0.58281195,0.79244363,0.17975402,-0.58281195,0.79244363,0.17975402,-0.7281411,-0.6475723,0.22458571,0.14569536,0.9882809,-0.044923246,-0.6099124,0.79244363,0.0,-0.58281195,0.79244363,0.17975402,-0.76198614,-0.6475723,0.0,0.12594989,0.9882809,0.08587909,-0.5039216,0.79244363,-0.34357738,0.09503464,0.9882809,0.119205296,-0.38026062,0.79244363,-0.4768517,0.05569628,0.9882809,0.14191107,-0.22281563,0.79244363,-0.56776637,0.011383404,0.9882809,0.15204321,-0.045564134,0.79244363,-0.60820335,-0.033906065,0.9882809,0.14862514,0.13571581,0.79244363,-0.5946226,-0.076235235,0.9882809,0.13202307,0.30494094,0.79244363,-0.52821434,-0.11175878,0.9882809,0.1037019,0.44709617,0.79244363,-0.4148381,-0.1373638,0.9882809,0.06613361,0.54951626,0.79244363,-0.264626,-0.15076144,0.9882809,0.022705771,0.6031068,0.79244363,-0.09088412,-0.15076144,0.9882809,-0.022705771,0.6031068,0.79244363,0.09088412,-0.1373638,0.9882809,-0.06613361,0.54951626,0.79244363,0.264626,-0.11175878,0.9882809,-0.1037019,0.44709617,0.79244363,0.4148381,-0.076235235,0.9882809,-0.13202307,0.30494094,0.79244363,0.52821434,-0.033906065,0.9882809,-0.14862514,0.13571581,0.79244363,0.5946226,0.011383404,0.9882809,-0.15204321,-0.045564134,0.79244363,0.60820335,0.05569628,0.9882809,-0.14191107,-0.22281563,0.79244363,0.56776637,0.09503464,0.9882809,-0.119205296,-0.38026062,0.79244363,0.4768517,0.12594989,0.9882809,-0.08587909,-0.5039216,0.79244363,0.34357738],"vertexCount":885}],"animations":{}} \ No newline at end of file diff --git a/web/public/models/shield.glb b/web/public/models/shield.glb new file mode 100644 index 0000000..88658c5 Binary files /dev/null and b/web/public/models/shield.glb differ diff --git a/web/public/models/spider.glb b/web/public/models/spider.glb new file mode 100644 index 0000000..058b793 Binary files /dev/null and b/web/public/models/spider.glb differ diff --git a/web/public/models/spider.json b/web/public/models/spider.json new file mode 100644 index 0000000..dd6e3e5 --- /dev/null +++ b/web/public/models/spider.json @@ -0,0 +1 @@ +{"skeletons":[{"bones":[{"children":["Bone.012","Bone.001"],"rotation":[0.0,0.0,0.0,1.0],"name":"Bone","scale":[1.0,1.0,1.0],"id":0,"position":[0.0,0.0,0.0]},{"children":["Bone.002"],"rotation":[0.9703388,1.9406777E-6,-1.9406777E-6,0.24174897],"name":"Bone.001","scale":[1.0,1.0,1.0],"id":1,"position":[0.0,1.0,0.0]},{"children":["Bone.009","Bone.006","Bone.004"],"rotation":[-3.0000012E-6,0.8570753,-0.5151912,-1.6292068E-7],"name":"Bone.002","scale":[1.0,1.0,1.0],"id":2,"position":[0.0,0.611805,0.0]},{"children":["Bone.016","Bone.013","Bone.003"],"rotation":[0.0,0.0,0.0,1.0],"name":"Bone.004","scale":[1.0,1.0,1.0],"id":3,"position":[0.0,0.390448,0.0]},{"children":["Bone.025","Bone.021","Bone.019"],"rotation":[0.0,0.0,0.0,1.0],"name":"Bone.003","scale":[1.0,1.0,1.0],"id":4,"position":[0.0,0.159022,0.0]},{"children":["Bone.032","Bone.028","Bone.005"],"rotation":[0.0,0.0,0.0,1.0],"name":"Bone.019","scale":[1.0,1.0,1.0],"id":5,"position":[0.0,0.287669,0.0]},{"children":[],"rotation":[0.0,0.0,0.0,1.0],"name":"Bone.005","scale":[1.0,1.0,1.0],"id":6,"position":[0.0,0.287669,0.0]},{"children":["Bone.029"],"rotation":[-0.16956526,-0.11349029,0.56735617,0.7977936],"name":"Bone.028","scale":[1.0,1.0,1.0],"id":7,"position":[0.0,0.287669,0.0]},{"children":["Bone.030"],"rotation":[0.61746085,-0.02742953,-0.11152879,0.7781716],"name":"Bone.029","scale":[1.0,1.0,1.0],"id":8,"position":[0.0,0.431603,0.0]},{"children":[],"rotation":[-0.80308115,-0.07211706,0.20284036,0.5556219],"name":"Bone.030","scale":[1.0,1.0,1.0],"id":9,"position":[0.0,1.284803,0.0]},{"children":["Bone.033"],"rotation":[-0.17927358,0.095835894,-0.5993498,0.7742457],"name":"Bone.032","scale":[1.0,1.0,1.0],"id":10,"position":[0.0,0.287669,0.0]},{"children":["Bone.034"],"rotation":[0.599913,0.08037053,0.14626466,0.7824651],"name":"Bone.033","scale":[1.0,1.0,1.0],"id":11,"position":[0.0,0.49291,0.0]},{"children":[],"rotation":[-0.7990536,0.046228714,-0.20300917,0.5640599],"name":"Bone.034","scale":[1.0,1.0,1.0],"id":12,"position":[0.0,1.314559,0.0]},{"children":["Bone.022"],"rotation":[-0.121921144,-0.1362193,0.7325711,0.6556822],"name":"Bone.021","scale":[1.0,1.0,1.0],"id":13,"position":[0.0,0.287669,0.0]},{"children":["Bone.023"],"rotation":[0.63848716,-0.060342595,-0.17457584,0.74713874],"name":"Bone.022","scale":[1.0,1.0,1.0],"id":14,"position":[0.0,0.446815,0.0]},{"children":[],"rotation":[-0.855285,0.064981885,-0.1865495,0.47902426],"name":"Bone.023","scale":[1.0,1.0,1.0],"id":15,"position":[0.0,1.251543,0.0]},{"children":["Bone.026"],"rotation":[0.0,0.0,-0.72007334,0.69389796],"name":"Bone.025","scale":[1.0,1.0,1.0],"id":16,"position":[0.0,0.287669,0.0]},{"children":["Bone.027"],"rotation":[0.429594,0.063406214,0.14494634,0.88905525],"name":"Bone.026","scale":[1.0,1.0,1.0],"id":17,"position":[0.0,0.49762,0.0]},{"children":[],"rotation":[-0.8547853,-0.008971874,0.061981183,0.5151892],"name":"Bone.027","scale":[1.0,1.0,1.0],"id":18,"position":[0.0,1.168135,0.0]},{"children":["Bone.014"],"rotation":[-0.037134755,0.0,-0.72054154,0.6924168],"name":"Bone.013","scale":[1.0,1.0,1.0],"id":19,"position":[0.0,0.159022,0.0]},{"children":["Bone.015"],"rotation":[0.47752452,0.015384047,-0.040938295,0.8775293],"name":"Bone.014","scale":[1.0,1.0,1.0],"id":20,"position":[0.0,0.463771,0.0]},{"children":[],"rotation":[-0.8442589,0.027001427,-0.10735007,0.52437955],"name":"Bone.015","scale":[1.0,1.0,1.0],"id":21,"position":[0.0,1.269009,0.0]},{"children":["Bone.017"],"rotation":[-0.16728586,-0.12748486,0.7209073,0.6603452],"name":"Bone.016","scale":[1.0,1.0,1.0],"id":22,"position":[0.0,0.159022,0.0]},{"children":["Bone.018"],"rotation":[0.6549692,-0.029753415,0.009139916,0.75501424],"name":"Bone.017","scale":[1.0,1.0,1.0],"id":23,"position":[0.0,0.44574,0.0]},{"children":[],"rotation":[-0.8425496,-0.075653076,0.22669034,0.48269895],"name":"Bone.018","scale":[1.0,1.0,1.0],"id":24,"position":[0.0,1.359134,0.0]},{"children":["Bone.007"],"rotation":[-0.036876716,-0.054569732,0.8458627,0.52931917],"name":"Bone.006","scale":[1.0,1.0,1.0],"id":25,"position":[0.0,0.390448,0.0]},{"children":["Bone.008"],"rotation":[0.25945815,0.11208685,0.4688726,0.83682525],"name":"Bone.007","scale":[1.0,1.0,1.0],"id":26,"position":[0.0,1.047049,0.0]},{"children":[],"rotation":[-0.5501622,0.12160771,-0.1510263,0.8122341],"name":"Bone.008","scale":[1.0,1.0,1.0],"id":27,"position":[0.0,1.225283,0.0]},{"children":["Bone.010"],"rotation":[-0.049835812,0.0831541,-0.83484817,0.5418766],"name":"Bone.009","scale":[1.0,1.0,1.0],"id":28,"position":[0.0,0.390448,0.0]},{"children":["Bone.011"],"rotation":[0.34429535,-0.060006928,-0.42857024,0.8331791],"name":"Bone.010","scale":[1.0,1.0,1.0],"id":29,"position":[0.0,1.102366,0.0]},{"children":[],"rotation":[-0.56959426,0.01759631,-0.07266248,0.81851876],"name":"Bone.011","scale":[1.0,1.0,1.0],"id":30,"position":[0.0,1.253513,0.0]},{"children":[],"rotation":[-0.70707583,-0.0061754356,-0.0070402664,0.7070758],"name":"Bone.012","scale":[1.0,1.0,1.0],"id":31,"position":[0.0,1.0,0.0]}],"roots":["Bone"]}],"materials":[{"geometryName":"spider","materialDef":"Common/MatDefs/Light/Lighting.j3md","name":null,"params":[{"color":[0.64000005,0.64000005,0.64000005,1.0],"name":"Diffuse","type":"Vector4"},{"name":"UseMaterialColors","type":"Boolean","value":"true"},{"color":[0.8,0.8,0.8,1.0],"name":"Ambient","type":"Vector4"},{"name":"ParallaxHeight","type":"Float","value":0.05},{"color":[0.0,0.0,0.0,1.0],"name":"GlowColor","type":"Vector4"},{"texture":"Models/spider/spider_animation2.png","name":"DiffuseMap","type":"Texture2D"},{"color":[0.5,0.5,0.5,1.0],"name":"Specular","type":"Vector4"},{"name":"Shininess","type":"Float","value":12.5}]}],"geometries":[{"texcoords":[0.983375,0.781251,0.983509,0.601329,0.966838,0.601156,0.966705,0.781079,0.953808,0.600673,0.953674,0.780595,0.797999,0.937639,0.798541,0.757565,0.782598,0.757442,0.782056,0.937516,0.765633,0.757415,0.76509,0.937489,0.751531,0.757491,0.750988,0.937565,0.798674,0.814161,0.798541,0.994215,0.813184,0.994397,0.813317,0.814343,0.830237,0.994429,0.83037,0.814374,0.845793,0.994303,0.845926,0.814249,0.692259,0.813965,0.691923,0.994047,0.704493,0.994169,0.704828,0.814088,0.720997,0.994238,0.721333,0.814156,0.737656,0.994236,0.737992,0.814155,0.621951,0.180054,0.629911,0.195167,0.643982,0.204851,0.621927,0.162973,0.660941,0.206886,0.629843,0.147838,0.643886,0.138115,0.676903,0.200806,0.688211,0.188005,0.660839,0.136032,0.692275,0.171415,0.676819,0.142067,0.688163,0.154836,0.999866,0.781072,1.0,0.60115,0.750653,0.994166,0.750988,0.814084,0.963742,0.821043,0.972223,0.821358,0.79075,0.978531,0.780374,0.978451,0.779358,0.994237,0.786275,0.99429,0.983072,0.82147,0.993804,0.821353,0.732485,0.773259,0.721644,0.77326,0.710903,0.773215,0.702722,0.773136,0.828119,0.773351,0.817021,0.77333,0.760156,0.978482,0.769333,0.978433,0.740943,0.773213,0.838242,0.773269,0.807491,0.773212,0.37454,0.198092,0.380644,0.202293,0.384629,0.191491,0.383103,0.190441,0.721819,0.757498,0.714658,0.757468,0.771998,0.994225,0.729046,0.757498,0.765879,0.994258,0.734685,0.757467,0.819314,0.757494,0.812961,0.757415,0.98289,0.836819,0.990045,0.836742,0.826713,0.757508,0.975658,0.836745,0.833462,0.757453,0.970004,0.836535,0.709205,0.757415,0.382239,0.188802,0.382237,0.186949,0.383095,0.185308,0.386468,0.191712,0.388199,0.191053,0.384618,0.184253,0.386457,0.184027,0.389426,0.189664,0.389866,0.187865,0.38819,0.184682,0.38942,0.186067,0.394889,0.175054,0.387957,0.172436,0.388002,0.203176,0.380602,0.173339,0.394926,0.200539,0.37451,0.177557,0.399832,0.194985,0.371076,0.184124,0.401595,0.187787,0.371086,0.191535,0.399811,0.180595,0.529248,0.805312,0.502391,0.833454,0.504682,0.835622,0.530851,0.806828,0.506439,0.837284,0.53208,0.807991,0.467563,0.154736,0.465259,0.198598,0.467927,0.200159,0.469429,0.155828,0.470681,0.201811,0.471356,0.156984,0.472891,0.203176,0.472902,0.157939,0.529109,0.574177,0.503097,0.545235,0.500987,0.547233,0.527632,0.575574,0.498622,0.54947,0.525978,0.577139,0.496546,0.551435,0.524526,0.578514,0.417081,0.200023,0.417197,0.154772,0.414805,0.15606,0.415408,0.200924,0.412004,0.157686,0.413449,0.202062,0.409436,0.159278,0.411652,0.203176,0.500091,0.831277,0.498308,0.82959,0.354038,0.802519,0.355821,0.804206,0.527639,0.803789,0.526391,0.802608,0.371725,0.777879,0.369854,0.776582,0.367596,0.776293,0.372781,0.779887,0.36547,0.777078,0.37278,0.782146,0.363962,0.778757,0.371723,0.784139,0.363418,0.780946,0.369852,0.785408,0.363961,0.783144,0.367595,0.785663,0.365469,0.784846,0.008515,0.167354,0.006725,0.164659,0.01505,0.354818,0.015616,0.355671,0.354337,0.20088,0.357441,0.199903,0.357528,0.078354,0.354424,0.079331,0.360635,0.200469,0.363186,0.202448,0.363273,0.080899,0.360722,0.07892,0.358584,0.572536,0.356474,0.574533,0.506179,0.201591,0.509044,0.203138,0.508867,0.071329,0.506003,0.069782,0.512299,0.203176,0.515199,0.201697,0.515022,0.069888,0.512122,0.071367,0.358122,0.806383,0.360413,0.808551,0.352033,0.203176,0.35212,0.081627,0.35411,0.57677,0.504362,0.198891,0.504185,0.067082,0.8557,0.990352,0.854687,0.990166,0.853704,0.990472,0.852977,0.9912,0.85651,0.990987,0.85267,0.992183,0.856932,0.991926,0.852855,0.993196,0.85687,0.992953,0.85349,0.994006,0.856337,0.993834,0.854429,0.994429,0.855456,0.994367,0.848228,0.806428,0.845926,0.808729,0.011363,0.168919,0.016516,0.356165,0.851336,0.80546,0.014618,0.168995,0.017546,0.356189,0.854538,0.806048,0.017532,0.167565,0.018467,0.355737,0.8571,0.808056,0.01944,0.164956,0.019071,0.354912,0.41841,0.998626,0.419137,0.999314,0.416594,0.382449,0.415846,0.383156,0.419862,1.0,0.352033,0.578735,0.41519,0.383778,0.527243,0.773423,0.528846,0.771907,0.502677,0.743114,0.500386,0.745281,0.530075,0.770744,0.504434,0.741451,0.475107,0.203176,0.47696,0.202062,0.475551,0.157685,0.472902,0.159278,0.478898,0.200925,0.478322,0.15606,0.480478,0.200026,0.480579,0.154775,0.183801,0.360748,0.182324,0.359351,0.155678,0.387692,0.157789,0.389689,0.18067,0.357785,0.153314,0.385455,0.179217,0.356411,0.151237,0.38349,0.41725,0.19994,0.418846,0.200971,0.419479,0.156341,0.417197,0.154867,0.420788,0.202139,0.422254,0.158011,0.42263,0.203176,0.424887,0.159493,0.498086,0.747458,0.353816,0.774529,0.352033,0.776216,0.496303,0.749146,0.525634,0.774946,0.524386,0.776127,0.372255,0.795589,0.370748,0.793883,0.368619,0.793072,0.366358,0.793344,0.372797,0.797801,0.364482,0.794635,0.372249,0.800012,0.363421,0.79665,0.370737,0.801714,0.363418,0.798927,0.368606,0.802519,0.364473,0.800945,0.366346,0.802241,0.960918,0.39092,0.961966,0.567266,0.962479,0.566374,0.962542,0.388098,0.585126,0.204669,0.585039,0.071465,0.581898,0.070611,0.581985,0.203815,0.578806,0.204518,0.578719,0.071314,0.576231,0.073413,0.576318,0.206617,0.011166,0.360391,0.013276,0.362389,0.934976,0.99374,0.935129,0.852207,0.932228,0.853683,0.932074,0.995216,0.928824,0.995188,0.928978,0.853656,0.926124,0.852131,0.92597,0.993663,0.356117,0.772352,0.92432,0.849458,0.924166,0.990991,0.58751,0.206886,0.587423,0.073682,0.008801,0.358154,0.936864,0.991098,0.937018,0.849566,0.614299,0.202982,0.613321,0.20266,0.612306,0.202825,0.615015,0.203716,0.611486,0.203438,0.615305,0.204695,0.611048,0.20436,0.615103,0.205694,0.611093,0.205379,0.614455,0.206485,0.611612,0.206261,0.61351,0.206886,0.612484,0.206805,0.619663,0.034601,0.621927,0.036924,0.958168,0.392663,0.961096,0.567817,0.616572,0.033584,0.954924,0.392928,0.96007,0.567901,0.613361,0.034105,0.951928,0.391656,0.959123,0.567499,0.610767,0.036045,0.949866,0.389136,0.958471,0.566702,0.417132,0.579421,0.416405,0.580109,0.070538,0.551768,0.071286,0.552476,0.358408,0.770184,0.417857,0.578735,0.006725,0.356189,0.069882,0.551147,0.690343,0.874793,0.655787,0.890135,0.657167,0.893246,0.691237,0.87681,0.658224,0.895632,0.691923,0.878357,0.447222,0.165417,0.445972,0.203173,0.449307,0.203138,0.449384,0.165394,0.452772,0.203139,0.451631,0.165395,0.455575,0.203176,0.453448,0.165419,0.689223,0.50207,0.65534,0.485211,0.65407,0.488078,0.6884,0.503928,0.652646,0.491289,0.687477,0.50601,0.651396,0.494109,0.686666,0.507839,0.432835,0.203176,0.434571,0.165322,0.431641,0.165223,0.430935,0.203112,0.428147,0.165218,0.42867,0.203108,0.424887,0.165307,0.426556,0.203166,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.689445,0.872767,0.654402,0.88701,0.688749,0.871197,0.653329,0.884588,0.381104,0.794735,0.379233,0.793438,0.376976,0.793149,0.38216,0.796743,0.37485,0.793934,0.38216,0.799002,0.373342,0.795613,0.381103,0.800995,0.372797,0.797802,0.379231,0.802264,0.373341,0.8,0.376974,0.802519,0.374848,0.801702,0.564296,0.20622,0.56704,0.204027,0.567209,0.075939,0.564465,0.078131,0.557484,0.205873,0.560847,0.206886,0.561016,0.078797,0.557653,0.077784,0.533053,0.569838,0.531782,0.572704,0.599135,0.203048,0.601353,0.205735,0.601182,0.088785,0.598963,0.086098,0.592407,0.201991,0.595907,0.201697,0.595735,0.084748,0.592236,0.085042,0.587682,0.206886,0.589439,0.203864,0.589267,0.086915,0.58751,0.089937,0.554977,0.203413,0.555145,0.075324,0.530359,0.575915,0.53356,0.805643,0.534939,0.808755,0.532175,0.802519,0.004638,0.597538,0.001703,0.595619,8.44E-4,0.775751,0.001489,0.776173,0.517713,0.201274,0.515199,0.203727,0.51565,0.381868,0.516203,0.381329,0.0,0.592571,4.7E-4,0.775081,0.529109,0.578735,0.529384,0.386864,0.529109,0.387484,0.53208,0.993554,0.532383,0.994238,0.529697,0.386159,0.528666,0.206369,0.527264,0.203147,0.518302,0.381741,0.51861,0.382449,0.013656,0.593942,0.011387,0.596591,0.002973,0.775965,0.003472,0.775382,0.524527,0.200947,0.5177,0.381257,0.008133,0.597889,0.002258,0.77625,0.52108,0.200271,0.516943,0.381108,0.357035,0.790723,0.356524,0.790144,0.355802,0.789869,0.355035,0.789961,0.357219,0.791473,0.354399,0.790399,0.357033,0.792222,0.354039,0.791082,0.35652,0.792799,0.354038,0.791854,0.355797,0.793072,0.354396,0.792539,0.355031,0.792978,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.688338,0.703942,0.689232,0.701925,0.655161,0.685489,0.653782,0.688601,0.689918,0.700378,0.656219,0.683104,0.436068,0.203174,0.438231,0.203151,0.437906,0.165296,0.434571,0.165331,0.440478,0.203152,0.441372,0.165298,0.442295,0.203176,0.444175,0.165335,0.343915,0.436719,0.343091,0.434861,0.308761,0.450711,0.310032,0.453578,0.342169,0.432779,0.307338,0.4475,0.341358,0.43095,0.306088,0.44468,0.463084,0.165531,0.461185,0.165473,0.462329,0.203072,0.465259,0.203162,0.458919,0.165476,0.458834,0.203077,0.456806,0.165541,0.455575,0.203176,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.68744,0.705968,0.652397,0.691725,0.686744,0.707538,0.651324,0.694147,0.362876,0.795589,0.361368,0.793883,0.35924,0.793072,0.356979,0.793344,0.363418,0.797801,0.355103,0.794635,0.36287,0.800012,0.354041,0.79665,0.361357,0.801714,0.354038,0.798927,0.359226,0.802519,0.355094,0.800945,0.356966,0.802241,0.545525,0.206194,0.545624,0.068257,0.542911,0.066059,0.542812,0.203996,0.552338,0.205914,0.552437,0.067977,0.549062,0.068949,0.548963,0.206886,0.186474,0.366085,0.187745,0.368951,0.531283,0.20326,0.531289,0.074143,0.529115,0.076902,0.529109,0.206019,0.537996,0.202049,0.538002,0.072932,0.534497,0.072711,0.53449,0.201827,0.542805,0.206886,0.542812,0.077769,0.541003,0.074758,0.540996,0.203875,0.554878,0.2035,0.554977,0.065564,0.185051,0.362874,0.532934,0.76998,0.531555,0.773092,0.53017,0.776216,0.931823,0.39318,0.935224,0.562591,0.935861,0.562155,0.934724,0.3912,0.947378,0.389135,0.949275,0.556554,0.949822,0.557095,0.949866,0.391595,0.936224,0.561474,0.936373,0.388098,0.183801,0.360054,0.183801,0.551305,0.184076,0.551925,0.530378,0.584498,0.530075,0.585182,0.184389,0.55263,0.936373,0.394041,0.946856,0.557633,0.947172,0.556936,0.937809,0.390869,0.922741,0.389679,0.933227,0.561821,0.933736,0.562402,0.925056,0.392321,0.947779,0.556464,0.940569,0.388724,0.934457,0.56268,0.928334,0.393584,0.948538,0.556327,0.944023,0.388098,0.355452,0.785663,0.354732,0.785942,0.354222,0.78652,0.356217,0.785748,0.354038,0.787267,0.356851,0.786178,0.354223,0.788009,0.357209,0.786853,0.354734,0.788578,0.35721,0.78762,0.355454,0.788844,0.356852,0.788302,0.356219,0.788744,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.519227,0.169405,0.519132,0.200259,0.521339,0.200265,0.521433,0.169412,0.523031,0.200271,0.523125,0.169417,4.14E-4,0.152701,4.21E-4,0.183547,0.002583,0.183531,0.002577,0.152685,0.00483,0.183538,0.004824,0.152692,0.006647,0.183568,0.006641,0.152722,0.352033,0.20729,0.351938,0.176437,0.349905,0.176443,0.35,0.207296,0.347628,0.17645,0.347723,0.207303,0.345628,0.176456,0.345723,0.207309,0.190116,0.181264,0.190079,0.150462,0.18818,0.150392,0.188217,0.181194,0.185914,0.150381,0.185951,0.181184,0.183801,0.150432,0.183838,0.181235,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.517011,0.169398,0.516916,0.200252,0.515294,0.169393,0.515199,0.200247,0.381088,0.777879,0.379217,0.776582,0.37696,0.776293,0.382144,0.779887,0.374833,0.777078,0.382143,0.782146,0.373325,0.778757,0.381086,0.784139,0.372781,0.780946,0.379215,0.785408,0.373324,0.783144,0.376958,0.785663,0.374832,0.784846,0.345079,0.182273,0.342931,0.181769,0.185958,0.233875,0.188106,0.234378,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.971658,0.391395,0.970492,0.389439,0.970677,0.574151,0.971844,0.576107,0.508994,0.382449,0.510941,0.381993,0.35398,0.329885,0.352033,0.330341,0.50249,0.202355,0.50399,0.200641,0.504185,0.060076,0.502686,0.06179,0.369194,0.200917,0.371076,0.202184,0.371041,0.074642,0.369159,0.073375,0.500366,0.203176,0.500561,0.062611,0.366931,0.200662,0.366897,0.073119,0.498103,0.202916,0.498299,0.06235,0.364807,0.201477,0.364773,0.073935,0.496221,0.201634,0.496417,0.061068,0.363307,0.203176,0.363273,0.075634,0.513159,0.381473,0.515138,0.38101,0.358177,0.328902,0.356198,0.329365,0.340773,0.181264,0.183801,0.233369,0.968735,0.572961,0.966463,0.572811,0.964381,0.573733,0.962966,0.575518,0.971968,0.578381,0.962542,0.577755,0.971021,0.580452,0.963207,0.579934,0.96922,0.581846,0.964807,0.581553,0.966978,0.582244,0.515199,0.203176,0.51322,0.20364,0.34061,0.359045,0.342767,0.35955,0.511003,0.204159,0.344916,0.360054,0.964195,0.389021,0.96278,0.390805,0.973875,0.3899,0.972103,0.388492,0.971968,0.582666,0.97374,0.584075,0.966277,0.388098,0.976108,0.390329,0.975973,0.584503,0.96855,0.388249,0.97829,0.389678,0.978155,0.583852,0.979922,0.388098,0.979787,0.582273,0.01033,0.592559,0.012536,0.592552,0.012442,0.561699,0.010235,0.561706,0.014228,0.592547,0.014134,0.561694,4.21E-4,0.21443,0.002583,0.214414,0.002577,0.183568,4.14E-4,0.183584,0.00483,0.214422,0.004824,0.183576,0.006647,0.214452,0.006641,0.183606,0.352033,0.207329,0.35,0.207323,0.349905,0.238176,0.351938,0.238182,0.347723,0.207316,0.347628,0.238169,0.345723,0.207309,0.345628,0.238163,0.345042,0.150461,0.343143,0.150392,0.34318,0.181194,0.345079,0.181264,0.340877,0.150381,0.340914,0.181183,0.338763,0.150432,0.338801,0.181235,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.008114,0.592566,0.008019,0.561712,0.006397,0.592571,0.006302,0.561718,0.362876,0.778733,0.361368,0.777027,0.35924,0.776216,0.356979,0.776488,0.363418,0.780945,0.355103,0.777779,0.36287,0.783156,0.354041,0.779794,0.361357,0.784858,0.354038,0.782071,0.359226,0.785663,0.355094,0.784089,0.356966,0.785386,0.183801,0.355181,0.026828,0.303075,0.024679,0.303579,0.181652,0.355684,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.601876,0.030126,0.601454,0.20088,0.602599,0.198924,0.603022,0.02817,0.68607,0.206886,0.529109,0.258994,0.531056,0.25945,0.688017,0.207342,0.938517,0.994405,0.938699,0.842775,0.9372,0.841079,0.937018,0.99271,0.570345,0.204612,0.570154,0.063259,0.568272,0.064542,0.568463,0.205894,0.940642,0.995216,0.940824,0.843585,0.572607,0.204351,0.572417,0.062999,0.942904,0.994955,0.943086,0.843324,0.574732,0.205172,0.574541,0.063819,0.944786,0.993683,0.944968,0.842052,0.576231,0.206886,0.576041,0.065533,0.690234,0.207861,0.533273,0.259969,0.535252,0.260433,0.692214,0.208325,0.022522,0.304084,0.179495,0.356189,0.606797,0.197532,0.604527,0.197716,0.608887,0.198414,0.61032,0.200161,0.601353,0.203135,0.610767,0.202371,0.602321,0.205173,0.610125,0.20454,0.604136,0.206526,0.608542,0.206169,0.606381,0.206886,0.690296,0.385695,0.692275,0.386159,0.181489,0.177903,0.179331,0.178408,0.688078,0.385176,0.183637,0.1774,0.60931,0.02766,0.610742,0.029406,0.350245,0.36866,0.350186,0.552212,0.351974,0.550802,0.352033,0.367249,0.607219,0.026778,0.348006,0.369078,0.347947,0.55263,0.60495,0.026962,0.34583,0.368408,0.345771,0.55196,0.344214,0.366803,0.344155,0.550355,0.002631,0.265532,0.002687,0.214452,4.7E-4,0.214717,4.14E-4,0.265798,0.488371,0.203029,0.488366,0.143655,0.486834,0.143756,0.486839,0.20313,0.484694,0.143802,0.484699,0.203176,0.482437,0.143784,0.482442,0.203158,0.480579,0.143706,0.480584,0.20308,4.15E-4,0.356771,4.14E-4,0.407853,0.002411,0.407292,0.002412,0.35621,0.004689,0.407271,0.004689,0.356189,0.006724,0.407795,0.006725,0.356713,0.409392,0.203152,0.409436,0.143722,0.407596,0.143666,0.407551,0.203095,0.405343,0.143651,0.405298,0.20308,0.403193,0.14368,0.403148,0.203109,0.389025,0.794213,0.38733,0.793156,0.38538,0.793154,0.390079,0.796086,0.383623,0.79421,0.390248,0.798343,0.382461,0.796081,0.389495,0.800469,0.38216,0.798338,0.387991,0.801976,0.38279,0.800465,0.386082,0.802519,0.384205,0.801974,0.004837,0.265825,0.004892,0.214744,0.40164,0.143747,0.401595,0.203176,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.52646,0.162305,0.524243,0.162571,0.524203,0.200243,0.525311,0.200111,0.526419,0.199978,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.865121,0.697242,0.864126,0.697731,0.949801,0.836737,0.950796,0.836248,0.004689,0.303499,0.006724,0.304022,0.004689,0.265825,0.005707,0.266086,0.006725,0.266348,0.922741,0.392579,0.896658,0.427824,0.897311,0.428228,0.896006,0.42742,0.921436,0.391771,0.886161,0.998634,0.859648,0.963732,0.858898,0.964267,0.858149,0.964802,0.884662,0.999704,0.895121,0.426817,0.894237,0.426215,0.919667,0.390566,0.887964,0.997282,0.86145,0.96238,0.860549,0.963056,0.893323,0.425552,0.89241,0.424889,0.91784,0.389241,0.889657,0.995957,0.863143,0.961056,0.862297,0.961718,0.891676,0.424318,0.890943,0.423747,0.916373,0.388098,0.890852,0.994963,0.864339,0.960062,0.863741,0.960559,4.14E-4,0.30408,0.002412,0.30352,4.15E-4,0.266406,0.001414,0.266126,0.002412,0.265846,0.528666,0.162598,0.527522,0.200124,0.528625,0.200271,0.003551,0.265835,0.701359,0.382931,0.701632,0.381976,0.701361,0.381041,0.70109,0.380106,0.700337,0.379404,0.701087,0.383885,0.700333,0.38464,0.699584,0.378702,0.698522,0.378394,0.699579,0.385394,0.698517,0.385776,0.69746,0.378086,0.696332,0.378243,0.697454,0.386159,0.696326,0.386081,0.695204,0.3784,0.695199,0.386003,0.694269,0.378985,0.693333,0.379571,0.694264,0.385483,0.69333,0.384963,0.692805,0.380451,0.692276,0.381331,0.692802,0.38412,0.692275,0.383277,0.692275,0.382304,0.786105,0.242186,0.785043,0.241879,0.862988,0.697772,0.86185,0.697813,0.947525,0.836819,0.948663,0.836778,0.783915,0.242035,0.782787,0.242192,0.860831,0.697398,0.859811,0.696982,0.945486,0.835988,0.946505,0.836404,0.781852,0.242777,0.780917,0.243363,0.005631,0.410392,0.005096,0.409841,0.005232,0.531982,0.005767,0.532533,0.021883,0.355526,0.022522,0.354863,0.022371,0.234547,0.021732,0.23521,0.004385,0.409042,0.003673,0.408243,0.003809,0.530384,0.004521,0.531183,0.867478,0.694133,0.867366,0.695104,0.953041,0.83411,0.953152,0.833139,0.788944,0.244833,0.788673,0.243898,0.866742,0.695929,0.866117,0.696753,0.951791,0.835759,0.952416,0.834935,0.78792,0.243196,0.787167,0.242494,0.953674,0.587746,0.952679,0.588235,0.951683,0.588724,0.699836,0.130674,0.698774,0.130366,0.697712,0.130058,0.950546,0.588765,0.949408,0.588806,0.696584,0.130215,0.695456,0.130372,0.948388,0.58839,0.947368,0.587975,0.69452,0.130957,0.693585,0.131542,0.006166,0.410942,0.006302,0.533083,0.9467,0.587197,0.859143,0.696205,0.946032,0.58642,0.858475,0.695427,0.021244,0.356189,0.021093,0.235873,0.693056,0.132422,0.780388,0.244243,0.692528,0.133302,0.779859,0.245123,0.945869,0.585459,0.858312,0.694466,0.945706,0.584498,0.858149,0.693505,0.867589,0.693162,0.953263,0.832168,0.888004,0.83882,0.887103,0.839496,0.888905,0.838144,0.789215,0.245769,0.921466,0.548487,0.92238,0.54915,0.920553,0.547824,0.889752,0.837482,0.890598,0.836819,0.919819,0.547253,0.919086,0.546682,0.004464,0.305109,0.002247,0.304843,0.002302,0.355924,0.004519,0.356189,5.27E-4,0.30408,5.82E-4,0.355161,0.0,0.592551,0.00209,0.592516,0.002099,0.533083,9.0E-6,0.533119,0.004361,0.592523,0.00437,0.53309,0.006293,0.592571,0.006302,0.533138,0.345723,0.366221,0.347721,0.366782,0.34772,0.3157,0.345722,0.315139,0.349998,0.366803,0.349997,0.315721,0.352033,0.366279,0.352032,0.315197,0.496182,0.143689,0.494372,0.143695,0.494411,0.203173,0.496221,0.203168,0.492127,0.143698,0.492166,0.203176,0.489961,0.143697,0.490001,0.203175,0.389111,0.777364,0.387399,0.776306,0.385425,0.776304,0.383641,0.777358,0.39017,0.779236,0.382457,0.779227,0.390333,0.781492,0.382144,0.781482,0.389561,0.783616,0.382773,0.783608,0.388033,0.785122,0.3842,0.785117,0.386098,0.785663,0.006669,0.304816,0.006725,0.355897,0.488371,0.143693,0.48841,0.203171,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.349827,0.276884,0.34757,0.238945,0.34761,0.276618,0.348678,0.239078,0.349786,0.239211,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.972879,0.248907,0.887114,0.385505,0.888053,0.386023,0.973817,0.249425,0.349997,0.277465,0.349997,0.315139,0.352032,0.276942,0.351015,0.314878,0.352033,0.314616,0.346709,0.238564,0.345849,0.238182,0.34589,0.275855,0.890235,0.51432,0.889526,0.513757,0.862138,0.548023,0.890943,0.514883,0.863555,0.54915,0.890852,0.8409,0.919376,0.874183,0.920158,0.873489,0.92094,0.872796,0.892416,0.839513,0.888649,0.513056,0.887772,0.512356,0.860384,0.546622,0.921804,0.872059,0.922668,0.871323,0.894145,0.83804,0.886927,0.511679,0.886081,0.511002,0.858693,0.545268,0.923417,0.870712,0.924166,0.870102,0.895643,0.836819,0.885462,0.510503,0.884842,0.510005,0.857454,0.544271,0.345722,0.276884,0.345723,0.314558,0.34772,0.277444,0.346722,0.314838,0.34772,0.315118,0.352033,0.276591,0.350889,0.239065,0.351992,0.238918,0.348859,0.315129,0.875654,0.381089,0.875491,0.382042,0.875862,0.383,0.875818,0.380135,0.876477,0.379405,0.876233,0.383958,0.877053,0.384701,0.877137,0.378674,0.878142,0.378334,0.877872,0.385443,0.878954,0.385801,0.879148,0.377993,0.880268,0.378121,0.880035,0.386159,0.881129,0.386049,0.881388,0.378249,0.882224,0.38594,0.882367,0.378815,0.883346,0.379382,0.883081,0.385388,0.883939,0.384836,0.883959,0.380258,0.884572,0.381134,0.884362,0.383969,0.884679,0.382118,0.884786,0.383102,0.791866,0.244934,0.792872,0.244594,0.974945,0.249493,0.889181,0.386091,0.890309,0.386159,0.976073,0.24956,0.793992,0.244721,0.795112,0.244849,0.977132,0.249161,0.891367,0.38576,0.892426,0.385361,0.97819,0.248763,0.796091,0.245416,0.79707,0.245982,0.014437,0.77551,0.014357,0.66587,0.013775,0.66661,0.013856,0.77625,0.002211,0.53244,0.002231,0.411063,0.001595,0.41042,0.001575,0.531796,0.020178,0.230664,0.020328,0.355449,0.021066,0.354709,0.020916,0.229924,7.87E-4,0.530996,8.08E-4,0.409619,2.1E-5,0.408819,0.0,0.530196,0.789379,0.247689,0.789542,0.246736,0.971405,0.247538,0.88564,0.384136,0.886175,0.384987,0.97194,0.248388,0.790201,0.246005,0.790861,0.245274,0.858925,0.387156,0.858306,0.386657,0.857686,0.386159,0.877367,0.131632,0.878372,0.131292,0.879377,0.130951,0.885016,0.139184,0.886144,0.139252,0.887272,0.13932,0.880498,0.131079,0.881618,0.131207,0.88833,0.138921,0.889389,0.138522,0.882597,0.131773,0.883576,0.13234,0.015019,0.77477,0.014938,0.66513,0.978937,0.247989,0.890135,0.137748,0.979683,0.247215,0.890882,0.136975,0.002847,0.533083,0.002867,0.411707,0.797683,0.246858,0.884189,0.133216,0.798297,0.247734,0.884802,0.134091,0.01944,0.231404,0.019591,0.356189,0.979947,0.246244,0.891145,0.136003,0.980211,0.245272,0.891409,0.135032,0.798403,0.248718,0.884909,0.135076,0.79851,0.249702,0.885016,0.13606,0.789215,0.248643,0.896252,0.995216,0.897116,0.994479,0.897981,0.993743,0.97087,0.246687,0.885106,0.383286,0.860616,0.38851,0.859771,0.387833,0.89873,0.993132,0.899479,0.992522,0.22295,0.693294,0.202147,0.692827,0.203407,0.705708,0.223818,0.702167,0.099058,0.637011,0.122276,0.636912,0.122215,0.614125,0.098996,0.613778,0.037087,0.860766,0.058976,0.860938,0.059425,0.856412,0.037967,0.851888,0.245409,0.693581,0.245851,0.698104,0.075861,0.637055,0.0758,0.614267,0.017187,0.860514,0.018464,0.847626,0.053577,0.63704,0.053519,0.615575,4.1E-5,0.860194,0.001667,0.84379,0.03306,0.636969,0.033009,0.617651,0.165237,0.636563,0.18333,0.636327,0.183286,0.619898,0.165185,0.617245,0.015101,0.636843,0.015057,0.620414,0.144622,0.636761,0.144564,0.615296,0.183801,0.692195,0.185404,0.70859,0.032976,0.599028,0.015029,0.604577,0.165153,0.598623,0.144528,0.594604,0.190178,0.724354,0.207158,0.718094,0.122176,0.592159,0.226401,0.710699,0.098957,0.591381,0.060746,0.852062,0.040559,0.843354,0.247168,0.702453,0.075762,0.592301,0.022228,0.835237,0.053483,0.594883,0.006457,0.828022,0.183258,0.604061,0.075748,0.572,0.05347,0.57576,0.028334,0.823825,0.014228,0.813497,0.032964,0.581818,0.183248,0.589425,0.165141,0.581412,0.015019,0.589941,0.144515,0.57548,0.197939,0.738881,0.213255,0.729508,0.122162,0.571857,0.230601,0.718561,0.098942,0.570682,0.06289,0.848055,0.044765,0.835493,0.249309,0.706461,0.221465,0.739512,0.236256,0.725452,0.122172,0.554001,0.098953,0.552476,0.065774,0.844544,0.050422,0.828607,0.252192,0.709974,0.075758,0.554143,0.036546,0.813827,0.053479,0.558939,0.024681,0.800772,0.032973,0.56668,0.183255,0.576551,0.165149,0.566274,0.185239,0.746321,0.197526,0.761293,0.208388,0.751614,0.144524,0.55866,0.212502,0.77358,0.221123,0.762063,0.695487,0.515807,0.703197,0.536274,0.718185,0.53651,0.71214,0.516069,0.231472,0.747721,0.690768,0.493553,0.708448,0.493832,0.243149,0.731107,0.689223,0.470368,0.707249,0.470652,0.069287,0.841665,0.057313,0.822959,0.255706,0.712857,0.690911,0.447144,0.70859,0.447422,0.046551,0.805628,0.695766,0.424772,0.71242,0.425034,0.037414,0.790337,0.703603,0.404112,0.718591,0.404348,0.015282,0.789944,0.030255,0.777674,0.065174,0.818768,0.057962,0.799543,0.728761,0.447651,0.73142,0.425249,0.051939,0.782592,0.73569,0.404541,0.726349,0.554369,0.740891,0.554534,0.735285,0.536704,0.726865,0.386159,0.741408,0.386323,0.731141,0.516284,0.235657,0.769826,0.24289,0.753821,0.728618,0.49406,0.251014,0.735308,0.727815,0.470885,0.073295,0.839528,0.259716,0.714999,0.751757,0.516444,0.750505,0.49423,0.255282,0.757576,0.25955,0.737894,0.75013,0.471058,0.077642,0.838216,0.073701,0.816194,0.264067,0.716317,0.750647,0.44782,0.070343,0.795806,0.752036,0.425409,0.067696,0.777836,0.754245,0.404685,0.756671,0.554657,0.753839,0.536848,0.757187,0.386446,0.251429,0.774605,0.773477,0.425507,0.773541,0.404774,0.773081,0.554732,0.773135,0.536936,0.773597,0.386521,0.773198,0.516543,0.267834,0.776216,0.268172,0.758842,0.773266,0.494334,0.268428,0.738766,0.773337,0.471165,0.082162,0.837778,0.082568,0.815336,0.268593,0.716762,0.773408,0.447925,0.083216,0.79456,0.08408,0.77625,0.277308,0.737891,0.27312,0.716316,0.796545,0.471201,0.79617,0.44796,0.091434,0.816227,0.096087,0.795854,0.794918,0.425541,0.100462,0.777897,0.792837,0.404804,0.789491,0.554757,0.792432,0.536966,0.790007,0.386546,0.794639,0.516576,0.284241,0.774598,0.281063,0.75757,0.796028,0.494369,0.086682,0.838233,0.300021,0.769813,0.293461,0.75381,0.815256,0.516542,0.817915,0.494334,0.285848,0.735301,0.818861,0.471165,0.091028,0.839561,0.099958,0.818833,0.277474,0.714995,0.818057,0.447925,0.108461,0.799637,0.815535,0.425507,0.116212,0.782712,0.811392,0.404774,0.805271,0.554732,0.810987,0.536936,0.805787,0.386521,0.834536,0.425409,0.828493,0.404685,0.819813,0.554656,0.828087,0.536847,0.82033,0.386445,0.834257,0.516444,0.314565,0.762044,0.304889,0.747707,0.838086,0.494229,0.293719,0.731096,0.839427,0.471058,0.095032,0.841713,0.107812,0.823053,0.281487,0.712852,0.838229,0.44782,0.119864,0.805764,0.130724,0.79051,0.30062,0.725439,0.285005,0.709968,0.857454,0.470885,0.855909,0.44765,0.114695,0.828726,0.129856,0.814,0.851191,0.425248,0.143442,0.800993,0.843482,0.404541,0.139976,0.777878,0.15493,0.790204,0.833077,0.386323,0.843076,0.536703,0.850912,0.516283,0.327317,0.75159,0.314907,0.739493,0.855767,0.494059,0.09854,0.844605,0.337784,0.738853,0.323132,0.729486,0.244598,0.777749,0.223157,0.782428,0.221223,0.799194,0.242545,0.795547,0.306285,0.718546,0.267358,0.776216,0.265264,0.794364,0.101419,0.848126,0.120342,0.835634,0.287893,0.706454,0.290561,0.77789,0.288508,0.795688,0.138054,0.824029,0.313317,0.782705,0.311383,0.799471,0.153876,0.813757,0.33475,0.790476,0.33301,0.805565,0.167199,0.805212,0.354038,0.800905,0.352558,0.813737,0.203859,0.790075,0.202119,0.805164,0.309934,0.818554,0.331706,0.82274,0.161626,0.828311,0.176312,0.822326,0.351449,0.828343,0.200814,0.822338,0.219774,0.818278,0.345567,0.724322,0.329246,0.718069,0.241007,0.815806,0.310497,0.710682,0.263696,0.81502,0.103557,0.852142,0.124536,0.843511,0.29004,0.702444,0.28697,0.815947,0.144143,0.835464,0.104873,0.856497,0.127116,0.852054,0.313093,0.702149,0.291363,0.698095,0.262712,0.83739,0.286005,0.837888,0.147889,0.847866,0.309025,0.839222,0.166393,0.844096,0.330888,0.84134,0.181917,0.840888,0.350753,0.844162,0.199996,0.840939,0.218865,0.838945,0.350364,0.708556,0.333015,0.705682,0.240042,0.837747,0.149147,0.86076,0.127982,0.860935,0.127941,0.916485,0.149106,0.91631,0.26235,0.860615,0.239687,0.860526,0.239583,0.916084,0.262247,0.916174,0.334294,0.6928,0.351992,0.692161,0.352033,0.636652,0.334336,0.637291,0.037046,0.916316,0.058935,0.916488,0.122449,0.692468,0.144795,0.692317,0.015274,0.692399,0.033234,0.692525,0.105314,0.861025,0.105273,0.916574,0.218531,0.860403,0.218427,0.915961,0.350497,0.860585,0.330587,0.860651,0.330483,0.91621,0.350394,0.916143,0.268661,0.693674,0.268702,0.638165,0.24545,0.638071,0.165411,0.692119,0.05375,0.692596,0.199695,0.86025,0.199592,0.915808,0.308691,0.860679,0.308587,0.916238,0.082014,0.861026,0.081973,0.916576,0.291813,0.693571,0.291854,0.638062,0.183504,0.691883,0.076035,0.692611,0.222991,0.637785,0.183801,0.860184,0.167994,0.860506,0.167953,0.916056,0.18376,0.915734,0.28565,0.860667,0.285546,0.916226,0.313974,0.693276,0.314015,0.637767,0.0,0.915744,0.017146,0.916064,0.099232,0.692567,0.202188,0.637317,0.183842,0.636686,0.350429,0.620257,0.333075,0.624409,0.218682,0.937384,0.239853,0.938827,0.313148,0.628894,0.262522,0.939362,0.104825,0.9211,0.127062,0.925362,0.291411,0.633539,0.285816,0.938968,0.147829,0.929198,0.308841,0.93766,0.166328,0.93246,0.330712,0.93549,0.183801,0.915632,0.183995,0.932028,0.199821,0.935088,0.350588,0.932539,0.2867,0.960799,0.309673,0.958225,0.144065,0.941587,0.161537,0.948228,0.331461,0.953998,0.181848,0.935023,0.176215,0.953564,0.351225,0.948279,0.20057,0.953596,0.219514,0.957949,0.345655,0.604493,0.329325,0.612024,0.240737,0.960658,0.310564,0.620363,0.263422,0.961621,0.103503,0.925451,0.124469,0.933896,0.290094,0.629189,0.323227,0.600609,0.306364,0.6125,0.2422,0.98074,0.264914,0.982096,0.101359,0.929458,0.120263,0.941757,0.287953,0.625181,0.288163,0.980881,0.137959,0.952999,0.311052,0.977142,0.153766,0.962753,0.332702,0.971022,0.167077,0.970644,0.35228,0.962757,0.20181,0.97062,0.220892,0.976865,0.337895,0.589965,0.143313,0.975478,0.154786,0.985607,0.334386,0.985909,0.353713,0.975417,0.203495,0.985507,0.222764,0.993406,0.327446,0.577233,0.315018,0.590605,0.244187,0.9983,0.300709,0.605609,0.26694,1.0,0.098475,0.932969,0.114606,0.948644,0.28507,0.621668,0.29015,0.998441,0.129746,0.962997,0.312924,0.993683,0.856604,0.691813,0.858149,0.668615,0.840123,0.668796,0.838924,0.69199,0.107715,0.954291,0.119742,0.971196,0.851886,0.714102,0.835232,0.714269,0.13058,0.985913,0.844175,0.734626,0.829187,0.734776,0.139813,0.997877,0.337517,0.566005,0.322541,0.553719,0.31471,0.566784,0.851606,0.62306,0.84377,0.602452,0.828782,0.602602,0.834952,0.623226,0.305011,0.582396,0.856461,0.6454,0.838782,0.645577,0.293816,0.599955,0.094962,0.935848,0.281556,0.618785,0.300177,0.559021,0.293592,0.576297,0.815952,0.623371,0.818611,0.64573,0.285951,0.595753,0.819557,0.668952,0.090955,0.937985,0.099855,0.958482,0.277547,0.616644,0.818753,0.692144,0.10833,0.977281,0.816231,0.714413,0.116056,0.993658,0.812087,0.734906,0.820507,0.584498,0.805965,0.584608,0.811682,0.602732,0.821023,0.752723,0.806481,0.752833,0.795615,0.71453,0.793533,0.73501,0.790185,0.584697,0.793127,0.602837,0.790702,0.752922,0.795335,0.623487,0.284405,0.554242,0.2812,0.572542,0.796724,0.645854,0.277415,0.593167,0.797242,0.669078,0.086608,0.939297,0.091327,0.961057,0.273195,0.615325,0.796867,0.692267,0.09595,0.981018,0.100299,0.998414,0.268537,0.592295,0.268669,0.61488,0.774034,0.669169,0.774105,0.692356,0.08246,0.961915,0.083077,0.982264,0.774174,0.714613,0.083915,1.0,0.774237,0.735086,0.773775,0.584761,0.773831,0.602912,0.774292,0.752986,0.773894,0.623571,0.268,0.55263,0.268311,0.571275,0.773963,0.645943,0.082087,0.939735,0.251592,0.554248,0.25542,0.572547,0.752454,0.623618,0.751202,0.645993,0.259657,0.59317,0.750827,0.66922,0.077567,0.93928,0.073594,0.961024,0.264142,0.615327,0.751344,0.692407,0.070206,0.98097,0.752733,0.714661,0.067533,0.998354,0.75494,0.735129,0.757365,0.584798,0.754535,0.602955,0.757881,0.753023,0.732116,0.714671,0.736385,0.735138,0.741586,0.584806,0.73598,0.602964,0.742102,0.753031,0.731836,0.623629,0.235813,0.559034,0.243022,0.576307,0.729315,0.646004,0.251118,0.59576,0.728511,0.669232,0.073222,0.937952,0.06507,0.958418,0.259789,0.616647,0.729457,0.692418,0.057831,0.977187,0.051783,0.993538,0.243246,0.599965,0.255776,0.618791,0.707945,0.669202,0.709286,0.692388,0.057216,0.954197,0.046429,0.97106,0.713115,0.714644,0.03727,0.98574,0.719285,0.735113,0.727043,0.584784,0.71888,0.60294,0.727559,0.753009,0.712836,0.623601,0.221268,0.566803,0.231594,0.582411,0.709143,0.645975,0.069218,0.9358,0.208517,0.577257,0.221576,0.590624,0.696181,0.623536,0.691463,0.645906,0.236345,0.605622,0.689918,0.669132,0.065709,0.932908,0.050333,0.948524,0.252258,0.621675,0.691605,0.69232,0.036436,0.962824,0.69646,0.714579,0.024552,0.975257,0.704296,0.735055,0.714296,0.584735,0.703891,0.602881,0.212665,0.553741,0.197671,0.566034,0.028238,0.952795,0.014118,0.962494,0.033583,0.762104,0.054138,0.769909,0.054025,0.753423,0.033481,0.747268,0.16576,0.761699,0.183801,0.751056,0.183713,0.738438,0.165657,0.746862,0.185362,0.581011,0.198049,0.589994,0.145183,0.76963,0.145069,0.753144,0.213351,0.600632,0.122861,0.774543,0.122741,0.757042,0.23068,0.612516,0.099652,0.77625,0.099529,0.758406,0.06283,0.929387,0.044686,0.941616,0.24937,0.625189,0.076447,0.774685,0.076326,0.757184,0.122629,0.737004,0.099415,0.737976,0.060692,0.925371,0.040492,0.93374,0.226468,0.62038,0.247223,0.629198,0.076215,0.737147,0.02215,0.94136,0.053919,0.734548,0.006369,0.947939,0.033386,0.730281,0.183633,0.723992,0.165563,0.729875,0.015484,0.738954,0.015404,0.724508,0.144964,0.734269,0.190267,0.604524,0.207237,0.612048,0.033303,0.711796,0.015333,0.708788,0.165479,0.711391,0.144872,0.71373,0.18547,0.62029,0.203468,0.624436,0.122531,0.715201,0.223872,0.628912,0.099315,0.715745,0.059377,0.921016,0.037912,0.925197,0.245899,0.633548,0.076116,0.715343,0.018404,0.928958,0.053827,0.71401,0.001601,0.932154,0.183562,0.708272],"boneIndices":[7,10,0,0,0,0,0,0,0,0,0,0,7,10,0,0,0,0,0,0,7,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,6,7,0,0,0,0,0,0,6,7,0,0,6,7,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,6,10,0,0,0,0,0,0,6,10,0,0,6,10,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,6,10,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,8,0,0,7,8,0,0,7,0,0,0,7,8,0,0,7,0,0,0,7,0,0,0,7,8,0,0,7,8,0,0,7,0,0,0,7,8,0,0,7,0,0,0,7,8,0,0,7,0,0,0,7,0,0,0,7,8,0,0,7,8,0,0,7,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,7,0,0,0,7,8,0,0,7,0,0,0,7,8,0,0,7,8,0,0,8,9,0,0,8,9,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,9,0,0,0,8,9,0,0,9,0,0,0,9,0,0,0,8,0,0,0,8,0,0,0,8,9,0,0,8,9,0,0,8,0,0,0,8,0,0,0,9,0,0,0,8,9,0,0,9,0,0,0,9,0,0,0,7,8,0,0,7,8,0,0,9,0,0,0,9,0,0,0,7,8,0,0,7,8,0,0,8,9,0,0,9,0,0,0,8,9,0,0,8,9,0,0,7,8,0,0,8,9,0,0,9,0,0,0,7,8,0,0,9,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,8,9,0,0,8,9,0,0,9,0,0,0,9,0,0,0,8,9,0,0,9,0,0,0,9,0,0,0,8,9,0,0,9,0,0,0,9,0,0,0,8,9,0,0,9,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,8,9,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,10,0,0,0,10,11,0,0,10,0,0,0,10,0,0,0,10,11,0,0,10,11,0,0,10,0,0,0,10,11,0,0,10,0,0,0,11,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,10,0,0,0,11,0,0,0,10,0,0,0,11,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,10,0,0,0,11,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,11,12,0,0,11,12,0,0,11,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,11,12,0,0,12,0,0,0,12,0,0,0,11,12,0,0,11,0,0,0,11,12,0,0,11,12,0,0,11,0,0,0,11,0,0,0,11,12,0,0,11,12,0,0,11,0,0,0,11,12,0,0,11,12,0,0,10,11,0,0,11,12,0,0,12,0,0,0,10,11,0,0,10,11,0,0,11,12,0,0,11,12,0,0,11,0,0,0,11,12,0,0,11,12,0,0,11,0,0,0,11,0,0,0,11,12,0,0,11,12,0,0,11,0,0,0,11,12,0,0,12,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,11,12,0,0,11,12,0,0,12,0,0,0,12,0,0,0,11,12,0,0,11,12,0,0,12,0,0,0,11,12,0,0,11,12,0,0,12,0,0,0,11,12,0,0,11,12,0,0,12,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,11,12,0,0,12,0,0,0,11,12,0,0,12,0,0,0,13,0,0,0,13,14,0,0,13,14,0,0,13,0,0,0,13,14,0,0,13,0,0,0,13,0,0,0,13,14,0,0,13,14,0,0,13,0,0,0,13,14,0,0,13,0,0,0,13,14,0,0,13,0,0,0,13,0,0,0,13,14,0,0,13,14,0,0,13,0,0,0,13,14,0,0,13,0,0,0,14,0,0,0,13,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,13,0,0,0,14,0,0,0,13,0,0,0,14,0,0,0,13,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,13,0,0,0,13,14,0,0,13,0,0,0,14,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,13,14,0,0,13,14,0,0,15,0,0,0,15,0,0,0,13,14,0,0,13,14,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,14,0,0,0,13,14,0,0,14,15,0,0,14,15,0,0,14,0,0,0,14,0,0,0,14,15,0,0,14,15,0,0,13,14,0,0,14,0,0,0,14,15,0,0,15,0,0,0,13,14,0,0,15,0,0,0,14,15,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,14,15,0,0,14,15,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,14,15,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,14,15,0,0,15,0,0,0,15,0,0,0,15,0,0,0,14,15,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,16,17,0,0,17,0,0,0,17,0,0,0,16,17,0,0,16,17,0,0,17,0,0,0,17,0,0,0,16,17,0,0,17,0,0,0,17,0,0,0,16,17,0,0,17,0,0,0,17,0,0,0,16,17,0,0,16,17,0,0,17,18,0,0,17,18,0,0,16,17,0,0,16,17,0,0,17,0,0,0,17,0,0,0,16,17,0,0,16,17,0,0,17,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,17,0,0,0,17,18,0,0,18,0,0,0,18,0,0,0,17,0,0,0,18,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,17,0,0,0,18,0,0,0,17,0,0,0,18,0,0,0,17,0,0,0,18,0,0,0,17,18,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,22,0,0,0,23,0,0,0,23,0,0,0,22,0,0,0,22,23,0,0,22,0,0,0,22,0,0,0,22,23,0,0,22,23,0,0,22,0,0,0,22,23,0,0,22,0,0,0,22,23,0,0,22,0,0,0,22,0,0,0,22,23,0,0,23,0,0,0,22,0,0,0,23,0,0,0,22,0,0,0,23,0,0,0,22,0,0,0,22,0,0,0,23,0,0,0,23,0,0,0,22,0,0,0,23,0,0,0,22,0,0,0,23,0,0,0,22,0,0,0,23,0,0,0,23,0,0,0,23,0,0,0,23,0,0,0,22,0,0,0,23,0,0,0,22,0,0,0,23,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,23,0,0,0,23,0,0,0,23,24,0,0,23,24,0,0,23,0,0,0,23,0,0,0,23,0,0,0,23,0,0,0,23,0,0,0,23,0,0,0,23,0,0,0,23,0,0,0,23,0,0,0,22,23,0,0,22,23,0,0,23,0,0,0,22,23,0,0,22,23,0,0,22,23,0,0,22,23,0,0,22,23,0,0,23,0,0,0,23,0,0,0,22,23,0,0,23,0,0,0,23,0,0,0,23,24,0,0,23,24,0,0,24,0,0,0,24,0,0,0,23,0,0,0,23,0,0,0,23,24,0,0,23,24,0,0,22,23,0,0,23,0,0,0,23,24,0,0,23,24,0,0,23,0,0,0,23,0,0,0,23,24,0,0,23,24,0,0,22,23,0,0,23,24,0,0,23,0,0,0,23,24,0,0,22,23,0,0,23,24,0,0,23,0,0,0,23,24,0,0,22,23,0,0,23,24,0,0,23,0,0,0,23,24,0,0,23,0,0,0,22,23,0,0,23,24,0,0,23,24,0,0,23,0,0,0,23,24,0,0,24,0,0,0,24,0,0,0,24,0,0,0,24,0,0,0,24,0,0,0,24,0,0,0,24,0,0,0,24,0,0,0,24,0,0,0,24,0,0,0,24,0,0,0,24,0,0,0,24,0,0,0,24,0,0,0,24,0,0,0,24,0,0,0,24,0,0,0,23,24,0,0,23,24,0,0,23,24,0,0,23,24,0,0,24,0,0,0,24,0,0,0,23,24,0,0,23,24,0,0,24,0,0,0,23,24,0,0,23,24,0,0,24,0,0,0,23,24,0,0,24,0,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,20,21,0,0,20,21,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,19,20,0,0,20,21,0,0,21,0,0,0,21,0,0,0,20,21,0,0,19,20,0,0,20,21,0,0,20,21,0,0,19,20,0,0,19,20,0,0,20,21,0,0,20,21,0,0,19,20,0,0,19,20,0,0,20,21,0,0,20,21,0,0,19,20,0,0,19,20,0,0,20,21,0,0,19,20,0,0,20,21,0,0,19,20,0,0,20,21,0,0,19,20,0,0,20,21,0,0,19,20,0,0,20,21,0,0,19,20,0,0,20,21,0,0,19,20,0,0,20,21,0,0,20,21,0,0,19,20,0,0,20,21,0,0,19,20,0,0,21,0,0,0,21,0,0,0,21,0,0,0,21,0,0,0,21,0,0,0,21,0,0,0,21,0,0,0,21,0,0,0,21,0,0,0,21,0,0,0,21,0,0,0,21,0,0,0,21,0,0,0,21,0,0,0,21,0,0,0,21,0,0,0,21,0,0,0,20,21,0,0,20,21,0,0,20,21,0,0,21,0,0,0,21,0,0,0,20,21,0,0,20,21,0,0,20,21,0,0,21,0,0,0,20,21,0,0,20,21,0,0,21,0,0,0,20,21,0,0,21,0,0,0,25,0,0,0,22,25,0,0,22,25,0,0,25,0,0,0,25,0,0,0,22,25,0,0,22,25,0,0,25,0,0,0,22,25,0,0,25,0,0,0,22,25,0,0,25,0,0,0,22,25,0,0,25,0,0,0,25,0,0,0,22,25,0,0,22,25,0,0,25,0,0,0,22,25,0,0,25,0,0,0,22,25,0,0,25,0,0,0,25,0,0,0,22,25,0,0,22,25,0,0,25,0,0,0,22,25,0,0,25,0,0,0,22,25,0,0,25,0,0,0,22,25,0,0,22,25,0,0,22,25,0,0,22,25,0,0,22,25,0,0,22,25,0,0,22,25,0,0,22,25,0,0,22,25,0,0,22,25,0,0,22,25,0,0,22,25,0,0,22,25,0,0,25,0,0,0,22,25,0,0,22,25,0,0,25,0,0,0,25,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,0,0,0,26,0,0,0,25,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,0,0,0,0,26,27,0,0,27,0,0,0,27,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,0,0,0,26,0,0,0,25,0,0,0,25,26,0,0,0,0,0,0,0,0,0,0,26,0,0,0,26,0,0,0,0,0,0,0,0,0,0,0,25,26,0,0,25,26,0,0,0,0,0,0,0,0,0,0,26,0,0,0,26,0,0,0,0,0,0,0,27,0,0,0,27,0,0,0,27,0,0,0,27,0,0,0,27,0,0,0,27,0,0,0,27,0,0,0,27,0,0,0,27,0,0,0,27,0,0,0,27,0,0,0,27,0,0,0,27,0,0,0,27,0,0,0,27,0,0,0,27,0,0,0,27,0,0,0,27,0,0,0,27,0,0,0,27,0,0,0,27,0,0,0,27,0,0,0,27,0,0,0,27,0,0,0,27,0,0,0,27,0,0,0,26,0,0,0,26,0,0,0,27,0,0,0,27,0,0,0,27,0,0,0,27,0,0,0,26,0,0,0,26,0,0,0,27,0,0,0,26,27,0,0,27,0,0,0,27,0,0,0,26,0,0,0,26,0,0,0,26,27,0,0,26,27,0,0,27,0,0,0,27,0,0,0,26,0,0,0,26,0,0,0,27,0,0,0,27,0,0,0,26,27,0,0,26,27,0,0,27,0,0,0,27,0,0,0,26,27,0,0,26,27,0,0,27,0,0,0,27,0,0,0,26,27,0,0,26,27,0,0,26,27,0,0,26,27,0,0,27,0,0,0,27,0,0,0,26,0,0,0,26,0,0,0,26,0,0,0,26,0,0,0,26,0,0,0,25,26,0,0,25,26,0,0,0,0,0,0,26,0,0,0,26,0,0,0,0,0,0,0,0,0,0,0,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,27,0,0,27,0,0,0,0,0,0,0,26,27,0,0,0,0,0,0,26,27,0,0,26,0,0,0,27,0,0,0,0,0,0,0,26,0,0,0,0,0,0,0,26,0,0,0,0,0,0,0,26,27,0,0,0,0,0,0,26,27,0,0,26,0,0,0,27,0,0,0,26,27,0,0,26,0,0,0,26,27,0,0,26,27,0,0,26,27,0,0,26,27,0,0,26,27,0,0,26,27,0,0,26,27,0,0,26,0,0,0,26,0,0,0,28,0,0,0,28,0,0,0,19,28,0,0,19,28,0,0,28,0,0,0,19,28,0,0,28,0,0,0,28,0,0,0,19,28,0,0,19,28,0,0,28,0,0,0,19,28,0,0,28,0,0,0,19,28,0,0,28,0,0,0,28,0,0,0,19,28,0,0,19,28,0,0,28,0,0,0,19,28,0,0,28,0,0,0,19,28,0,0,28,0,0,0,28,0,0,0,19,28,0,0,19,28,0,0,28,0,0,0,19,28,0,0,28,0,0,0,19,28,0,0,19,28,0,0,19,28,0,0,19,28,0,0,19,28,0,0,19,28,0,0,19,28,0,0,19,28,0,0,19,28,0,0,19,28,0,0,19,28,0,0,19,28,0,0,19,28,0,0,19,28,0,0,28,0,0,0,19,28,0,0,28,0,0,0,19,28,0,0,28,0,0,0,28,0,0,0,28,0,0,0,28,0,0,0,28,0,0,0,29,0,0,0,28,0,0,0,29,0,0,0,29,0,0,0,28,0,0,0,28,0,0,0,28,0,0,0,28,0,0,0,28,0,0,0,28,0,0,0,28,0,0,0,28,0,0,0,28,0,0,0,28,0,0,0,28,0,0,0,28,0,0,0,28,0,0,0,28,0,0,0,28,0,0,0,28,0,0,0,28,0,0,0,28,0,0,0,28,0,0,0,28,0,0,0,28,0,0,0,28,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,28,0,0,0,29,0,0,0,28,0,0,0,29,0,0,0,29,0,0,0,29,0,0,0,29,0,0,0,28,0,0,0,29,0,0,0,29,0,0,0,28,0,0,0,29,0,0,0,28,0,0,0,28,0,0,0,29,0,0,0,29,0,0,0,29,0,0,0,28,0,0,0,29,0,0,0,29,0,0,0,28,0,0,0,29,0,0,0,29,0,0,0,28,0,0,0,29,0,0,0,29,0,0,0,28,0,0,0,29,0,0,0,29,0,0,0,28,0,0,0,29,0,0,0,29,0,0,0,28,0,0,0,28,0,0,0,29,0,0,0,28,0,0,0,29,0,0,0,29,0,0,0,28,0,0,0,29,0,0,0,29,0,0,0,29,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,29,30,0,0,29,30,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,29,30,0,0,29,30,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,29,30,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,29,30,0,0,30,0,0,0,30,0,0,0,29,30,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,29,30,0,0,29,30,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,29,30,0,0,29,30,0,0,30,0,0,0,30,0,0,0,30,0,0,0,29,0,0,0,29,0,0,0,29,0,0,0,29,0,0,0,29,0,0,0,29,0,0,0,29,0,0,0,29,0,0,0,29,0,0,0,29,0,0,0,29,0,0,0,29,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,29,0,0,0,29,30,0,0,29,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,29,0,0,0,30,0,0,0,29,0,0,0,29,30,0,0,30,0,0,0,29,30,0,0,29,0,0,0,29,30,0,0,29,0,0,0,30,0,0,0,29,0,0,0,30,0,0,0,29,0,0,0,29,30,0,0,29,30,0,0,29,30,0,0,29,30,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,29,30,0,0,29,30,0,0,0,25,31,0,0,25,31,0,25,31,0,0,0,25,31,0,31,0,0,0,31,0,0,0,0,1,31,0,0,1,31,0,0,1,31,0,0,1,31,0,0,1,31,0,0,1,31,0,0,0,0,0,0,0,0,0,31,0,0,0,25,31,0,0,0,1,31,0,0,1,31,0,0,25,31,0,25,31,0,0,0,1,31,0,0,1,31,0,25,31,0,0,25,31,0,0,0,1,31,0,0,1,31,0,0,1,31,0,0,1,31,0,25,31,0,0,25,31,0,0,0,31,0,0,0,1,31,0,25,31,0,0,25,31,0,0,25,31,0,0,25,31,0,0,0,1,31,0,0,1,31,0,25,31,0,0,25,0,0,0,0,1,31,0,0,25,0,0,0,31,0,0,0,1,31,0,0,1,31,0,0,0,0,0,0,25,31,0,0,1,31,0,25,31,0,0,0,1,31,0,0,1,31,0,0,25,31,0,25,31,0,0,0,1,31,0,0,1,31,0,25,0,0,0,0,1,31,0,0,1,31,0,25,0,0,0,0,1,31,0,25,0,0,0,25,0,0,0,0,1,31,0,0,25,0,0,0,25,31,0,0,1,31,0,0,1,31,0,0,0,0,0,25,0,0,0,0,25,0,0,0,1,31,0,0,25,31,0,0,1,31,0,0,1,31,0,0,0,0,0,0,25,31,0,0,1,31,0,25,31,0,0,0,1,31,0,25,0,0,0,0,1,31,0,0,1,31,0,25,0,0,0,25,0,0,0,25,0,0,0,0,1,31,0,25,0,0,0,25,0,0,0,0,1,31,0,0,1,31,0,0,1,31,0,0,1,31,0,25,0,0,0,0,1,31,0,0,31,0,0,0,2,25,0,0,25,31,0,0,25,31,0,0,1,31,0,0,1,31,0,0,0,0,0,0,25,31,0,0,25,31,0,0,1,31,0,25,31,0,0,25,0,0,0,0,1,31,0,25,0,0,0,25,0,0,0,0,1,31,0,0,1,31,0,0,1,31,0,0,1,31,0,0,25,31,0,25,0,0,0,0,1,31,0,25,0,0,0,0,1,31,0,0,1,31,0,0,1,31,0,25,0,0,0,25,0,0,0,0,1,31,0,25,0,0,0,25,0,0,0,0,31,0,0,0,2,25,0,0,25,31,0,0,1,31,0,0,0,0,0,0,1,31,0,0,31,0,0,2,25,0,0,0,2,25,0,0,25,31,0,0,1,31,0,0,1,31,0,0,0,0,0,0,25,31,0,0,1,31,0,25,0,0,0,0,1,31,0,25,0,0,0,0,1,31,0,0,1,31,0,25,0,0,0,25,0,0,0,25,28,0,0,2,25,28,0,0,1,31,0,0,1,31,0,3,0,0,0,0,1,31,0,3,0,0,0,2,25,28,0,0,31,0,0,2,0,0,0,0,25,31,0,0,1,31,0,0,1,31,0,0,0,0,0,0,25,28,31,0,1,31,0,0,1,31,0,2,28,0,0,0,0,0,0,0,28,31,0,0,28,31,0,0,1,31,0,0,1,31,0,25,28,0,0,0,1,31,0,28,0,0,0,0,1,31,0,0,1,31,0,28,0,0,0,0,1,31,0,28,0,0,0,2,28,0,0,0,31,0,0,0,1,31,0,28,0,0,0,28,0,0,0,0,1,31,0,0,31,0,0,1,2,28,0,0,28,31,0,0,1,31,0,0,1,31,0,0,0,0,0,0,28,31,0,0,1,31,0,28,0,0,0,0,1,31,0,28,0,0,0,0,1,31,0,0,1,31,0,28,0,0,0,28,0,0,0,28,0,0,0,0,1,31,0,0,1,31,0,28,0,0,0,0,1,31,0,28,0,0,0,28,0,0,0,0,1,31,0,1,28,0,0,0,28,31,0,0,1,31,0,0,1,31,0,0,28,0,0,0,20,28,31,0,1,31,0,0,1,31,0,0,28,0,0,0,28,0,0,0,28,31,0,0,28,31,0,0,1,31,0,0,1,31,0,28,31,0,0,0,1,31,0,28,0,0,0,0,1,31,0,0,1,31,0,28,0,0,0,0,1,31,0,0,1,31,0,28,0,0,0,28,0,0,0,0,1,31,0,0,1,31,0,28,0,0,0,28,0,0,0,0,1,31,0,0,1,31,0,0,1,31,0,0,1,31,0,0,28,0,0,0,28,31,0,0,31,0,0,0,1,31,0,0,1,31,0,0,28,0,0,0,28,31,0,0,28,31,0,0,1,31,0,28,31,0,0,28,31,0,0,0,1,31,0,28,0,0,0,28,31,0,0,0,1,31,0,28,0,0,0,28,0,0,0,0,1,31,0,0,1,31,0,28,31,0,0,28,31,0,0,0,1,31,0,0,1,31,0,28,31,0,0,0,1,31,0,0,1,31,0,28,31,0,0,28,31,0,0,0,1,31,0,0,28,31,0,0,1,31,0,0,1,31,0,0,1,31,0,0,28,0,0,0,1,28,31,0,1,31,0,0,1,31,0,0,1,31,0,0,28,31,0,0,28,31,0,0,1,31,0,0,31,0,0,0,1,31,0,0,28,31,0,0,1,31,0,28,31,0,0,0,1,31,0,28,31,0,0,0,1,31,0,0,1,31,0,28,31,0,0,28,31,0,0,0,1,31,0,0,1,31,0,0,1,31,0,31,0,0,0,31,0,0,0,0,1,31,0,0,1,31,0,31,0,0,0,31,0,0,0,28,31,0,0,28,31,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,0,1,31,0,31,0,0,0,0,1,31,0,31,0,0,0,28,31,0,0,28,31,0,0,31,0,0,0,31,0,0,0,0,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,0,1,31,0,31,0,0,0,0,28,31,0,31,0,0,0,0,1,31,0,31,0,0,0,0,31,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,0,1,31,0,0,1,31,0,31,0,0,0,31,0,0,0,0,31,0,0,31,0,0,0,0,28,31,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0],"indices":[0,1,2,0,2,3,3,2,4,3,4,5,6,7,8,6,8,9,9,8,10,9,10,11,11,10,12,11,12,13,14,15,16,14,16,17,17,16,18,17,18,19,19,18,20,19,20,21,22,23,24,22,24,25,25,24,26,25,26,27,27,26,28,27,28,29,30,31,32,33,30,32,33,32,34,35,33,34,36,35,34,36,34,37,36,37,38,39,36,38,40,39,38,40,41,39,40,42,41,1,0,43,1,43,44,29,28,45,29,45,46,3,5,47,3,47,48,49,50,51,49,51,52,43,0,53,43,53,54,0,3,48,0,48,53,27,29,55,27,55,56,22,25,57,22,57,58,17,19,59,17,59,60,11,13,61,11,61,62,6,9,50,6,50,49,29,46,63,29,63,55,25,27,56,25,56,57,19,21,64,19,64,59,14,17,60,14,60,65,9,11,62,9,62,50,66,67,68,66,68,69,57,56,70,57,70,71,50,62,72,50,72,51,56,55,73,56,73,70,62,61,74,62,74,72,55,63,75,55,75,73,65,60,76,65,76,77,54,53,78,54,78,79,60,59,80,60,80,76,53,48,81,53,81,78,59,64,82,59,82,80,48,47,83,48,83,81,58,57,71,58,71,84,85,69,68,86,85,68,87,86,68,87,68,88,87,88,89,90,87,89,91,90,89,91,89,92,91,92,93,94,91,93,95,94,93,96,97,91,96,91,94,67,98,88,67,88,68,97,99,90,97,90,91,98,100,89,98,89,88,99,101,87,99,87,90,100,102,92,100,92,89,101,103,86,101,86,87,102,104,93,102,93,92,103,105,85,103,85,86,104,106,95,104,95,93,105,66,69,105,69,85,106,96,94,106,94,95,107,108,109,107,109,110,110,109,111,110,111,112,113,114,115,113,115,116,116,115,117,116,117,118,118,117,119,118,119,120,121,122,123,121,123,124,124,123,125,124,125,126,126,125,127,126,127,128,129,130,131,129,131,132,132,131,133,132,133,134,134,133,135,134,135,136,137,138,139,137,139,140,141,137,108,141,108,107,142,138,137,142,137,141,143,144,145,146,143,145,146,145,147,148,146,147,149,148,147,149,150,148,149,151,150,151,152,150,151,153,152,153,154,152,153,155,154,156,157,158,156,158,159,160,161,162,160,162,163,164,165,166,164,166,167,123,122,168,123,168,169,170,171,172,170,172,173,174,175,176,174,176,177,108,137,140,108,140,178,109,108,178,109,178,179,180,160,163,180,163,181,161,164,167,161,167,162,125,123,169,125,169,182,183,170,173,183,173,184,171,174,177,171,177,172,185,186,187,185,187,188,189,185,188,189,188,190,191,189,190,191,190,192,193,191,192,193,192,194,193,194,195,194,196,195,196,197,195,198,199,188,198,188,187,200,156,159,200,159,201,202,198,187,202,187,186,203,200,201,203,201,204,205,202,186,205,186,185,206,203,204,206,204,207,208,205,185,208,185,189,209,206,207,209,207,210,178,140,211,178,211,212,182,169,213,182,213,214,179,178,212,179,212,215,216,182,214,216,214,217,218,219,220,218,220,221,219,222,223,219,223,220,224,225,226,224,226,227,225,228,229,225,229,226,228,230,231,228,231,229,232,233,234,232,234,235,233,236,237,233,237,234,236,238,239,236,239,237,240,241,242,240,242,243,241,244,245,241,245,242,244,246,247,244,247,245,248,249,250,248,250,251,252,218,221,252,221,248,253,252,248,253,248,251,254,255,256,254,256,257,258,254,257,258,257,259,260,258,259,260,259,261,260,261,262,261,263,262,263,264,262,263,265,264,265,266,264,267,268,269,267,269,270,271,272,273,271,273,274,275,276,277,275,277,278,234,279,280,234,280,235,281,282,283,281,283,284,285,286,287,285,287,288,221,289,249,221,249,248,288,287,290,288,290,291,292,293,272,292,272,271,274,273,276,274,276,275,237,294,279,237,279,234,295,296,282,295,282,281,284,283,286,284,286,285,297,298,299,300,297,299,300,299,301,302,300,301,302,301,303,304,302,303,305,304,303,305,306,304,305,307,306,307,308,306,307,309,308,310,297,300,310,300,311,312,313,268,312,268,267,314,298,297,314,297,310,315,316,313,315,313,312,317,299,298,317,298,314,318,319,316,318,316,315,320,301,299,320,299,317,321,322,319,321,319,318,289,323,324,289,324,249,294,325,326,294,326,279,327,328,323,327,323,289,329,330,325,329,325,294,331,332,333,331,333,334,334,333,335,334,335,336,337,338,339,337,339,340,340,339,341,340,341,342,342,341,343,342,343,344,345,346,347,345,347,348,348,347,349,348,349,350,350,349,351,350,351,352,353,354,355,353,355,356,356,355,357,356,357,358,358,357,359,358,359,360,361,362,363,361,363,364,365,366,332,365,332,331,367,368,366,367,366,365,369,370,371,372,369,371,372,371,373,374,372,373,375,374,373,375,376,374,375,377,376,377,378,376,377,379,378,379,380,378,379,381,380,382,383,384,382,384,385,386,387,388,386,388,389,347,346,390,347,390,391,392,393,394,392,394,395,396,397,398,396,398,399,400,401,402,400,402,403,387,382,385,387,385,388,404,386,389,404,389,405,349,347,391,349,391,406,397,392,395,397,395,398,401,396,399,401,399,402,333,332,407,333,407,408,332,366,409,332,409,407,410,411,412,410,412,413,414,415,416,414,416,417,411,418,419,411,419,412,420,406,421,420,421,422,408,407,423,408,423,424,406,391,425,406,425,421,426,427,428,426,428,429,430,431,432,430,432,433,427,434,435,427,435,428,431,436,437,431,437,432,434,438,439,434,439,435,436,410,413,436,413,437,438,414,417,438,417,439,440,441,442,440,442,443,444,440,443,444,443,445,446,444,445,446,445,447,448,446,447,448,447,449,448,449,450,449,451,450,451,452,450,453,361,364,453,364,454,455,456,457,455,457,458,459,460,461,459,461,462,463,464,465,463,465,466,467,468,469,467,469,470,471,472,473,471,473,474,362,455,458,362,458,363,456,459,462,456,462,457,460,463,466,460,466,461,464,467,470,464,470,465,468,471,474,468,474,469,472,453,454,472,454,473,475,476,477,475,477,478,476,479,480,476,480,477,481,482,483,481,483,484,482,485,486,482,486,483,485,487,488,485,488,486,489,490,491,489,491,492,490,493,494,490,494,491,493,495,496,493,496,494,497,498,499,497,499,500,498,501,502,498,502,499,501,503,504,501,504,502,505,506,507,505,507,508,509,475,478,509,478,510,511,509,510,511,510,512,513,514,515,513,515,516,517,513,516,517,516,518,519,517,518,519,518,520,519,520,521,520,522,521,522,523,521,522,524,523,524,525,523,526,527,528,526,528,529,530,531,532,530,532,533,491,534,535,491,535,492,536,537,538,536,538,539,540,541,542,540,542,543,544,545,546,544,546,547,533,532,527,533,527,526,548,549,531,548,531,530,494,550,534,494,534,491,543,542,537,543,537,536,547,546,541,547,541,540,477,551,552,477,552,478,478,552,553,478,553,510,554,555,556,554,556,557,558,559,560,558,560,561,557,556,562,557,562,563,564,565,566,564,566,550,551,567,568,551,568,552,550,566,569,550,569,534,570,571,572,570,572,573,574,575,576,574,576,577,573,572,578,573,578,579,577,576,580,577,580,581,579,578,582,579,582,583,581,580,555,581,555,554,583,582,559,583,559,558,584,585,586,587,584,586,587,586,588,589,587,588,589,588,590,591,589,590,592,591,590,592,593,591,592,594,593,594,595,593,594,596,595,597,598,506,597,506,505,599,600,601,599,601,602,603,604,605,603,605,606,607,608,609,607,609,610,611,612,613,611,613,614,615,616,617,615,617,618,508,507,600,508,600,599,602,601,604,602,604,603,606,605,608,606,608,607,610,609,612,610,612,611,614,613,616,614,616,615,618,617,598,618,598,597,619,620,621,619,621,622,622,621,623,622,623,624,625,626,627,625,627,628,628,627,629,628,629,630,630,629,631,630,631,632,633,634,635,633,635,636,636,635,637,636,637,638,638,637,639,638,639,640,641,642,643,641,643,644,644,643,645,644,645,646,646,645,647,646,647,648,649,650,651,649,651,652,653,654,620,653,620,619,655,656,654,655,654,653,657,658,659,660,657,659,660,659,661,662,660,661,663,662,661,663,664,662,663,665,664,665,666,664,665,667,666,667,668,666,667,669,668,670,671,672,670,672,673,674,675,676,674,676,677,678,679,680,678,680,681,682,683,684,682,684,685,686,687,688,686,688,689,690,691,692,690,692,693,694,649,652,694,652,695,691,694,695,691,695,692,650,674,677,650,677,651,675,678,681,675,681,676,679,682,685,679,685,680,683,686,689,683,689,684,687,690,693,687,693,688,696,697,698,696,698,699,700,701,702,700,702,703,704,705,706,704,706,707,708,709,710,708,710,711,712,704,707,712,707,713,714,708,711,714,711,715,716,712,713,716,713,717,718,714,715,718,715,719,720,716,717,720,717,721,722,718,719,722,719,723,724,725,726,724,726,727,671,728,729,671,729,672,701,724,727,701,727,702,698,730,731,698,731,732,699,698,732,699,732,733,734,699,733,734,733,735,736,734,735,736,735,737,736,737,738,737,739,738,739,740,738,727,726,741,727,741,742,672,729,743,672,743,744,702,727,742,702,742,745,673,672,744,673,744,746,747,748,733,747,733,732,749,750,751,749,751,752,753,747,732,753,732,731,754,749,752,754,752,755,756,753,731,756,731,730,757,754,755,757,755,758,697,756,730,697,730,698,759,757,758,759,758,760,761,762,763,761,763,764,762,765,766,762,766,763,767,768,769,767,769,770,768,771,772,768,772,769,771,773,774,771,774,772,775,776,777,775,777,778,776,779,780,776,780,777,779,781,782,779,782,780,783,784,785,783,785,786,784,787,788,784,788,785,787,789,790,787,790,788,791,792,793,791,793,794,795,761,764,795,764,796,797,795,796,797,796,798,799,800,801,799,801,802,803,799,802,803,802,804,805,803,804,805,804,806,805,806,807,806,808,807,808,809,807,808,810,809,810,811,809,812,813,814,812,814,815,816,817,818,816,818,819,820,821,822,820,822,823,824,825,826,824,826,827,828,829,830,828,830,831,832,833,834,832,834,835,836,837,792,836,792,791,835,834,837,835,837,836,794,793,817,794,817,816,819,818,821,819,821,820,823,822,825,823,825,824,827,826,829,827,829,828,831,830,833,831,833,832,838,839,840,838,840,841,842,843,844,842,844,845,846,847,848,846,848,849,850,851,852,850,852,853,854,855,847,854,847,846,856,857,851,856,851,850,858,859,855,858,855,854,860,861,857,860,857,856,862,863,859,862,859,858,864,865,861,864,861,860,866,867,868,866,868,869,815,814,870,815,870,871,845,844,867,845,867,866,872,873,840,874,872,840,874,840,839,875,874,839,875,839,876,877,875,876,878,877,876,878,879,877,878,880,879,880,881,879,880,882,881,867,883,884,867,884,868,814,885,886,814,886,870,844,887,883,844,883,867,813,888,885,813,885,814,889,874,875,889,875,890,891,892,893,891,893,894,895,872,874,895,874,889,896,897,892,896,892,891,898,873,872,898,872,895,899,900,897,899,897,896,841,840,873,841,873,898,901,902,900,901,900,899,903,904,905,903,905,906,907,908,909,907,909,910,910,909,911,910,911,912,912,911,913,912,913,914,914,913,915,914,915,916,917,918,919,917,919,920,920,919,921,920,921,922,922,921,923,922,923,924,925,926,927,925,927,928,928,927,929,928,929,930,930,929,931,930,931,932,933,934,935,936,933,935,937,936,935,937,938,936,937,939,938,939,940,938,939,941,940,941,942,940,941,943,942,943,944,942,943,945,944,946,947,904,946,904,903,932,931,948,932,948,949,950,951,952,950,952,953,954,955,956,954,956,957,954,957,958,959,960,961,959,961,962,963,964,965,963,965,966,967,968,969,967,969,970,971,972,973,971,973,974,975,976,977,975,977,978,951,979,980,951,980,952,979,975,978,979,978,980,960,950,953,960,953,961,964,959,962,964,962,965,968,963,966,968,966,969,972,967,970,972,970,973,976,971,974,976,974,977,981,982,983,981,983,984,985,986,987,986,988,987,986,989,988,990,991,992,990,993,991,990,994,993,995,996,997,995,997,998,999,995,998,994,1000,993,994,1001,1000,994,1002,1001,1003,1004,1005,1003,1005,996,995,1003,996,1002,1006,1001,1002,1007,1006,1002,1008,1007,1009,1010,1011,1009,1011,1004,1003,1009,1004,1008,1012,1007,1008,1013,1012,1008,1014,1013,1015,1016,1017,1015,1017,1010,1009,1015,1010,1018,1019,1020,1019,1021,1020,1019,1022,1021,1023,954,958,1023,958,1024,1023,1024,1025,1019,985,1022,985,1026,1022,985,987,1026,1027,1028,1029,1027,1029,1030,1027,1030,1031,1032,1027,1031,1033,1032,1031,1033,1031,1034,1033,1034,1035,1036,1033,1035,1037,1036,1035,1037,1035,1038,1037,1038,1039,1040,1037,1039,1040,1039,1041,1039,1042,1041,1042,1043,1041,1042,1044,1043,1044,1045,1043,1045,1046,1043,1045,1047,1046,1045,1048,1047,1048,1049,1047,1049,1050,1047,1049,1051,1050,1049,1052,1051,1053,1054,1038,1053,1038,1035,1055,1056,1057,1055,1057,1058,1059,1060,1042,1059,1042,1039,1061,1062,1063,1061,1063,1064,1065,1066,1045,1065,1045,1044,1067,1068,1069,1067,1069,1070,1071,1072,1073,1071,1073,1074,1075,1076,1077,1075,1077,1078,1079,1080,1081,1079,1081,1082,1083,1084,1030,1083,1030,1029,1085,1086,1087,1085,1087,1088,1089,1090,1034,1089,1034,1031,1086,981,984,1086,984,1087,1091,1092,981,1091,981,1086,1092,1093,982,1092,982,981,1090,1053,1035,1090,1035,1034,1094,1095,1053,1094,1053,1090,1095,1096,1054,1095,1054,1053,982,1055,1058,982,1058,983,1093,1097,1055,1093,1055,982,1097,1098,1056,1097,1056,1055,1054,1059,1039,1054,1039,1038,1096,1099,1059,1096,1059,1054,1099,1100,1060,1099,1060,1059,1056,1061,1064,1056,1064,1057,1098,1101,1061,1098,1061,1056,1101,1102,1062,1101,1062,1061,1060,1065,1044,1060,1044,1042,1100,1103,1065,1100,1065,1060,1103,1104,1066,1103,1066,1065,1105,1067,1070,1105,1070,1106,1102,1107,1108,1102,1108,1062,1107,1109,1110,1107,1110,1108,1111,1071,1074,1111,1074,1112,1104,1113,1114,1104,1114,1066,1113,1115,1116,1113,1116,1114,1068,1075,1078,1068,1078,1069,1109,1117,1118,1109,1118,1110,1117,1119,1120,1117,1120,1118,1121,1079,1082,1121,1082,1122,996,1005,1123,996,1123,1124,1005,1004,1125,1005,1125,1123,1126,1083,1029,1126,1029,1028,1001,1006,1127,1001,1127,1128,1006,1007,1129,1006,1129,1127,1080,1085,1088,1080,1088,1081,1004,1011,1130,1004,1130,1125,1011,1010,1131,1011,1131,1130,1084,1089,1031,1084,1031,1030,1007,1012,1132,1007,1132,1129,1012,1013,1133,1012,1133,1132,1134,1135,1136,1134,1136,1137,1135,1138,1139,1135,1139,1136,1140,1141,1142,1140,1142,1143,1141,1144,1145,1141,1145,1142,1144,1146,1147,1144,1147,1145,1148,1149,1150,1148,1150,1151,1149,1152,1153,1149,1153,1150,1152,1154,1155,1152,1155,1153,1156,1157,1158,1156,1158,1159,1157,1160,1161,1157,1161,1158,1160,1162,1163,1160,1163,1161,1164,1165,1166,1164,1166,1167,1168,1164,1167,1168,1167,1169,1168,1169,1170,1169,1171,1170,1171,1172,1170,1171,1173,1172,1173,1174,1172,1173,1175,1174,1175,1176,1174,1177,1134,1137,1177,1137,1178,1162,1179,1180,1162,1180,1163,1181,1182,1183,1181,1183,1184,1185,1186,1187,1185,1188,1186,1185,1189,1188,1190,1191,1192,1190,1192,1193,1194,1195,1196,1194,1196,1197,1198,1199,1200,1198,1200,1201,1202,1203,1204,1202,1204,1205,1206,1207,1208,1206,1208,1209,1184,1183,1210,1184,1210,1211,1211,1210,1207,1211,1207,1206,1193,1192,1182,1193,1182,1181,1197,1196,1191,1197,1191,1190,1201,1200,1195,1201,1195,1194,1205,1204,1199,1205,1199,1198,1209,1208,1203,1209,1203,1202,1212,1213,1214,1212,1214,1215,1216,1217,1218,1217,1219,1218,1219,1220,1218,1187,1186,1221,1187,1221,1222,1187,1222,1223,1224,1225,1226,1227,1224,1226,1228,1227,1226,1229,1230,1231,1229,1231,1232,1229,1232,1233,1234,1235,1236,1225,1234,1236,1226,1225,1236,1233,1232,1237,1233,1237,1238,1233,1238,1239,1240,1241,1242,1235,1240,1242,1236,1235,1242,1239,1238,1243,1239,1243,1244,1239,1244,1245,1246,1247,1248,1241,1246,1248,1242,1241,1248,1249,1250,1251,1250,1252,1251,1252,1253,1251,1254,1189,1185,1254,1255,1189,1254,1256,1255,1251,1253,1216,1253,1257,1216,1257,1217,1216,1258,1259,1260,1261,1258,1260,1262,1261,1260,1262,1260,1263,1262,1263,1264,1265,1262,1264,1266,1265,1264,1266,1264,1267,1266,1267,1268,1269,1266,1268,1270,1269,1268,1271,1270,1268,1271,1272,1270,1272,1273,1270,1272,1274,1273,1274,1275,1273,1274,1276,1275,1274,1277,1276,1277,1278,1276,1278,1279,1276,1278,1280,1279,1278,1281,1280,1281,1282,1280,1281,1283,1282,1284,1266,1269,1284,1269,1285,1286,1287,1288,1286,1288,1289,1290,1270,1273,1290,1273,1291,1292,1293,1294,1292,1294,1295,1296,1275,1276,1296,1276,1297,1298,1299,1300,1298,1300,1301,1302,1303,1304,1302,1304,1305,1306,1307,1308,1306,1308,1309,1310,1311,1312,1310,1312,1313,1314,1258,1261,1314,1261,1315,1316,1317,1318,1316,1318,1319,1320,1262,1265,1320,1265,1321,1319,1318,1213,1319,1213,1212,1241,1322,1323,1241,1323,1246,1246,1323,1324,1246,1324,1247,1321,1265,1266,1321,1266,1284,1325,1321,1284,1325,1284,1326,1326,1284,1285,1326,1285,1327,1215,1214,1287,1215,1287,1286,1328,1215,1286,1328,1286,1329,1329,1286,1289,1329,1289,1330,1285,1269,1270,1285,1270,1290,1327,1285,1290,1327,1290,1331,1331,1290,1291,1331,1291,1332,1289,1288,1293,1289,1293,1292,1330,1289,1292,1330,1292,1333,1333,1292,1295,1333,1295,1334,1291,1273,1275,1291,1275,1296,1332,1291,1296,1332,1296,1335,1335,1296,1297,1335,1297,1336,1337,1338,1299,1337,1299,1298,1334,1295,1339,1334,1339,1340,1340,1339,1341,1340,1341,1342,1343,1344,1303,1343,1303,1302,1336,1297,1345,1336,1345,1346,1346,1345,1347,1346,1347,1348,1349,1350,1307,1349,1307,1306,1342,1341,1351,1342,1351,1352,1352,1351,1353,1352,1353,1354,1305,1304,1311,1305,1311,1310,1348,1347,1355,1348,1355,1356,1356,1355,1357,1356,1357,1358,1359,1259,1258,1359,1258,1314,1232,1360,1361,1232,1361,1237,1237,1361,1362,1237,1362,1238,1363,1364,1317,1363,1317,1316,1235,1365,1366,1235,1366,1240,1240,1366,1322,1240,1322,1241,1315,1261,1262,1315,1262,1320,1238,1362,1367,1238,1367,1243,1243,1367,1368,1243,1368,1244,1369,1370,1371,1369,1371,1372,1373,1374,1375,1373,1375,1376,1377,1378,1379,1377,1379,1380,1381,1369,1372,1381,1372,1382,1383,1373,1376,1383,1376,1384,1385,1377,1380,1385,1380,1386,1387,1383,1384,1387,1384,1388,1389,1385,1386,1389,1386,1390,1391,1387,1388,1391,1388,1392,1393,1394,1395,1393,1395,1396,1397,1391,1392,1397,1392,1398,1399,1393,1396,1399,1396,1400,1370,1401,1402,1370,1402,1371,1374,1399,1400,1374,1400,1375,1398,1392,1403,1398,1403,1404,1400,1396,1405,1400,1405,1406,1371,1402,1407,1371,1407,1408,1375,1400,1406,1375,1406,1409,1372,1371,1408,1372,1408,1410,1376,1375,1409,1376,1409,1411,1380,1379,1412,1380,1412,1413,1382,1372,1410,1382,1410,1414,1384,1376,1411,1384,1411,1415,1386,1380,1413,1386,1413,1416,1388,1384,1415,1388,1415,1417,1390,1386,1416,1390,1416,1418,1392,1388,1417,1392,1417,1403,1396,1395,1419,1396,1419,1405,1417,1415,1420,1417,1420,1421,1418,1416,1422,1418,1422,1423,1403,1417,1421,1403,1421,1424,1405,1419,1425,1405,1425,1426,1404,1403,1424,1404,1424,1427,1406,1405,1426,1406,1426,1428,1408,1407,1429,1408,1429,1430,1409,1406,1428,1409,1428,1431,1410,1408,1430,1410,1430,1432,1411,1409,1431,1411,1431,1433,1413,1412,1434,1413,1434,1435,1414,1410,1432,1414,1432,1436,1415,1411,1433,1415,1433,1420,1416,1413,1435,1416,1435,1422,1432,1430,1437,1432,1437,1438,1433,1431,1439,1433,1439,1440,1435,1434,1441,1435,1441,1442,1436,1432,1438,1436,1438,1443,1420,1433,1440,1420,1440,1444,1422,1435,1442,1422,1442,1445,1421,1420,1444,1421,1444,1446,1423,1422,1445,1423,1445,1447,1424,1421,1446,1424,1446,1448,1426,1425,1449,1426,1449,1450,1429,1451,1452,1429,1452,1453,1428,1426,1450,1428,1450,1454,1430,1429,1453,1430,1453,1437,1431,1428,1454,1431,1454,1439,1453,1452,1455,1453,1455,1456,1457,1458,1459,1457,1459,1460,1437,1453,1456,1437,1456,1461,1462,1457,1460,1462,1460,1463,1438,1437,1461,1438,1461,1464,1465,1462,1463,1465,1463,1466,1442,1441,1467,1442,1467,1468,1443,1438,1464,1443,1464,1469,1470,1465,1466,1470,1466,1471,1445,1442,1468,1445,1468,1472,1473,1470,1471,1473,1471,1474,1447,1445,1472,1447,1472,1475,1476,1473,1474,1476,1474,1477,1478,1447,1475,1478,1475,1479,1472,1468,1480,1472,1480,1481,1474,1471,1482,1474,1482,1483,1475,1472,1481,1475,1481,1484,1477,1474,1483,1477,1483,1485,1459,1486,1487,1459,1487,1488,1489,1477,1485,1489,1485,1490,1460,1459,1488,1460,1488,1491,1461,1456,1492,1461,1492,1493,1463,1460,1491,1463,1491,1494,1464,1461,1493,1464,1493,1495,1466,1463,1494,1466,1494,1496,1468,1467,1497,1468,1497,1480,1469,1464,1495,1469,1495,1498,1471,1466,1496,1471,1496,1482,1494,1491,1499,1494,1499,1500,1495,1493,1501,1495,1501,1502,1496,1494,1500,1496,1500,1503,1480,1497,1504,1480,1504,1505,1498,1495,1502,1498,1502,1506,1482,1496,1503,1482,1503,1507,1481,1480,1505,1481,1505,1508,1483,1482,1507,1483,1507,1509,1484,1481,1508,1484,1508,1510,1485,1483,1509,1485,1509,1511,1488,1487,1512,1488,1512,1513,1490,1485,1511,1490,1511,1514,1491,1488,1513,1491,1513,1499,1493,1492,1515,1493,1515,1501,1511,1509,1516,1511,1516,1517,1513,1512,1518,1513,1518,1519,1514,1511,1517,1514,1517,1520,1499,1513,1519,1499,1519,1521,1501,1515,1522,1501,1522,1523,1500,1499,1521,1500,1521,1524,1502,1501,1523,1502,1523,1525,1503,1500,1524,1503,1524,1526,1505,1504,1527,1505,1527,1528,1506,1502,1525,1506,1525,1529,1507,1503,1526,1507,1526,1530,1508,1505,1528,1508,1528,1531,1509,1507,1530,1509,1530,1516,1510,1508,1531,1510,1531,1532,1529,1525,1533,1529,1533,1534,1530,1526,1535,1530,1535,1536,1531,1528,1537,1531,1537,1538,1516,1530,1536,1516,1536,1539,1532,1531,1538,1532,1538,1540,1517,1516,1539,1517,1539,1541,1519,1518,1542,1519,1542,1543,1520,1517,1541,1520,1541,1544,1521,1519,1543,1521,1543,1545,1523,1522,1546,1523,1546,1547,1524,1521,1545,1524,1545,1548,1525,1523,1547,1525,1547,1533,1526,1524,1548,1526,1548,1535,1528,1527,1549,1528,1549,1537,1547,1546,1550,1547,1550,1551,1548,1545,1552,1548,1552,1553,1533,1547,1551,1533,1551,1554,1535,1548,1553,1535,1553,1555,1537,1549,1556,1537,1556,1557,1534,1533,1554,1534,1554,1558,1536,1535,1555,1536,1555,1559,1538,1537,1557,1538,1557,1560,1539,1536,1559,1539,1559,1561,1540,1538,1560,1540,1560,1562,1541,1539,1561,1541,1561,1563,1543,1542,1564,1543,1564,1565,1544,1541,1563,1544,1563,1566,1545,1543,1565,1545,1565,1552,1563,1561,1567,1563,1567,1568,1565,1564,1569,1565,1569,1570,1566,1563,1568,1566,1568,1571,1552,1565,1570,1552,1570,1572,1551,1550,1573,1551,1573,1574,1553,1552,1572,1553,1572,1575,1554,1551,1574,1554,1574,1576,1555,1553,1575,1555,1575,1577,1557,1556,1578,1557,1578,1579,1558,1554,1576,1558,1576,1580,1559,1555,1577,1559,1577,1581,1560,1557,1579,1560,1579,1582,1561,1559,1581,1561,1581,1567,1562,1560,1582,1562,1582,1583,1580,1576,1584,1580,1584,1585,1581,1577,1586,1581,1586,1587,1582,1579,1588,1582,1588,1589,1567,1581,1587,1567,1587,1590,1583,1582,1589,1583,1589,1591,1568,1567,1590,1568,1590,1592,1593,1583,1591,1593,1591,1594,1571,1568,1592,1571,1592,1595,1572,1570,1596,1572,1596,1597,1574,1573,1598,1574,1598,1599,1575,1572,1597,1575,1597,1600,1576,1574,1599,1576,1599,1584,1577,1575,1600,1577,1600,1586,1579,1578,1601,1579,1601,1588,1599,1598,1602,1599,1602,1603,1604,1605,1606,1604,1606,1607,1584,1599,1603,1584,1603,1608,1609,1604,1607,1609,1607,1610,1588,1601,1611,1588,1611,1612,1585,1584,1608,1585,1608,1613,1614,1609,1610,1614,1610,1615,1589,1588,1612,1589,1612,1616,1617,1614,1615,1617,1615,1618,1591,1589,1616,1591,1616,1619,1620,1617,1618,1620,1618,1621,1594,1591,1619,1594,1619,1622,1623,1620,1621,1623,1621,1624,1605,1625,1626,1605,1626,1606,1621,1618,1627,1621,1627,1628,1622,1619,1629,1622,1629,1630,1624,1621,1628,1624,1628,1631,1606,1626,1632,1606,1632,1633,1603,1602,1634,1603,1634,1635,1607,1606,1633,1607,1633,1636,1608,1603,1635,1608,1635,1637,1610,1607,1636,1610,1636,1638,1612,1611,1639,1612,1639,1640,1613,1608,1637,1613,1637,1641,1615,1610,1638,1615,1638,1642,1616,1612,1640,1616,1640,1643,1618,1615,1642,1618,1642,1627,1619,1616,1643,1619,1643,1629,1640,1639,1644,1640,1644,1645,1641,1637,1646,1641,1646,1647,1642,1638,1648,1642,1648,1649,1643,1640,1645,1643,1645,1650,1627,1642,1649,1627,1649,1651,1629,1643,1650,1629,1650,1652,1628,1627,1651,1628,1651,1653,1630,1629,1652,1630,1652,1654,1631,1628,1653,1631,1653,1655,1633,1632,1656,1633,1656,1657,1635,1634,1658,1635,1658,1659,1636,1633,1657,1636,1657,1660,1637,1635,1659,1637,1659,1646,1638,1636,1660,1638,1660,1648,1661,1662,1663,1661,1663,1664,1665,1666,1667,1665,1667,1668,1669,1670,1671,1669,1671,1672,1378,1377,1673,1378,1673,1674,1399,1374,1675,1399,1675,1676,1391,1397,1677,1391,1677,1678,1662,1679,1680,1662,1680,1663,1666,1681,1682,1666,1682,1667,1683,1684,1685,1683,1685,1686,1381,1687,1688,1381,1688,1689,1393,1399,1676,1393,1676,1690,1387,1391,1678,1387,1678,1691,1681,1692,1693,1681,1693,1682,1684,1694,1695,1684,1695,1685,1696,1378,1674,1696,1674,1697,1687,1698,1699,1687,1699,1688,1394,1393,1690,1394,1690,1700,1383,1387,1691,1383,1691,1701,1369,1381,1689,1369,1689,1702,1703,1704,1705,1703,1705,1706,1694,1707,1708,1694,1708,1695,1679,1696,1697,1679,1697,1680,1698,1709,1710,1698,1710,1699,1385,1389,1711,1385,1711,1712,1373,1383,1701,1373,1701,1713,1370,1369,1702,1370,1702,1714,1704,1661,1664,1704,1664,1705,1707,1665,1668,1707,1668,1708,1709,1669,1672,1709,1672,1710,1377,1385,1712,1377,1712,1673,1374,1373,1713,1374,1713,1675,1401,1370,1714,1401,1714,1715,1687,1381,1382,1378,1696,1379,1379,1696,1412,1687,1382,1414,1687,1414,1436,1412,1696,1434,1687,1436,1443,1434,1696,1441,1441,1696,1467,1687,1443,1469,1687,1469,1498,1467,1696,1497,1497,1696,1504,1687,1498,1506,1504,1696,1527,1687,1506,1529,1687,1529,1534,1527,1696,1549,1549,1696,1556,1687,1534,1558,1556,1696,1578,1687,1558,1580,1687,1580,1585,1578,1696,1601,1601,1696,1611,1687,1585,1613,1611,1696,1639,1687,1613,1641,1687,1641,1647,1639,1696,1644,1657,1656,1692,1657,1692,1681,1659,1658,1670,1659,1670,1669,1660,1657,1681,1660,1681,1666,1644,1696,1679,1646,1659,1669,1646,1669,1709,1648,1660,1666,1648,1666,1665,1645,1644,1679,1645,1679,1662,1647,1646,1709,1647,1709,1698,1649,1648,1665,1649,1665,1707,1650,1645,1662,1650,1662,1661,1687,1647,1698,1651,1649,1707,1651,1707,1694,1652,1650,1661,1652,1661,1704,1653,1651,1694,1653,1694,1684,1654,1652,1704,1654,1704,1703,1655,1653,1684,1655,1684,1683,1672,1671,1716,1672,1716,1717,1667,1682,1718,1667,1718,1719,1710,1672,1717,1710,1717,1720,1668,1667,1719,1668,1719,1721,1663,1680,1722,1663,1722,1723,1699,1710,1720,1699,1720,1724,1708,1668,1721,1708,1721,1725,1664,1663,1723,1664,1723,1726,1695,1708,1725,1695,1725,1727,1705,1664,1726,1705,1726,1728,1685,1695,1727,1685,1727,1729,1693,1730,1731,1693,1731,1732,1686,1685,1729,1686,1729,1733,1682,1693,1732,1682,1732,1718,1727,1725,1734,1727,1734,1735,1728,1726,1736,1728,1736,1737,1729,1727,1735,1729,1735,1738,1739,1728,1737,1739,1737,1740,1733,1729,1738,1733,1738,1741,1718,1732,1742,1718,1742,1743,1717,1716,1744,1717,1744,1745,1719,1718,1743,1719,1743,1746,1720,1717,1745,1720,1745,1747,1721,1719,1746,1721,1746,1748,1723,1722,1749,1723,1749,1750,1724,1720,1747,1724,1747,1751,1725,1721,1748,1725,1748,1734,1726,1723,1750,1726,1750,1736,1747,1745,1752,1747,1752,1753,1748,1746,1754,1748,1754,1755,1750,1749,1756,1750,1756,1757,1751,1747,1753,1751,1753,1758,1734,1748,1755,1734,1755,1759,1736,1750,1757,1736,1757,1760,1735,1734,1759,1735,1759,1761,1737,1736,1760,1737,1760,1762,1738,1735,1761,1738,1761,1763,1740,1737,1762,1740,1762,1764,1741,1738,1763,1741,1763,1765,1743,1742,1766,1743,1766,1767,1745,1744,1768,1745,1768,1752,1746,1743,1767,1746,1767,1754,1764,1762,1769,1764,1769,1770,1765,1763,1771,1765,1771,1772,1767,1766,1773,1767,1773,1774,1752,1768,1775,1752,1775,1776,1754,1767,1774,1754,1774,1777,1753,1752,1776,1753,1776,1778,1755,1754,1777,1755,1777,1779,1757,1756,1780,1757,1780,1781,1758,1753,1778,1758,1778,1782,1759,1755,1779,1759,1779,1783,1760,1757,1781,1760,1781,1784,1761,1759,1783,1761,1783,1785,1762,1760,1784,1762,1784,1769,1763,1761,1785,1763,1785,1771,1786,1787,1788,1786,1788,1789,1784,1781,1790,1784,1790,1791,1792,1786,1789,1792,1789,1793,1769,1784,1791,1769,1791,1794,1795,1792,1793,1795,1793,1796,1770,1769,1794,1770,1794,1797,1775,1798,1799,1775,1799,1800,1801,1802,1803,1801,1803,1804,1776,1775,1800,1776,1800,1805,1806,1801,1804,1806,1804,1807,1778,1776,1805,1778,1805,1808,1787,1806,1807,1787,1807,1788,1781,1780,1809,1781,1809,1790,1782,1778,1808,1782,1808,1810,1805,1800,1811,1805,1811,1812,1807,1804,1813,1807,1813,1814,1808,1805,1812,1808,1812,1815,1788,1807,1814,1788,1814,1816,1790,1809,1817,1790,1817,1818,1810,1808,1815,1810,1815,1819,1789,1788,1816,1789,1816,1820,1791,1790,1818,1791,1818,1821,1793,1789,1820,1793,1820,1822,1794,1791,1821,1794,1821,1823,1796,1793,1822,1796,1822,1824,1803,1825,1826,1803,1826,1827,1828,1796,1824,1828,1824,1829,1804,1803,1827,1804,1827,1813,1824,1822,1830,1824,1830,1831,1827,1826,1832,1827,1832,1833,1829,1824,1831,1829,1831,1834,1813,1827,1833,1813,1833,1835,1812,1811,1836,1812,1836,1837,1814,1813,1835,1814,1835,1838,1815,1812,1837,1815,1837,1839,1816,1814,1838,1816,1838,1840,1818,1817,1841,1818,1841,1842,1819,1815,1839,1819,1839,1843,1820,1816,1840,1820,1840,1844,1821,1818,1842,1821,1842,1845,1822,1820,1844,1822,1844,1830,1823,1821,1845,1823,1845,1846,1843,1839,1847,1843,1847,1848,1844,1840,1849,1844,1849,1850,1845,1842,1851,1845,1851,1852,1830,1844,1850,1830,1850,1853,1846,1845,1852,1846,1852,1854,1831,1830,1853,1831,1853,1855,1833,1832,1856,1833,1856,1857,1834,1831,1855,1834,1855,1858,1835,1833,1857,1835,1857,1859,1837,1836,1860,1837,1860,1861,1838,1835,1859,1838,1859,1862,1839,1837,1861,1839,1861,1847,1840,1838,1862,1840,1862,1849,1842,1841,1863,1842,1863,1851,1861,1860,1864,1861,1864,1865,1862,1859,1866,1862,1866,1867,1847,1861,1865,1847,1865,1868,1849,1862,1867,1849,1867,1869,1851,1863,1870,1851,1870,1871,1848,1847,1868,1848,1868,1872,1850,1849,1869,1850,1869,1873,1852,1851,1871,1852,1871,1874,1853,1850,1873,1853,1873,1875,1854,1852,1874,1854,1874,1876,1855,1853,1875,1855,1875,1877,1857,1856,1878,1857,1878,1879,1858,1855,1877,1858,1877,1880,1859,1857,1879,1859,1879,1866,1877,1875,1881,1877,1881,1882,1879,1878,1883,1879,1883,1884,1880,1877,1882,1880,1882,1885,1866,1879,1884,1866,1884,1886,1865,1864,1887,1865,1887,1888,1867,1866,1886,1867,1886,1889,1868,1865,1888,1868,1888,1890,1869,1867,1889,1869,1889,1891,1871,1870,1892,1871,1892,1893,1872,1868,1890,1872,1890,1894,1873,1869,1891,1873,1891,1895,1874,1871,1893,1874,1893,1896,1875,1873,1895,1875,1895,1881,1876,1874,1896,1876,1896,1897,1894,1890,1898,1894,1898,1899,1895,1891,1900,1895,1900,1901,1896,1893,1902,1896,1902,1903,1881,1895,1901,1881,1901,1904,1897,1896,1903,1897,1903,1905,1882,1881,1904,1882,1904,1906,1884,1883,1907,1884,1907,1908,1885,1882,1906,1885,1906,1909,1886,1884,1908,1886,1908,1910,1888,1887,1911,1888,1911,1912,1889,1886,1910,1889,1910,1913,1890,1888,1912,1890,1912,1898,1891,1889,1913,1891,1913,1900,1893,1892,1914,1893,1914,1902,1912,1911,1915,1912,1915,1916,1913,1910,1917,1913,1917,1918,1898,1912,1916,1898,1916,1919,1900,1913,1918,1900,1918,1920,1902,1914,1921,1902,1921,1922,1899,1898,1919,1899,1919,1923,1901,1900,1920,1901,1920,1924,1903,1902,1922,1903,1922,1925,1904,1901,1924,1904,1924,1926,1905,1903,1925,1905,1925,1927,1906,1904,1926,1906,1926,1928,1908,1907,1929,1908,1929,1930,1911,1931,1932,1911,1932,1915,1910,1908,1930,1910,1930,1917,1927,1925,1933,1927,1933,1934,1935,1936,1937,1935,1937,1938,1939,1940,1941,1939,1941,1942,1915,1932,1943,1915,1943,1944,1945,1939,1942,1945,1942,1946,1916,1915,1944,1916,1944,1947,1948,1945,1946,1948,1946,1949,1919,1916,1947,1919,1947,1950,1951,1948,1949,1951,1949,1952,1922,1921,1953,1922,1953,1954,1923,1919,1950,1923,1950,1955,1956,1951,1952,1956,1952,1957,1925,1922,1954,1925,1954,1933,1936,1956,1957,1936,1957,1937,1952,1949,1958,1952,1958,1959,1954,1953,1960,1954,1960,1961,1955,1950,1962,1955,1962,1963,1957,1952,1959,1957,1959,1964,1933,1954,1961,1933,1961,1965,1937,1957,1964,1937,1964,1966,1934,1933,1965,1934,1965,1967,1938,1937,1966,1938,1966,1968,1942,1941,1969,1942,1969,1970,1971,1938,1968,1971,1968,1972,1946,1942,1970,1946,1970,1973,1947,1944,1974,1947,1974,1975,1949,1946,1973,1949,1973,1958,1950,1947,1975,1950,1975,1962,1972,1968,1976,1972,1976,1977,1973,1970,1978,1973,1978,1979,1975,1974,1980,1975,1980,1981,1958,1973,1979,1958,1979,1982,1962,1975,1981,1962,1981,1983,1959,1958,1982,1959,1982,1984,1961,1960,1985,1961,1985,1986,1963,1962,1983,1963,1983,1987,1964,1959,1984,1964,1984,1988,1965,1961,1986,1965,1986,1989,1966,1964,1988,1966,1988,1990,1967,1965,1989,1967,1989,1991,1968,1966,1990,1968,1990,1976,1970,1969,1992,1970,1992,1978,1990,1988,1701,1990,1701,1691,1991,1989,1712,1991,1712,1711,1976,1990,1691,1976,1691,1678,1978,1992,1700,1978,1700,1690,1977,1976,1678,1977,1678,1677,1979,1978,1690,1979,1690,1676,1981,1980,1715,1981,1715,1714,1982,1979,1676,1982,1676,1675,1983,1981,1714,1983,1714,1702,1984,1982,1675,1984,1675,1713,1986,1985,1674,1986,1674,1673,1987,1983,1702,1987,1702,1689,1988,1984,1713,1988,1713,1701,1989,1986,1673,1989,1673,1712,1680,1697,1722,1688,1699,1724,1688,1724,1751,1722,1697,1749,1749,1697,1756,1688,1751,1758,1756,1697,1780,1688,1758,1782,1688,1782,1810,1780,1697,1809,1809,1697,1817,1688,1810,1819,1817,1697,1841,1688,1819,1843,1688,1843,1848,1841,1697,1863,1863,1697,1870,1688,1848,1872,1870,1697,1892,1688,1872,1894,1688,1894,1899,1892,1697,1914,1914,1697,1921,1688,1899,1923,1921,1697,1953,1688,1923,1955,1688,1955,1963,1953,1697,1960,1960,1697,1985,1688,1963,1987,1688,1987,1689,1985,1697,1674],"boneWeights":[0.26502043,0.73497957,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.7081127,0.29188728,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.19942498,0.8005751,0.0,0.0,0.99999994,0.0,0.0,0.0,0.71757966,0.28242034,0.0,0.0,0.71757966,0.28242034,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.7352145,0.26478553,0.0,0.0,1.0,0.0,0.0,0.0,0.31967992,0.6803201,0.0,0.0,0.31967992,0.6803201,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.17476656,0.82523346,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.7344129,0.26558712,0.0,0.0,0.5662485,0.43375155,0.0,0.0,1.0,0.0,0.0,0.0,0.51610494,0.48389503,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.51610494,0.48389503,0.0,0.0,0.48849857,0.51150143,0.0,0.0,0.99999994,0.0,0.0,0.0,0.4459202,0.55407983,0.0,0.0,1.0,0.0,0.0,0.0,0.36377183,0.6362281,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.36377183,0.6362281,0.0,0.0,0.23057827,0.7694217,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.25410208,0.74589795,0.0,0.0,1.0,0.0,0.0,0.0,0.6250438,0.37495616,0.0,0.0,0.25410208,0.74589795,0.0,0.0,0.4316715,0.5683285,0.0,0.0,0.40801287,0.59198713,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.20026982,0.7997302,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.30209127,0.69790864,0.0,0.0,0.40316287,0.5968371,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.2123179,0.78768206,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.4459202,0.55407983,0.0,0.0,0.48849857,0.51150143,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.51610494,0.48389503,0.0,0.0,0.5662485,0.43375155,0.0,0.0,0.20026982,0.7997302,0.0,0.0,1.0,0.0,0.0,0.0,0.34289873,0.6571012,0.0,0.0,0.20026982,0.7997302,0.0,0.0,0.25410208,0.74589795,0.0,0.0,0.4316715,0.5683285,0.0,0.0,1.0,0.0,0.0,0.0,0.36377183,0.6362281,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.30209127,0.69790864,0.0,0.0,0.2123179,0.78768206,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.40316287,0.5968371,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.4316715,0.5683285,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.40801287,0.59198713,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.2123179,0.78768206,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.3936332,0.60636675,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.37727225,0.62272775,0.0,0.0,0.3936332,0.60636675,0.0,0.0,1.0,0.0,0.0,0.0,0.20411317,0.7958868,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.49281484,0.50718516,0.0,0.0,0.49426988,0.50573015,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.82066697,0.17933303,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.48019,0.51981,0.0,0.0,0.99999994,0.0,0.0,0.0,0.49364543,0.5063546,0.0,0.0,0.4900254,0.5099746,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.48192987,0.5180701,0.0,0.0,0.46886948,0.5311306,0.0,0.0,1.0,0.0,0.0,0.0,0.45874375,0.5412563,0.0,0.0,0.43679324,0.56320673,0.0,0.0,0.20411317,0.7958868,0.0,0.0,0.1858145,0.8141855,0.0,0.0,1.0,0.0,0.0,0.0,0.37727225,0.62272775,0.0,0.0,0.3936332,0.60636675,0.0,0.0,0.82066697,0.17933303,0.0,0.0,0.48019,0.51981,0.0,0.0,1.0,0.0,0.0,0.0,0.4880911,0.5119088,0.0,0.0,0.4880911,0.5119088,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.49426988,0.50573015,0.0,0.0,0.46886948,0.5311306,0.0,0.0,1.0,0.0,0.0,0.0,0.43679324,0.56320673,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.4900254,0.5099746,0.0,0.0,0.48192987,0.5180701,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.49364543,0.5063546,0.0,0.0,0.1858145,0.8141855,0.0,0.0,1.0,0.0,0.0,0.0,0.49426988,0.50573015,0.0,0.0,0.43679324,0.56320673,0.0,0.0,1.0,0.0,0.0,0.0,0.49281484,0.50718516,0.0,0.0,0.45874375,0.5412563,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.48019,0.51981,0.0,0.0,0.99999994,0.0,0.0,0.0,0.48192987,0.5180701,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.37099013,0.62900984,0.0,0.0,0.44971177,0.5502882,0.0,0.0,0.99999994,0.0,0.0,0.0,0.483229,0.51677096,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.483229,0.51677096,0.0,0.0,0.49263301,0.5073671,0.0,0.0,1.0,0.0,0.0,0.0,0.4916437,0.5083563,0.0,0.0,1.0,0.0,0.0,0.0,0.47952574,0.5204742,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.47952574,0.5204742,0.0,0.0,0.45300412,0.5469959,0.0,0.0,1.0,0.0,0.0,0.0,0.25757328,0.74242675,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.20088224,0.79911774,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.483229,0.51677096,0.0,0.0,0.44971177,0.5502882,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.4916437,0.5083563,0.0,0.0,0.49263301,0.5073671,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.25757328,0.74242675,0.0,0.0,0.1814474,0.81855255,0.0,0.0,0.22910926,0.7708907,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.34506464,0.6549354,0.0,0.0,0.38905355,0.61094636,0.0,0.0,0.20088224,0.79911774,0.0,0.0,1.0,0.0,0.0,0.0,0.34549052,0.6545094,0.0,0.0,1.0,0.0,0.0,0.0,0.47952574,0.5204742,0.0,0.0,1.0,0.0,0.0,0.0,0.1814474,0.81855255,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.34506464,0.6549354,0.0,0.0,0.22910926,0.7708907,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.22910926,0.7708907,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.34549052,0.6545094,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.38905355,0.61094636,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.81456465,0.18543538,0.0,0.0,0.8203813,0.17961875,0.0,0.0,0.6629761,0.33702385,0.0,0.0,0.6389466,0.36105347,0.0,0.0,0.8229499,0.17705007,0.0,0.0,0.70141965,0.29858026,0.0,0.0,0.8229499,0.17705007,0.0,0.0,0.8215203,0.17847972,0.0,0.0,0.7230356,0.27696446,0.0,0.0,0.70141965,0.29858026,0.0,0.0,0.81602186,0.18397821,0.0,0.0,0.72591966,0.27408037,0.0,0.0,0.80646855,0.19353151,0.0,0.0,0.7086791,0.29132095,0.0,0.0,0.80646855,0.19353151,0.0,0.0,0.79761213,0.20238788,0.0,0.0,0.6801964,0.3198035,0.0,0.0,0.7086791,0.29132095,0.0,0.0,0.78959507,0.21040489,0.0,0.0,0.6447908,0.3552092,0.0,0.0,0.78064036,0.2193596,0.0,0.0,0.6221828,0.37781724,0.0,0.0,0.78064036,0.2193596,0.0,0.0,0.77849203,0.221508,0.0,0.0,0.6137341,0.38626584,0.0,0.0,0.6221828,0.37781724,0.0,0.0,0.78312117,0.21687883,0.0,0.0,0.60995394,0.39004606,0.0,0.0,0.79473966,0.20526025,0.0,0.0,0.61017054,0.38982946,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.8055636,0.19443639,0.0,0.0,0.62191695,0.37808302,0.0,0.0,0.79473966,0.20526025,0.0,0.0,0.61017054,0.38982946,0.0,0.0,0.79473966,0.20526025,0.0,0.0,0.78312117,0.21687883,0.0,0.0,0.77849203,0.221508,0.0,0.0,0.78064036,0.2193596,0.0,0.0,0.8055636,0.19443639,0.0,0.0,0.78959507,0.21040489,0.0,0.0,0.81456465,0.18543538,0.0,0.0,0.79761213,0.20238788,0.0,0.0,0.8203813,0.17961875,0.0,0.0,0.80646855,0.19353151,0.0,0.0,0.8229499,0.17705007,0.0,0.0,0.81602186,0.18397821,0.0,0.0,0.8215203,0.17847972,0.0,0.0,0.70141965,0.29858026,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.6629761,0.33702385,0.0,0.0,0.72591966,0.27408037,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.7230356,0.27696446,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.6221828,0.37781724,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.6447908,0.3552092,0.0,0.0,0.60995394,0.39004606,0.0,0.0,0.75515515,0.24484485,0.0,0.0,0.7618339,0.23816612,0.0,0.0,0.6137341,0.38626584,0.0,0.0,0.62191695,0.37808302,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.61017054,0.38982946,0.0,0.0,0.7086791,0.29132095,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.7618339,0.23816612,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.75515515,0.24484485,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.45958248,0.54041755,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.45958248,0.54041755,0.0,0.0,0.4798598,0.52014023,0.0,0.0,1.0,0.0,0.0,0.0,0.41761884,0.5823811,0.0,0.0,1.0,0.0,0.0,0.0,0.21750832,0.7824917,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.21750832,0.7824917,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.501149,0.498851,0.0,0.0,0.5011787,0.49882132,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.21750832,0.7824917,0.0,0.0,0.22619192,0.773808,0.0,0.0,1.0,0.0,0.0,0.0,0.41761884,0.5823811,0.0,0.0,0.4798598,0.52014023,0.0,0.0,0.47505412,0.524946,0.0,0.0,0.4089511,0.59104896,0.0,0.0,0.45958248,0.54041755,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.45826077,0.54173917,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.50174993,0.4982501,0.0,0.0,0.5019919,0.4980081,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.5028605,0.4971395,0.0,0.0,0.5025214,0.49747866,0.0,0.0,0.45826077,0.54173917,0.0,0.0,1.0,0.0,0.0,0.0,0.5011787,0.49882132,0.0,0.0,0.50042254,0.4995775,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.5025214,0.49747866,0.0,0.0,0.50214547,0.49785456,0.0,0.0,0.47505412,0.524946,0.0,0.0,0.5001926,0.49980742,0.0,0.0,1.0,0.0,0.0,0.0,0.50199324,0.4980067,0.0,0.0,0.4089511,0.59104896,0.0,0.0,0.5006454,0.49935463,0.0,0.0,1.0,0.0,0.0,0.0,0.5019919,0.4980081,0.0,0.0,0.22619192,0.773808,0.0,0.0,0.50133586,0.49866417,0.0,0.0,1.0,0.0,0.0,0.0,0.50174993,0.4982501,0.0,0.0,1.0,0.0,0.0,0.0,0.22619192,0.773808,0.0,0.0,0.50133586,0.49866417,0.0,0.0,0.50234514,0.4976548,0.0,0.0,1.0,0.0,0.0,0.0,0.50174993,0.4982501,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.5025214,0.49747866,0.0,0.0,0.5028605,0.4971395,0.0,0.0,0.50042254,0.4995775,0.0,0.0,0.5011787,0.49882132,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.50214547,0.49785456,0.0,0.0,0.5001926,0.49980742,0.0,0.0,1.0,0.0,0.0,0.0,0.50199324,0.4980067,0.0,0.0,0.5006454,0.49935463,0.0,0.0,1.0,0.0,0.0,0.0,0.50133586,0.49866417,0.0,0.0,1.0,0.0,0.0,0.0,0.74517816,0.2548219,0.0,0.0,0.7575901,0.24240993,0.0,0.0,0.54211324,0.45788673,0.0,0.0,0.5449208,0.45507917,0.0,0.0,0.7652066,0.23479347,0.0,0.0,0.54003614,0.45996377,0.0,0.0,0.7652066,0.23479347,0.0,0.0,0.76732564,0.23267442,0.0,0.0,0.5389041,0.4610959,0.0,0.0,0.54003614,0.45996377,0.0,0.0,0.76424897,0.23575108,0.0,0.0,0.5388181,0.46118182,0.0,0.0,0.7553916,0.24460836,0.0,0.0,0.5398289,0.46017113,0.0,0.0,0.7553916,0.24460836,0.0,0.0,0.7425455,0.2574546,0.0,0.0,0.5419222,0.4580778,0.0,0.0,0.5398289,0.46017113,0.0,0.0,0.72616154,0.27383843,0.0,0.0,0.5448785,0.45512155,0.0,0.0,0.70773834,0.29226157,0.0,0.0,0.54807264,0.45192727,0.0,0.0,0.70773834,0.29226157,0.0,0.0,0.6968913,0.30310866,0.0,0.0,0.5505007,0.4494993,0.0,0.0,0.54807264,0.45192727,0.0,0.0,0.69747496,0.3025251,0.0,0.0,0.5513222,0.44867775,0.0,0.0,0.707716,0.29228404,0.0,0.0,0.5505253,0.44947466,0.0,0.0,0.54799116,0.45200887,0.0,0.0,0.4862496,0.51375043,0.0,0.0,0.4834322,0.5165678,0.0,0.0,0.5505253,0.44947466,0.0,0.0,0.72805864,0.27194133,0.0,0.0,0.54799116,0.45200887,0.0,0.0,0.707716,0.29228404,0.0,0.0,0.5505253,0.44947466,0.0,0.0,0.707716,0.29228404,0.0,0.0,0.69747496,0.3025251,0.0,0.0,0.6968913,0.30310866,0.0,0.0,0.70773834,0.29226157,0.0,0.0,0.72805864,0.27194133,0.0,0.0,0.72616154,0.27383843,0.0,0.0,0.74517816,0.2548219,0.0,0.0,0.7425455,0.2574546,0.0,0.0,0.7575901,0.24240993,0.0,0.0,0.7553916,0.24460836,0.0,0.0,0.7652066,0.23479347,0.0,0.0,0.76424897,0.23575108,0.0,0.0,0.76732564,0.23267442,0.0,0.0,0.493421,0.506579,0.0,0.0,0.6336724,0.36632758,0.0,0.0,0.6172242,0.38277578,0.0,0.0,0.48983487,0.51016515,0.0,0.0,0.5513222,0.44867775,0.0,0.0,0.48207676,0.51792324,0.0,0.0,0.4824724,0.51752764,0.0,0.0,0.5505007,0.4494993,0.0,0.0,0.54807264,0.45192727,0.0,0.0,0.48458043,0.5154196,0.0,0.0,0.48790377,0.5120962,0.0,0.0,0.5448785,0.45512155,0.0,0.0,0.5419222,0.4580778,0.0,0.0,0.49168158,0.5083184,0.0,0.0,0.4951163,0.5048837,0.0,0.0,0.5398289,0.46017113,0.0,0.0,0.5388181,0.46118182,0.0,0.0,0.49730915,0.5026908,0.0,0.0,0.4976649,0.5023351,0.0,0.0,0.5389041,0.4610959,0.0,0.0,0.54003614,0.45996377,0.0,0.0,0.49623525,0.50376475,0.0,0.0,0.493421,0.506579,0.0,0.0,0.54211324,0.45788673,0.0,0.0,0.5449208,0.45507917,0.0,0.0,0.48983487,0.51016515,0.0,0.0,0.60526043,0.39473957,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.5907441,0.40925595,0.0,0.0,0.48458043,0.5154196,0.0,0.0,0.5909874,0.4090126,0.0,0.0,0.60785866,0.39214134,0.0,0.0,0.48790377,0.5120962,0.0,0.0,0.49623525,0.50376475,0.0,0.0,0.6579696,0.3420304,0.0,0.0,0.6336724,0.36632758,0.0,0.0,0.493421,0.506579,0.0,0.0,0.4824724,0.51752764,0.0,0.0,0.58042055,0.41957945,0.0,0.0,0.5909874,0.4090126,0.0,0.0,0.48458043,0.5154196,0.0,0.0,0.4976649,0.5023351,0.0,0.0,0.67854965,0.3214504,0.0,0.0,0.48207676,0.51792324,0.0,0.0,0.58041555,0.4195845,0.0,0.0,0.49730915,0.5026908,0.0,0.0,0.6738759,0.32612404,0.0,0.0,0.4834322,0.5165678,0.0,0.0,0.5907441,0.40925595,0.0,0.0,0.4951163,0.5048837,0.0,0.0,0.65098447,0.34901556,0.0,0.0,0.4862496,0.51375043,0.0,0.0,0.60526043,0.39473957,0.0,0.0,0.49168158,0.5083184,0.0,0.0,0.62451404,0.37548602,0.0,0.0,0.65098447,0.34901556,0.0,0.0,0.4951163,0.5048837,0.0,0.0,0.60526043,0.39473957,0.0,0.0,0.4862496,0.51375043,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.5909874,0.4090126,0.0,0.0,0.60785866,0.39214134,0.0,0.0,0.6579696,0.3420304,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.6336724,0.36632758,0.0,0.0,0.58042055,0.41957945,0.0,0.0,0.67854965,0.3214504,0.0,0.0,0.99999994,0.0,0.0,0.0,0.58041555,0.4195845,0.0,0.0,0.6738759,0.32612404,0.0,0.0,1.0,0.0,0.0,0.0,0.65098447,0.34901556,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.3369479,0.6630521,0.0,0.0,0.34115842,0.6588415,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.34115842,0.6588415,0.0,0.0,0.3369131,0.6630869,0.0,0.0,1.0,0.0,0.0,0.0,0.33340293,0.66659707,0.0,0.0,1.0,0.0,0.0,0.0,0.33061635,0.66938365,0.0,0.0,1.0,0.0,0.0,0.0,0.32854804,0.671452,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.32854804,0.671452,0.0,0.0,0.32718372,0.6728163,0.0,0.0,1.0,0.0,0.0,0.0,0.32651275,0.67348725,0.0,0.0,0.99999994,0.0,0.0,0.0,0.3265285,0.67347157,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.3265285,0.67347157,0.0,0.0,0.3272283,0.6727717,0.0,0.0,1.0,0.0,0.0,0.0,0.32861376,0.6713862,0.0,0.0,0.99999994,0.0,0.0,0.0,0.33068943,0.6693106,0.0,0.0,1.0,0.0,0.0,0.0,0.33061635,0.66938365,0.0,0.0,0.33340293,0.66659707,0.0,0.0,0.3369131,0.6630869,0.0,0.0,0.32854804,0.671452,0.0,0.0,0.34115842,0.6588415,0.0,0.0,0.32718372,0.6728163,0.0,0.0,0.3369479,0.6630521,0.0,0.0,0.32651275,0.67348725,0.0,0.0,0.33346352,0.6665365,0.0,0.0,0.3265285,0.67347157,0.0,0.0,0.33068943,0.6693106,0.0,0.0,0.3272283,0.6727717,0.0,0.0,0.32861376,0.6713862,0.0,0.0,0.99999994,0.0,0.0,0.0,0.33346352,0.6665365,0.0,0.0,0.33346352,0.6665365,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.24165933,0.75834066,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.52653325,0.47346675,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.52653325,0.47346675,0.0,0.0,0.38874874,0.6112513,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.23674713,0.76325285,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.3877385,0.6122615,0.0,0.0,0.46386775,0.5361323,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.52600986,0.47399014,0.0,0.0,0.60092485,0.39907515,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.8092644,0.1907356,0.0,0.0,0.7081353,0.2918647,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.7192893,0.28071076,0.0,0.0,0.7965489,0.20345108,0.0,0.0,0.5747547,0.42524534,0.0,0.0,0.38224107,0.61775887,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.52653325,0.47346675,0.0,0.0,0.38874874,0.6112513,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23674713,0.76325285,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3877385,0.6122615,0.0,0.0,0.0,0.0,0.0,0.0,0.46386775,0.5361323,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.52600986,0.47399014,0.0,0.0,0.0,0.0,0.0,0.0,0.60092485,0.39907515,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.8092644,0.1907356,0.0,0.0,0.99999994,0.0,0.0,0.0,0.7081353,0.2918647,0.0,0.0,0.60092485,0.39907515,0.0,0.0,0.7192893,0.28071076,0.0,0.0,0.60092485,0.39907515,0.0,0.0,0.7965489,0.20345108,0.0,0.0,0.5747547,0.42524534,0.0,0.0,0.38224107,0.61775887,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.29529217,0.70470786,0.0,0.0,0.30043027,0.6995697,0.0,0.0,1.0,0.0,0.0,0.0,0.29099515,0.7090049,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.28756496,0.712435,0.0,0.0,0.29099515,0.7090049,0.0,0.0,1.0,0.0,0.0,0.0,0.28501624,0.71498376,0.0,0.0,1.0,0.0,0.0,0.0,0.28333196,0.716668,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.28249976,0.7175002,0.0,0.0,0.28333196,0.716668,0.0,0.0,1.0,0.0,0.0,0.0,0.28251168,0.7174884,0.0,0.0,1.0,0.0,0.0,0.0,0.2833643,0.7166357,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.28505903,0.714941,0.0,0.0,0.2833643,0.7166357,0.0,0.0,1.0,0.0,0.0,0.0,0.28760132,0.7123987,0.0,0.0,1.0,0.0,0.0,0.0,0.29100093,0.70899904,0.0,0.0,0.29099515,0.7090049,0.0,0.0,0.28756496,0.712435,0.0,0.0,0.28501624,0.71498376,0.0,0.0,0.28333196,0.716668,0.0,0.0,0.29529217,0.70470786,0.0,0.0,0.28249976,0.7175002,0.0,0.0,0.30043027,0.6995697,0.0,0.0,0.28251168,0.7174884,0.0,0.0,0.29527155,0.7047285,0.0,0.0,0.2833643,0.7166357,0.0,0.0,0.29100093,0.70899904,0.0,0.0,0.28505903,0.714941,0.0,0.0,0.28760132,0.7123987,0.0,0.0,0.99999994,0.0,0.0,0.0,0.29527155,0.7047285,0.0,0.0,0.99999994,0.0,0.0,0.0,0.29527155,0.7047285,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.2400938,0.75990623,0.0,0.0,0.22003455,0.77996546,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.1981735,0.80182654,0.0,0.0,0.17653376,0.8234663,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.16818464,0.8318153,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.1994255,0.8005745,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.23659123,0.7634088,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.25937128,0.74062866,0.0,0.0,0.26873383,0.73126626,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.26678732,0.73321265,0.0,0.0,0.2577266,0.7422734,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.16818464,0.8318153,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.16818464,0.8318153,0.0,0.0,1.0,0.0,0.0,0.0,0.1994255,0.8005745,0.0,0.0,1.0,0.0,0.0,0.0,0.23659123,0.7634088,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.23659123,0.7634088,0.0,0.0,0.23659123,0.7634088,0.0,0.0,0.25937128,0.74062866,0.0,0.0,0.26873383,0.73126626,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.26678732,0.73321265,0.0,0.0,0.2577266,0.7422734,0.0,0.0,0.3982929,0.3243347,0.27737236,0.0,0.2015785,0.43509334,0.36332816,0.0,0.7012576,0.29874235,0.0,0.0,0.38615698,0.39867434,0.2151686,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.2466309,0.21069108,0.542678,0.0,0.24229175,0.18907255,0.5686357,0.0,0.24537928,0.24122523,0.5133955,0.0,0.25974002,0.25637218,0.48388776,0.0,0.26708046,0.26331076,0.46960884,0.0,0.2617263,0.2566836,0.48159015,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.30615067,0.6938493,0.0,0.0,0.21141641,0.20558605,0.58299756,0.0,0.24905342,0.2418314,0.5091152,0.0,0.19358264,0.26254275,0.5438747,0.0,0.44374114,0.5562588,0.0,0.0,0.19231413,0.1842484,0.62343746,0.0,0.24484313,0.23437804,0.52077883,0.0,0.42097875,0.5790212,0.0,0.0,0.5581596,0.44184044,0.0,0.0,0.17986256,0.16846918,0.65166825,0.0,0.19231413,0.1842484,0.62343746,0.0,0.24484313,0.23437804,0.52077883,0.0,0.24466886,0.2291441,0.52618706,0.0,0.4931966,0.5068034,0.0,0.0,0.63738173,0.36261824,0.0,0.0,0.20225258,0.7977474,0.0,0.0,0.24593379,0.22241715,0.5316491,0.0,0.4931966,0.5068034,0.0,0.0,0.63738173,0.36261824,0.0,0.0,0.71113676,0.28886327,0.0,0.0,0.7810421,0.21895789,0.0,0.0,0.28339344,0.2614877,0.4551189,0.0,0.28923482,0.2532723,0.4574928,0.0,0.7810421,0.21895789,0.0,0.0,1.0,0.0,0.0,0.0,0.295264,0.23400559,0.47073042,0.0,0.44140524,0.5585948,0.0,0.0,0.37154573,0.62845427,0.0,0.0,0.27381697,0.26965034,0.4565327,0.0,0.27588737,0.26992342,0.4541892,0.0,1.0,0.0,0.0,0.0,0.21413136,0.33794525,0.44792336,0.0,0.27498856,0.26605418,0.4589572,0.0,0.5752812,0.42471877,0.0,0.0,0.2782354,0.2644716,0.457293,0.0,0.2782354,0.2644716,0.457293,0.0,0.21904063,0.42030552,0.3606538,0.0,0.6909359,0.3090641,0.0,0.0,0.29277408,0.28195468,0.42527124,0.0,0.29962465,0.2819613,0.4184141,0.0,1.0,0.0,0.0,0.0,0.29962465,0.2819613,0.4184141,0.0,0.30741686,0.2773611,0.41522202,0.0,1.0,0.0,0.0,0.0,0.31665725,0.26360923,0.4197336,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.32875478,0.23327957,0.43796572,0.0,0.40090546,0.5990945,0.0,0.0,0.31661433,0.24039666,0.44298905,0.0,0.27975318,0.27521113,0.4450358,0.0,0.2873467,0.28046274,0.4321905,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.3731579,0.6268421,0.0,0.0,0.36312464,0.19999707,0.43687826,0.0,0.31837964,0.28343415,0.39818627,0.0,0.28477344,0.27989572,0.43533087,0.0,0.2962053,0.28846517,0.41532955,0.0,1.0,0.0,0.0,0.0,0.20743777,0.5018332,0.2907291,0.0,0.30490014,0.29224992,0.4028499,0.0,0.7853283,0.2146717,0.0,0.0,0.31342986,0.2918541,0.39471605,0.0,0.99999994,0.0,0.0,0.0,0.31342986,0.2918541,0.39471605,0.0,0.32288006,0.28402212,0.39309788,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.33629754,0.26106042,0.402642,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.33629754,0.26106042,0.402642,0.0,0.32288006,0.28402212,0.39309788,0.0,0.33233163,0.28750888,0.38015944,0.0,0.34723967,0.26074055,0.39201978,0.0,1.0,0.0,0.0,0.0,0.36312464,0.19999707,0.43687826,0.0,0.4677999,0.5322001,0.0,0.0,0.28818464,0.20023365,0.51158166,0.0,0.31837964,0.28343415,0.39818627,0.0,0.30829185,0.32389134,0.36781687,0.0,0.2888269,0.28367153,0.4275015,0.0,0.30278367,0.29432055,0.40289578,0.0,1.0,0.0,0.0,0.0,0.20743777,0.5018332,0.2907291,0.0,0.21546273,0.51119006,0.2733472,0.0,0.3130565,0.298879,0.38806447,0.0,0.7853283,0.2146717,0.0,0.0,1.0,0.0,0.0,0.0,0.3222254,0.29759446,0.38018018,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.32288006,0.28402212,0.39309788,0.0,0.33233163,0.28750888,0.38015944,0.0,0.30743504,0.29843715,0.3941278,0.0,0.3183859,0.3031202,0.37849385,0.0,0.23107798,0.49399054,0.2749315,0.0,1.0,0.0,0.0,0.0,0.32767358,0.30106044,0.37126595,0.0,1.0,0.0,0.0,0.0,0.3222254,0.29759446,0.38018018,0.0,0.32767358,0.30106044,0.37126595,0.0,0.3378897,0.2897531,0.37235725,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.35322267,0.26170674,0.38507053,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.47665304,0.52334696,0.0,0.0,0.25134036,0.31120074,0.4374588,0.0,0.3170514,0.3207672,0.3621814,0.0,0.29190496,0.2865456,0.42154947,0.0,1.0,0.0,0.0,0.0,0.35637695,0.26286542,0.38075757,0.0,0.48198998,0.51800996,0.0,0.0,0.21042015,0.7895798,0.0,0.0,0.20084739,0.4963159,0.3028367,0.0,0.3353551,0.2924442,0.37220064,0.0,0.29402032,0.2885425,0.4174372,0.0,0.31046423,0.30115208,0.38838378,0.0,1.0,0.0,0.0,0.0,0.2535411,0.4561647,0.29029423,0.0,0.3216465,0.30576366,0.37258983,0.0,0.99999994,0.0,0.0,0.0,0.3308408,0.30319384,0.3659654,0.0,1.0,0.0,0.0,0.0,0.3308408,0.30319384,0.3659654,0.0,0.34095916,0.29130033,0.36774048,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.5243695,0.47563055,0.0,0.0,0.2470923,0.38071334,0.37219432,0.0,0.33236197,0.30446973,0.3631684,0.0,0.34232998,0.29236466,0.36530533,0.0,1.0,0.0,0.0,0.0,0.35769245,0.26385933,0.37844822,0.0,1.0,0.0,0.0,0.0,0.55606735,0.219898,0.22403467,0.0,0.48455465,0.5154454,0.0,0.0,1.0,0.0,0.0,0.0,0.360973,0.24384023,0.39518675,0.0,0.29519108,0.28968763,0.41512123,0.0,0.31209457,0.30270404,0.3852013,0.0,1.0,0.0,0.0,0.0,0.21780993,0.2888515,0.24807116,0.24526745,0.32331184,0.30727154,0.36941665,0.0,0.33236197,0.30446973,0.3631684,0.0,0.6441617,0.3558383,0.0,0.0,1.0,0.0,0.0,0.0,0.3581061,0.24960646,0.39228743,0.0,0.27446675,0.41508797,0.31044525,0.0,0.3124591,0.30322987,0.38431096,0.0,0.32363567,0.3078871,0.36847717,0.0,0.29707244,0.70292753,0.0,0.0,0.3325531,0.30513513,0.36231172,0.0,1.0,0.0,0.0,0.0,0.3325531,0.30513513,0.36231172,0.0,0.34235588,0.29310465,0.36453947,0.0,0.99999994,0.0,0.0,0.0,0.35754645,0.2647121,0.37774146,0.0,0.99999994,0.0,0.0,0.0,0.19657071,0.8034293,0.0,0.0,0.48474357,0.51525635,0.0,0.0,0.29543012,0.28999582,0.41457406,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.3558983,0.26570463,0.3783971,0.0,0.48268074,0.51731926,0.0,0.0,0.315776,0.29022962,0.39399436,0.0,0.348052,0.2652244,0.3867237,0.0,0.29473832,0.28946504,0.41579664,0.0,0.31159902,0.30276653,0.3856345,0.0,1.0,0.0,0.0,0.0,0.25876167,0.4407453,0.300493,0.0,0.32269144,0.3076902,0.36961836,0.0,1.0,0.0,0.0,0.0,0.33148026,0.30530626,0.3632135,0.0,1.0,0.0,0.0,0.0,0.33148026,0.30530626,0.3632135,0.0,0.3410606,0.29369915,0.3652403,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.32899073,0.30497634,0.36603293,0.0,0.33815724,0.29438138,0.36746138,0.0,0.99999994,0.0,0.0,0.0,0.35223135,0.26754642,0.38022226,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.38158035,0.20205817,0.41636142,0.0,0.39879343,0.60120654,0.0,0.0,0.3467561,0.25746688,0.39577702,0.0,0.29310253,0.28807437,0.41882306,0.0,0.3094651,0.30125016,0.38928476,0.0,0.75196314,0.24803688,0.0,0.0,0.20061,0.20963404,0.34491777,0.24483827,0.32039204,0.30660462,0.37300327,0.0,0.32899073,0.30497634,0.36603293,0.0,0.31067243,0.6893276,0.0,0.0,0.7290497,0.27095026,0.0,0.0,0.36031446,0.21686973,0.42281577,0.0,0.25863987,0.40288568,0.33847445,0.0,0.30591697,0.29850984,0.3955732,0.0,0.3164928,0.30436286,0.37914443,0.0,0.7329441,0.26705593,0.0,0.0,0.32472563,0.3039214,0.37135297,0.0,1.0,0.0,0.0,0.0,0.33815724,0.29438138,0.36746138,0.0,0.33303183,0.29537082,0.37159738,0.0,1.0,0.0,0.0,0.0,0.33303183,0.29537082,0.37159738,0.0,0.3452309,0.27192888,0.38284022,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.37137344,0.2112519,0.4173747,0.0,0.29049733,0.28578523,0.42371753,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.37137344,0.2112519,0.4173747,0.0,0.3452309,0.27192888,0.38284022,0.0,0.3325118,0.2815487,0.3859395,0.0,0.343011,0.25091237,0.40607664,0.0,0.3350699,0.6649301,0.0,0.0,0.36031446,0.21686973,0.42281577,0.0,0.4432584,0.55674165,0.0,0.0,0.28689015,0.2825484,0.43056145,0.0,0.3007225,0.2942609,0.40501654,0.0,0.718979,0.28102106,0.0,0.0,0.25863987,0.40288568,0.33847445,0.0,0.26664528,0.34212387,0.3912308,0.0,0.3105762,0.30043328,0.38899055,0.0,0.7329441,0.26705593,0.0,0.0,0.6315589,0.36844105,0.0,0.0,0.3181373,0.30143675,0.38042596,0.0,1.0,0.0,0.0,0.0,0.77502024,0.22497976,0.0,0.0,0.324891,0.29621756,0.37889153,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.33303183,0.29537082,0.37159738,0.0,0.324891,0.29621756,0.37889153,0.0,0.5094258,0.49057418,0.0,0.0,0.6294929,0.37050703,0.0,0.0,0.30846816,0.29596618,0.3955656,0.0,0.3135944,0.2934399,0.39296576,0.0,0.71307987,0.28692007,0.0,0.0,0.3135944,0.2934399,0.39296576,0.0,0.3178324,0.2843796,0.397788,0.0,0.71307987,0.28692007,0.0,0.0,0.7634866,0.23651335,0.0,0.0,0.32143745,0.2640551,0.41450748,0.0,0.28487977,0.4824444,0.2326758,0.0,0.32518584,0.21862607,0.45618805,0.0,0.2822522,0.2783147,0.43943304,0.0,0.29355654,0.2881079,0.4183356,0.0,0.72059584,0.2794042,0.0,0.0,0.21280894,0.19456366,0.22000116,0.37262622,0.3020016,0.29395273,0.40404567,0.0,0.27657363,0.27305347,0.45037296,0.0,0.28400663,0.27956828,0.4364252,0.0,0.29168132,0.41011807,0.29820064,0.0,0.58162594,0.21281195,0.20556208,0.0,0.2854238,0.2398014,0.47477478,0.0,0.30252415,0.6974758,0.0,0.0,0.2897909,0.28374374,0.42646533,0.0,0.20637658,0.30661032,0.48701307,0.0,0.294229,0.28550842,0.4202626,0.0,0.48933688,0.51066315,0.0,0.0,0.29731345,0.28424472,0.41844183,0.0,0.567439,0.43256104,0.0,0.0,0.29731345,0.28424472,0.41844183,0.0,0.2985796,0.2785352,0.4228852,0.0,0.567439,0.43256104,0.0,0.0,0.6160374,0.38396266,0.0,0.0,0.29641718,0.26551452,0.43806836,0.0,0.27254644,0.2682837,0.45916992,0.0,0.27160826,0.26812053,0.4602713,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.25119975,0.22310944,0.52569085,0.0,0.26467776,0.2477231,0.4875991,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.47681612,0.5231839,0.0,0.0,0.43002635,0.56997365,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.26988623,0.26677653,0.4633373,0.0,1.0,0.0,0.0,0.0,0.27022403,0.25909728,0.4706787,0.0,1.0,0.0,0.0,0.0,0.43002635,0.56997365,0.0,0.0,0.36209413,0.63790584,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.27233964,0.2646448,0.46301556,0.0,0.99999994,0.0,0.0,0.0,0.23272698,0.21296592,0.5543071,0.0,1.0,0.0,0.0,0.0,0.2666675,0.26360297,0.46972954,0.0,1.0,0.0,0.0,0.0,0.71359074,0.28640926,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.27233964,0.2646448,0.46301556,0.0,0.27286398,0.26728788,0.4598481,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.2602916,0.7397084,0.0,0.0,1.0,0.0,0.0,0.0,0.2936046,0.33887386,0.36752152,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0],"name":"spider","elementCount":6942,"positions":[-0.042815,0.140742,1.509206,-0.042815,0.140742,-0.004678,0.096602,0.175105,-0.004678,0.096602,0.175105,1.509206,0.20408,0.270322,-0.004678,0.20408,0.270323,1.509206,0.20408,0.270323,1.509206,0.20408,0.270322,-0.004678,0.254997,0.404581,-0.004678,0.254997,0.404581,1.509206,0.23769,0.547123,-0.004678,0.23769,0.547124,1.509206,0.156121,0.665295,-0.004679,0.156121,0.665295,1.509206,0.156121,0.665295,1.509206,0.156121,0.665295,-0.004679,0.028979,0.732024,-0.004679,0.028979,0.732025,1.509206,-0.11461,0.732024,-0.004679,-0.11461,0.732025,1.509206,-0.241752,0.665295,-0.004679,-0.241752,0.665295,1.509206,-0.241752,0.665295,1.509206,-0.241752,0.665295,-0.004679,-0.32332,0.547123,-0.004678,-0.32332,0.547123,1.509206,-0.340628,0.404581,-0.004678,-0.340628,0.404581,1.509206,-0.28971,0.270322,-0.004678,-0.28971,0.270323,1.509206,-0.11461,0.732024,-0.004679,0.028979,0.732024,-0.004679,0.156121,0.665295,-0.004679,-0.241752,0.665295,-0.004679,0.23769,0.547123,-0.004678,-0.32332,0.547123,-0.004678,-0.340628,0.404581,-0.004678,0.254997,0.404581,-0.004678,0.20408,0.270322,-0.004678,-0.28971,0.270322,-0.004678,0.096602,0.175105,-0.004678,-0.182232,0.175105,-0.004678,-0.042815,0.140742,-0.004678,-0.182232,0.175105,1.509206,-0.182232,0.175105,-0.004678,-0.182232,0.175105,-0.004678,-0.182232,0.175105,1.509206,0.117862,0.329835,1.852113,0.047916,0.267868,1.852113,0.117862,0.329835,1.852113,0.150999,0.417209,1.852112,0.086394,0.425054,1.984062,0.064303,0.366804,1.984062,-0.042815,0.245505,1.852113,-0.133547,0.267868,1.852113,-0.203492,0.329835,1.852113,-0.236629,0.417209,1.852113,-0.225365,0.509974,1.852112,-0.172282,0.58688,1.852113,-0.089539,0.630306,1.852113,0.003908,0.630306,1.852112,0.086651,0.58688,1.852112,0.139735,0.509974,1.852113,-0.133547,0.267868,1.852113,-0.172282,0.58688,1.852113,0.086651,0.58688,1.852112,-0.073964,0.567118,1.984062,-0.129126,0.538167,1.984062,-0.064393,0.465099,2.056034,-0.050602,0.472336,2.056034,-0.172024,0.425054,1.984062,-0.164515,0.486897,1.984062,0.078885,0.486897,1.984062,-0.149934,0.366804,1.984062,0.043496,0.538167,1.984062,-0.103303,0.325493,1.984062,-0.011666,0.567118,1.984062,0.043496,0.538167,1.984062,-0.042815,0.310584,1.984062,-0.103303,0.325493,1.984062,-0.073964,0.567118,1.984062,0.017672,0.325493,1.984062,-0.129126,0.538167,1.984062,0.064303,0.366804,1.984062,-0.129126,0.538167,1.984062,-0.035028,0.472336,2.056034,-0.021238,0.465099,2.056034,-0.01239,0.452281,2.056034,-0.07324,0.452281,2.056034,-0.075118,0.43682,2.056034,-0.010513,0.43682,2.056034,-0.016036,0.422258,2.056034,-0.069595,0.422258,2.056034,-0.057937,0.41193,2.056034,-0.027693,0.41193,2.056034,-0.042815,0.408203,2.056034,0.017672,0.325493,1.984062,0.064303,0.366804,1.984062,-0.164515,0.486897,1.984062,0.086394,0.425054,1.984062,-0.172024,0.425054,1.984062,0.078885,0.486897,1.984062,-0.149934,0.366804,1.984062,0.043496,0.538167,1.984062,-0.103303,0.325493,1.984062,-0.011666,0.567118,1.984062,-0.042815,0.310584,1.984062,0.049749,0.29135,1.337481,0.376758,0.29135,1.501494,0.376758,0.264779,1.508043,0.049749,0.272761,1.342062,0.376758,0.244295,1.52619,0.049749,0.258431,1.354758,0.049749,0.258431,1.354758,0.376758,0.244295,1.52619,0.376758,0.234591,1.551778,0.049749,0.251642,1.372659,0.376758,0.237889,1.578945,0.049749,0.253949,1.391665,0.376758,0.253435,1.601467,0.049749,0.264825,1.407421,0.049749,0.264825,1.407421,0.376758,0.253435,1.601467,0.376757,0.277667,1.614184,0.049749,0.281777,1.416318,0.376757,0.305033,1.614184,0.049749,0.300923,1.416318,0.376758,0.329264,1.601467,0.049749,0.317875,1.407421,0.049749,0.317875,1.407421,0.376758,0.329264,1.601467,0.376758,0.34481,1.578945,0.049749,0.328751,1.391665,0.376758,0.348109,1.551778,0.049749,0.331058,1.372659,0.376758,0.338404,1.52619,0.049749,0.324269,1.354758,0.376758,0.317921,1.508043,0.376758,0.338404,1.52619,1.045025,1.372254,1.940886,1.045025,1.35177,1.922739,0.049749,0.309939,1.342062,0.049749,0.324269,1.354758,0.049749,0.328751,1.391665,0.049749,0.331058,1.372659,0.049749,0.324269,1.354758,0.049749,0.317875,1.407421,0.049749,0.309939,1.342062,0.049749,0.300923,1.416318,0.049749,0.29135,1.337481,0.049749,0.281777,1.416318,0.049749,0.272761,1.342062,0.049749,0.264825,1.407421,0.049749,0.258431,1.354758,0.049749,0.253949,1.391665,0.049749,0.251642,1.372659,1.045025,1.278144,1.940886,1.045025,1.298628,1.922739,1.870533,-0.173047,2.214569,1.870532,-0.179525,2.220308,0.376758,0.348109,1.551778,0.376758,0.34481,1.578945,1.045025,1.378659,1.99364,1.045025,1.381958,1.966473,0.376758,0.329264,1.601467,0.376757,0.305033,1.614184,1.045025,1.338882,2.02888,1.045025,1.363113,2.016162,1.045025,1.287284,2.016162,1.045025,1.311516,2.02888,0.376758,0.237889,1.578945,0.376758,0.234591,1.551778,1.045025,1.26844,1.966473,1.045025,1.271739,1.99364,0.376758,0.244295,1.52619,0.376758,0.264779,1.508043,1.045025,1.298628,1.922739,1.045025,1.278144,1.940886,1.045025,1.325199,1.916189,1.045025,1.298628,1.922739,0.376758,0.338404,1.52619,1.045025,1.372254,1.940886,1.045025,1.338882,2.02888,0.376758,0.253435,1.601467,1.045025,1.287284,2.016162,1.870532,-0.149765,2.220308,1.870532,-0.146696,2.228399,1.870532,-0.147739,2.23699,1.870532,-0.152655,2.244112,1.870533,-0.156242,2.214569,1.870532,-0.160318,2.248134,1.870532,-0.164645,2.212498,1.870532,-0.168972,2.248134,1.870533,-0.173047,2.214569,1.870532,-0.176634,2.244112,1.870532,-0.179525,2.220308,1.870532,-0.18155,2.23699,1.870532,-0.182593,2.228399,1.045025,1.378659,1.99364,1.045025,1.363113,2.016162,1.045025,1.26844,1.966473,1.870532,-0.182593,2.228399,1.045025,1.381958,1.966473,1.045025,1.271739,1.99364,1.870532,-0.18155,2.23699,1.045025,1.372254,1.940886,1.045025,1.287284,2.016162,1.870532,-0.176634,2.244112,1.045025,1.35177,1.922739,1.045025,1.311516,2.02888,1.870532,-0.168972,2.248134,1.870533,-0.156242,2.214569,1.870532,-0.164645,2.212498,1.870532,-0.168972,2.248134,1.870532,-0.160318,2.248134,1.870533,-0.173047,2.214569,1.045025,1.363113,2.016162,1.870532,-0.152655,2.244112,-0.13538,0.29135,1.337481,-0.135379,0.272761,1.342062,-0.462388,0.264779,1.508043,-0.462388,0.29135,1.501494,-0.135379,0.258431,1.354758,-0.462388,0.244295,1.52619,-0.135379,0.258431,1.354758,-0.135379,0.251642,1.372659,-0.462388,0.234591,1.551778,-0.462388,0.244295,1.52619,-0.135379,0.253949,1.391665,-0.462388,0.237889,1.578945,-0.135379,0.264825,1.407421,-0.462388,0.253435,1.601467,-0.135379,0.264825,1.407421,-0.135379,0.281777,1.416318,-0.462388,0.277667,1.614184,-0.462388,0.253435,1.601467,-0.135379,0.300923,1.416318,-0.462388,0.305033,1.614184,-0.135379,0.317875,1.407421,-0.462388,0.329264,1.601467,-0.135379,0.317875,1.407421,-0.135379,0.328751,1.391665,-0.462388,0.34481,1.578945,-0.462388,0.329264,1.601467,-0.135379,0.331058,1.372659,-0.462388,0.348109,1.551778,-0.135379,0.324269,1.354758,-0.462388,0.338404,1.52619,-0.462388,0.317921,1.508043,-1.130656,1.35177,1.922739,-1.130656,1.372254,1.940886,-0.462388,0.338404,1.52619,-0.13538,0.309939,1.342062,-0.135379,0.324269,1.354758,-0.135379,0.324269,1.354758,-0.135379,0.331058,1.372659,-0.135379,0.328751,1.391665,-0.135379,0.317875,1.407421,-0.13538,0.309939,1.342062,-0.135379,0.300923,1.416318,-0.13538,0.29135,1.337481,-0.135379,0.281777,1.416318,-0.135379,0.272761,1.342062,-0.135379,0.264825,1.407421,-0.135379,0.258431,1.354758,-0.135379,0.253949,1.391665,-0.135379,0.251642,1.372659,-1.130656,1.278144,1.940886,-1.956163,-0.179525,2.220308,-1.956163,-0.173047,2.214569,-1.130656,1.298628,1.922739,-0.462388,0.348109,1.551778,-1.130656,1.381958,1.966474,-1.130656,1.378659,1.99364,-0.462388,0.34481,1.578945,-0.462388,0.329264,1.601467,-1.130656,1.363114,2.016162,-1.130656,1.338882,2.02888,-0.462388,0.305033,1.614184,-1.130656,1.311516,2.02888,-1.130656,1.287284,2.016162,-0.462388,0.237889,1.578945,-1.130656,1.271739,1.99364,-1.130656,1.26844,1.966474,-0.462388,0.234591,1.551778,-0.462388,0.244295,1.52619,-1.130656,1.278144,1.940886,-1.130656,1.298628,1.922739,-0.462388,0.264779,1.508043,-1.130656,1.325199,1.91619,-1.130656,1.325199,1.91619,-0.462388,0.29135,1.501494,-0.462388,0.338404,1.52619,-1.130656,1.372254,1.940886,-1.130656,1.338882,2.02888,-0.462388,0.253435,1.601467,-1.130656,1.287284,2.016162,-1.956163,-0.147739,2.23699,-1.956163,-0.146696,2.2284,-1.956163,-0.149765,2.220308,-1.956164,-0.152655,2.244112,-1.956163,-0.156242,2.214569,-1.956163,-0.160318,2.248134,-1.956163,-0.164645,2.212498,-1.956163,-0.168972,2.248134,-1.956163,-0.173047,2.214569,-1.956164,-0.176634,2.244112,-1.956163,-0.179525,2.220308,-1.956163,-0.18155,2.23699,-1.956163,-0.182593,2.2284,-1.130656,1.378659,1.99364,-1.130656,1.363114,2.016162,-1.130656,1.26844,1.966474,-1.956163,-0.182593,2.2284,-1.130656,1.381958,1.966474,-1.130656,1.271739,1.99364,-1.956163,-0.18155,2.23699,-1.130656,1.372254,1.940886,-1.130656,1.287284,2.016162,-1.956164,-0.176634,2.244112,-1.130656,1.35177,1.922739,-1.130656,1.311516,2.02888,-1.956163,-0.168972,2.248134,-1.956163,-0.164645,2.212498,-1.956163,-0.156242,2.214569,-1.956163,-0.160318,2.248134,-1.956163,-0.168972,2.248134,-1.130656,1.298628,1.922739,-1.956163,-0.173047,2.214569,-1.130656,1.363114,2.016162,-1.956164,-0.152655,2.244112,0.09149,0.300978,1.043157,0.409319,0.300978,1.021461,0.409319,0.272306,1.028528,0.09149,0.282389,1.047739,0.409319,0.250203,1.04811,0.09149,0.268059,1.060435,0.09149,0.268059,1.060435,0.409319,0.250203,1.04811,0.409319,0.239732,1.075721,0.09149,0.26127,1.078336,0.409319,0.243291,1.105035,0.09149,0.263578,1.097342,0.409319,0.260066,1.129338,0.09149,0.274453,1.113098,0.09149,0.274453,1.113098,0.409319,0.260066,1.129338,0.409319,0.286213,1.143061,0.09149,0.291406,1.121995,0.409319,0.315743,1.143061,0.09149,0.310551,1.121995,0.409319,0.34189,1.129338,0.09149,0.327503,1.113098,0.09149,0.327503,1.113098,0.409319,0.34189,1.129338,0.409319,0.358665,1.105035,0.09149,0.338379,1.097342,0.409319,0.362224,1.075721,0.09149,0.340687,1.078336,0.409319,0.351753,1.04811,0.09149,0.333898,1.060435,1.712337,-0.076897,1.552027,1.712337,-0.070594,1.55358,1.712337,-0.070594,1.55358,1.712337,-0.076897,1.552027,0.09149,0.319567,1.047739,0.409319,0.329649,1.028528,0.09149,0.333898,1.060435,0.409319,0.351753,1.04811,0.09149,0.338379,1.097342,0.09149,0.340687,1.078336,0.09149,0.333898,1.060435,0.09149,0.327503,1.113098,0.09149,0.319567,1.047739,0.09149,0.310551,1.121995,0.09149,0.300978,1.043157,0.09149,0.291406,1.121995,0.09149,0.282389,1.047739,0.09149,0.274453,1.113098,0.09149,0.268059,1.060435,0.09149,0.263578,1.097342,0.09149,0.26127,1.078336,0.409319,0.250203,1.04811,0.409319,0.272306,1.028528,1.060828,1.336437,1.219195,1.060828,1.314334,1.238776,0.409319,0.243291,1.105035,0.409319,0.239732,1.075721,1.060828,1.303863,1.266387,1.060828,1.307422,1.295702,1.060828,1.324197,1.320004,1.060828,1.350344,1.333727,0.409319,0.34189,1.129338,0.409319,0.315743,1.143061,1.060828,1.379874,1.333727,1.060828,1.406021,1.320004,0.409319,0.362224,1.075721,0.409319,0.358665,1.105035,1.060828,1.422796,1.295702,1.060828,1.426355,1.266387,0.409319,0.329649,1.028528,0.409319,0.351753,1.04811,1.060828,1.415884,1.238776,1.060828,1.39378,1.219195,0.409319,0.260066,1.129338,1.060828,1.324197,1.320004,1.060828,1.379874,1.333727,1.060828,1.365109,1.212128,1.060828,1.336437,1.219195,1.060828,1.39378,1.219195,1.060828,1.303863,1.266387,1.060828,1.314334,1.238776,1.712337,-0.08806,1.557885,1.712337,-0.090362,1.563955,1.060828,1.422796,1.295702,1.060828,1.406021,1.320004,1.712337,-0.067904,1.575742,1.712337,-0.064216,1.570399,1.060828,1.336437,1.219195,1.712337,-0.0832,1.55358,1.060828,1.406021,1.320004,1.712337,-0.073652,1.578758,1.712337,-0.067904,1.575742,1.712337,-0.076897,1.552027,1.712337,-0.0832,1.55358,1.712337,-0.080143,1.578758,1.060828,1.365109,1.212128,1.060828,1.39378,1.219195,1.712337,-0.070594,1.55358,1.712337,-0.076897,1.552027,1.060828,1.350344,1.333727,1.060828,1.324197,1.320004,1.712337,-0.085891,1.575742,1.712337,-0.080143,1.578758,1.060828,1.415884,1.238776,1.712337,-0.065735,1.557885,1.060828,1.307422,1.295702,1.712337,-0.089579,1.570399,1.060828,1.426355,1.266387,1.712337,-0.063433,1.563955,1.712337,-0.065735,1.557885,1.712337,-0.063433,1.563955,1.712337,-0.064216,1.570399,1.712337,-0.067904,1.575742,1.712337,-0.070594,1.55358,1.712337,-0.073652,1.578758,1.712337,-0.076897,1.552027,1.712337,-0.080143,1.578758,1.712337,-0.0832,1.55358,1.712337,-0.085891,1.575742,1.712337,-0.08806,1.557885,1.712337,-0.089579,1.570399,1.712337,-0.090362,1.563955,1.712337,-0.0832,1.55358,1.712337,-0.0832,1.55358,1.712337,-0.065735,1.557885,1.712337,-0.063433,1.563955,1.712337,-0.063433,1.563955,1.712337,-0.065735,1.557885,1.712337,-0.064216,1.570399,1.712337,-0.067904,1.575742,1.712337,-0.067904,1.575742,1.712337,-0.064216,1.570399,1.712337,-0.073652,1.578758,1.712337,-0.080143,1.578758,1.712337,-0.080143,1.578758,1.712337,-0.073652,1.578758,1.712337,-0.085891,1.575742,1.712337,-0.089579,1.570399,1.712337,-0.089579,1.570399,1.712337,-0.085891,1.575742,1.712337,-0.090362,1.563955,1.712337,-0.08806,1.557885,1.712337,-0.08806,1.557885,1.712337,-0.090362,1.563955,-0.17712,0.300978,1.043157,-0.17712,0.282389,1.047739,-0.49495,0.272306,1.028528,-0.494949,0.300978,1.021461,-0.17712,0.268059,1.060435,-0.49495,0.250203,1.04811,-0.17712,0.268059,1.060435,-0.17712,0.26127,1.078336,-0.49495,0.239732,1.075721,-0.49495,0.250203,1.04811,-0.177121,0.263578,1.097342,-0.49495,0.243291,1.105035,-0.17712,0.274453,1.113098,-0.494949,0.260066,1.129338,-0.17712,0.274453,1.113098,-0.17712,0.291406,1.121995,-0.49495,0.286213,1.143061,-0.494949,0.260066,1.129338,-0.17712,0.310551,1.121995,-0.49495,0.315743,1.143061,-0.177121,0.327503,1.113098,-0.49495,0.34189,1.129338,-0.177121,0.327503,1.113098,-0.177121,0.338379,1.097342,-0.49495,0.358665,1.105035,-0.49495,0.34189,1.129338,-0.177121,0.340687,1.078336,-0.49495,0.362224,1.075721,-0.177121,0.333898,1.060435,-0.49495,0.351753,1.04811,-1.797968,-0.076897,1.552027,-1.797968,-0.076897,1.552027,-1.797968,-0.070594,1.553581,-1.797968,-0.070594,1.553581,-0.177121,0.319567,1.047739,-0.49495,0.329649,1.028528,-0.177121,0.333898,1.060435,-0.49495,0.351753,1.04811,-0.177121,0.333898,1.060435,-0.177121,0.340687,1.078336,-0.177121,0.338379,1.097342,-0.177121,0.327503,1.113098,-0.177121,0.319567,1.047739,-0.17712,0.310551,1.121995,-0.17712,0.300978,1.043157,-0.17712,0.291406,1.121995,-0.17712,0.282389,1.047739,-0.17712,0.274453,1.113098,-0.17712,0.268059,1.060435,-0.177121,0.263578,1.097342,-0.17712,0.26127,1.078336,-0.49495,0.250203,1.04811,-1.146459,1.314334,1.238777,-1.146459,1.336437,1.219195,-0.49495,0.272306,1.028528,-0.49495,0.243291,1.105035,-1.146459,1.307422,1.295702,-1.146459,1.303863,1.266387,-0.49495,0.239732,1.075721,-1.146459,1.350344,1.333727,-1.146459,1.324197,1.320004,-0.49495,0.34189,1.129338,-1.146459,1.406021,1.320004,-1.146459,1.379874,1.333727,-0.49495,0.315743,1.143061,-0.49495,0.362224,1.075721,-1.146459,1.426355,1.266387,-1.146459,1.422796,1.295702,-0.49495,0.358665,1.105035,-0.49495,0.329649,1.028528,-1.146459,1.393781,1.219195,-1.146459,1.415884,1.238777,-0.49495,0.351753,1.04811,-0.494949,0.260066,1.129338,-1.146459,1.324197,1.320004,-1.146459,1.379874,1.333727,-1.146459,1.336437,1.219195,-1.146459,1.365109,1.212128,-1.146459,1.393781,1.219195,-1.146459,1.303863,1.266387,-1.797968,-0.090361,1.563955,-1.797968,-0.08806,1.557885,-1.146459,1.314334,1.238777,-1.146459,1.422796,1.295702,-1.797968,-0.064216,1.570399,-1.797968,-0.067904,1.575742,-1.146459,1.406021,1.320004,-1.797968,-0.0832,1.553581,-1.146459,1.336437,1.219195,-1.146459,1.406021,1.320004,-1.797968,-0.067904,1.575742,-1.797968,-0.073652,1.578759,-1.797968,-0.0832,1.553581,-1.797968,-0.076897,1.552027,-1.797968,-0.080143,1.578759,-1.146459,1.365109,1.212128,-1.797968,-0.076897,1.552027,-1.797968,-0.070594,1.553581,-1.146459,1.393781,1.219195,-1.146459,1.350344,1.333727,-1.797968,-0.080143,1.578759,-1.797968,-0.085891,1.575742,-1.146459,1.324197,1.320004,-1.797968,-0.065735,1.557885,-1.146459,1.415884,1.238777,-1.797968,-0.089579,1.570399,-1.146459,1.307422,1.295702,-1.797968,-0.063433,1.563955,-1.146459,1.426355,1.266387,-1.797968,-0.064216,1.570399,-1.797968,-0.063433,1.563955,-1.797968,-0.065735,1.557885,-1.797968,-0.067904,1.575742,-1.797968,-0.070594,1.553581,-1.797968,-0.073652,1.578759,-1.797968,-0.076897,1.552027,-1.797968,-0.080143,1.578759,-1.797968,-0.0832,1.553581,-1.797968,-0.085891,1.575742,-1.797968,-0.08806,1.557885,-1.797968,-0.089579,1.570399,-1.797968,-0.090361,1.563955,-1.797968,-0.0832,1.553581,-1.797968,-0.0832,1.553581,-1.797968,-0.065735,1.557885,-1.797968,-0.065735,1.557885,-1.797968,-0.063433,1.563955,-1.797968,-0.063433,1.563955,-1.797968,-0.064216,1.570399,-1.797968,-0.064216,1.570399,-1.797968,-0.067904,1.575742,-1.797968,-0.067904,1.575742,-1.797968,-0.073652,1.578759,-1.797968,-0.073652,1.578759,-1.797968,-0.080143,1.578759,-1.797968,-0.080143,1.578759,-1.797968,-0.085891,1.575742,-1.797968,-0.085891,1.575742,-1.797968,-0.089579,1.570399,-1.797968,-0.089579,1.570399,-1.797968,-0.090361,1.563955,-1.797968,-0.090361,1.563955,-1.797968,-0.08806,1.557885,-1.797968,-0.08806,1.557885,0.157192,0.303247,0.76954,0.416557,0.303247,0.76954,0.416557,0.284658,0.774121,0.157192,0.284658,0.774121,0.416557,0.270328,0.786817,0.157192,0.270328,0.786817,0.157192,0.270328,0.786817,0.416557,0.270328,0.786817,0.416557,0.263539,0.804718,0.157192,0.263539,0.804718,0.416557,0.265846,0.823724,0.157192,0.265847,0.823724,0.416557,0.276722,0.83948,0.157192,0.276723,0.83948,0.157192,0.276723,0.83948,0.416557,0.276722,0.83948,0.416557,0.293674,0.848377,0.157192,0.293675,0.848377,0.416557,0.31282,0.848377,0.157192,0.31282,0.848377,0.416557,0.329772,0.83948,0.157192,0.329772,0.83948,0.157192,0.329772,0.83948,0.416557,0.329772,0.83948,0.416557,0.340648,0.823724,0.157192,0.340648,0.823724,0.416557,0.342955,0.804718,0.157192,0.342956,0.804718,0.416557,0.336166,0.786817,0.157192,0.336167,0.786817,0.416557,0.321836,0.774121,0.416557,0.336166,0.786817,0.416557,0.336166,0.786817,0.416557,0.321836,0.774121,0.157192,0.321836,0.774121,0.416557,0.321836,0.774121,0.157192,0.336167,0.786817,0.416557,0.336166,0.786817,0.157192,0.340648,0.823724,0.157192,0.342956,0.804718,0.157192,0.336167,0.786817,0.157192,0.329772,0.83948,0.157192,0.321836,0.774121,0.157192,0.31282,0.848377,0.157192,0.303247,0.76954,0.157192,0.293675,0.848377,0.157192,0.284658,0.774121,0.157192,0.276723,0.83948,0.157192,0.270328,0.786817,0.157192,0.265847,0.823724,0.157192,0.263539,0.804718,0.416557,0.284658,0.774121,0.416557,0.303247,0.76954,1.143985,1.488177,0.76954,1.143985,1.469588,0.774121,0.416557,0.342955,0.804718,0.416557,0.340648,0.823724,0.416557,0.340648,0.823724,0.416557,0.342955,0.804718,0.416557,0.329772,0.83948,0.416557,0.31282,0.848377,0.416557,0.31282,0.848377,0.416557,0.329772,0.83948,0.416557,0.293674,0.848377,0.416557,0.276722,0.83948,0.416557,0.276722,0.83948,0.416557,0.293674,0.848377,0.416557,0.265846,0.823724,0.416557,0.263539,0.804718,0.416557,0.263539,0.804718,0.416557,0.265846,0.823724,0.416557,0.270328,0.786817,0.416557,0.284658,0.774121,0.416557,0.284658,0.774121,0.416557,0.270328,0.786817,0.416557,0.303247,0.76954,0.416557,0.303247,0.76954,1.143985,1.506766,0.774121,1.143985,1.521096,0.786817,1.87197,-9.75E-4,0.505267,1.87197,-0.015305,0.492571,0.416557,0.329772,0.83948,0.416557,0.31282,0.848377,1.143985,1.49775,0.848377,1.143985,1.514702,0.83948,0.416557,0.270328,0.786817,0.416557,0.284658,0.774121,1.143985,1.469588,0.774121,1.143985,1.455258,0.786817,0.416557,0.340648,0.823724,0.416557,0.329772,0.83948,1.143985,1.514702,0.83948,1.143985,1.525578,0.823724,0.416557,0.263539,0.804718,1.143985,1.448469,0.804718,0.416557,0.342955,0.804718,1.143985,1.527886,0.804718,0.416557,0.265846,0.823724,1.143985,1.450777,0.823724,0.416557,0.336166,0.786817,1.143985,1.521096,0.786817,0.416557,0.276722,0.83948,1.143985,1.461652,0.83948,0.416557,0.321836,0.774121,1.143985,1.506766,0.774121,0.416557,0.293674,0.848377,0.416557,0.276722,0.83948,1.143985,1.461652,0.83948,1.143985,1.478605,0.848377,0.416557,0.321836,0.774121,1.143985,1.506766,0.774121,1.87197,0.005814,0.523168,1.87197,0.003506,0.542174,1.87197,-0.007369,0.55793,1.87197,-0.024322,0.566827,1.87197,-0.033894,0.487989,1.87197,-0.043467,0.566827,1.87197,-0.052483,0.492571,1.87197,-0.060419,0.55793,1.87197,-0.066814,0.505267,1.87197,-0.071295,0.542174,1.87197,-0.073603,0.523168,1.87197,-0.060419,0.55793,1.87197,-0.043467,0.566827,1.87197,-0.015305,0.492571,1.87197,-0.033894,0.487989,1.87197,-0.024322,0.566827,1.87197,-0.052483,0.492571,1.143985,1.514702,0.83948,1.143985,1.49775,0.848377,1.143985,1.455258,0.786817,1.143985,1.469588,0.774121,1.87197,-0.052483,0.492571,1.87197,-0.066814,0.505267,1.143985,1.525578,0.823724,1.143985,1.448469,0.804718,1.87197,-0.073603,0.523168,1.143985,1.527886,0.804718,1.143985,1.450777,0.823724,1.87197,-0.071295,0.542174,1.143985,1.461652,0.83948,1.87197,-0.060419,0.55793,-0.242823,0.303247,0.76954,-0.242823,0.284659,0.774121,-0.502188,0.284658,0.774121,-0.502188,0.303247,0.76954,-0.242823,0.270328,0.786817,-0.502188,0.270328,0.786817,-0.242823,0.270328,0.786817,-0.242823,0.263539,0.804718,-0.502188,0.263539,0.804718,-0.502188,0.270328,0.786817,-0.242823,0.265847,0.823724,-0.502188,0.265846,0.823724,-0.242823,0.276723,0.83948,-0.502188,0.276722,0.83948,-0.242823,0.276723,0.83948,-0.242823,0.293675,0.848377,-0.502188,0.293675,0.848377,-0.502188,0.276722,0.83948,-0.242823,0.31282,0.848377,-0.502188,0.31282,0.848377,-0.242823,0.329772,0.83948,-0.502188,0.329772,0.83948,-0.242823,0.329772,0.83948,-0.242823,0.340648,0.823724,-0.502188,0.340648,0.823724,-0.502188,0.329772,0.83948,-0.242823,0.342956,0.804718,-0.502188,0.342955,0.804718,-0.242823,0.336167,0.786817,-0.502188,0.336166,0.786817,-0.502188,0.321836,0.774121,-0.502188,0.321836,0.774121,-0.502188,0.336166,0.786817,-0.502188,0.336166,0.786817,-0.242823,0.321836,0.774121,-0.502188,0.321836,0.774121,-0.242823,0.336167,0.786817,-0.502188,0.336166,0.786817,-0.242823,0.336167,0.786817,-0.242823,0.342956,0.804718,-0.242823,0.340648,0.823724,-0.242823,0.329772,0.83948,-0.242823,0.321836,0.774121,-0.242823,0.31282,0.848377,-0.242823,0.303247,0.76954,-0.242823,0.293675,0.848377,-0.242823,0.284659,0.774121,-0.242823,0.276723,0.83948,-0.242823,0.270328,0.786817,-0.242823,0.265847,0.823724,-0.242823,0.263539,0.804718,-0.502188,0.284658,0.774121,-1.229616,1.469588,0.774121,-1.229616,1.488177,0.76954,-0.502188,0.303247,0.76954,-0.502188,0.342955,0.804718,-0.502188,0.342955,0.804718,-0.502188,0.340648,0.823724,-0.502188,0.340648,0.823724,-0.502188,0.329772,0.83948,-0.502188,0.329772,0.83948,-0.502188,0.31282,0.848377,-0.502188,0.31282,0.848377,-0.502188,0.293675,0.848377,-0.502188,0.293675,0.848377,-0.502188,0.276722,0.83948,-0.502188,0.276722,0.83948,-0.502188,0.265846,0.823724,-0.502188,0.265846,0.823724,-0.502188,0.263539,0.804718,-0.502188,0.263539,0.804718,-0.502188,0.270328,0.786817,-0.502188,0.270328,0.786817,-0.502188,0.284658,0.774121,-0.502188,0.284658,0.774121,-0.502188,0.303247,0.76954,-0.502188,0.303247,0.76954,-1.229616,1.506766,0.774121,-1.957601,-0.015306,0.492571,-1.957601,-9.75E-4,0.505267,-1.229616,1.521097,0.786817,-0.502188,0.329772,0.83948,-1.229616,1.514702,0.83948,-1.229616,1.49775,0.848377,-0.502188,0.31282,0.848377,-0.502188,0.270328,0.786817,-1.229616,1.455258,0.786817,-1.229616,1.469588,0.774121,-0.502188,0.284658,0.774121,-0.502188,0.340648,0.823724,-1.229616,1.525578,0.823724,-1.229616,1.514702,0.83948,-0.502188,0.329772,0.83948,-0.502188,0.263539,0.804718,-1.229616,1.448469,0.804718,-0.502188,0.342955,0.804718,-1.229616,1.527886,0.804718,-0.502188,0.265846,0.823724,-1.229616,1.450777,0.823724,-0.502188,0.336166,0.786817,-1.229616,1.521097,0.786817,-0.502188,0.276722,0.83948,-1.229616,1.461652,0.83948,-0.502188,0.321836,0.774121,-1.229616,1.506766,0.774121,-0.502188,0.293675,0.848377,-1.229616,1.478605,0.848377,-1.229616,1.461652,0.83948,-0.502188,0.276722,0.83948,-1.229616,1.506766,0.774121,-0.502188,0.321836,0.774121,-1.957601,0.003506,0.542174,-1.957601,0.005814,0.523168,-1.957601,-0.00737,0.55793,-1.957601,-0.024322,0.566827,-1.957601,-0.033894,0.487989,-1.957601,-0.043467,0.566827,-1.957601,-0.052483,0.492571,-1.957601,-0.060419,0.55793,-1.9576,-0.066814,0.505267,-1.957601,-0.071295,0.542174,-1.9576,-0.073603,0.523168,-1.957601,-0.043467,0.566827,-1.957601,-0.060419,0.55793,-1.957601,-0.033894,0.487989,-1.957601,-0.015306,0.492571,-1.957601,-0.024322,0.566827,-1.957601,-0.052483,0.492571,-1.229616,1.514702,0.83948,-1.229616,1.49775,0.848377,-1.229616,1.455258,0.786817,-1.9576,-0.066814,0.505267,-1.957601,-0.052483,0.492571,-1.229616,1.469588,0.774121,-1.229616,1.525578,0.823724,-1.229616,1.448469,0.804718,-1.9576,-0.073603,0.523168,-1.229616,1.527886,0.804718,-1.229616,1.450777,0.823724,-1.957601,-0.071295,0.542174,-1.229616,1.461652,0.83948,-1.957601,-0.060419,0.55793,0.58781,0.305121,0.362577,0.158417,0.305122,0.618744,0.160764,0.32371,0.622679,0.590157,0.32371,0.366512,0.590157,0.32371,0.366512,0.160764,0.32371,0.622679,0.167268,0.338041,0.633582,0.596662,0.338041,0.377414,0.17644,0.34483,0.648955,0.605833,0.34483,0.392788,0.186177,0.342522,0.665277,0.61557,0.342522,0.40911,0.19425,0.331646,0.678808,0.623643,0.331646,0.422641,0.623643,0.331646,0.422641,0.19425,0.331646,0.678808,0.198808,0.314694,0.686449,0.628201,0.314694,0.430282,0.198808,0.295549,0.686449,0.628201,0.295549,0.430282,0.194249,0.278597,0.678808,0.623643,0.278596,0.422641,0.623643,0.278596,0.422641,0.194249,0.278597,0.678808,0.186177,0.267721,0.665277,0.61557,0.267721,0.40911,0.17644,0.265413,0.648955,0.605833,0.265413,0.392788,0.167268,0.272202,0.633582,0.596662,0.272202,0.377414,0.186177,0.342522,0.665277,0.17644,0.34483,0.648955,0.167268,0.338041,0.633582,0.19425,0.331646,0.678808,0.160764,0.32371,0.622679,0.198808,0.314694,0.686449,0.158417,0.305122,0.618744,0.198808,0.295549,0.686449,0.160764,0.286533,0.622679,0.194249,0.278597,0.678808,0.167268,0.272202,0.633582,0.186177,0.267721,0.665277,0.17644,0.265413,0.648955,0.590157,0.286532,0.366512,0.160764,0.286533,0.622679,0.160764,0.286533,0.622679,0.590157,0.286532,0.366512,0.596662,0.272202,0.377414,0.590157,0.286532,0.366512,0.590157,0.286532,0.366512,0.596662,0.272202,0.377414,0.58781,0.305121,0.362577,0.590157,0.32371,0.366512,0.906844,0.32371,0.177583,0.90567,0.314415,0.175616,0.904496,0.305121,0.173648,0.61557,0.267721,0.40911,0.605833,0.265413,0.392788,0.605833,0.265413,0.392788,0.61557,0.267721,0.40911,0.628201,0.295549,0.430282,0.623643,0.278596,0.422641,0.623643,0.278596,0.422641,0.628201,0.295549,0.430282,0.623643,0.331646,0.422641,0.628201,0.314694,0.430282,0.628201,0.314694,0.430282,0.623643,0.331646,0.422641,0.605833,0.34483,0.392788,0.61557,0.342522,0.40911,0.61557,0.342522,0.40911,0.605833,0.34483,0.392788,0.590157,0.32371,0.366512,0.596662,0.338041,0.377414,0.596662,0.338041,0.377414,0.590157,0.32371,0.366512,0.58781,0.305121,0.362577,0.58781,0.305121,0.362577,1.074499,0.877855,-0.847121,1.071247,0.88502,-0.852572,1.29311,-8.64E-4,-1.882728,1.296362,-0.008029,-1.877276,0.628201,0.295549,0.430282,0.623643,0.278596,0.422641,0.944887,0.295548,0.241353,0.942608,0.287072,0.237533,0.940329,0.278596,0.233712,0.590157,0.32371,0.366512,0.910096,0.330875,0.183035,0.906844,0.32371,0.177583,0.913348,0.33804,0.188486,0.596662,0.338041,0.377414,0.61557,0.267721,0.40911,0.932257,0.26772,0.220181,0.936293,0.273158,0.226947,0.940329,0.278596,0.233712,0.623643,0.278596,0.422641,0.917934,0.341435,0.196173,0.922519,0.344829,0.203859,0.605833,0.34483,0.392788,0.605833,0.265413,0.392788,0.922519,0.265413,0.203859,0.927388,0.266566,0.21202,0.927388,0.343675,0.21202,0.932257,0.342522,0.220181,0.61557,0.342522,0.40911,0.596662,0.272202,0.377414,0.913348,0.272202,0.188486,0.917934,0.268807,0.196173,0.936293,0.337084,0.226947,0.940329,0.331646,0.233712,0.623643,0.331646,0.422641,0.590157,0.286532,0.366512,0.906844,0.286532,0.177583,0.910096,0.279367,0.183035,0.623643,0.331646,0.422641,0.628201,0.314694,0.430282,0.940329,0.331646,0.233712,0.942608,0.32317,0.237533,0.944887,0.314694,0.241353,0.590157,0.286532,0.366512,0.90567,0.295826,0.175616,0.906844,0.286532,0.177583,0.944887,0.305121,0.241353,1.3042,0.054039,-1.864138,1.308785,0.057434,-1.856452,1.313654,0.05628,-1.848291,1.318523,0.055126,-1.84013,1.322559,0.049688,-1.833364,1.299614,0.050645,-1.871825,1.296362,0.04348,-1.877276,1.326595,0.04425,-1.826599,1.328874,0.035774,-1.822778,1.29311,0.036314,-1.882728,1.291936,0.02702,-1.884695,1.331154,0.027298,-1.818958,1.331154,0.017725,-1.818958,1.290762,0.017725,-1.886663,1.291936,0.008431,-1.884695,1.331154,0.008153,-1.818958,1.29311,-8.64E-4,-1.882728,1.328874,-3.23E-4,-1.822778,1.326595,-0.0088,-1.826599,1.296362,-0.008029,-1.877276,1.299614,-0.015194,-1.871825,1.322559,-0.014237,-1.833364,1.318523,-0.019675,-1.84013,1.3042,-0.018588,-1.864138,1.308785,-0.021983,-1.856452,1.313654,-0.020829,-1.848291,1.107012,0.921658,-0.792623,1.109291,0.913182,-0.788802,1.070074,0.894314,-0.85454,1.0689,0.903609,-0.856507,1.290762,0.017725,-1.886663,1.291936,0.008431,-1.884695,1.109291,0.903609,-0.788802,1.109291,0.894036,-0.788802,1.070074,0.912903,-0.85454,1.071247,0.922198,-0.852572,1.29311,0.036314,-1.882728,1.291936,0.02702,-1.884695,1.107012,0.88556,-0.792623,1.104733,0.877084,-0.796443,1.074499,0.929363,-0.847121,1.077752,0.936528,-0.841669,1.299614,0.050645,-1.871825,1.296362,0.04348,-1.877276,1.100696,0.871646,-0.803209,1.09666,0.866208,-0.809974,1.318523,-0.019675,-1.84013,1.322559,-0.014237,-1.833364,1.082337,0.939923,-0.833983,1.086923,0.943317,-0.826296,1.308785,0.057434,-1.856452,1.3042,0.054039,-1.864138,1.091792,0.865054,-0.818135,1.086923,0.863901,-0.826296,1.308785,-0.021983,-1.856452,1.313654,-0.020829,-1.848291,1.091792,0.942163,-0.818135,1.09666,0.94101,-0.809974,1.082337,0.867295,-0.833983,1.077752,0.87069,-0.841669,1.299614,-0.015194,-1.871825,1.3042,-0.018588,-1.864138,1.100697,0.935572,-0.803209,1.104733,0.930134,-0.796443,0.913348,0.272202,0.188486,0.910096,0.279367,0.183035,0.906844,0.286532,0.177583,0.940329,0.331646,0.233712,0.942608,0.32317,0.237533,0.944887,0.314694,0.241353,0.90567,0.295826,0.175616,0.904496,0.305121,0.173648,0.944887,0.305121,0.241353,0.944887,0.295548,0.241353,0.90567,0.314415,0.175616,0.906844,0.32371,0.177583,0.942608,0.287072,0.237533,0.940329,0.278596,0.233712,1.071247,0.922198,-0.852572,1.29311,0.036314,-1.882728,0.910096,0.330875,0.183035,1.074499,0.929363,-0.847121,0.913348,0.33804,0.188486,1.077752,0.936528,-0.841669,1.104733,0.877084,-0.796443,1.326595,-0.0088,-1.826599,0.936293,0.273158,0.226947,1.100696,0.871646,-0.803209,0.932257,0.26772,0.220181,1.09666,0.866208,-0.809974,0.917934,0.341435,0.196173,1.082337,0.939923,-0.833983,0.922519,0.344829,0.203859,1.086923,0.943317,-0.826296,1.09666,0.866208,-0.809974,1.318523,-0.019675,-1.84013,1.091792,0.865054,-0.818135,1.09666,0.866208,-0.809974,1.086923,0.863901,-0.826296,1.086923,0.943317,-0.826296,1.091792,0.942163,-0.818135,1.086923,0.943317,-0.826296,1.09666,0.94101,-0.809974,1.082337,0.867295,-0.833983,1.077752,0.87069,-0.841669,1.100697,0.935572,-0.803209,1.104733,0.930134,-0.796443,-0.673441,0.305121,0.362577,-0.675788,0.32371,0.366512,-0.246395,0.32371,0.622679,-0.244047,0.305122,0.618744,-0.682292,0.338041,0.377415,-0.252899,0.338041,0.633582,-0.682292,0.338041,0.377415,-0.691464,0.34483,0.392788,-0.262071,0.34483,0.648955,-0.252899,0.338041,0.633582,-0.701201,0.342522,0.40911,-0.271808,0.342522,0.665277,-0.709273,0.331646,0.422641,-0.27988,0.331646,0.678808,-0.709273,0.331646,0.422641,-0.713832,0.314694,0.430282,-0.284439,0.314694,0.686449,-0.27988,0.331646,0.678808,-0.713832,0.295549,0.430282,-0.284439,0.295549,0.686449,-0.709273,0.278596,0.422641,-0.27988,0.278597,0.678808,-0.709273,0.278596,0.422641,-0.701201,0.267721,0.40911,-0.271808,0.267721,0.665277,-0.27988,0.278597,0.678808,-0.691464,0.265413,0.392788,-0.262071,0.265413,0.648955,-0.682292,0.272202,0.377415,-0.252899,0.272202,0.633582,-0.252899,0.338041,0.633582,-0.262071,0.34483,0.648955,-0.271808,0.342522,0.665277,-0.27988,0.331646,0.678808,-0.246395,0.32371,0.622679,-0.284439,0.314694,0.686449,-0.244047,0.305122,0.618744,-0.284439,0.295549,0.686449,-0.246395,0.286533,0.622679,-0.27988,0.278597,0.678808,-0.252899,0.272202,0.633582,-0.271808,0.267721,0.665277,-0.262071,0.265413,0.648955,-0.675788,0.286532,0.366512,-0.246395,0.286533,0.622679,-0.675788,0.286532,0.366512,-0.246395,0.286533,0.622679,-0.682292,0.272202,0.377415,-0.682292,0.272202,0.377415,-0.675788,0.286532,0.366512,-0.675788,0.286532,0.366512,-0.673441,0.305121,0.362577,-0.992474,0.32371,0.177583,-0.675788,0.32371,0.366512,-0.991301,0.314415,0.175616,-0.990127,0.305121,0.173649,-0.701201,0.267721,0.40911,-0.701201,0.267721,0.40911,-0.691464,0.265413,0.392788,-0.691464,0.265413,0.392788,-0.713832,0.295549,0.430282,-0.713832,0.295549,0.430282,-0.709273,0.278596,0.422641,-0.709273,0.278596,0.422641,-0.709273,0.331646,0.422641,-0.709273,0.331646,0.422641,-0.713832,0.314694,0.430282,-0.713832,0.314694,0.430282,-0.691464,0.34483,0.392788,-0.691464,0.34483,0.392788,-0.701201,0.342522,0.40911,-0.701201,0.342522,0.40911,-0.675788,0.32371,0.366512,-0.675788,0.32371,0.366512,-0.682292,0.338041,0.377415,-0.682292,0.338041,0.377415,-0.673441,0.305121,0.362577,-0.673441,0.305121,0.362577,-1.16013,0.877855,-0.847121,-1.381993,-0.008029,-1.877276,-1.37874,-8.64E-4,-1.882728,-1.156878,0.88502,-0.852572,-0.713832,0.295549,0.430282,-1.030518,0.295548,0.241353,-0.709273,0.278596,0.422641,-1.028239,0.287072,0.237533,-1.02596,0.278596,0.233712,-0.995727,0.330875,0.183035,-0.998979,0.33804,0.188486,-0.682292,0.338041,0.377415,-1.021924,0.273158,0.226947,-1.017887,0.26772,0.220181,-0.701201,0.267721,0.40911,-1.02596,0.278596,0.233712,-0.709273,0.278596,0.422641,-0.682292,0.338041,0.377415,-0.998979,0.33804,0.188486,-1.003564,0.341435,0.196173,-1.00815,0.344829,0.203859,-0.691464,0.34483,0.392788,-1.013019,0.266566,0.21202,-1.00815,0.265413,0.203859,-0.691464,0.265413,0.392788,-1.013019,0.343675,0.21202,-1.017887,0.342522,0.220181,-0.701201,0.342522,0.40911,-1.003564,0.268807,0.196173,-0.998979,0.272202,0.188486,-0.682292,0.272202,0.377415,-1.021924,0.337084,0.226947,-1.02596,0.331646,0.233712,-0.709273,0.331646,0.422641,-0.995727,0.279367,0.183035,-0.992474,0.286532,0.177583,-0.675788,0.286532,0.366512,-0.709273,0.331646,0.422641,-1.02596,0.331646,0.233712,-0.713832,0.314694,0.430282,-1.028239,0.32317,0.237533,-1.030518,0.314694,0.241353,-0.675788,0.286532,0.366512,-0.991301,0.295826,0.175616,-0.992474,0.286532,0.177583,-1.030518,0.305121,0.241353,-1.399285,0.05628,-1.848291,-1.394416,0.057434,-1.856452,-1.389831,0.054039,-1.864138,-1.404154,0.055126,-1.84013,-1.40819,0.049688,-1.833364,-1.385245,0.050645,-1.871825,-1.381993,0.04348,-1.877276,-1.412226,0.04425,-1.826599,-1.414505,0.035774,-1.822778,-1.37874,0.036314,-1.882728,-1.377567,0.02702,-1.884695,-1.416784,0.027298,-1.818958,-1.416784,0.017725,-1.818958,-1.376393,0.017725,-1.886662,-1.377567,0.008431,-1.884695,-1.416784,0.008153,-1.818958,-1.37874,-8.64E-4,-1.882728,-1.414505,-3.23E-4,-1.822778,-1.412226,-0.0088,-1.826598,-1.381993,-0.008029,-1.877276,-1.385245,-0.015194,-1.871825,-1.40819,-0.014237,-1.833364,-1.404153,-0.019675,-1.84013,-1.389831,-0.018588,-1.864138,-1.399285,-0.020829,-1.848291,-1.394416,-0.021983,-1.856451,-1.192643,0.921658,-0.792623,-1.194922,0.913181,-0.788802,-1.155704,0.894314,-0.85454,-1.377567,0.008431,-1.884695,-1.376393,0.017725,-1.886662,-1.154531,0.903609,-0.856507,-1.194922,0.903609,-0.788802,-1.194922,0.894036,-0.788802,-1.155704,0.912903,-0.85454,-1.377567,0.02702,-1.884695,-1.37874,0.036314,-1.882728,-1.156878,0.922198,-0.852572,-1.192643,0.88556,-0.792623,-1.190364,0.877084,-0.796443,-1.160131,0.929363,-0.847121,-1.381993,0.04348,-1.877276,-1.385245,0.050645,-1.871825,-1.163383,0.936528,-0.841669,-1.186327,0.871646,-0.803209,-1.40819,-0.014237,-1.833364,-1.404153,-0.019675,-1.84013,-1.182291,0.866208,-0.809974,-1.167968,0.939923,-0.833983,-1.389831,0.054039,-1.864138,-1.394416,0.057434,-1.856452,-1.172554,0.943317,-0.826296,-1.177423,0.865054,-0.818135,-1.399285,-0.020829,-1.848291,-1.394416,-0.021983,-1.856451,-1.172554,0.863901,-0.826296,-1.177423,0.942163,-0.818135,-1.182291,0.94101,-0.809974,-1.167968,0.867295,-0.833983,-1.389831,-0.018588,-1.864138,-1.385245,-0.015194,-1.871825,-1.163383,0.87069,-0.841669,-1.186327,0.935572,-0.803209,-1.190364,0.930134,-0.796443,-1.163383,0.87069,-0.841669,-1.16013,0.877855,-0.847121,-1.156878,0.88502,-0.852572,-1.02596,0.331646,0.233712,-1.028239,0.32317,0.237533,-1.030518,0.314694,0.241353,-0.992474,0.286532,0.177583,-0.991301,0.295826,0.175616,-0.990127,0.305121,0.173649,-1.030518,0.305121,0.241353,-1.030518,0.295548,0.241353,-0.991301,0.314415,0.175616,-0.992474,0.32371,0.177583,-1.028239,0.287072,0.237533,-1.02596,0.278596,0.233712,-1.156878,0.922198,-0.852572,-1.37874,0.036314,-1.882728,-1.160131,0.929363,-0.847121,-0.995727,0.330875,0.183035,-1.163383,0.936528,-0.841669,-0.998979,0.33804,0.188486,-1.190364,0.877084,-0.796443,-1.412226,-0.0088,-1.826598,-1.186327,0.871646,-0.803209,-1.021924,0.273158,0.226947,-1.182291,0.866208,-0.809974,-1.017887,0.26772,0.220181,-1.163383,0.936528,-0.841669,-1.385245,0.050645,-1.871825,-1.167968,0.939923,-0.833983,-1.003564,0.341435,0.196173,-1.172554,0.943317,-0.826296,-1.00815,0.344829,0.203859,-1.177423,0.865054,-0.818135,-1.013019,0.266566,0.21202,-1.172554,0.863901,-0.826296,-1.00815,0.265413,0.203859,-1.172554,0.943317,-0.826296,-1.172554,0.943317,-0.826296,-1.177423,0.942163,-0.818135,-1.182291,0.94101,-0.809974,-1.172554,0.863901,-0.826296,-1.394416,-0.021983,-1.856451,-1.172554,0.863901,-0.826296,-1.167968,0.867295,-0.833983,-1.186327,0.935572,-0.803209,-1.190364,0.930134,-0.796443,0.382684,0.205423,-0.0,0.555571,0.297833,-0.0,0.544895,0.297833,0.108386,0.375331,0.205423,0.074658,1.0,1.129303,-0.0,0.980785,1.324393,-0.0,0.96194,1.324393,0.191342,0.980785,1.129303,0.19509,0.382684,2.053182,-0.0,0.195091,2.110088,-0.0,0.191342,2.110088,0.03806,0.375331,2.053182,0.074658,0.195091,0.148518,-0.0,0.191342,0.148518,0.03806,0.980785,0.934213,-0.0,0.96194,0.934213,0.191342,0.555571,1.960772,-0.0,0.544896,1.960772,0.108386,0.92388,0.74662,-0.0,0.906128,0.74662,0.18024,0.707107,1.83641,-0.0,0.69352,1.83641,0.13795,0.83147,0.573733,-0.0,0.815493,0.573733,0.162212,0.83147,1.684873,-0.0,0.707107,1.83641,-0.0,0.69352,1.83641,0.13795,0.815493,1.684873,0.162212,0.707107,0.422196,-0.0,0.69352,0.422196,0.13795,0.92388,1.511986,-0.0,0.906128,1.511986,0.18024,0.707107,0.422196,-0.0,0.69352,0.422196,0.13795,0.768178,0.573733,0.31819,0.653282,0.422196,0.270598,0.768178,1.684873,0.31819,0.853554,1.511986,0.353553,0.653282,0.422196,0.270598,0.51328,0.297833,0.212608,0.906128,1.324393,0.37533,0.353554,0.205423,0.146447,0.92388,1.129303,0.382683,0.18024,2.110088,0.074658,0.353554,2.053182,0.146447,0.18024,0.148518,0.074658,0.906128,0.934213,0.37533,0.51328,1.960772,0.212608,0.853554,0.74662,0.353553,0.653282,1.83641,0.270598,0.653282,1.83641,0.270598,0.815493,0.934213,0.544895,0.768178,0.74662,0.51328,0.46194,1.960773,0.308658,0.587938,1.83641,0.392847,0.691342,0.573733,0.46194,0.587938,1.83641,0.392847,0.691342,1.684873,0.46194,0.587938,0.422196,0.392847,0.768178,1.511986,0.51328,0.587938,0.422196,0.392847,0.46194,0.297833,0.308658,0.815493,1.324393,0.544895,0.31819,0.205423,0.212607,0.83147,1.129303,0.55557,0.162212,2.110088,0.108386,0.31819,2.053183,0.212608,0.162212,0.148518,0.108386,0.392848,0.297833,0.392847,0.270598,0.205423,0.270598,0.69352,1.324393,0.69352,0.707107,1.129303,0.707107,0.13795,2.110088,0.13795,0.270598,2.053182,0.270598,0.13795,0.148518,0.13795,0.69352,0.934213,0.69352,0.392848,1.960772,0.392848,0.653282,0.74662,0.653281,0.5,1.83641,0.5,0.587938,0.573733,0.587938,0.5,1.83641,0.5,0.587938,1.684873,0.587938,0.691342,0.573733,0.46194,0.587938,0.573733,0.587938,0.5,0.422196,0.5,0.653282,1.511986,0.653281,0.46194,0.573733,0.691341,0.392848,0.422196,0.587938,0.653282,1.511986,0.653281,0.587938,1.684873,0.587938,0.46194,1.684873,0.691342,0.51328,1.511986,0.768178,0.308659,0.297833,0.46194,0.69352,1.324393,0.69352,0.544895,1.324393,0.815493,0.212608,0.205423,0.31819,0.707107,1.129303,0.707107,0.55557,1.129303,0.831469,0.108387,2.110088,0.162212,0.212608,2.053182,0.31819,0.108387,0.148518,0.162212,0.69352,0.934213,0.69352,0.544895,0.934213,0.815493,0.308659,1.960772,0.46194,0.653282,0.74662,0.653281,0.51328,0.74662,0.768178,0.392848,1.83641,0.587938,0.587938,0.573733,0.587938,0.46194,0.573733,0.691341,0.587938,1.684873,0.587938,0.46194,1.684873,0.691342,0.146447,2.053182,0.353553,0.212608,1.960772,0.51328,0.37533,0.934213,0.906127,0.353554,0.74662,0.853553,0.270598,1.83641,0.653281,0.31819,0.573733,0.768177,0.392848,1.83641,0.587938,0.270598,1.83641,0.653281,0.31819,1.684873,0.768178,0.392848,0.422196,0.587938,0.270598,0.422196,0.653281,0.353554,1.511986,0.853553,0.270598,0.422196,0.653281,0.212608,0.297833,0.51328,0.37533,1.324393,0.906127,0.146447,0.205423,0.353553,0.382683,1.129303,0.923879,0.074658,2.110088,0.18024,0.074658,0.148518,0.18024,0.18024,1.511986,0.906127,0.191342,1.324393,0.961939,0.108387,0.297833,0.544895,0.074658,0.205423,0.37533,0.19509,1.129303,0.980785,0.038061,2.110088,0.191342,0.074658,2.053182,0.37533,0.038061,0.148518,0.191342,0.191342,0.934213,0.961939,0.108387,1.960772,0.544895,0.18024,0.74662,0.906127,0.13795,1.83641,0.69352,0.162212,0.573733,0.815493,0.13795,1.83641,0.69352,0.162212,1.684873,0.815493,0.13795,0.422196,0.69352,0.13795,0.422196,0.69352,0.0,0.74662,0.923879,0.0,0.573733,0.831469,0.0,1.83641,0.707107,0.0,1.684873,0.831469,0.0,0.422196,0.707107,0.0,1.511986,0.923879,0.0,0.422196,0.707107,0.0,0.297833,0.55557,0.0,1.324393,0.980785,0.0,0.205423,0.382683,0.0,1.129303,1.0,0.0,2.110088,0.19509,0.0,2.053182,0.382683,0.0,0.148518,0.19509,0.0,0.934213,0.980785,0.0,1.960772,0.55557,0.0,1.83641,0.707107,-0.074658,0.205423,0.37533,-0.03806,0.148518,0.191342,-0.19509,1.129303,0.980785,-0.191342,0.934213,0.961939,-0.074658,2.053183,0.37533,-0.108386,1.960772,0.544895,-0.18024,0.74662,0.906127,-0.137949,1.83641,0.69352,-0.162211,0.573733,0.815493,-0.137949,1.83641,0.69352,-0.162211,1.684873,0.815493,-0.137949,0.422196,0.69352,-0.18024,1.511986,0.906127,-0.137949,0.422196,0.69352,-0.108386,0.297833,0.544895,-0.191342,1.324393,0.961939,-0.03806,2.110088,0.191342,-0.270598,0.422196,0.653281,-0.212607,0.297833,0.51328,-0.353553,1.511986,0.853553,-0.37533,1.324393,0.906127,-0.146446,0.205423,0.353553,-0.382683,1.129303,0.923879,-0.074658,2.110088,0.18024,-0.146446,2.053182,0.353553,-0.074658,0.148518,0.18024,-0.37533,0.934213,0.906127,-0.212607,1.960772,0.51328,-0.353553,0.74662,0.853553,-0.270598,1.83641,0.653281,-0.318189,0.573733,0.768177,-0.270598,1.83641,0.653281,-0.318189,1.684873,0.768177,-0.270598,0.422196,0.653281,-0.51328,0.74662,0.768178,-0.461939,0.573733,0.691341,-0.392847,1.83641,0.587938,-0.461939,1.684873,0.691341,-0.392847,0.422196,0.587938,-0.51328,1.511986,0.768177,-0.392847,0.422196,0.587938,-0.308658,0.297833,0.461939,-0.544895,1.324393,0.815493,-0.212607,0.205423,0.31819,-0.55557,1.129303,0.831469,-0.108386,2.110088,0.162212,-0.212607,2.053182,0.31819,-0.108386,0.148518,0.162212,-0.544895,0.934213,0.815493,-0.308658,1.960772,0.46194,-0.392847,1.83641,0.587938,-0.270598,0.205423,0.270598,-0.137949,0.148517,0.13795,-0.707106,1.129303,0.707106,-0.693519,0.934213,0.693519,-0.270598,2.053182,0.270598,-0.392847,1.960773,0.392847,-0.653281,0.74662,0.653281,-0.5,1.83641,0.5,-0.587937,0.573733,0.587937,-0.461939,1.684873,0.691341,-0.587937,1.684873,0.587937,-0.5,0.422196,0.5,-0.587937,1.684873,0.587937,-0.653281,1.511986,0.653281,-0.5,0.422196,0.5,-0.392847,0.297833,0.392847,-0.69352,1.324393,0.693519,-0.13795,2.110088,0.13795,-0.587937,0.422196,0.392847,-0.461939,0.297833,0.308658,-0.69352,1.324393,0.693519,-0.653281,1.511986,0.653281,-0.768177,1.511986,0.51328,-0.815493,1.324393,0.544895,-0.318189,0.205423,0.212607,-0.707106,1.129303,0.707106,-0.831469,1.129303,0.55557,-0.162212,2.110088,0.108386,-0.318189,2.053182,0.212607,-0.162211,0.148518,0.108386,-0.693519,0.934213,0.693519,-0.815493,0.934213,0.544895,-0.461939,1.960772,0.308658,-0.653281,0.74662,0.653281,-0.768178,0.74662,0.51328,-0.587938,1.83641,0.392847,-0.587937,0.573733,0.587937,-0.691341,0.573733,0.461939,-0.691341,1.684873,0.461939,-0.5,0.422196,0.5,-0.587937,0.422196,0.392847,-0.587937,1.684873,0.587937,-0.691341,1.684873,0.461939,-0.853553,0.74662,0.353553,-0.768177,0.573733,0.318189,-0.653281,1.83641,0.270598,-0.768177,1.684873,0.318189,-0.653281,0.422196,0.270598,-0.768177,1.684873,0.318189,-0.853553,1.511986,0.353553,-0.653281,0.422196,0.270598,-0.51328,0.297833,0.212607,-0.906127,1.324393,0.37533,-0.353553,0.205423,0.146447,-0.923879,1.129303,0.382683,-0.18024,2.110088,0.074658,-0.353553,2.053182,0.146447,-0.18024,0.148518,0.074658,-0.906127,0.934213,0.37533,-0.51328,1.960772,0.212607,-0.191342,2.110088,0.03806,-0.37533,2.053182,0.074658,-0.37533,0.205423,0.074658,-0.191341,0.148518,0.03806,-0.980784,1.129303,0.19509,-0.961939,0.934213,0.191341,-0.544895,1.960773,0.108386,-0.906127,0.74662,0.18024,-0.69352,1.83641,0.137949,-0.815493,0.573733,0.162211,-0.815492,1.684873,0.162211,-0.69352,0.422196,0.137949,-0.815492,1.684873,0.162211,-0.906127,1.511986,0.18024,-0.69352,0.422196,0.137949,-0.544895,0.297833,0.108386,-0.961939,1.324393,0.191341,-0.55557,1.960772,-0.0,-0.382684,2.053182,-0.0,-0.382683,2.053182,-0.467061,-0.55557,1.960772,-0.467061,-1.0,1.129303,-0.0,-0.980785,1.324393,-0.0,-0.980785,1.324393,-0.467061,-1.0,1.129303,-0.467061,-0.55557,0.297833,-0.0,-0.707107,0.422196,-0.0,-0.707107,0.422196,-0.467061,-0.55557,0.297833,-0.467061,0.382684,2.053182,-0.467061,0.195091,2.110088,-0.467061,0.980786,1.324393,-0.46706,0.92388,1.511986,-0.467061,0.707107,0.422196,-0.467061,0.83147,0.573733,-0.467061,-0.19509,2.110088,-0.0,-0.19509,2.110088,-0.467061,-0.92388,1.511986,-0.0,-0.92388,1.511986,-0.467061,-0.707107,0.422196,-0.0,-0.83147,0.573733,-0.0,-0.83147,0.573733,-0.467061,-0.707107,0.422196,-0.467061,0.0,0.129303,-0.0,0.0,0.129303,-0.467061,0.195091,0.148518,-0.467061,0.83147,1.684873,-0.467061,0.92388,0.74662,-0.467061,-0.83147,1.684873,-0.0,-0.83147,1.684873,-0.467061,-0.92388,0.74662,-0.0,-0.92388,0.74662,-0.467061,0.0,2.129303,0.0,0.0,2.129303,-0.46706,-0.19509,0.148518,-0.0,-0.19509,0.148518,-0.467061,0.707107,1.83641,-0.467061,0.980786,0.934213,-0.467061,0.382684,0.205423,-0.467061,-0.83147,1.684873,-0.0,-0.707107,1.83641,-0.0,-0.707107,1.83641,-0.467061,-0.83147,1.684873,-0.467061,-0.980785,0.934213,-0.0,-0.980785,0.934213,-0.467061,-0.382683,0.205423,-0.0,-0.382683,0.205423,-0.467061,0.707107,1.83641,-0.467061,0.555571,1.960772,-0.467061,1.0,1.129303,-0.467061,0.555571,0.297833,-0.467061,0.707107,0.422196,-0.467061,-0.69352,0.422196,-0.60501,-0.544895,0.297833,-0.575447,-0.906127,1.511986,-0.647301,-0.96194,1.324393,-0.658402,-0.37533,0.205423,-0.541719,-0.980785,1.129303,-0.662151,-0.191342,2.110088,-0.505121,-0.37533,2.053182,-0.541718,-0.191341,0.148518,-0.505121,-0.96194,0.934213,-0.658402,-0.544895,1.960772,-0.575447,-0.906127,0.74662,-0.647301,-0.69352,1.83641,-0.60501,-0.815493,0.573733,-0.629272,-0.707107,1.83641,-0.467061,-0.69352,1.83641,-0.60501,-0.815493,1.684873,-0.629272,-0.69352,0.422196,-0.60501,-0.906127,0.934213,-0.842391,-0.853553,0.74662,-0.820614,-0.51328,1.960772,-0.679668,-0.653281,1.83641,-0.737659,-0.768178,0.573733,-0.78525,-0.815493,1.684873,-0.629272,-0.768178,1.684873,-0.78525,-0.653281,0.422196,-0.737659,-0.768178,1.684873,-0.78525,-0.853553,1.511986,-0.820614,-0.653281,0.422196,-0.737659,-0.51328,0.297833,-0.679668,-0.906127,1.324393,-0.842391,-0.353553,0.205423,-0.613507,-0.923879,1.129303,-0.849744,-0.18024,2.110088,-0.541719,-0.353553,2.053182,-0.613507,-0.18024,0.148518,-0.541718,-0.461939,0.297833,-0.775719,-0.318189,0.205423,-0.679668,-0.815493,1.324393,-1.011956,-0.831469,1.129303,-1.022631,-0.162211,2.110088,-0.575447,-0.318189,2.053182,-0.679668,-0.162211,0.148518,-0.575447,-0.815493,0.934213,-1.011956,-0.46194,1.960772,-0.775719,-0.768178,0.74662,-0.980341,-0.587938,1.83641,-0.859908,-0.691342,0.573733,-0.929001,-0.691342,1.684873,-0.929001,-0.587938,0.422196,-0.859908,-0.691342,1.684873,-0.929001,-0.768178,1.511986,-0.980341,-0.587938,0.422196,-0.859908,-0.5,1.83641,-0.967061,-0.587938,1.684873,-1.054999,-0.587938,0.573733,-1.054999,-0.5,0.422196,-0.967061,-0.587938,1.684873,-1.054999,-0.653281,1.511986,-1.120342,-0.5,0.422196,-0.967061,-0.392847,0.297833,-0.859908,-0.693519,1.324393,-1.160581,-0.270598,0.205423,-0.737659,-0.707107,1.129303,-1.174168,-0.137949,2.110088,-0.605011,-0.270598,2.053182,-0.737659,-0.137949,0.148518,-0.60501,-0.69352,0.934213,-1.160581,-0.392847,1.960773,-0.859908,-0.653281,0.74662,-1.120342,-0.69352,0.934213,-1.160581,-0.707107,1.129303,-1.174168,-0.55557,1.129303,-1.29853,-0.544895,0.934213,-1.282554,-0.212607,2.053182,-0.785251,-0.308658,1.960773,-0.929,-0.653281,0.74662,-1.120342,-0.51328,0.74662,-1.235239,-0.392847,1.83641,-1.054999,-0.587938,0.573733,-1.054999,-0.461939,0.573733,-1.158402,-0.461939,1.684873,-1.158402,-0.587938,0.573733,-1.054999,-0.461939,0.573733,-1.158402,-0.392847,0.422196,-1.054999,-0.653281,1.511986,-1.120342,-0.587938,1.684873,-1.054999,-0.461939,1.684873,-1.158402,-0.51328,1.511986,-1.235239,-0.308658,0.297833,-0.929001,-0.693519,1.324393,-1.160581,-0.544895,1.324393,-1.282554,-0.212607,0.205423,-0.78525,-0.108386,2.110088,-0.629273,-0.108386,0.148518,-0.629272,-0.270598,0.422196,-1.120342,-0.212607,0.297833,-0.980341,-0.353553,1.511986,-1.320614,-0.37533,1.324393,-1.373188,-0.146446,0.205423,-0.820614,-0.382683,1.129303,-1.39094,-0.074657,2.110088,-0.647301,-0.146446,2.053182,-0.820614,-0.074657,0.148518,-0.647301,-0.37533,0.934213,-1.373188,-0.212607,1.960772,-0.980341,-0.353553,0.74662,-1.320614,-0.270598,1.83641,-1.120342,-0.318189,0.573733,-1.235238,-0.392847,1.83641,-1.054999,-0.270598,1.83641,-1.120342,-0.318189,1.684873,-1.235238,-0.392847,0.422196,-1.054999,-0.270598,0.422196,-1.120342,-0.18024,0.74662,-1.373188,-0.162211,0.573733,-1.282554,-0.137949,1.83641,-1.160581,-0.162211,1.684873,-1.282554,-0.137949,0.422196,-1.160581,-0.18024,1.511986,-1.373188,-0.137949,0.422196,-1.160581,-0.108386,0.297833,-1.011956,-0.191341,1.324393,-1.429,-0.074657,0.205423,-0.842391,-0.19509,1.129303,-1.447846,-0.03806,2.110088,-0.658403,-0.074657,2.053182,-0.842391,-0.03806,0.148518,-0.658402,-0.191341,0.934213,-1.429,-0.108386,1.960772,-1.011956,-0.137949,1.83641,-1.160581,0.0,0.205423,-0.849744,0.0,0.148518,-0.662151,1.0E-6,1.129303,-1.467061,1.0E-6,0.934213,-1.447846,0.0,2.053182,-0.849744,0.0,1.960772,-1.022631,0.0,0.74662,-1.39094,1.0E-6,1.83641,-1.174168,1.0E-6,0.573733,-1.29853,1.0E-6,1.83641,-1.174168,1.0E-6,1.684873,-1.29853,1.0E-6,0.422196,-1.174168,0.0,1.511986,-1.39094,1.0E-6,0.422196,-1.174168,1.0E-6,0.297833,-1.022631,1.0E-6,1.324393,-1.447846,0.0,2.110088,-0.662151,0.13795,0.422196,-1.160581,0.108387,0.297833,-1.011956,0.180241,1.511986,-1.373188,0.191342,1.324393,-1.429,0.074658,0.205423,-0.842391,0.195091,1.129303,-1.447846,0.038061,2.110088,-0.658403,0.074658,2.053182,-0.842391,0.038061,0.148518,-0.658402,0.191342,0.934213,-1.429,0.108387,1.960772,-1.011956,0.180241,0.74662,-1.373188,0.13795,1.83641,-1.160581,0.162212,0.573733,-1.282554,0.13795,1.83641,-1.160581,0.162212,1.684873,-1.282554,0.13795,0.422196,-1.160581,0.353554,0.74662,-1.320614,0.31819,0.573733,-1.235238,0.270599,1.83641,-1.120342,0.31819,1.684873,-1.235238,0.270599,0.422196,-1.120342,0.353554,1.511986,-1.320614,0.270599,0.422196,-1.120342,0.212608,0.297833,-0.980341,0.375331,1.324393,-1.373188,0.146447,0.205423,-0.820614,0.382684,1.129303,-1.39094,0.074658,2.110088,-0.647301,0.146447,2.053182,-0.820614,0.074658,0.148518,-0.647301,0.375331,0.934213,-1.373188,0.212608,1.960772,-0.980341,0.270599,1.83641,-1.120342,0.212608,0.205423,-0.78525,0.108387,0.148518,-0.629272,0.555571,1.129303,-1.29853,0.544896,0.934213,-1.282554,0.212608,2.053182,-0.78525,0.308659,1.960772,-0.929001,0.513281,0.74662,-1.235239,0.392848,1.83641,-1.054998,0.46194,0.573733,-1.158402,0.392848,1.83641,-1.054998,0.46194,1.684873,-1.158402,0.392848,0.422196,-1.054998,0.513281,1.511986,-1.235238,0.392848,0.422196,-1.054998,0.308659,0.297833,-0.929001,0.544896,1.324393,-1.282554,0.108387,2.110088,-0.629272,0.500001,0.422196,-0.967061,0.392848,0.297833,-0.859908,0.653282,1.511986,-1.120342,0.69352,1.324393,-1.16058,0.270599,0.205423,-0.737659,0.707107,1.129303,-1.174167,0.13795,2.110088,-0.605011,0.270599,2.053183,-0.737659,0.13795,0.148518,-0.60501,0.69352,0.934213,-1.16058,0.392848,1.960772,-0.859908,0.653282,0.74662,-1.120342,0.500001,1.83641,-0.967061,0.587938,0.573733,-1.054998,0.500001,1.83641,-0.967061,0.587938,1.684873,-1.054998,0.46194,0.573733,-1.158402,0.587938,0.573733,-1.054998,0.46194,1.960772,-0.775719,0.587938,1.83641,-0.859908,0.587938,0.573733,-1.054998,0.653282,0.74662,-1.120342,0.768178,0.74662,-0.980341,0.691342,0.573733,-0.929,0.587938,1.684873,-1.054998,0.500001,1.83641,-0.967061,0.587938,1.83641,-0.859908,0.691342,1.684873,-0.929,0.691342,0.573733,-0.929,0.587938,0.422196,-0.859908,0.653282,1.511986,-1.120342,0.768178,1.511986,-0.980341,0.46194,0.297833,-0.775719,0.69352,1.324393,-1.16058,0.815494,1.324393,-1.011956,0.31819,0.205423,-0.679668,0.707107,1.129303,-1.174167,0.83147,1.129303,-1.022631,0.162212,2.110088,-0.575447,0.31819,2.053182,-0.679668,0.162212,0.148518,-0.575447,0.69352,0.934213,-1.16058,0.815494,0.934213,-1.011956,0.906128,1.324393,-0.842391,0.92388,1.129303,-0.849744,0.180241,2.110088,-0.541718,0.353554,2.053182,-0.613507,0.353554,0.205423,-0.613507,0.18024,0.148518,-0.541718,0.906128,0.934213,-0.842391,0.513281,1.960772,-0.679668,0.853554,0.74662,-0.820614,0.653282,1.83641,-0.737659,0.768178,0.573733,-0.78525,0.653282,1.83641,-0.737659,0.768178,1.684873,-0.78525,0.587938,0.422196,-0.859908,0.653282,0.422196,-0.737659,0.853554,1.511986,-0.820614,0.653282,0.422196,-0.737659,0.513281,0.297833,-0.679668,0.815494,0.573733,-0.629272,0.69352,0.422196,-0.60501,0.815493,1.684873,-0.629272,0.906128,1.511986,-0.6473,0.69352,0.422196,-0.60501,0.544896,0.297833,-0.575447,0.96194,1.324393,-0.658402,0.375331,0.205423,-0.541718,0.980786,1.129303,-0.662151,0.191342,2.110088,-0.505121,0.375331,2.053182,-0.541718,0.191342,0.148518,-0.505121,0.96194,0.934213,-0.658402,0.544896,1.960772,-0.575447,0.906128,0.74662,-0.647301,0.69352,1.83641,-0.60501,0.69352,1.83641,-0.60501],"triangleCount":2314,"normals":[0.0,-0.989471,0.144505,0.0,-0.753868,-0.656972,0.350322,-0.667531,-0.656972,0.459822,-0.876156,0.144505,0.620411,-0.428236,-0.656972,0.814325,-0.56209,0.144505,0.814325,-0.56209,0.144505,0.620411,-0.428236,-0.656972,0.748375,-0.090854,-0.656972,0.982269,-0.119266,0.144505,0.704886,0.267312,-0.656972,0.925199,0.350871,0.144505,0.499893,0.564287,-0.656972,0.656148,0.740623,0.144505,0.656148,0.740623,0.144505,0.499893,0.564287,-0.656972,0.180395,0.731956,-0.656972,0.236793,0.960723,0.144505,-0.180395,0.731956,-0.656972,-0.236793,0.960723,0.144505,-0.499893,0.564287,-0.656972,-0.656148,0.740623,0.144505,-0.656148,0.740623,0.144505,-0.499893,0.564287,-0.656972,-0.704886,0.267312,-0.656972,-0.925199,0.350871,0.144505,-0.748375,-0.090854,-0.656972,-0.982269,-0.119266,0.144505,-0.620411,-0.428236,-0.656972,-0.814325,-0.56209,0.144505,-0.180395,0.731956,-0.656972,0.180395,0.731956,-0.656972,0.499893,0.564287,-0.656972,-0.499893,0.564287,-0.656972,0.704886,0.267312,-0.656972,-0.704886,0.267312,-0.656972,-0.748375,-0.090854,-0.656972,0.748375,-0.090854,-0.656972,0.620411,-0.428236,-0.656972,-0.620411,-0.428236,-0.656972,0.350322,-0.667531,-0.656972,-0.350322,-0.667531,-0.656972,0.0,-0.753868,-0.656972,-0.459822,-0.876156,0.144505,-0.350322,-0.667531,-0.656972,-0.350322,-0.667531,-0.656972,-0.459822,-0.876156,0.144505,0.766411,-0.529008,0.364299,0.432783,-0.82458,0.364299,0.766411,-0.529008,0.364299,0.924467,-0.112247,0.364299,0.775262,-0.094119,0.624531,0.64272,-0.443648,0.624531,0.0,-0.931272,0.364299,-0.432783,-0.82458,0.364299,-0.766411,-0.529008,0.364299,-0.924467,-0.112247,0.364299,-0.870754,0.33021,0.364299,-0.617542,0.697043,0.364299,-0.222846,0.904202,0.364299,0.222846,0.904202,0.364299,0.617542,0.697043,0.364299,0.870754,0.33021,0.364299,-0.432783,-0.82458,0.364299,-0.617542,0.697043,0.364299,0.617542,0.697043,0.364299,-0.186895,0.758263,0.624531,-0.517869,0.584552,0.624531,-0.234962,0.265206,0.935118,-0.08478,0.344035,0.935118,-0.775262,-0.094119,0.624531,-0.730216,0.276925,0.624531,0.730216,0.276925,0.624531,-0.64272,-0.443648,0.624531,0.517869,0.584552,0.624531,-0.362926,-0.691519,0.624531,0.186895,0.758263,0.624531,0.517869,0.584552,0.624531,0.0,-0.780969,0.624531,-0.362926,-0.691519,0.624531,-0.186895,0.758263,0.624531,0.362926,-0.691519,0.624531,-0.517869,0.584552,0.624531,0.64272,-0.443648,0.624531,-0.517869,0.584552,0.624531,0.08478,0.344035,0.935118,0.234962,0.265206,0.935118,0.331278,0.125645,0.935118,-0.331278,0.125645,0.935118,-0.351726,-0.042695,0.935118,0.351726,-0.042695,0.935118,0.291604,-0.20127,0.935118,-0.291604,-0.20127,0.935118,-0.164647,-0.31373,0.935118,0.164647,-0.31373,0.935118,0.0,-0.35432,0.935118,0.362926,-0.691519,0.624531,0.64272,-0.443648,0.624531,-0.730216,0.276925,0.624531,0.775262,-0.094119,0.624531,-0.775262,-0.094119,0.624531,0.730216,0.276925,0.624531,-0.64272,-0.443648,0.624531,0.517869,0.584552,0.624531,-0.362926,-0.691519,0.624531,0.186895,0.758263,0.624531,0.0,-0.780969,0.624531,-0.474441,0.0,-0.880276,0.535325,-0.045076,-0.84341,0.601001,-0.407788,-0.687338,-0.492752,-0.379192,-0.783166,0.558031,-0.707144,-0.434187,-0.548112,-0.658681,-0.515397,-0.548112,-0.658681,-0.515397,0.558031,-0.707144,-0.434187,0.446028,-0.8923,-0.069552,-0.635426,-0.757225,-0.151006,0.293924,-0.88937,0.350108,-0.730827,-0.654439,0.193793,0.093173,-0.686514,0.721091,-0.801508,-0.420057,0.42555,-0.801508,-0.420057,0.42555,0.093173,-0.686514,0.721091,-0.24015,-0.307566,0.920713,-0.835231,-0.141972,0.531175,-0.569048,0.133641,0.811335,-0.835231,0.141972,0.531175,-0.668264,0.460616,0.584124,-0.801508,0.420057,0.42555,-0.801508,0.420057,0.42555,-0.668264,0.460616,0.584124,-0.636402,0.709769,0.30192,-0.730827,0.654439,0.193793,-0.500229,0.860927,-0.092257,-0.635395,0.757225,-0.151006,-0.211707,0.787225,-0.57915,-0.548112,0.658681,-0.515397,0.251686,0.397992,-0.882168,-0.211707,0.787225,-0.57915,0.104221,0.861782,-0.496384,0.237495,0.558428,-0.794824,-0.492752,0.379192,-0.783166,-0.548112,0.658681,-0.515397,-0.730827,0.654439,0.193793,-0.635395,0.757225,-0.151006,-0.548112,0.658681,-0.515397,-0.801508,0.420057,0.42555,-0.492752,0.379192,-0.783166,-0.835231,0.141972,0.531175,-0.474441,0.0,-0.880276,-0.835231,-0.141972,0.531175,-0.492752,-0.379192,-0.783166,-0.801508,-0.420057,0.42555,-0.548112,-0.658681,-0.515397,-0.730827,-0.654439,0.193793,-0.635426,-0.757225,-0.151006,0.104343,-0.768303,-0.631489,0.3343,-0.317728,-0.887265,0.39787,-0.533586,-0.746269,0.273629,-0.83636,-0.47496,-0.500229,0.860927,-0.092257,-0.636402,0.709769,0.30192,0.001251,0.944578,0.328196,0.043275,0.99469,-0.093326,-0.668264,0.460616,0.584124,-0.569048,0.133641,0.811335,-0.186316,0.358623,0.91467,-0.0553,0.721732,0.689932,-0.3184,-0.526658,0.788171,-0.401715,-0.081515,0.912107,0.293924,-0.88937,0.350108,0.446028,-0.8923,-0.069552,-0.013886,-0.992248,-0.123264,-0.124668,-0.897458,0.423078,0.558031,-0.707144,-0.434187,0.601001,-0.407788,-0.687338,0.3343,-0.317728,-0.887265,0.104343,-0.768303,-0.631489,0.434919,0.134739,-0.890316,0.3343,-0.317728,-0.887265,-0.211707,0.787225,-0.57915,0.104221,0.861782,-0.496384,-0.186316,0.358623,0.91467,0.093173,-0.686514,0.721091,-0.3184,-0.526658,0.788171,0.951903,0.239387,-0.191107,0.960875,0.275124,-0.031098,0.946287,0.291452,0.139836,0.870083,0.26957,0.41261,0.896664,0.1507,-0.416242,0.608081,0.062532,0.791375,0.675832,-0.120762,-0.727073,0.361553,-0.336772,0.869381,0.39787,-0.533586,-0.746269,0.259896,-0.693716,0.671682,0.273629,-0.83636,-0.47496,0.22541,-0.918271,0.325449,0.229041,-0.969665,-0.085055,0.001251,0.944578,0.328196,-0.0553,0.721732,0.689932,-0.013886,-0.992248,-0.123264,0.229041,-0.969665,-0.085055,0.043275,0.99469,-0.093326,-0.124668,-0.897458,0.423078,0.22541,-0.918271,0.325449,0.104221,0.861782,-0.496384,-0.3184,-0.526658,0.788171,0.259896,-0.693716,0.671682,0.237495,0.558428,-0.794824,-0.401715,-0.081515,0.912107,0.361553,-0.336772,0.869381,0.896664,0.1507,-0.416242,0.675832,-0.120762,-0.727073,0.361553,-0.336772,0.869381,0.608081,0.062532,0.791375,0.39787,-0.533586,-0.746269,-0.0553,0.721732,0.689932,0.870083,0.26957,0.41261,0.474441,0.0,-0.880276,0.492752,-0.379192,-0.783166,-0.601001,-0.407788,-0.687338,-0.535325,-0.045076,-0.84341,0.548112,-0.658681,-0.515397,-0.558031,-0.707144,-0.434187,0.548112,-0.658681,-0.515397,0.635426,-0.757225,-0.151006,-0.446028,-0.8923,-0.069552,-0.558031,-0.707144,-0.434187,0.730827,-0.654439,0.193793,-0.293924,-0.88937,0.350108,0.801508,-0.420057,0.42555,-0.093173,-0.686514,0.721091,0.801508,-0.420057,0.42555,0.835231,-0.141972,0.531175,0.24015,-0.307566,0.920713,-0.093173,-0.686514,0.721091,0.835231,0.141972,0.531175,0.569048,0.133641,0.811335,0.801508,0.420057,0.42555,0.668264,0.460616,0.584124,0.801508,0.420057,0.42555,0.730827,0.654439,0.193793,0.636402,0.709769,0.30192,0.668264,0.460616,0.584124,0.635395,0.757225,-0.151006,0.500229,0.860927,-0.092257,0.548112,0.658681,-0.515397,0.211707,0.787225,-0.57915,-0.251686,0.397992,-0.882168,-0.237495,0.558428,-0.794824,-0.104221,0.861782,-0.496384,0.211707,0.787225,-0.57915,0.492752,0.379223,-0.783166,0.548112,0.658681,-0.515397,0.548112,0.658681,-0.515397,0.635395,0.757225,-0.151006,0.730827,0.654439,0.193793,0.801508,0.420057,0.42555,0.492752,0.379223,-0.783166,0.835231,0.141972,0.531175,0.474441,0.0,-0.880276,0.835231,-0.141972,0.531175,0.492752,-0.379192,-0.783166,0.801508,-0.420057,0.42555,0.548112,-0.658681,-0.515397,0.730827,-0.654439,0.193793,0.635426,-0.757225,-0.151006,-0.104343,-0.768303,-0.631489,-0.273629,-0.83636,-0.47496,-0.39787,-0.533586,-0.746269,-0.3343,-0.317728,-0.887265,0.500229,0.860927,-0.092257,-0.043275,0.99469,-0.093326,-0.001251,0.944578,0.328196,0.636402,0.709769,0.30192,0.668264,0.460616,0.584124,0.055269,0.721732,0.689901,0.186316,0.358623,0.91467,0.569048,0.133641,0.811335,0.401715,-0.081515,0.912107,0.3184,-0.526658,0.788171,-0.293924,-0.88937,0.350108,0.124668,-0.897458,0.423078,0.013886,-0.992248,-0.123234,-0.446028,-0.8923,-0.069552,-0.558031,-0.707144,-0.434187,-0.104343,-0.768303,-0.631489,-0.3343,-0.317728,-0.887265,-0.601001,-0.407788,-0.687338,-0.434919,0.134739,-0.890316,-0.434919,0.134739,-0.890316,-0.535325,-0.045076,-0.84341,0.211707,0.787225,-0.57915,-0.104221,0.861782,-0.496384,0.186316,0.358623,0.91467,-0.093173,-0.686514,0.721091,0.3184,-0.526658,0.788171,-0.946287,0.291452,0.139836,-0.960875,0.275124,-0.031098,-0.951903,0.239387,-0.191107,-0.870083,0.26957,0.41261,-0.896664,0.1507,-0.416242,-0.608081,0.062532,0.791375,-0.675832,-0.120762,-0.727073,-0.361553,-0.336802,0.869381,-0.39787,-0.533586,-0.746269,-0.259926,-0.693716,0.671682,-0.273629,-0.83636,-0.47496,-0.225379,-0.918271,0.325449,-0.229072,-0.969665,-0.085086,-0.001251,0.944578,0.328196,0.055269,0.721732,0.689901,0.013886,-0.992248,-0.123234,-0.229072,-0.969665,-0.085086,-0.043275,0.99469,-0.093326,0.124668,-0.897458,0.423078,-0.225379,-0.918271,0.325449,-0.104221,0.861782,-0.496384,0.3184,-0.526658,0.788171,-0.259926,-0.693716,0.671682,-0.237495,0.558428,-0.794824,0.401715,-0.081515,0.912107,-0.361553,-0.336802,0.869381,-0.675832,-0.120762,-0.727073,-0.896664,0.1507,-0.416242,-0.608081,0.062532,0.791375,-0.361553,-0.336802,0.869381,-0.3343,-0.317728,-0.887265,-0.39787,-0.533586,-0.746269,0.055269,0.721732,0.689901,-0.870083,0.26957,0.41261,-0.682058,0.0,-0.731284,0.197882,-0.063692,-0.978149,0.360271,-0.463607,-0.809473,-0.682058,-0.339824,-0.647511,0.418897,-0.75512,-0.504257,-0.682058,-0.601825,-0.415418,-0.682058,-0.601825,-0.415418,0.418897,-0.75512,-0.504257,0.431898,-0.895108,-0.110446,-0.682058,-0.725944,-0.088137,0.410352,-0.858882,0.306406,-0.682058,-0.683767,0.259316,0.335398,-0.654347,0.677725,-0.682058,-0.484909,0.54738,-0.682058,-0.484909,0.54738,0.335398,-0.654347,0.677725,0.131809,-0.305307,0.943083,-0.682058,-0.174993,0.710013,-0.245796,0.160253,0.955962,-0.682058,0.174993,0.710013,-0.479629,0.55266,0.681509,-0.682058,0.484909,0.54738,-0.682058,0.484909,0.54738,-0.479629,0.55266,0.681509,-0.55031,0.777276,0.30491,-0.682058,0.683767,0.259316,-0.542222,0.832087,-0.116642,-0.682058,0.725944,-0.088137,-0.444807,0.709738,-0.546251,-0.682058,0.601825,-0.415418,0.121738,-0.175268,-0.976959,0.777978,0.210974,-0.591754,1.0,0.0,-0.0,1.0,0.0,-0.0,-0.682058,0.339824,-0.647511,-0.157628,0.388287,-0.907926,-0.682058,0.601825,-0.415418,-0.444807,0.709738,-0.546251,-0.682058,0.683767,0.259316,-0.682058,0.725944,-0.088137,-0.682058,0.601825,-0.415418,-0.682058,0.484909,0.54738,-0.682058,0.339824,-0.647511,-0.682058,0.174993,0.710013,-0.682058,0.0,-0.731284,-0.682058,-0.174993,0.710013,-0.682058,-0.339824,-0.647511,-0.682058,-0.484909,0.54738,-0.682058,-0.601825,-0.415418,-0.682058,-0.683767,0.259316,-0.682058,-0.725944,-0.088137,0.418897,-0.75512,-0.504257,0.360271,-0.463607,-0.809473,0.278268,-0.308756,-0.909513,0.038911,-0.75988,-0.648854,0.410352,-0.858882,0.306406,0.431898,-0.895108,-0.110446,-0.049562,-0.988647,-0.141728,-0.11652,-0.905332,0.408368,-0.234901,-0.544877,0.804895,-0.322245,-0.074801,0.943693,-0.479629,0.55266,0.681509,-0.245796,0.160253,0.955962,-0.097934,0.375347,0.921659,0.008484,0.730918,0.682394,-0.542222,0.832087,-0.116642,-0.55031,0.777276,0.30491,0.042695,0.947539,0.316752,0.067446,0.992126,-0.10538,-0.157628,0.388287,-0.907926,-0.444807,0.709738,-0.546251,0.105075,0.855464,-0.507035,0.186285,0.557329,-0.809107,0.335398,-0.654347,0.677725,-0.234901,-0.544877,0.804895,-0.097934,0.375347,0.921659,0.343486,0.144932,-0.927885,0.278268,-0.308756,-0.909513,0.186285,0.557329,-0.809107,-0.049562,-0.988647,-0.141728,0.038911,-0.75988,-0.648854,-0.853938,-0.45439,-0.253548,-0.902432,-0.429273,-0.035554,0.042695,0.947539,0.316752,0.008484,0.730918,0.682394,0.661306,0.402173,0.633168,0.8811,0.424512,0.208289,0.278268,-0.308756,-0.909513,-0.657552,-0.44496,-0.607929,0.008484,0.730918,0.682394,-0.218787,0.066012,0.97351,0.661306,0.402173,0.633168,0.121738,-0.175268,-0.976959,-0.657552,-0.44496,-0.607929,-0.755089,-0.239357,0.61034,0.343486,0.144932,-0.927885,0.186285,0.557329,-0.809107,0.777978,0.210974,-0.591754,0.121738,-0.175268,-0.976959,-0.322245,-0.074801,0.943693,-0.234901,-0.544877,0.804895,-0.877316,-0.344798,0.33372,-0.755089,-0.239357,0.61034,0.105075,0.855464,-0.507035,0.901578,0.338389,-0.269448,-0.11652,-0.905332,0.408368,-0.907529,-0.395459,0.14124,0.067446,0.992126,-0.10538,0.918455,0.39317,-0.04236,1.0,0.0,-0.0,1.0,0.0,-0.0,0.999969,0.0,-0.0,1.0,0.0,-0.0,1.0,0.0,-0.0,1.0,0.0,-0.0,1.0,0.0,-0.0,1.0,0.0,-0.0,1.0,0.0,-0.0,1.0,0.0,-0.0,1.0,0.0,-0.0,1.0,0.0,-0.0,1.0,0.0,-0.0,-0.657552,-0.44496,-0.607929,1.0,0.0,-0.0,0.901578,0.338389,-0.269448,0.918455,0.39317,-0.04236,1.0,0.0,-0.0,1.0,0.0,-0.0,0.8811,0.424512,0.208289,0.661306,0.402173,0.633168,1.0,0.0,-0.0,0.999969,0.0,-0.0,-0.218787,0.066012,0.97351,-0.755089,-0.239357,0.61034,1.0,0.0,-0.0,1.0,0.0,-0.0,-0.877316,-0.344798,0.33372,-0.907529,-0.395459,0.14124,1.0,0.0,-0.0,1.0,0.0,-0.0,-0.902432,-0.429273,-0.035554,-0.853938,-0.45439,-0.253548,1.0,0.0,-0.0,1.0,0.0,-0.0,0.682058,0.0,-0.731284,0.682058,-0.339824,-0.647511,-0.360271,-0.463607,-0.809473,-0.197882,-0.063692,-0.978149,0.682058,-0.601825,-0.415418,-0.418897,-0.75512,-0.504257,0.682058,-0.601825,-0.415418,0.682058,-0.725944,-0.088137,-0.431898,-0.895108,-0.110446,-0.418897,-0.75512,-0.504257,0.682058,-0.683767,0.259316,-0.410352,-0.858882,0.306406,0.682058,-0.484909,0.547349,-0.335398,-0.654347,0.677725,0.682058,-0.484909,0.547349,0.682058,-0.174993,0.710013,-0.131809,-0.305307,0.943083,-0.335398,-0.654347,0.677725,0.682058,0.174993,0.710013,0.245796,0.160253,0.955962,0.682058,0.484909,0.54738,0.479629,0.55266,0.681509,0.682058,0.484909,0.54738,0.682058,0.683767,0.259316,0.55031,0.777276,0.30491,0.479629,0.55266,0.681509,0.682058,0.725944,-0.088137,0.542222,0.832087,-0.116642,0.682058,0.601825,-0.415418,0.444807,0.709738,-0.546251,-0.121738,-0.175268,-0.976959,-1.0,0.0,-0.0,-1.0,0.0,-0.0,-0.777978,0.210974,-0.591754,0.682058,0.339824,-0.647511,0.157598,0.388287,-0.907926,0.682058,0.601825,-0.415418,0.444807,0.709738,-0.546251,0.682058,0.601825,-0.415418,0.682058,0.725944,-0.088137,0.682058,0.683767,0.259316,0.682058,0.484909,0.54738,0.682058,0.339824,-0.647511,0.682058,0.174993,0.710013,0.682058,0.0,-0.731284,0.682058,-0.174993,0.710013,0.682058,-0.339824,-0.647511,0.682058,-0.484909,0.547349,0.682058,-0.601825,-0.415418,0.682058,-0.683767,0.259316,0.682058,-0.725944,-0.088137,-0.418897,-0.75512,-0.504257,-0.038911,-0.759911,-0.648854,-0.278268,-0.308756,-0.909513,-0.360271,-0.463607,-0.809473,-0.410352,-0.858882,0.306406,0.11652,-0.905332,0.408368,0.049562,-0.988647,-0.141728,-0.431898,-0.895108,-0.110446,0.322245,-0.074801,0.943693,0.234901,-0.544877,0.804926,0.479629,0.55266,0.681509,-0.008484,0.730918,0.682394,0.097934,0.375347,0.921659,0.245796,0.160253,0.955962,0.542222,0.832087,-0.116642,-0.067446,0.992126,-0.10538,-0.042695,0.947539,0.316752,0.55031,0.777276,0.30491,0.157598,0.388287,-0.907926,-0.186285,0.557329,-0.809107,-0.105075,0.855464,-0.507035,0.444807,0.709738,-0.546251,-0.335398,-0.654347,0.677725,0.234901,-0.544877,0.804926,0.097934,0.375347,0.921659,-0.278268,-0.308756,-0.909513,-0.343486,0.144932,-0.927885,-0.186285,0.557329,-0.809107,0.049562,-0.988647,-0.141728,0.902432,-0.429304,-0.035554,0.853938,-0.45439,-0.253548,-0.038911,-0.759911,-0.648854,-0.042695,0.947539,0.316752,-0.8811,0.424512,0.208289,-0.661306,0.402173,0.633137,-0.008484,0.730918,0.682394,0.657582,-0.44496,-0.607898,-0.278268,-0.308756,-0.909513,-0.008484,0.730918,0.682394,-0.661306,0.402173,0.633137,0.218787,0.066012,0.97351,0.657582,-0.44496,-0.607898,-0.121738,-0.175268,-0.976959,0.755089,-0.239357,0.61034,-0.343486,0.144932,-0.927885,-0.121738,-0.175268,-0.976959,-0.777978,0.210974,-0.591754,-0.186285,0.557329,-0.809107,0.322245,-0.074801,0.943693,0.755089,-0.239357,0.61034,0.877316,-0.344798,0.33375,0.234901,-0.544877,0.804926,-0.901578,0.338389,-0.269448,-0.105075,0.855464,-0.507035,0.907529,-0.395459,0.14124,0.11652,-0.905332,0.408368,-0.918455,0.3932,-0.04236,-0.067446,0.992126,-0.10538,-1.0,0.0,-0.0,-1.0,0.0,-0.0,-1.0,0.0,-0.0,-1.0,0.0,-0.0,-1.0,0.0,-0.0,-1.0,0.0,-0.0,-1.0,0.0,-0.0,-1.0,0.0,-0.0,-1.0,0.0,-0.0,-1.0,0.0,-0.0,-1.0,0.0,-0.0,-1.0,0.0,-0.0,-1.0,0.0,-0.0,0.657582,-0.44496,-0.607898,-1.0,0.0,-0.0,-0.901578,0.338389,-0.269448,-1.0,0.0,-0.0,-1.0,0.0,-0.0,-0.918455,0.3932,-0.04236,-0.8811,0.424512,0.208289,-1.0,0.0,-0.0,-1.0,0.0,-0.0,-0.661306,0.402173,0.633137,0.218787,0.066012,0.97351,-1.0,0.0,-0.0,-1.0,0.0,-0.0,0.755089,-0.239357,0.61034,0.877316,-0.344798,0.33375,-1.0,0.0,-0.0,-1.0,0.0,-0.0,0.907529,-0.395459,0.14124,0.902432,-0.429304,-0.035554,-1.0,0.0,-0.0,-1.0,0.0,-0.0,0.853938,-0.45439,-0.253548,-0.656972,0.0,-0.753868,0.0,0.0,-1.0,0.0,-0.464705,-0.885433,-0.656972,-0.350322,-0.667531,0.0,-0.822962,-0.568041,-0.656972,-0.620411,-0.428236,-0.656972,-0.620411,-0.428236,0.0,-0.822962,-0.568041,0.0,-0.992706,-0.120518,-0.656972,-0.748375,-0.090854,0.0,-0.934996,0.354595,-0.656972,-0.704886,0.267312,0.0,-0.663106,0.748497,-0.656972,-0.499893,0.564287,-0.656972,-0.499893,0.564287,0.0,-0.663106,0.748497,0.0,-0.239296,0.970916,-0.656972,-0.180395,0.731956,0.0,0.239296,0.970916,-0.656972,0.180395,0.731956,0.0,0.663106,0.748497,-0.656972,0.499893,0.564287,-0.656972,0.499893,0.564287,0.0,0.663106,0.748497,0.0,0.934996,0.354595,-0.656972,0.704886,0.267312,0.0,0.992706,-0.120518,-0.656972,0.748375,-0.090854,0.0,0.822962,-0.568041,-0.656972,0.620441,-0.428236,0.0,0.464705,-0.885433,0.0,0.822962,-0.568041,-0.780602,0.479202,-0.401227,-0.474258,0.291147,-0.830836,-0.656972,0.350322,-0.667531,0.0,0.464705,-0.885433,-0.656972,0.620441,-0.428236,0.0,0.822962,-0.568041,-0.656972,0.704886,0.267312,-0.656972,0.748375,-0.090854,-0.656972,0.620441,-0.428236,-0.656972,0.499893,0.564287,-0.656972,0.350322,-0.667531,-0.656972,0.180395,0.731956,-0.656972,0.0,-0.753868,-0.656972,-0.180395,0.731956,-0.656972,-0.350322,-0.667531,-0.656972,-0.499893,0.564287,-0.656972,-0.620411,-0.428236,-0.656972,-0.704886,0.267312,-0.656972,-0.748375,-0.090854,0.676107,-0.415052,-0.608753,0.239082,-0.146764,-0.959838,-0.128086,0.160924,-0.978607,-0.176305,-0.326914,-0.928434,0.0,0.992706,-0.120518,0.0,0.934996,0.354595,-0.829859,0.509445,0.227424,-0.849879,0.521744,-0.073611,0.0,0.663106,0.748497,0.0,0.239296,0.970916,-0.137669,0.084506,0.986847,-0.677633,0.415998,0.606403,0.0,-0.239296,0.970916,0.0,-0.663106,0.748497,0.764611,-0.469405,0.441542,0.515275,-0.316324,0.796472,0.0,-0.934996,0.354595,0.0,-0.992706,-0.120518,0.850856,-0.522324,-0.056429,0.839442,-0.515336,0.17246,0.0,-0.822962,-0.568041,0.0,-0.464705,-0.885433,0.676107,-0.415052,-0.608753,0.813379,-0.499344,-0.298379,0.0,0.0,-1.0,0.239082,-0.146764,-0.959838,-0.001343,0.574419,-0.818537,0.031617,0.863826,-0.502731,0.930662,0.272134,-0.244423,0.749138,0.202643,-0.630634,-0.677633,0.415998,0.606403,-0.137669,0.084506,0.986847,0.136143,0.362896,0.921812,0.082766,0.721427,0.68749,0.813379,-0.499344,-0.298379,0.676107,-0.415052,-0.608753,-0.176305,-0.326914,-0.928434,-0.106052,-0.768212,-0.631306,-0.829859,0.509445,0.227424,-0.677633,0.415998,0.606403,0.082766,0.721427,0.68749,0.057649,0.944029,0.324717,0.850856,-0.522324,-0.056429,-0.066622,-0.989776,-0.126011,-0.849879,0.521744,-0.073611,0.044099,0.994232,-0.097537,0.839442,-0.515336,0.17246,-0.0365,-0.905698,0.422285,-0.780602,0.479202,-0.401227,0.031617,0.863826,-0.502731,0.764611,-0.469405,0.441542,0.038179,-0.551286,0.833399,-0.474258,0.291147,-0.830836,-0.001343,0.574419,-0.818537,0.515275,-0.316324,0.796472,0.764611,-0.469405,0.441542,0.038179,-0.551286,0.833399,0.182562,-0.077425,0.980132,-0.474258,0.291147,-0.830836,-0.001343,0.574419,-0.818537,0.96466,0.259499,-0.04532,0.967132,0.234809,0.097476,0.945341,0.188147,0.266305,0.824122,0.042604,0.564745,0.410413,-0.138981,-0.901212,0.481857,-0.344951,0.805475,0.257576,-0.534745,-0.804773,0.283151,-0.715323,0.638844,0.203772,-0.831629,-0.516556,0.2125,-0.9335,0.288736,0.192083,-0.973327,-0.125217,0.283151,-0.715323,0.638844,0.481857,-0.344951,0.805475,0.749138,0.202643,-0.630634,0.410413,-0.138981,-0.901212,0.824122,0.042604,0.564745,0.257576,-0.534745,-0.804773,0.082766,0.721427,0.68749,0.136143,0.362896,0.921812,-0.106052,-0.768212,-0.631306,-0.176305,-0.326914,-0.928434,0.257576,-0.534745,-0.804773,0.203772,-0.831629,-0.516556,0.057649,0.944029,0.324717,-0.066622,-0.989776,-0.126011,0.192083,-0.973327,-0.125217,0.044099,0.994232,-0.097537,-0.0365,-0.905698,0.422285,0.2125,-0.9335,0.288736,0.038179,-0.551286,0.833399,0.283151,-0.715323,0.638844,0.656972,0.0,-0.753868,0.656972,-0.350322,-0.667531,0.0,-0.464705,-0.885433,0.0,0.0,-1.0,0.656972,-0.620411,-0.428236,0.0,-0.822962,-0.568041,0.656972,-0.620411,-0.428236,0.656972,-0.748375,-0.090854,0.0,-0.992706,-0.120518,0.0,-0.822962,-0.568041,0.656972,-0.704886,0.267312,0.0,-0.934996,0.354595,0.656972,-0.499893,0.564287,0.0,-0.663106,0.748497,0.656972,-0.499893,0.564287,0.656972,-0.180395,0.731956,0.0,-0.239296,0.970916,0.0,-0.663106,0.748497,0.656972,0.180395,0.731956,0.0,0.239296,0.970916,0.656972,0.499924,0.564287,0.0,0.663106,0.748497,0.656972,0.499924,0.564287,0.656972,0.704886,0.267312,0.0,0.934996,0.354595,0.0,0.663106,0.748497,0.656972,0.748375,-0.090854,0.0,0.992706,-0.120518,0.656972,0.620411,-0.428236,0.0,0.822962,-0.568041,0.0,0.464705,-0.885433,0.474258,0.291147,-0.830836,0.780602,0.479202,-0.401227,0.0,0.822962,-0.568041,0.656972,0.350322,-0.667531,0.0,0.464705,-0.885433,0.656972,0.620411,-0.428236,0.0,0.822962,-0.568041,0.656972,0.620411,-0.428236,0.656972,0.748375,-0.090854,0.656972,0.704886,0.267312,0.656972,0.499924,0.564287,0.656972,0.350322,-0.667531,0.656972,0.180395,0.731956,0.656972,0.0,-0.753868,0.656972,-0.180395,0.731956,0.656972,-0.350322,-0.667531,0.656972,-0.499893,0.564287,0.656972,-0.620411,-0.428236,0.656972,-0.704886,0.267312,0.656972,-0.748375,-0.090854,-0.676107,-0.415052,-0.608753,0.176305,-0.326914,-0.928434,0.128086,0.160924,-0.978607,-0.239082,-0.146764,-0.959807,0.0,0.992706,-0.120518,0.849879,0.521744,-0.073641,0.829859,0.509445,0.227424,0.0,0.934996,0.354595,0.0,0.663106,0.748497,0.677633,0.415998,0.606403,0.137669,0.084506,0.986847,0.0,0.239296,0.970916,0.0,-0.239296,0.970916,-0.515275,-0.316324,0.796472,-0.764641,-0.469405,0.441542,0.0,-0.663106,0.748497,0.0,-0.934996,0.354595,-0.839442,-0.515336,0.172491,-0.850856,-0.522324,-0.056429,0.0,-0.992706,-0.120518,0.0,-0.822962,-0.568041,-0.813379,-0.499344,-0.298379,-0.676107,-0.415052,-0.608753,0.0,-0.464705,-0.885433,0.0,0.0,-1.0,-0.239082,-0.146764,-0.959807,0.001343,0.574419,-0.818537,-0.749138,0.202643,-0.630634,-0.930662,0.272134,-0.244453,-0.031617,0.863826,-0.502731,0.677633,0.415998,0.606403,-0.082766,0.721427,0.68749,-0.136143,0.362896,0.921812,0.137669,0.084506,0.986847,-0.813379,-0.499344,-0.298379,0.106052,-0.768212,-0.631306,0.176305,-0.326914,-0.928434,-0.676107,-0.415052,-0.608753,0.829859,0.509445,0.227424,-0.057649,0.944029,0.324717,-0.082766,0.721427,0.68749,0.677633,0.415998,0.606403,-0.850856,-0.522324,-0.056429,0.066622,-0.989776,-0.126011,0.849879,0.521744,-0.073641,-0.044099,0.994232,-0.097537,-0.839442,-0.515336,0.172491,0.0365,-0.905698,0.422285,0.780602,0.479202,-0.401227,-0.031617,0.863826,-0.502731,-0.764641,-0.469405,0.441542,-0.038148,-0.551286,0.833399,0.474258,0.291147,-0.830836,0.001343,0.574419,-0.818537,-0.515275,-0.316324,0.796472,-0.182562,-0.077425,0.980132,-0.038148,-0.551286,0.833399,-0.764641,-0.469405,0.441542,0.001343,0.574419,-0.818537,0.474258,0.291147,-0.830836,-0.967132,0.234809,0.097476,-0.96466,0.259499,-0.04532,-0.945341,0.188147,0.266274,-0.824152,0.042604,0.564745,-0.410413,-0.138981,-0.901212,-0.481857,-0.344951,0.805475,-0.257576,-0.534745,-0.804773,-0.283151,-0.715293,0.638844,-0.203772,-0.831629,-0.516556,-0.2125,-0.9335,0.288736,-0.192083,-0.973327,-0.125217,-0.481857,-0.344951,0.805475,-0.283151,-0.715293,0.638844,-0.410413,-0.138981,-0.901212,-0.749138,0.202643,-0.630634,-0.824152,0.042604,0.564745,-0.257576,-0.534745,-0.804773,-0.082766,0.721427,0.68749,-0.136143,0.362896,0.921812,0.106052,-0.768212,-0.631306,-0.203772,-0.831629,-0.516556,-0.257576,-0.534745,-0.804773,0.176305,-0.326914,-0.928434,-0.057649,0.944029,0.324717,0.066622,-0.989776,-0.126011,-0.192083,-0.973327,-0.125217,-0.044099,0.994232,-0.097537,0.0365,-0.905698,0.422285,-0.2125,-0.9335,0.288736,-0.038148,-0.551286,0.833399,-0.283151,-0.715293,0.638844,-0.512314,0.0,-0.85876,-0.950438,0.0,-0.3108,-0.906217,0.350322,-0.236641,-0.453627,0.464705,-0.760399,-0.453627,0.464705,-0.760399,-0.906217,0.350322,-0.236641,-0.783624,0.620411,-0.031159,-0.291025,0.822962,-0.487838,-0.610767,0.748375,0.258553,-0.061739,0.992706,-0.103488,-0.427229,0.704886,0.566179,0.181677,0.934996,0.304514,-0.275094,0.499893,0.821192,0.383465,0.663106,0.642781,0.383465,0.663106,0.642781,-0.275094,0.499893,0.821192,-0.189184,0.180395,0.965209,0.497421,0.239296,0.833827,-0.189184,-0.180395,0.965209,0.497421,-0.239296,0.833827,-0.275094,-0.499893,0.821192,0.383465,-0.663106,0.642781,0.383465,-0.663106,0.642781,-0.275094,-0.499893,0.821192,-0.427229,-0.704886,0.566179,0.181646,-0.934996,0.304514,-0.610767,-0.748375,0.258553,-0.061739,-0.992706,-0.103488,-0.783624,-0.620411,-0.031159,-0.291025,-0.822962,-0.487838,-0.427229,0.704886,0.566179,-0.610767,0.748375,0.258553,-0.783624,0.620411,-0.031159,-0.275094,0.499893,0.821192,-0.906217,0.350322,-0.236641,-0.189184,0.180395,0.965209,-0.950438,0.0,-0.3108,-0.189184,-0.180395,0.965209,-0.906217,-0.350322,-0.236641,-0.275094,-0.499893,0.821192,-0.783624,-0.620411,-0.031159,-0.427229,-0.704886,0.566179,-0.610767,-0.748375,0.258553,-0.453627,-0.464705,-0.760399,-0.906217,-0.350322,-0.236641,-0.906217,-0.350322,-0.236641,-0.453627,-0.464705,-0.760399,-0.291025,-0.822962,-0.487838,-0.453627,-0.464705,-0.760399,-0.453627,-0.464705,-0.760399,-0.291025,-0.822962,-0.487838,-0.512314,0.0,-0.85876,-0.453627,0.464705,-0.760399,-0.824122,0.395062,-0.405866,-0.833064,0.213233,-0.510392,-0.832301,-0.036897,-0.553056,0.181646,-0.934996,0.304514,-0.061739,-0.992706,-0.103488,-0.061739,-0.992706,-0.103488,0.181646,-0.934996,0.304514,0.497421,-0.239296,0.833827,0.383465,-0.663106,0.642781,0.383465,-0.663106,0.642781,0.497421,-0.239296,0.833827,0.383465,0.663106,0.642781,0.497421,0.239296,0.833827,0.497421,0.239296,0.833827,0.383465,0.663106,0.642781,-0.061739,0.992706,-0.103488,0.181677,0.934996,0.304514,0.181677,0.934996,0.304514,-0.061739,0.992706,-0.103488,-0.453627,0.464705,-0.760399,-0.291025,0.822962,-0.487838,-0.291025,0.822962,-0.487838,-0.453627,0.464705,-0.760399,-0.512314,0.0,-0.85876,-0.512314,0.0,-0.85876,-0.827631,-0.525529,-0.196966,-0.955718,-0.255867,-0.145146,-0.215003,-0.484298,-0.848048,-0.134617,-0.637959,-0.758202,0.497421,-0.239296,0.833827,0.383465,-0.663106,0.642781,0.81756,-0.228614,0.528459,0.803095,-0.410565,0.431806,0.72512,-0.592517,0.35081,-0.453627,0.464705,-0.760399,-0.742363,0.585162,-0.326243,-0.824122,0.395062,-0.405866,-0.665059,0.728507,-0.164037,-0.291025,0.822962,-0.487838,0.181646,-0.934996,0.304514,0.533372,-0.84228,0.07767,0.653432,-0.730735,0.197516,0.72512,-0.592517,0.35081,0.383465,-0.663106,0.642781,-0.537217,0.841853,-0.051271,-0.358226,0.923063,0.139866,-0.061739,0.992706,-0.103488,-0.061739,-0.992706,-0.103488,0.252449,-0.938688,-0.234687,0.391797,-0.91409,-0.104495,-0.211341,0.942351,0.259316,0.132481,0.901303,0.412366,0.181677,0.934996,0.304514,-0.291025,-0.822962,-0.487838,-0.146977,-0.853267,-0.50029,-0.011383,-0.917203,-0.398236,0.26664,0.822626,0.502121,0.584124,0.600391,0.546159,0.383465,0.663106,0.642781,-0.453627,-0.464705,-0.760399,-0.610614,-0.513779,-0.602619,-0.50499,-0.655965,-0.56093,0.383465,0.663106,0.642781,0.497421,0.239296,0.833827,0.584124,0.600391,0.546159,0.67748,0.445845,0.584979,0.786431,0.189795,0.587725,-0.453627,-0.464705,-0.760399,-0.780053,-0.222297,-0.584857,-0.610614,-0.513779,-0.602619,0.827815,0.0,0.560961,0.690725,0.412152,-0.594104,0.713004,0.433637,-0.55092,0.834986,0.310495,-0.454237,0.861721,0.314249,-0.398297,0.905576,0.224158,-0.360057,0.361309,0.509995,-0.780572,0.342387,0.465499,-0.816095,0.937681,0.201605,-0.282968,0.952727,0.133061,-0.27311,-0.051363,0.304025,-0.951262,-0.06003,0.213935,-0.974975,0.986358,0.055269,-0.154912,0.986755,0.0,-0.162145,-0.224982,-0.087466,-0.970397,-0.201025,-0.227058,-0.952879,0.975616,-0.216742,0.03412,-0.215003,-0.484298,-0.848048,0.964354,-0.26429,0.011109,0.74984,-0.638844,0.171941,-0.134617,-0.637959,-0.758202,-0.081301,-0.792077,-0.604938,0.721213,-0.682516,0.11829,0.421369,-0.906705,0.016053,0.070498,-0.896268,-0.437849,0.139073,-0.946898,-0.289865,0.367992,-0.925565,-0.088687,0.926725,0.330058,0.179388,0.951292,0.235542,0.198859,-0.972228,-0.159062,-0.171545,-0.973357,0.070193,-0.218177,-0.224982,-0.087466,-0.970397,-0.201025,-0.227058,-0.952879,0.982879,0.0,0.184118,0.978362,-0.101352,0.180334,-0.960631,0.168096,-0.221076,-0.79458,0.486007,-0.363872,-0.051363,0.304025,-0.951262,-0.06003,0.213935,-0.974975,0.888058,-0.364849,0.279672,0.842097,-0.479019,0.24778,-0.738151,0.58742,-0.331706,-0.414808,0.845515,-0.3361,0.361309,0.509995,-0.780572,0.342387,0.465499,-0.816095,0.521073,-0.789666,0.323832,0.371807,-0.899136,0.230842,0.421369,-0.906705,0.016053,0.721213,-0.682516,0.11829,-0.284188,0.928129,-0.240303,-0.048158,0.992676,-0.110721,0.713004,0.433637,-0.55092,0.690725,0.412152,-0.594104,0.049135,-0.992584,0.110996,-0.26603,-0.963683,-0.023103,0.139073,-0.946898,-0.289865,0.367992,-0.925565,-0.088687,0.187262,0.981903,0.0271,0.325053,0.935484,0.138462,-0.428114,-0.892941,-0.13892,-0.768181,-0.624744,-0.139805,-0.081301,-0.792077,-0.604938,0.070498,-0.896268,-0.437849,0.655507,0.729484,0.195257,0.723228,0.643574,0.250404,-0.146977,-0.853267,-0.50029,-0.50499,-0.655965,-0.56093,-0.610614,-0.513779,-0.602619,0.584124,0.600391,0.546159,0.67748,0.445845,0.584979,0.786431,0.189795,0.587725,-0.780053,-0.222297,-0.584857,-0.832301,-0.036897,-0.553056,0.827815,0.0,0.560961,0.81756,-0.228614,0.528459,-0.833064,0.213233,-0.510392,-0.824122,0.395062,-0.405866,0.803095,-0.410565,0.431806,0.72512,-0.592517,0.35081,-0.79458,0.486007,-0.363872,-0.051363,0.304025,-0.951262,-0.742363,0.585162,-0.326243,-0.738151,0.58742,-0.331706,-0.665059,0.728507,-0.164037,-0.414808,0.845515,-0.3361,0.842097,-0.479019,0.24778,0.74984,-0.638844,0.171941,0.653432,-0.730735,0.197516,0.521073,-0.789666,0.323832,0.533372,-0.84228,0.07767,0.371807,-0.899136,0.230842,-0.537217,0.841853,-0.051271,-0.284188,0.928129,-0.240303,-0.358226,0.923063,0.139866,-0.048158,0.992676,-0.110721,0.371807,-0.899136,0.230842,0.421369,-0.906705,0.016053,0.049135,-0.992584,0.110996,0.371807,-0.899136,0.230842,-0.26603,-0.963683,-0.023103,-0.048158,0.992676,-0.110721,0.187262,0.981903,0.0271,-0.048158,0.992676,-0.110721,0.325053,0.935484,0.138462,-0.428114,-0.892941,-0.13892,-0.768181,-0.624744,-0.139805,0.655507,0.729484,0.195257,0.723228,0.643574,0.250404,0.512314,0.0,-0.85876,0.453627,0.464705,-0.760399,0.906217,0.350322,-0.236641,0.950438,0.0,-0.3108,0.291025,0.822962,-0.487838,0.783624,0.620411,-0.031159,0.291025,0.822962,-0.487838,0.061739,0.992706,-0.103488,0.610767,0.748375,0.258553,0.783624,0.620411,-0.031159,-0.181677,0.934996,0.304514,0.427229,0.704886,0.566179,-0.383465,0.663106,0.642781,0.275094,0.499893,0.821192,-0.383465,0.663106,0.642781,-0.497421,0.239296,0.833827,0.189184,0.180395,0.965209,0.275094,0.499893,0.821192,-0.497421,-0.239296,0.833827,0.189184,-0.180395,0.965209,-0.383465,-0.663106,0.642781,0.275094,-0.499893,0.821192,-0.383465,-0.663106,0.642781,-0.181646,-0.934996,0.304514,0.427229,-0.704886,0.566179,0.275094,-0.499893,0.821192,0.061739,-0.992706,-0.103488,0.610767,-0.748375,0.258553,0.291025,-0.822962,-0.487838,0.783624,-0.620411,-0.031159,0.783624,0.620411,-0.031159,0.610767,0.748375,0.258553,0.427229,0.704886,0.566179,0.275094,0.499893,0.821192,0.906217,0.350322,-0.236641,0.189184,0.180395,0.965209,0.950438,0.0,-0.3108,0.189184,-0.180395,0.965209,0.906217,-0.350322,-0.236641,0.275094,-0.499893,0.821192,0.783624,-0.620411,-0.031159,0.427229,-0.704886,0.566179,0.610767,-0.748375,0.258553,0.453627,-0.464705,-0.760399,0.906217,-0.350322,-0.236641,0.453627,-0.464705,-0.760399,0.906217,-0.350322,-0.236641,0.291025,-0.822962,-0.487838,0.291025,-0.822962,-0.487838,0.453627,-0.464705,-0.760399,0.453627,-0.464705,-0.760399,0.512314,0.0,-0.85876,0.824122,0.395062,-0.405866,0.453627,0.464705,-0.760399,0.833033,0.213233,-0.510422,0.832301,-0.036897,-0.553056,-0.181646,-0.934996,0.304514,-0.181646,-0.934996,0.304514,0.061739,-0.992706,-0.103488,0.061739,-0.992706,-0.103488,-0.497421,-0.239296,0.833827,-0.497421,-0.239296,0.833827,-0.383465,-0.663106,0.642811,-0.383465,-0.663106,0.642781,-0.383465,0.663106,0.642781,-0.383465,0.663106,0.642781,-0.497421,0.239296,0.833827,-0.497421,0.239296,0.833827,0.061739,0.992706,-0.103488,0.061739,0.992706,-0.103488,-0.181646,0.934996,0.304514,-0.181677,0.934996,0.304514,0.453627,0.464705,-0.760399,0.453627,0.464705,-0.760399,0.291025,0.822962,-0.487838,0.291025,0.822962,-0.487838,0.512314,0.0,-0.85876,0.512314,0.0,-0.85876,0.827631,-0.525529,-0.196966,0.134617,-0.637959,-0.758202,0.215003,-0.484298,-0.848048,0.955718,-0.255867,-0.145146,-0.497421,-0.239296,0.833827,-0.81756,-0.228614,0.528459,-0.383465,-0.663106,0.642811,-0.803095,-0.410565,0.431776,-0.72512,-0.592517,0.35081,0.742332,0.585192,-0.326273,0.665059,0.728507,-0.164037,0.291025,0.822962,-0.487838,-0.653432,-0.730735,0.197516,-0.533372,-0.84228,0.07767,-0.181646,-0.934996,0.304514,-0.72512,-0.592517,0.35081,-0.383465,-0.663106,0.642811,0.291025,0.822962,-0.487838,0.665059,0.728507,-0.164037,0.537217,0.841853,-0.051241,0.358226,0.923063,0.139866,0.061739,0.992706,-0.103488,-0.391827,-0.91406,-0.104495,-0.252449,-0.938688,-0.234687,0.061739,-0.992706,-0.103488,0.211341,0.942351,0.259316,-0.132481,0.901303,0.412366,-0.181646,0.934996,0.304514,0.011383,-0.917203,-0.398236,0.146947,-0.853267,-0.50029,0.291025,-0.822962,-0.487838,-0.26664,0.822626,0.502121,-0.584094,0.600391,0.546159,-0.383465,0.663106,0.642781,0.50499,-0.655965,-0.56093,0.610614,-0.513779,-0.602619,0.453627,-0.464705,-0.760399,-0.383465,0.663106,0.642781,-0.584094,0.600391,0.546159,-0.497421,0.239296,0.833827,-0.67748,0.445814,0.584979,-0.786431,0.189795,0.587725,0.453627,-0.464705,-0.760399,0.780053,-0.222297,-0.584887,0.610614,-0.513779,-0.602619,-0.827815,0.0,0.560961,-0.834986,0.310495,-0.454237,-0.713004,0.433637,-0.55092,-0.690725,0.412152,-0.594104,-0.861721,0.314249,-0.398297,-0.905576,0.224158,-0.360057,-0.361309,0.509995,-0.780572,-0.342387,0.465499,-0.816126,-0.937681,0.201605,-0.282998,-0.952727,0.133061,-0.27311,0.051363,0.304025,-0.951262,0.059908,0.213935,-0.974975,-0.986358,0.055239,-0.154912,-0.986755,0.0,-0.162145,0.224982,-0.087497,-0.970397,0.201025,-0.227088,-0.952879,-0.975616,-0.216742,0.03412,0.215003,-0.484298,-0.848048,-0.964354,-0.264321,0.011139,-0.749809,-0.638874,0.171941,0.134617,-0.637959,-0.758202,0.081301,-0.792077,-0.604938,-0.721213,-0.682516,0.11829,-0.421369,-0.906735,0.016053,-0.070498,-0.896237,-0.43788,-0.368175,-0.925474,-0.088778,-0.139042,-0.946898,-0.289865,-0.926725,0.330058,0.179388,-0.951292,0.235511,0.198859,0.972228,-0.159062,-0.171545,0.201025,-0.227088,-0.952879,0.224982,-0.087497,-0.970397,0.973357,0.070193,-0.218177,-0.982879,0.0,0.184118,-0.978362,-0.101352,0.180334,0.960631,0.168096,-0.221076,0.059908,0.213935,-0.974975,0.051363,0.304025,-0.951262,0.79458,0.486007,-0.363872,-0.888058,-0.364849,0.279672,-0.842067,-0.479019,0.24778,0.738151,0.58742,-0.331706,-0.342387,0.465499,-0.816126,-0.361309,0.509995,-0.780572,0.414808,0.845515,-0.3361,-0.521073,-0.789666,0.323832,-0.721213,-0.682516,0.11829,-0.421369,-0.906735,0.016053,-0.371807,-0.899136,0.230842,0.284188,0.928129,-0.240303,-0.690725,0.412152,-0.594104,-0.713004,0.433637,-0.55092,0.048158,0.992676,-0.110721,-0.049135,-0.992584,0.110996,-0.368175,-0.925474,-0.088778,-0.139042,-0.946898,-0.289865,0.26603,-0.963683,-0.023103,-0.187262,0.981903,0.0271,-0.325083,0.935484,0.138462,0.428114,-0.892941,-0.13892,-0.070498,-0.896237,-0.43788,0.081301,-0.792077,-0.604938,0.768151,-0.624775,-0.139805,-0.655507,0.729484,0.195257,-0.723228,0.643574,0.250374,0.768151,-0.624775,-0.139805,0.827631,-0.525529,-0.196966,0.955718,-0.255867,-0.145146,-0.584094,0.600391,0.546159,-0.67748,0.445814,0.584979,-0.786431,0.189795,0.587725,0.610614,-0.513779,-0.602619,0.780053,-0.222297,-0.584887,0.832301,-0.036897,-0.553056,-0.827815,0.0,0.560961,-0.81756,-0.228614,0.528459,0.833033,0.213233,-0.510422,0.824122,0.395062,-0.405866,-0.803095,-0.410565,0.431776,-0.72512,-0.592517,0.35081,0.79458,0.486007,-0.363872,0.051363,0.304025,-0.951262,0.738151,0.58742,-0.331706,0.742332,0.585192,-0.326273,0.414808,0.845515,-0.3361,0.665059,0.728507,-0.164037,-0.842067,-0.479019,0.24778,-0.749809,-0.638874,0.171941,-0.521073,-0.789666,0.323832,-0.653432,-0.730735,0.197516,-0.371807,-0.899136,0.230842,-0.533372,-0.84228,0.07767,0.414808,0.845515,-0.3361,-0.361309,0.509995,-0.780572,0.284188,0.928129,-0.240303,0.537217,0.841853,-0.051241,0.048158,0.992676,-0.110721,0.358226,0.923063,0.139866,-0.049135,-0.992584,0.110996,-0.391827,-0.91406,-0.104495,0.26603,-0.963683,-0.023103,-0.252449,-0.938688,-0.234687,0.048158,0.992676,-0.110721,0.048158,0.992676,-0.110721,-0.187262,0.981903,0.0271,-0.325083,0.935484,0.138462,0.26603,-0.963683,-0.023103,-0.139042,-0.946898,-0.289865,0.26603,-0.963683,-0.023103,0.428114,-0.892941,-0.13892,-0.655507,0.729484,0.195257,-0.723228,0.643574,0.250374,0.385205,-0.922605,0.019044,0.557451,-0.829737,0.027467,0.548997,-0.828639,0.109195,0.380413,-0.92169,0.075655,0.998779,0.0,0.048891,0.979766,0.194281,0.047975,0.962157,0.193915,0.191382,0.980773,0.0,0.195074,0.385205,0.922605,0.019044,0.198004,0.980132,0.009888,0.197089,0.979583,0.039186,0.380413,0.92169,0.075655,0.198004,-0.980132,0.009888,0.197089,-0.979583,0.039186,0.979766,-0.194281,0.047975,0.962157,-0.193915,0.191382,0.557451,0.829737,0.027467,0.548997,0.828639,0.109195,0.923368,-0.381207,0.045259,0.90698,-0.380535,0.180395,0.708182,0.705161,0.034822,0.696493,0.704031,0.138524,0.83169,-0.553697,0.040803,0.817316,-0.552751,0.162572,0.83169,0.553697,0.040803,0.708182,0.705161,0.034822,0.696493,0.704031,0.138524,0.817316,0.552751,0.162572,0.708182,-0.705161,0.034822,0.696493,-0.704031,0.138524,0.923368,0.381207,0.045259,0.90698,0.380535,0.180395,0.708182,-0.705161,0.034822,0.696493,-0.704031,0.138524,0.76989,-0.552751,0.318888,0.656056,-0.704031,0.271737,0.76989,0.552751,0.318888,0.854366,0.380535,0.353893,0.656056,-0.704031,0.271737,0.517136,-0.828639,0.214209,0.906339,0.193915,0.375408,0.358348,-0.92169,0.148412,0.923856,0.0,0.382672,0.185644,0.979583,0.076907,0.358348,0.92169,0.148412,0.185644,-0.979583,0.076907,0.906339,-0.193915,0.375408,0.517136,0.828639,0.214209,0.854366,-0.380535,0.353893,0.656056,0.704031,0.271737,0.656056,0.704031,0.271737,0.815668,-0.193915,0.545,0.768914,-0.380535,0.513749,0.465407,0.828639,0.310984,0.590442,0.704031,0.394513,0.692892,-0.552751,0.462966,0.590442,0.704031,0.394513,0.692892,0.552751,0.462966,0.590442,-0.704031,0.394513,0.768914,0.380535,0.513749,0.590442,-0.704031,0.394513,0.465407,-0.828639,0.310984,0.815668,0.193915,0.545,0.322489,-0.92169,0.215491,0.831446,0.0,0.555559,0.167089,0.979583,0.111637,0.322489,0.92169,0.215491,0.167089,-0.979583,0.111637,0.395795,-0.828639,0.395795,0.27427,-0.92169,0.27427,0.693655,0.193915,0.693655,0.707083,0.0,0.707083,0.142094,0.979583,0.142094,0.27427,0.92169,0.27427,0.142094,-0.979583,0.142094,0.693655,-0.193915,0.693655,0.395795,0.828639,0.395795,0.65389,-0.380535,0.65389,0.502121,0.704031,0.502121,0.589251,-0.552751,0.589251,0.502121,0.704031,0.502121,0.589251,0.552751,0.589251,0.692892,-0.552751,0.462966,0.589251,-0.552751,0.589251,0.502121,-0.704031,0.502121,0.65389,0.380535,0.65389,0.462966,-0.552751,0.692892,0.394513,-0.704031,0.590442,0.65389,0.380535,0.65389,0.589251,0.552751,0.589251,0.462966,0.552751,0.692892,0.513749,0.380535,0.768914,0.310984,-0.828639,0.465407,0.693655,0.193915,0.693655,0.545,0.193915,0.815668,0.215491,-0.92169,0.322489,0.707083,0.0,0.707083,0.555559,0.0,0.831446,0.111637,0.979583,0.167089,0.215491,0.92169,0.322489,0.111637,-0.979583,0.167089,0.693655,-0.193915,0.693655,0.545,-0.193915,0.815668,0.310984,0.828639,0.465407,0.65389,-0.380535,0.65389,0.513749,-0.380535,0.768914,0.394513,0.704031,0.590442,0.589251,-0.552751,0.589251,0.462966,-0.552751,0.692892,0.589251,0.552751,0.589251,0.462966,0.552751,0.692892,0.148412,0.92169,0.358348,0.214209,0.828639,0.517136,0.375408,-0.193915,0.906339,0.353862,-0.380535,0.854366,0.271737,0.704031,0.656056,0.318888,-0.552751,0.76989,0.394513,0.704031,0.590442,0.271737,0.704031,0.656056,0.318888,0.552751,0.76989,0.394513,-0.704031,0.590442,0.271737,-0.704031,0.656056,0.353862,0.380535,0.854366,0.271737,-0.704031,0.656056,0.214209,-0.828639,0.517136,0.375408,0.193915,0.906339,0.148412,-0.92169,0.358348,0.382672,0.0,0.923856,0.076907,0.979583,0.185644,0.076907,-0.979583,0.185644,0.180395,0.380535,0.90698,0.191382,0.193915,0.962157,0.109195,-0.828639,0.548997,0.075655,-0.92169,0.380413,0.195074,0.0,0.980773,0.039186,0.979583,0.197089,0.075655,0.92169,0.380413,0.039186,-0.979583,0.197089,0.191382,-0.193915,0.962157,0.109195,0.828639,0.548997,0.180395,-0.380535,0.90698,0.138524,0.704031,0.696493,0.162572,-0.552751,0.817316,0.138524,0.704031,0.696493,0.162572,0.552751,0.817316,0.138524,-0.704031,0.696493,0.138524,-0.704031,0.696493,0.0,-0.380535,0.924741,0.0,-0.552751,0.833338,0.0,0.704031,0.710135,0.0,0.552751,0.833338,0.0,-0.704031,0.710135,0.0,0.380535,0.924741,0.0,-0.704031,0.710135,0.0,-0.828639,0.559771,0.0,0.193915,0.980987,0.0,-0.92169,0.38786,0.0,0.0,1.0,0.0,0.979583,0.200964,0.0,0.92169,0.38786,0.0,-0.979583,0.200964,0.0,-0.193915,0.980987,0.0,0.828639,0.559771,0.0,0.704031,0.710135,-0.075655,-0.92169,0.380413,-0.039186,-0.979583,0.197089,-0.195074,0.0,0.980773,-0.191382,-0.193915,0.962157,-0.075655,0.92169,0.380413,-0.109195,0.828639,0.548997,-0.180395,-0.380535,0.90698,-0.138524,0.704031,0.696493,-0.162572,-0.552751,0.817316,-0.138524,0.704031,0.696493,-0.162572,0.552751,0.817316,-0.138524,-0.704031,0.696493,-0.180395,0.380535,0.90698,-0.138524,-0.704031,0.696493,-0.109195,-0.828639,0.548997,-0.191382,0.193915,0.962157,-0.039186,0.979583,0.197089,-0.271737,-0.704031,0.656056,-0.214209,-0.828639,0.517136,-0.353893,0.380535,0.854366,-0.375408,0.193915,0.906339,-0.148412,-0.92169,0.358348,-0.382672,0.0,0.923856,-0.076907,0.979583,0.185644,-0.148412,0.92169,0.358348,-0.076907,-0.979583,0.185644,-0.375408,-0.193915,0.906339,-0.214209,0.828639,0.517136,-0.353893,-0.380535,0.854366,-0.271737,0.704031,0.656056,-0.318888,-0.552751,0.76989,-0.271737,0.704031,0.656056,-0.318888,0.552751,0.76989,-0.271737,-0.704031,0.656056,-0.513749,-0.380535,0.768914,-0.462966,-0.552751,0.692892,-0.394513,0.704031,0.590442,-0.462966,0.552751,0.692892,-0.394513,-0.704031,0.590442,-0.513749,0.380535,0.768914,-0.394513,-0.704031,0.590442,-0.310984,-0.828639,0.465407,-0.545,0.193915,0.815668,-0.215491,-0.92169,0.322489,-0.555559,0.0,0.831446,-0.111637,0.979583,0.167089,-0.215491,0.92169,0.322489,-0.111637,-0.979583,0.167089,-0.545,-0.193915,0.815668,-0.310984,0.828639,0.465407,-0.394513,0.704031,0.590442,-0.27427,-0.92169,0.27427,-0.142094,-0.979583,0.142094,-0.707083,0.0,0.707083,-0.693655,-0.193915,0.693655,-0.27427,0.92169,0.27427,-0.395795,0.828639,0.395795,-0.65389,-0.380535,0.65389,-0.502121,0.704031,0.502121,-0.589251,-0.552751,0.589251,-0.462966,0.552751,0.692892,-0.589251,0.552751,0.589251,-0.502121,-0.704031,0.502121,-0.589251,0.552751,0.589251,-0.65389,0.380535,0.65389,-0.502121,-0.704031,0.502121,-0.395795,-0.828639,0.395795,-0.693655,0.193915,0.693655,-0.142094,0.979583,0.142094,-0.590442,-0.704031,0.394513,-0.465407,-0.828639,0.310984,-0.693655,0.193915,0.693655,-0.65389,0.380535,0.65389,-0.768914,0.380535,0.513749,-0.815668,0.193915,0.545,-0.322489,-0.92169,0.215491,-0.707083,0.0,0.707083,-0.831446,0.0,0.555559,-0.167089,0.979583,0.111637,-0.322489,0.92169,0.215491,-0.167089,-0.979583,0.111637,-0.693655,-0.193915,0.693655,-0.815668,-0.193915,0.545,-0.465407,0.828639,0.310984,-0.65389,-0.380535,0.65389,-0.768914,-0.380535,0.513749,-0.590442,0.704031,0.394513,-0.589251,-0.552751,0.589251,-0.692892,-0.552751,0.462966,-0.692892,0.552751,0.462966,-0.502121,-0.704031,0.502121,-0.590442,-0.704031,0.394513,-0.589251,0.552751,0.589251,-0.692892,0.552751,0.462966,-0.854366,-0.380535,0.353862,-0.76989,-0.552751,0.318888,-0.656056,0.704031,0.271737,-0.76989,0.552751,0.318888,-0.656056,-0.704031,0.271737,-0.76989,0.552751,0.318888,-0.854366,0.380535,0.353862,-0.656056,-0.704031,0.271737,-0.517136,-0.828639,0.214209,-0.906339,0.193915,0.375408,-0.358348,-0.92169,0.148412,-0.923856,0.0,0.382672,-0.185644,0.979583,0.076907,-0.358348,0.92169,0.148412,-0.185644,-0.979583,0.076907,-0.906339,-0.193915,0.375408,-0.517136,0.828639,0.214209,-0.197089,0.979583,0.039186,-0.380413,0.92169,0.075655,-0.380413,-0.92169,0.075655,-0.197089,-0.979583,0.039186,-0.980773,0.0,0.195074,-0.962157,-0.193915,0.191382,-0.548997,0.828639,0.109195,-0.90698,-0.380535,0.180395,-0.696493,0.704031,0.138524,-0.817316,-0.552751,0.162572,-0.817316,0.552751,0.162572,-0.696493,-0.704031,0.138524,-0.817316,0.552751,0.162572,-0.90698,0.380535,0.180395,-0.696493,-0.704031,0.138524,-0.548997,-0.828639,0.109195,-0.962157,0.193915,0.191382,-0.557451,0.829737,0.027467,-0.385205,0.922605,0.019044,-0.385205,0.922605,-0.019044,-0.557451,0.829737,-0.027467,-0.998779,0.0,0.048891,-0.979766,0.194281,0.047975,-0.979766,0.194281,-0.047975,-0.998779,0.0,-0.048891,-0.557451,-0.829737,0.027467,-0.708182,-0.705161,0.034822,-0.708182,-0.705161,-0.034822,-0.557451,-0.829737,-0.027467,0.385205,0.922605,-0.019044,0.198004,0.980132,-0.009888,0.979766,0.194281,-0.047975,0.923368,0.381207,-0.045259,0.708182,-0.705161,-0.034822,0.83169,-0.553697,-0.040803,-0.198004,0.980132,0.009888,-0.198004,0.980132,-0.009888,-0.923368,0.381207,0.045259,-0.923368,0.381207,-0.045259,-0.708182,-0.705161,0.034822,-0.83169,-0.553697,0.040803,-0.83169,-0.553697,-0.040803,-0.708182,-0.705161,-0.034822,0.0,-0.999481,0.031434,0.0,-0.999481,-0.031434,0.198004,-0.980132,-0.009888,0.83169,0.553697,-0.040803,0.923368,-0.381207,-0.045259,-0.83169,0.553697,0.040803,-0.83169,0.553697,-0.040803,-0.923368,-0.381207,0.045259,-0.923368,-0.381207,-0.045259,0.0,0.999481,0.031434,0.0,0.999481,-0.031434,-0.198004,-0.980132,0.009888,-0.198004,-0.980132,-0.009888,0.708182,0.705161,-0.034822,0.979766,-0.194281,-0.047975,0.385205,-0.922605,-0.019044,-0.83169,0.553697,0.040803,-0.708182,0.705161,0.034822,-0.708182,0.705161,-0.034822,-0.83169,0.553697,-0.040803,-0.979766,-0.194281,0.047975,-0.979766,-0.194281,-0.047975,-0.385205,-0.922605,0.019044,-0.385205,-0.922605,-0.019044,0.708182,0.705161,-0.034822,0.557451,0.829737,-0.027467,0.998779,0.0,-0.048891,0.557451,-0.829737,-0.027467,0.708182,-0.705161,-0.034822,-0.696493,-0.704031,-0.138524,-0.548997,-0.828639,-0.109195,-0.90698,0.380535,-0.180395,-0.962157,0.193915,-0.191382,-0.380413,-0.92169,-0.075655,-0.980773,0.0,-0.195074,-0.197089,0.979583,-0.039186,-0.380413,0.92169,-0.075655,-0.197089,-0.979583,-0.039186,-0.962157,-0.193915,-0.191382,-0.548997,0.828639,-0.109195,-0.90698,-0.380535,-0.180395,-0.696493,0.704031,-0.138524,-0.817316,-0.552751,-0.162572,-0.708182,0.705161,-0.034822,-0.696493,0.704031,-0.138524,-0.817316,0.552751,-0.162572,-0.696493,-0.704031,-0.138524,-0.906339,-0.193915,-0.375408,-0.854366,-0.380535,-0.353862,-0.517136,0.828639,-0.214209,-0.656056,0.704031,-0.271737,-0.76989,-0.552751,-0.318888,-0.817316,0.552751,-0.162572,-0.76989,0.552751,-0.318888,-0.656056,-0.704031,-0.271737,-0.76989,0.552751,-0.318888,-0.854366,0.380535,-0.353893,-0.656056,-0.704031,-0.271737,-0.517136,-0.828639,-0.214209,-0.906339,0.193915,-0.375408,-0.358348,-0.92169,-0.148412,-0.923856,0.0,-0.382672,-0.185644,0.979583,-0.076907,-0.358348,0.92169,-0.148412,-0.185644,-0.979583,-0.076907,-0.465407,-0.828639,-0.310984,-0.322489,-0.92169,-0.215491,-0.815668,0.193915,-0.545,-0.831446,0.0,-0.555559,-0.167089,0.979583,-0.111637,-0.322489,0.92169,-0.215491,-0.167089,-0.979583,-0.111637,-0.815668,-0.193915,-0.545,-0.465407,0.828639,-0.310984,-0.768914,-0.380535,-0.513749,-0.590442,0.704031,-0.394513,-0.692892,-0.552751,-0.462966,-0.692892,0.552751,-0.462966,-0.590442,-0.704031,-0.394513,-0.692892,0.552751,-0.462966,-0.768914,0.380535,-0.513749,-0.590442,-0.704031,-0.394513,-0.502121,0.704031,-0.502121,-0.589251,0.552751,-0.589251,-0.589251,-0.552751,-0.589251,-0.502121,-0.704031,-0.502121,-0.589251,0.552751,-0.589251,-0.65389,0.380535,-0.65389,-0.502121,-0.704031,-0.502121,-0.395795,-0.828639,-0.395795,-0.693655,0.193915,-0.693655,-0.27427,-0.92169,-0.27427,-0.707083,0.0,-0.707083,-0.142094,0.979583,-0.142094,-0.27427,0.92169,-0.27427,-0.142094,-0.979583,-0.142094,-0.693655,-0.193915,-0.693655,-0.395795,0.828639,-0.395795,-0.65389,-0.380535,-0.65389,-0.693655,-0.193915,-0.693655,-0.707083,0.0,-0.707083,-0.555559,0.0,-0.831446,-0.545,-0.193915,-0.815668,-0.215491,0.92169,-0.322489,-0.310984,0.828639,-0.465407,-0.65389,-0.380535,-0.65389,-0.513749,-0.380535,-0.768914,-0.394513,0.704031,-0.590442,-0.589251,-0.552751,-0.589251,-0.462966,-0.552751,-0.692892,-0.462966,0.552751,-0.692892,-0.589251,-0.552751,-0.589251,-0.462966,-0.552751,-0.692892,-0.394513,-0.704031,-0.590442,-0.65389,0.380535,-0.65389,-0.589251,0.552751,-0.589251,-0.462966,0.552751,-0.692892,-0.513749,0.380535,-0.768914,-0.310984,-0.828639,-0.465407,-0.693655,0.193915,-0.693655,-0.545,0.193915,-0.815668,-0.215491,-0.92169,-0.322489,-0.111637,0.979583,-0.167089,-0.111637,-0.979583,-0.167089,-0.271737,-0.704031,-0.656056,-0.214209,-0.828639,-0.517136,-0.353862,0.380535,-0.854366,-0.375408,0.193915,-0.906339,-0.148412,-0.92169,-0.358348,-0.382672,0.0,-0.923856,-0.076907,0.979583,-0.185644,-0.148412,0.92169,-0.358348,-0.076907,-0.979583,-0.185644,-0.375408,-0.193915,-0.906339,-0.214209,0.828639,-0.517136,-0.353893,-0.380535,-0.854366,-0.271737,0.704031,-0.656056,-0.318888,-0.552751,-0.76989,-0.394513,0.704031,-0.590442,-0.271737,0.704031,-0.656056,-0.318888,0.552751,-0.76989,-0.394513,-0.704031,-0.590442,-0.271737,-0.704031,-0.656056,-0.180395,-0.380535,-0.90698,-0.162572,-0.552751,-0.817316,-0.138524,0.704031,-0.696493,-0.162572,0.552751,-0.817316,-0.138524,-0.704031,-0.696493,-0.180395,0.380535,-0.90698,-0.138524,-0.704031,-0.696493,-0.109195,-0.828639,-0.548997,-0.191382,0.193915,-0.962157,-0.075655,-0.92169,-0.380413,-0.195074,0.0,-0.980773,-0.039186,0.979583,-0.197089,-0.075655,0.92169,-0.380413,-0.039186,-0.979583,-0.197089,-0.191382,-0.193915,-0.962157,-0.109195,0.828639,-0.548997,-0.138524,0.704031,-0.696493,0.0,-0.92169,-0.38786,0.0,-0.979583,-0.200964,0.0,0.0,-1.0,0.0,-0.193915,-0.980987,0.0,0.92169,-0.38786,0.0,0.828639,-0.559771,0.0,-0.380535,-0.924741,0.0,0.704031,-0.710135,0.0,-0.552751,-0.833338,0.0,0.704031,-0.710135,0.0,0.552751,-0.833338,0.0,-0.704031,-0.710135,0.0,0.380535,-0.924741,0.0,-0.704031,-0.710135,0.0,-0.828639,-0.559771,0.0,0.193915,-0.980987,0.0,0.979583,-0.200964,0.138524,-0.704031,-0.696493,0.109195,-0.828639,-0.548997,0.180395,0.380535,-0.90698,0.191382,0.193915,-0.962157,0.075655,-0.92169,-0.380413,0.195074,0.0,-0.980773,0.039186,0.979583,-0.197089,0.075655,0.92169,-0.380413,0.039186,-0.979583,-0.197089,0.191382,-0.193915,-0.962157,0.109195,0.828639,-0.548997,0.180395,-0.380535,-0.90698,0.138524,0.704031,-0.696493,0.162572,-0.552751,-0.817316,0.138524,0.704031,-0.696493,0.162572,0.552751,-0.817316,0.138524,-0.704031,-0.696493,0.353893,-0.380535,-0.854366,0.318888,-0.552751,-0.76989,0.271737,0.704031,-0.656056,0.318888,0.552751,-0.76989,0.271737,-0.704031,-0.656056,0.353893,0.380535,-0.854366,0.271737,-0.704031,-0.656056,0.214209,-0.828639,-0.517136,0.375408,0.193915,-0.906339,0.148412,-0.92169,-0.358348,0.382672,0.0,-0.923856,0.076907,0.979583,-0.185644,0.148412,0.92169,-0.358348,0.076907,-0.979583,-0.185644,0.375408,-0.193915,-0.906339,0.214209,0.828639,-0.517136,0.271737,0.704031,-0.656056,0.215491,-0.92169,-0.322489,0.111637,-0.979583,-0.167089,0.555559,0.0,-0.831446,0.545,-0.193915,-0.815668,0.215491,0.92169,-0.322489,0.310984,0.828639,-0.465407,0.513749,-0.380535,-0.768914,0.394513,0.704031,-0.590442,0.462966,-0.552751,-0.692892,0.394513,0.704031,-0.590442,0.462966,0.552751,-0.692892,0.394513,-0.704031,-0.590442,0.513749,0.380535,-0.768914,0.394513,-0.704031,-0.590442,0.310984,-0.828639,-0.465407,0.545,0.193915,-0.815668,0.111637,0.979583,-0.167089,0.502121,-0.704031,-0.502121,0.395795,-0.828639,-0.395795,0.65389,0.380535,-0.65389,0.693655,0.193915,-0.693655,0.27427,-0.92169,-0.27427,0.707083,0.0,-0.707083,0.142094,0.979583,-0.142094,0.27427,0.92169,-0.27427,0.142094,-0.979583,-0.142094,0.693655,-0.193915,-0.693655,0.395795,0.828639,-0.395795,0.65389,-0.380535,-0.65389,0.502121,0.704031,-0.502121,0.589251,-0.552751,-0.589251,0.502121,0.704031,-0.502121,0.589251,0.552751,-0.589251,0.462966,-0.552751,-0.692892,0.589251,-0.552751,-0.589251,0.465407,0.828639,-0.310984,0.590442,0.704031,-0.394513,0.589251,-0.552751,-0.589251,0.65389,-0.380535,-0.65389,0.768914,-0.380535,-0.513749,0.692892,-0.552751,-0.462966,0.589251,0.552751,-0.589251,0.502121,0.704031,-0.502121,0.590442,0.704031,-0.394513,0.692892,0.552751,-0.462966,0.692892,-0.552751,-0.462966,0.590442,-0.704031,-0.394513,0.65389,0.380535,-0.65389,0.768914,0.380535,-0.513749,0.465407,-0.828639,-0.310984,0.693655,0.193915,-0.693655,0.815668,0.193915,-0.545,0.322489,-0.92169,-0.215491,0.707083,0.0,-0.707083,0.831446,0.0,-0.555559,0.167089,0.979583,-0.111637,0.322489,0.92169,-0.215491,0.167089,-0.979583,-0.111637,0.693655,-0.193915,-0.693655,0.815668,-0.193915,-0.545,0.906339,0.193915,-0.375408,0.923856,0.0,-0.382672,0.185644,0.979583,-0.076876,0.358348,0.92169,-0.148412,0.358348,-0.92169,-0.148412,0.185644,-0.979583,-0.076907,0.906339,-0.193915,-0.375408,0.517136,0.828639,-0.214209,0.854366,-0.380535,-0.353862,0.656056,0.704031,-0.271737,0.76989,-0.552751,-0.318888,0.656056,0.704031,-0.271737,0.76989,0.552751,-0.318888,0.590442,-0.704031,-0.394513,0.656056,-0.704031,-0.271737,0.854366,0.380535,-0.353862,0.656056,-0.704031,-0.271737,0.517136,-0.828639,-0.214209,0.817316,-0.552751,-0.162572,0.696493,-0.704031,-0.138524,0.817316,0.552751,-0.162572,0.90698,0.380535,-0.180395,0.696493,-0.704031,-0.138524,0.548997,-0.828639,-0.109195,0.962157,0.193915,-0.191382,0.380413,-0.92169,-0.075655,0.980773,0.0,-0.195074,0.197089,0.979583,-0.039186,0.380413,0.92169,-0.075655,0.197089,-0.979583,-0.039186,0.962157,-0.193915,-0.191382,0.548997,0.828639,-0.109195,0.90698,-0.380535,-0.180395,0.696493,0.704031,-0.138524,0.696493,0.704031,-0.138524],"vertexCount":1993}],"animations":{"die":{"name":"die","length":1.2083334,"tracks":[{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334,0.5,0.5416667,0.5833333,0.625,0.6666667,0.7083333,0.75,0.7916667,0.8333333,0.875,0.9166667,0.9583333,1.0,1.0416666,1.0833334,1.125,1.1666666,1.2083334],"translations":[0.0,0.0,0.0,0.0,0.078229,-0.0,0.0,0.302187,-0.0,0.0,0.619051,-0.0,0.0,0.933579,-0.0,0.0,1.153119,0.0,0.0,1.229235,0.0,0.0,1.229235,0.0,0.0,1.229235,0.0,0.0,1.229235,0.0,0.0,1.229235,0.0,0.0,1.229235,0.0,0.0,1.229235,0.0,0.0,1.229235,0.0,0.0,1.229235,0.0,0.0,1.229235,0.0,0.0,1.229235,0.0,0.0,1.229235,0.0,0.0,1.229235,0.0,0.0,1.229235,0.0,0.0,1.229235,0.0,0.0,1.229235,0.0,0.0,1.229235,0.0,0.0,1.229235,0.0,0.0,1.229235,0.0,0.0,1.229235,0.0,0.0,1.229235,0.0,0.0,1.229235,0.0,0.0,1.229235,0.0,0.0,1.229235,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":0,"rotations":[0.0,0.0,0.0,1.0,0.0,-0.0,0.06706862,0.9977484,-0.0,-0.0,0.3071735,0.95165354,-0.0,-0.0,0.7081905,0.70602137,-0.0,-0.0,0.95137024,0.3080497,-0.0,-0.0,0.9973853,0.07226726,0.0,-0.0,0.99997884,0.0065027773,0.0,-0.0,0.99997884,0.0065027773,0.0,-0.0,0.99997884,0.0065027773,0.0,-0.0,0.99997884,0.0065027773,0.0,-0.0,0.99997884,0.0065027773,0.0,-0.0,0.99997884,0.0065027773,0.0,-0.0,0.99997884,0.0065027773,0.0,-0.0,0.99997884,0.0065027773,0.0,-0.0,0.99997884,0.0065027773,0.0,-0.0,0.99997884,0.0065027773,0.0,-0.0,0.99997884,0.0065027773,0.0,-0.0,0.99997884,0.0065027773,0.0,-0.0,0.99997884,0.0065027773,0.0,-0.0,0.99997884,0.0065027773,0.0,-0.0,0.99997884,0.0065027773,0.0,-0.0,0.99997884,0.0065027773,0.0,-0.0,0.99997884,0.0065027773,0.0,-0.0,0.99997884,0.0065027773,0.0,-0.0,0.99997884,0.0065027773,0.0,-0.0,0.99997884,0.0065027773,0.0,-0.0,0.99997884,0.0065027773,0.0,-0.0,0.99997884,0.0065027773,0.0,-0.0,0.99997884,0.0065027773,0.0,-0.0,0.99997884,0.0065027773]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334,0.5,0.5416667,0.5833333,0.625,0.6666667,0.7083333,0.75,0.7916667,0.8333333,0.875,0.9166667,0.9583333,1.0,1.0416666,1.0833334,1.125,1.1666666,1.2083334],"translations":[0.0,0.0,0.0,-0.0,0.0,0.0,0.0,0.0,-0.0,0.0,0.0,0.0,-0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":1,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334,0.5,0.5416667,0.5833333,0.625,0.6666667,0.7083333,0.75,0.7916667,0.8333333,0.875,0.9166667,0.9583333,1.0,1.0416666,1.0833334,1.125,1.1666666,1.2083334],"translations":[0.0,0.0,0.0,0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,0.0,0.0,-0.0,-0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":2,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334,0.5,0.5416667,0.5833333,0.625,0.6666667,0.7083333,0.75,0.7916667,0.8333333,0.875,0.9166667,0.9583333,1.0,1.0416666,1.0833334,1.125,1.1666666,1.2083334],"translations":[0.0,0.0,0.0,-0.0,-0.0,-0.0,-0.0,0.0,0.0,0.0,0.0,-0.0,0.0,0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":3,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334,0.5,0.5416667,0.5833333,0.625,0.6666667,0.7083333,0.75,0.7916667,0.8333333,0.875,0.9166667,0.9583333,1.0,1.0416666,1.0833334,1.125,1.1666666,1.2083334],"translations":[0.0,0.0,0.0,0.0,0.0,-0.0,-0.0,-0.0,0.0,-0.0,-0.0,-0.0,0.0,-0.0,-0.0,-0.0,-0.0,-0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":4,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334,0.5,0.5416667,0.5833333,0.625,0.6666667,0.7083333,0.75,0.7916667,0.8333333,0.875,0.9166667,0.9583333,1.0,1.0416666,1.0833334,1.125,1.1666666,1.2083334],"translations":[0.0,0.0,0.0,0.0,0.0,-0.0,-0.0,0.0,0.0,0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,-0.0,-0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":5,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334,0.5,0.5416667,0.5833333,0.625,0.6666667,0.7083333,0.75,0.7916667,0.8333333,0.875,0.9166667,0.9583333,1.0,1.0416666,1.0833334,1.125,1.1666666,1.2083334],"translations":[0.0,0.0,0.0,0.0,0.0,-0.0,-0.0,0.0,0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,-0.0,0.0,-0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":6,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334,0.5,0.5416667,0.5833333,0.625,0.6666667,0.7083333,0.75,0.7916667,0.8333333,0.875,0.9166667,0.9583333,1.0,1.0416666,1.0833334,1.125,1.1666666,1.2083334],"translations":[0.0,0.0,0.0,0.0,0.0,-0.0,-0.0,0.0,0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,-0.0,0.0,-0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":7,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334,0.5,0.5416667,0.5833333,0.625,0.6666667,0.7083333,0.75,0.7916667,0.8333333,0.875,0.9166667,0.9583333,1.0,1.0416666,1.0833334,1.125,1.1666666,1.2083334],"translations":[0.0,0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,-0.0,-0.0,0.0,0.0,-0.0,-0.0,0.0,-0.0,0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":8,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,-0.0019095232,-7.526747E-4,9.554527E-4,0.99999744,-0.007721032,-0.0030434055,0.003863403,0.9999581,-0.017493421,-0.006895506,0.008753389,0.9997849,-0.031266347,-0.012324702,0.01564533,0.99931264,-0.049021516,-0.01932382,0.02453023,0.99830943,-0.07065021,-0.027850008,0.035353545,0.99648535,-0.09591438,-0.037809554,0.04799648,0.9935126,-0.1244192,-0.049046896,0.062261153,0.98905903,-0.15559286,-0.061336204,0.077861555,0.9828358,-0.18868738,-0.07438288,0.09442323,0.974653,-0.22281322,-0.08783597,0.11150079,0.96447223,-0.25700277,-0.10131395,0.12861001,0.95244133,-0.290289,-0.11443584,0.14526722,0.93890053,-0.3217929,-0.12685454,0.16103189,0.9243517,-0.35078612,-0.13828343,0.17553967,0.9094023,-0.37672937,-0.14850928,0.18852079,0.8946954,-0.39927495,-0.15739557,0.1998015,0.88084364,-0.41824454,-0.16487208,0.2092926,0.86838084,-0.4335899,-0.17092,0.21697025,0.8577354,-0.4453529,-0.17555547,0.22285494,0.8492213,-0.4536224,-0.1788145,0.22699219,0.84304607,-0.45850903,-0.18074003,0.22943664,0.839322,-0.46011773,-0.18137337,0.23024079,0.83808386]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334,0.5,0.5416667,0.5833333,0.625,0.6666667,0.7083333,0.75,0.7916667,0.8333333,0.875,0.9166667,0.9583333,1.0,1.0416666,1.0833334,1.125,1.1666666,1.2083334],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,-0.0,0.0,0.0,0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,0.0,0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-0.0,0.0,-0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-0.0,0.0,0.0,0.0,0.0,-0.0,-0.0,0.0,0.0,0.0,-0.0,-0.0,0.0,-0.0,0.0,0.0,0.0,-0.0,-0.0,0.0,-0.0,0.0,-0.0,0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,-0.0,-0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":9,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,-8.305872E-4,-1.4614966E-4,-6.029355E-5,0.99999964,-0.0034254962,-6.02688E-4,-2.4872512E-4,0.9999939,-0.0077493023,-0.0013633964,-5.6268205E-4,0.9999689,-0.013797839,-0.0024275617,-0.0010018614,0.99990135,-0.021535624,-0.0037889814,-0.0015637511,0.9997597,-0.030883875,-0.0054337094,-0.002242532,0.9995057,-0.04171925,-0.007340125,-0.0030293516,0.9990978,-0.053863976,-0.009476903,-0.003911191,0.99849564,-0.0670913,-0.011804179,-0.0048717167,0.9976651,-0.08112591,-0.014273418,-0.0058907503,0.99658424,-0.095652245,-0.016829204,-0.006945641,0.9952483,-0.11032931,-0.01941153,-0.008011289,0.9936732,-0.12481,-0.02195931,-0.009062778,0.9918962,-0.13875745,-0.024413276,-0.01007555,0.98997414,-0.15186462,-0.026719378,-0.011027296,0.9879785,-0.16386624,-0.028830774,-0.011898753,0.9859894,-0.1745465,-0.030709866,-0.012674274,0.9840883,-0.18374269,-0.032327853,-0.013342034,0.982352,-0.19134042,-0.03366441,-0.0138937235,0.98084784,-0.1972698,-0.034707624,-0.014324072,0.97962993,-0.2014979,-0.035451517,-0.014631285,0.97873783,-0.20402059,-0.03589532,-0.0148144495,0.97819614,-0.20485511,-0.03604211,-0.014875031,0.97801536]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334,0.5,0.5416667,0.5833333,0.625,0.6666667,0.7083333,0.75,0.7916667,0.8333333,0.875,0.9166667,0.9583333,1.0,1.0416666,1.0833334,1.125,1.1666666,1.2083334],"translations":[0.0,0.0,0.0,0.0,0.0,-0.0,-0.0,0.0,0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,-0.0,0.0,-0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":10,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334,0.5,0.5416667,0.5833333,0.625,0.6666667,0.7083333,0.75,0.7916667,0.8333333,0.875,0.9166667,0.9583333,1.0,1.0416666,1.0833334,1.125,1.1666666,1.2083334],"translations":[0.0,0.0,0.0,-0.0,-0.0,-0.0,0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":11,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,-0.0028447977,-0.0012433806,7.0184417E-4,0.99999493,-0.011504344,-0.0050284667,0.0028384337,0.99991715,-0.026155384,-0.011432723,0.006453506,0.9995717,-0.046993688,-0.020542024,0.011595609,0.99861664,-0.07416133,-0.0324187,0.018299835,0.99655116,-0.107667245,-0.04706686,0.026568769,0.9927168,-0.14729233,-0.06439076,0.036348015,0.9863253,-0.1924804,-0.0841476,0.047500685,0.9765317,-0.24225117,-0.10590812,0.059784494,0.962561,-0.29517263,-0.12904611,0.072845995,0.9438822,-0.34944054,-0.15277253,0.0862398,0.9203883,-0.40306148,-0.17621584,0.099473245,0.89252144,-0.45411822,-0.19853675,0.112073615,0.8612777,-0.50102353,-0.21904145,0.12364831,0.8280745,-0.5426832,-0.23725131,0.13392727,0.7945252,-0.5785343,-0.25292134,0.14277247,0.7621974,-0.60847336,-0.266005,0.15015769,0.7324304,-0.63271636,-0.2765988,0.15613766,0.70624655,-0.6516611,-0.2848761,0.16080928,0.6843419,-0.6657635,-0.2910363,0.16428652,0.6671333,-0.6754553,-0.29527012,0.16667545,0.6548245,-0.68109465,-0.29773238,0.16806589,0.6474715,-0.68293625,-0.29853663,0.16851956,0.645039]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334,0.5,0.5416667,0.5833333,0.625,0.6666667,0.7083333,0.75,0.7916667,0.8333333,0.875,0.9166667,0.9583333,1.0,1.0416666,1.0833334,1.125,1.1666666,1.2083334],"translations":[0.0,0.0,0.0,-0.0,0.0,-0.0,-0.0,0.0,0.0,-0.0,0.0,-0.0,-0.0,-0.0,-0.0,-0.0,0.0,-0.0,-0.0,-0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,0.0,0.0,0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":12,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,-0.0030809683,0.00229227,-5.2207307E-4,0.9999925,-0.012484671,0.009288883,-0.0021157502,0.9998767,-0.028552892,0.021244554,-0.0048390273,0.9993548,-0.051717766,0.03848105,-0.008765429,0.9978816,-0.08243673,0.06133912,-0.013972535,0.9946087,-0.12108396,0.090097435,-0.020523956,0.98833185,-0.1677566,0.124828376,-0.028436078,0.97747993,-0.22202024,0.16520888,-0.037635554,0.96020657,-0.28263915,0.21031886,-0.04791261,0.93465793,-0.3474042,0.25851446,-0.058892593,0.8994511,-0.41323406,0.30750197,-0.07005281,0.85426736,-0.4766458,0.3546899,-0.080803275,0.80029666,-0.5344813,0.3977263,-0.09060704,0.7402256,-0.5845632,0.43499136,-0.09909609,0.6776787,-0.62597775,0.4658057,-0.10611491,0.6163738,-0.6589218,0.49031502,-0.11169662,0.55940795,-0.68430114,0.50919425,-0.1159965,0.5089184,-0.70331705,0.5233386,-0.11921678,0.46610025,-0.71716493,0.53363657,-0.12156078,0.43142733,-0.72687185,0.5408545,-0.12320382,0.4049131,-0.7332369,0.5455866,-0.12428054,0.38633317,-0.7368229,0.54825234,-0.12488725,0.37538618,-0.737975,0.54910886,-0.12508237,0.37178886]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334,0.5,0.5416667,0.5833333,0.625,0.6666667,0.7083333,0.75,0.7916667,0.8333333,0.875,0.9166667,0.9583333,1.0,1.0416666,1.0833334,1.125,1.1666666,1.2083334],"translations":[0.0,0.0,0.0,0.0,0.0,-0.0,-0.0,0.0,0.0,0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,-0.0,-0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":13,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334,0.5,0.5416667,0.5833333,0.625,0.6666667,0.7083333,0.75,0.7916667,0.8333333,0.875,0.9166667,0.9583333,1.0,1.0416666,1.0833334,1.125,1.1666666,1.2083334],"translations":[0.0,0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,-0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":14,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,-0.0026477773,-3.595781E-4,6.085235E-4,0.99999624,-0.01069523,-0.0014524878,0.0024580916,0.9999387,-0.024267454,-0.003295812,0.005577632,0.9996845,-0.04347269,-0.005904315,0.009992102,0.9989872,-0.06835073,-0.009283481,0.015710806,0.99749446,-0.09881828,-0.013422039,0.022714749,0.9947557,-0.1345944,-0.018281905,0.030939218,0.9902489,-0.17514141,-0.023790034,0.040260836,0.98343205,-0.21961305,-0.029831309,0.05048487,0.97382313,-0.2668526,-0.036248717,0.06134496,0.9610996,-0.3154477,-0.042850148,0.072516896,0.9451973,-0.3638517,-0.049425308,0.08364465,0.9263761,-0.41054645,-0.05576828,0.094378725,0.905226,-0.4542022,-0.06169791,0.10441352,0.88260496,-0.4937958,-0.0670752,0.11351389,0.85952383,-0.5286598,-0.07180982,0.121526666,0.8370146,-0.55846334,-0.075856835,0.12837581,0.8160172,-0.5831453,-0.07920813,0.13404699,0.7973074,-0.60282713,-0.081879534,0.13856858,0.78146905,-0.6177308,-0.08390311,0.14199235,0.7689,-0.62811035,-0.085311525,0.14437675,0.75983864,-0.6342041,-0.08613854,0.14577614,0.7543969,-0.6362028,-0.08641,0.14623556,0.75259185]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334,0.5,0.5416667,0.5833333,0.625,0.6666667,0.7083333,0.75,0.7916667,0.8333333,0.875,0.9166667,0.9583333,1.0,1.0416666,1.0833334,1.125,1.1666666,1.2083334],"translations":[0.0,0.0,0.0,-0.0,0.0,0.0,0.0,-0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,0.0,0.0,0.0,-0.0,0.0,-0.0,0.0,0.0,0.0,0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,-0.0,0.0,-0.0,0.0,-0.0,0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,-0.0,0.0,0.0,0.0,0.0,0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,0.0,0.0,0.0,-0.0,0.0,-0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,0.0,0.0,0.0,-0.0,0.0,-0.0,0.0,0.0,0.0,-0.0,0.0,-0.0,-0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":15,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334,0.5,0.5416667,0.5833333,0.625,0.6666667,0.7083333,0.75,0.7916667,0.8333333,0.875,0.9166667,0.9583333,1.0,1.0416666,1.0833334,1.125,1.1666666,1.2083334],"translations":[0.0,0.0,0.0,0.0,0.0,-0.0,-0.0,0.0,0.0,0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,-0.0,-0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":16,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334,0.5,0.5416667,0.5833333,0.625,0.6666667,0.7083333,0.75,0.7916667,0.8333333,0.875,0.9166667,0.9583333,1.0,1.0416666,1.0833334,1.125,1.1666666,1.2083334],"translations":[0.0,0.0,0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":17,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,-0.0025481842,4.8078515E-4,-5.555983E-4,0.9999965,-0.010257384,0.0019354452,-0.0022365372,0.999943,-0.023265667,0.00439008,-0.0050730617,0.9997068,-0.041662727,0.00786175,-0.009084872,0.9990595,-0.065461576,0.012352985,-0.014274821,0.9976765,-0.09457276,0.017846992,-0.020623522,0.9951443,-0.12871288,0.024290279,-0.028069247,0.99098694,-0.16736467,0.031585284,-0.03649906,0.9847128,-0.20972824,0.03958093,-0.045738723,0.975887,-0.2547214,0.048072837,-0.055551678,0.9642199,-0.30103132,0.056813397,-0.06565194,0.94965374,-0.34722376,0.065531336,-0.07572613,0.9324199,-0.3918823,0.073959306,-0.08546532,0.91304654,-0.4337567,0.08186166,-0.09459713,0.8923033,-0.4718682,0.08905325,-0.1029072,0.87110275,-0.505556,0.09540983,-0.110252835,0.8503849,-0.5344678,0.10086436,-0.11655564,0.8310147,-0.55850196,0.10539821,-0.12179507,0.81371546,-0.5777327,0.10902544,-0.12598687,0.79904056,-0.59233636,0.11177998,-0.12917015,0.78737414,-0.6025304,0.113702215,-0.13139163,0.77895135,-0.6085243,0.114832684,-0.13269743,0.7738883,-0.61049205,0.11520337,-0.13312653,0.77220786]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334,0.5,0.5416667,0.5833333,0.625,0.6666667,0.7083333,0.75,0.7916667,0.8333333,0.875,0.9166667,0.9583333,1.0,1.0416666,1.0833334,1.125,1.1666666,1.2083334],"translations":[0.0,0.0,0.0,-0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,0.0,0.0,0.0,-0.0,0.0,0.0,0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,0.0,0.0,0.0,-0.0,0.0,0.0,0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,-0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":18,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334,0.5,0.5416667,0.5833333,0.625,0.6666667,0.7083333,0.75,0.7916667,0.8333333,0.875,0.9166667,0.9583333,1.0,1.0416666,1.0833334,1.125,1.1666666,1.2083334],"translations":[0.0,0.0,0.0,0.0,0.0,-0.0,-0.0,-0.0,0.0,-0.0,-0.0,-0.0,0.0,-0.0,-0.0,-0.0,-0.0,-0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":19,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334,0.5,0.5416667,0.5833333,0.625,0.6666667,0.7083333,0.75,0.7916667,0.8333333,0.875,0.9166667,0.9583333,1.0,1.0416666,1.0833334,1.125,1.1666666,1.2083334],"translations":[0.0,0.0,0.0,-0.0,-0.0,-0.0,-0.0,0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":20,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,-0.0026389055,-1.7380473E-4,1.9762928E-4,0.9999965,-0.010683291,-7.036649E-4,8.001039E-4,0.99994236,-0.024225892,-0.0015957124,0.0018144205,0.9997036,-0.04338042,-0.0028575067,0.003249162,0.99904925,-0.06816951,-0.0044905273,0.0051059984,0.99765056,-0.09849385,-0.006488298,0.007377556,0.9950892,-0.13406415,-0.008831786,0.010042195,0.9908824,-0.17434071,-0.011485447,0.013059496,0.9845318,-0.21848926,-0.014394142,0.016367009,0.9755959,-0.2653795,-0.01748357,0.01987984,0.9637805,-0.3136385,-0.020663258,0.023495287,0.9490268,-0.36176518,-0.023833957,0.02710055,0.9315704,-0.40828028,-0.026898071,0.03058468,0.91194755,-0.4518777,-0.02977033,0.033850607,0.8909402,-0.49153778,-0.032382697,0.036821086,0.86947465,-0.52657634,-0.03469052,0.039445292,0.8485034,-0.5566305,-0.036669914,0.041695505,0.8289025,-0.5816008,-0.038314294,0.04356532,0.81140286,-0.60157144,-0.039628696,0.045060035,0.79656196,-0.6167312,-0.040626734,0.046194945,0.7847662,-0.62730956,-0.041323572,0.046986658,0.7762521,-0.63352835,-0.04173259,0.047452454,0.7711346,-0.6355695,-0.04186705,0.04760534,0.7694364]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334,0.5,0.5416667,0.5833333,0.625,0.6666667,0.7083333,0.75,0.7916667,0.8333333,0.875,0.9166667,0.9583333,1.0,1.0416666,1.0833334,1.125,1.1666666,1.2083334],"translations":[0.0,0.0,0.0,-0.0,-0.0,-0.0,-0.0,0.0,-0.0,0.0,0.0,-0.0,-0.0,-0.0,-0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,-0.0,-0.0,-0.0,0.0,0.0,0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,0.0,-0.0,-0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,0.0,-0.0,-0.0,0.0,0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,0.0,-0.0,0.0,-0.0,-0.0,0.0,0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,-0.0,-0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":21,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334,0.5,0.5416667,0.5833333,0.625,0.6666667,0.7083333,0.75,0.7916667,0.8333333,0.875,0.9166667,0.9583333,1.0,1.0416666,1.0833334,1.125,1.1666666,1.2083334],"translations":[0.0,0.0,0.0,0.0,0.0,-0.0,-0.0,-0.0,0.0,-0.0,-0.0,-0.0,0.0,-0.0,-0.0,-0.0,-0.0,-0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":22,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334,0.5,0.5416667,0.5833333,0.625,0.6666667,0.7083333,0.75,0.7916667,0.8333333,0.875,0.9166667,0.9583333,1.0,1.0416666,1.0833334,1.125,1.1666666,1.2083334],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-0.0,-0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":23,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,-0.002530236,7.441548E-5,-1.6947654E-4,0.9999968,-0.010364614,3.048398E-4,-6.942638E-4,0.999946,-0.023500012,6.911879E-4,-0.0015741908,0.99972236,-0.04206555,0.0012373127,-0.0028179483,0.9991101,-0.06606736,0.0019433234,-0.004425936,0.99780345,-0.09539803,0.0028061564,-0.0063910196,0.99541473,-0.1297691,0.0038173392,-0.008693951,0.99149877,-0.1686536,0.0049613556,-0.011299389,0.98559815,-0.21125244,0.006214503,-0.014153622,0.9773093,-0.25649047,0.0075455466,-0.017184764,0.9663645,-0.30307102,0.008915873,-0.020305645,0.9527099,-0.34957623,0.010283984,-0.023421478,0.93655866,-0.39460465,0.011608661,-0.026438389,0.9183972,-0.436909,0.012853176,-0.029272739,0.8989374,-0.47550267,0.013988065,-0.031858023,0.87902594,-0.5097059,0.014994236,-0.034149077,0.85954,-0.5391371,0.015859487,-0.03612036,0.84129363,-0.56366587,0.016581034,-0.037762575,0.8249727,-0.5833376,0.017159121,-0.039079886,0.81110764,-0.5983063,0.017599432,-0.040082093,0.8000708,-0.6087704,0.017906627,-0.04078311,0.7920951,-0.614929,0.01808778,-0.04119508,0.78729796,-0.6169525,0.018147299,-0.04133063,0.7857049]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334,0.5,0.5416667,0.5833333,0.625,0.6666667,0.7083333,0.75,0.7916667,0.8333333,0.875,0.9166667,0.9583333,1.0,1.0416666,1.0833334,1.125,1.1666666,1.2083334],"translations":[0.0,0.0,0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,-0.0,0.0,-0.0,-0.0,-0.0,0.0,-0.0,-0.0,-0.0,0.0,-0.0,0.0,-0.0,-0.0,-0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,-0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,0.0,0.0,-0.0,-0.0,-0.0,-0.0,0.0,-0.0,0.0,0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,0.0,-0.0,0.0,-0.0,0.0,-0.0,-0.0,-0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":24,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334,0.5,0.5416667,0.5833333,0.625,0.6666667,0.7083333,0.75,0.7916667,0.8333333,0.875,0.9166667,0.9583333,1.0,1.0416666,1.0833334,1.125,1.1666666,1.2083334],"translations":[0.0,0.0,0.0,-0.0,-0.0,-0.0,-0.0,0.0,0.0,0.0,0.0,-0.0,0.0,0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":25,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334,0.5,0.5416667,0.5833333,0.625,0.6666667,0.7083333,0.75,0.7916667,0.8333333,0.875,0.9166667,0.9583333,1.0,1.0416666,1.0833334,1.125,1.1666666,1.2083334],"translations":[0.0,0.0,0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":26,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,-2.0619147E-4,0.0013976736,0.0025434543,0.99999577,-8.3293417E-4,0.0056466423,0.010275385,0.9999309,-0.0018910401,0.012820161,0.023328692,0.99964386,-0.0033913027,0.02299088,0.041835193,0.9988542,-0.0053390684,0.036195002,0.06586056,0.9971579,-0.007730086,0.0524045,0.09535329,0.9940331,-0.010544712,0.07148469,0.1300684,0.98886853,-0.013741202,0.093154185,0.16949396,0.9810226,-0.017252127,0.116954714,0.21279578,0.9699185,-0.020982686,0.14224392,0.25880632,0.9551679,-0.024816249,0.16823037,0.30608585,0.9366932,-0.028624212,0.19404472,0.35305324,0.91481185,-0.032281388,0.21883948,0.39816713,0.8902416,-0.03568118,0.2418861,0.4401016,0.86401886,-0.038742825,0.2626433,0.4778726,0.8373502,-0.04141827,0.2807822,0.51088125,0.811447,-0.043687616,0.29616824,0.5388817,0.7873895,-0.045552876,0.3088144,0.56189936,0.7660468,-0.04703015,0.3188311,0.58013123,0.74805266,-0.04814221,0.3263719,0.5938592,0.7338222,-0.048913807,0.33160076,0.60337794,0.7235906,-0.049364697,0.33466086,0.60894924,0.717458,-0.049512602,0.33566353,0.61077446,0.7154251]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334,0.5,0.5416667,0.5833333,0.625,0.6666667,0.7083333,0.75,0.7916667,0.8333333,0.875,0.9166667,0.9583333,1.0,1.0416666,1.0833334,1.125,1.1666666,1.2083334],"translations":[0.0,0.0,0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,-0.0,0.0,0.0,0.0,0.0,-0.0,0.0,-0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,0.0,0.0,-0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,0.0,-0.0,0.0,-0.0,-0.0,0.0,0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,0.0,-0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":27,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334,0.5,0.5416667,0.5833333,0.625,0.6666667,0.7083333,0.75,0.7916667,0.8333333,0.875,0.9166667,0.9583333,1.0,1.0416666,1.0833334,1.125,1.1666666,1.2083334],"translations":[0.0,0.0,0.0,-0.0,-0.0,-0.0,-0.0,0.0,0.0,0.0,0.0,-0.0,0.0,0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":28,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334,0.5,0.5416667,0.5833333,0.625,0.6666667,0.7083333,0.75,0.7916667,0.8333333,0.875,0.9166667,0.9583333,1.0,1.0416666,1.0833334,1.125,1.1666666,1.2083334],"translations":[0.0,0.0,0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,0.0,0.0,0.0,-0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":29,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,-0.0027885702,5.24666E-4,-5.40381E-4,0.9999958,-0.011273719,0.0021213137,-0.0021846704,0.9999318,-0.025594095,0.004816115,-0.004959978,0.9996485,-0.045894574,0.008636469,-0.008894415,0.99886936,-0.072240956,0.013594885,-0.014000916,0.99719626,-0.10457278,0.019680148,-0.02026779,0.9941159,-0.14261928,0.026841156,-0.027642753,0.9890274,-0.18581767,0.034972228,-0.03601643,0.98130095,-0.23325443,0.043901183,-0.04521196,0.97037154,-0.28365725,0.053388223,-0.05498253,0.95585835,-0.3354576,0.06313852,-0.06502397,0.93768525,-0.3869326,0.072826944,-0.07500172,0.9161627,-0.43640187,0.082137406,-0.08459023,0.8919929,-0.48241636,0.09079743,-0.093508884,0.86619073,-0.5238966,0.09860285,-0.10154744,0.8399393,-0.56017977,0.10542988,-0.10857839,0.8144286,-0.59098655,0.111226,-0.11454765,0.7907228,-0.61633265,0.11599408,-0.11945756,0.7696813,-0.63642573,0.11977284,-0.12334987,0.75193197,-0.6515647,0.12261977,-0.1262819,0.7378894,-0.6620672,0.12459476,-0.12831593,0.72778994,-0.66821676,0.12575124,-0.12950628,0.72173476,-0.6702317,0.12612973,-0.12989607,0.7197276]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334,0.5,0.5416667,0.5833333,0.625,0.6666667,0.7083333,0.75,0.7916667,0.8333333,0.875,0.9166667,0.9583333,1.0,1.0416666,1.0833334,1.125,1.1666666,1.2083334],"translations":[0.0,0.0,0.0,-0.0,-0.0,-0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,-0.0,0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-0.0,0.0,-0.0,-0.0,0.0,0.0,0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,0.0,-0.0,0.0,-0.0,0.0,0.0,0.0,0.0,0.0,-0.0,-0.0,0.0,0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,-0.0,-0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":30,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,-9.836297E-4,0.0013309853,-0.0017270215,0.99999714,-0.0039981958,0.005410156,-0.0070198593,0.99995273,-0.009058493,0.012257357,-0.015904188,0.99975735,-0.016199699,0.021920322,-0.028441893,0.99922377,-0.025419408,0.03439568,-0.04462856,0.9980877,-0.03666541,0.0496128,-0.06437239,0.9960173,-0.049819656,0.06741178,-0.08746597,0.99263453,-0.06467896,0.08751793,-0.113553144,0.987554,-0.08094124,0.1095223,-0.14210302,0.9804387,-0.09820824,0.1328861,-0.1724166,0.9710659,-0.11600178,0.15696292,-0.20365508,0.9593909,-0.13380177,0.18104778,-0.23490454,0.94558907,-0.15109025,0.20444138,-0.2652571,0.93006134,-0.16740172,0.22651218,-0.29389423,0.91339755,-0.1823566,0.24674831,-0.32015058,0.8963063,-0.19568262,0.26478064,-0.3435483,0.8795306,-0.20721479,0.28038517,-0.36379653,0.8637698,-0.21687765,0.29346153,-0.3807635,0.8496255,-0.22466588,0.30400014,-0.39443853,0.83757234,-0.23061632,0.31205255,-0.40488756,0.82795256,-0.23478964,0.3176998,-0.4122162,0.8209863,-0.23725113,0.3210313,-0.41653883,0.81679016,-0.2380611,0.32212672,-0.41796085,0.81539565]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334,0.5,0.5416667,0.5833333,0.625,0.6666667,0.7083333,0.75,0.7916667,0.8333333,0.875,0.9166667,0.9583333,1.0,1.0416666,1.0833334,1.125,1.1666666,1.2083334],"translations":[0.0,0.0,0.0,-0.0,0.0,0.0,0.0,0.0,-0.0,0.0,0.0,0.0,-0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":31,"rotations":[0.12136558,0.00325828,-0.007942149,0.99257076,0.12136558,0.00325828,-0.007942149,0.99257076,0.12136558,0.0032581585,-0.007942149,0.99257076,0.12136558,0.00325828,-0.007942149,0.99257076,0.12136558,0.00325828,-0.007942149,0.99257076,0.12136558,0.00325828,-0.007942149,0.99257076,0.12136558,0.00325828,-0.007942149,0.99257076,0.11973204,0.0032283152,-0.007938626,0.99276924,0.11478709,0.0031378334,-0.007927977,0.99335355,0.10648224,0.002985761,-0.007909404,0.99427867,0.09480374,0.0027717603,-0.007882538,0.9954609,0.079790495,0.0024964286,-0.007846479,0.99677765,0.06155264,0.0021616402,-0.0078001944,0.998071,0.04029707,0.0017710646,-0.0077430937,0.9991562,0.016340757,0.0013302211,-0.0076741753,0.99983615,-0.009866605,8.467984E-4,-0.0075903228,0.99992216,-0.037783116,3.322117E-4,-0.0075037708,0.99925774,-0.066728726,-2.0275736E-4,-0.0074032624,0.99774367,-0.095979996,-7.442795E-4,-0.0072952285,0.99535626,-0.124788605,-0.0012785177,-0.007182224,0.9921565,-0.15243998,-0.0017919949,-0.007067712,0.98828584,-0.17829555,-0.0022728597,-0.0069550895,0.9839498,-0.2018269,-0.0027111273,-0.0068481006,0.97939354,-0.22262767,-0.0030991386,-0.006749587,0.9748753,-0.24041677,-0.0034312094,-0.0066627758,0.97064084,-0.25502077,-0.0037042692,-0.006589308,0.966906,-0.26635468,-0.0039162124,-0.006531018,0.963845,-0.27440113,-0.0040668347,-0.006489092,0.9615848,-0.27918705,-0.0041564326,-0.0064639486,0.960206,-0.2807675,-0.0041858475,-0.0064555807,0.959745]}]},"stand":{"name":"stand","length":0.041666668,"tracks":[{"times":[0.0,0.041666668],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":0,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":1,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":2,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":3,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":4,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":5,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":6,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":7,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":8,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":9,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":10,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":11,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":12,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":13,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":14,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":15,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":16,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":17,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":18,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":19,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":20,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":21,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":22,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":23,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":24,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":25,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":26,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":27,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":28,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":29,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":30,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":31,"rotations":[0.12136558,0.00325828,-0.007942149,0.99257076,0.12136558,0.00325828,-0.007942149,0.99257076]}]},"walk":{"name":"walk","length":0.45833334,"tracks":[{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":0,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":1,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":2,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":3,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":4,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":5,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":6,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":7,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":8,"rotations":[0.0,0.0,0.0,1.0,0.027686818,-0.0138272075,-0.0,0.999521,0.09943791,-0.04969728,-0.0,0.99380195,0.16924153,-0.084616415,-0.0,0.9819355,0.19517998,-0.097590104,-0.0,0.97590005,0.14956442,-0.07477811,-0.0,0.98592025,0.0482656,-0.024123194,-0.0,0.9985432,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,-0.0,-0.0,0.0,0.0,-0.0,0.0,-0.0,-0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":9,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":10,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":11,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.04826619,0.024122007,-0.0,0.9985432,0.14956427,0.074775115,-0.0,0.9859205,0.19517964,0.09758971,-0.0,0.9759002,0.16903195,0.09807171,-0.0,0.9807192,0.09907183,0.09901412,0.0,0.9901419,0.027552145,0.09946539,-0.0,0.9946595,-0.0,0.09950357,-0.0,0.9950372]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-0.0,-0.0,-0.0,-0.0,0.0,-0.0,-0.0,-0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,-0.0,-0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":12,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":13,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":14,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.04826619,-0.024122007,-0.0,0.9985432,0.14956427,-0.074775115,-0.0,0.9859205,0.19517998,-0.097590104,0.0,0.97590005,0.1690319,-0.0980718,0.0,0.9807192,0.099071756,-0.09901418,0.0,0.9901419,0.027552145,-0.09946539,-0.0,0.9946595,-0.0,-0.09950307,0.0,0.99503726]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-0.0,0.0,-0.0,-0.0,0.0,0.0,0.0,-0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":15,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":16,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":17,"rotations":[0.0,0.0,0.0,1.0,0.027686827,0.013827181,0.0,0.999521,0.09943791,0.04969728,-0.0,0.99380195,0.16924158,0.08461633,0.0,0.9819355,0.19518003,0.097590014,0.0,0.97590005,0.14956442,0.07477811,-0.0,0.98592025,0.04826649,0.02412364,-0.0,0.99854314,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334],"translations":[0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":18,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":19,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":20,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.04826619,0.024122007,-0.0,0.9985432,0.14956427,0.074775115,-0.0,0.9859205,0.19517998,0.097590104,-0.0,0.97590005,0.16903195,0.09807171,-0.0,0.9807192,0.09907183,0.09901412,-0.0,0.9901419,0.027552048,0.09946542,-0.0,0.9946595,-0.0,0.09950307,-0.0,0.99503726]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-0.0,-0.0,0.0,0.0,-0.0,-0.0,0.0,0.0,0.0,-0.0,-0.0,-0.0,0.0,0.0,-0.0,-0.0,-0.0,0.0,-0.0,0.0,-0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":21,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":22,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":23,"rotations":[0.0,0.0,0.0,1.0,0.027686821,-0.013827195,0.0,0.999521,0.09943791,-0.04969728,0.0,0.99380195,0.16924158,-0.08461633,0.0,0.9819355,0.19518003,-0.097590014,0.0,0.97590005,0.14956442,-0.07477811,0.0,0.98592025,0.048265606,-0.024123171,0.0,0.9985432,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334],"translations":[0.0,0.0,0.0,-0.0,-0.0,0.0,-0.0,0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,0.0,0.0,-0.0,-0.0,-0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":24,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":25,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":26,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.048273113,0.0,-0.017001797,0.9986895,0.14971508,0.0,-0.059884354,0.98691404,0.19518003,0.0,-0.097590014,0.97590005,0.16841911,0.0,-0.12955111,0.97716504,0.09821317,0.0,-0.16399433,0.98156,0.027193753,0.0,-0.18837702,0.9817202,-0.0,0.0,-0.19611607,0.9805807]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-0.0,0.0,-0.0,-0.0,0.0,0.0,-0.0,-0.0,0.0,-0.0,0.0,-0.0,-0.0,0.0,0.0,-0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":27,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":28,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":29,"rotations":[0.0,0.0,0.0,1.0,0.027678635,-0.0,0.027678635,0.9992336,0.09907097,-0.0,0.09907097,0.9901363,0.16745262,-0.0,0.16745262,0.97155505,0.19245024,-0.0,0.19245024,0.9622504,0.14832516,-0.0,0.14832516,0.97775215,0.048223637,-0.0,0.048223637,0.9976718,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334],"translations":[0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,0.0,0.0,0.0,-0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,-0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":30,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]},{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334],"translations":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":31,"rotations":[0.12136558,0.00325828,-0.007942149,0.99257076,0.13340397,0.0035813195,-0.007914757,0.99102366,0.16726714,0.0044902833,-0.007831445,0.9858703,0.21050458,0.005651121,-0.0077104997,0.97754616,0.24384895,0.0065465425,-0.0076062316,0.9697613,0.25559437,0.0068620504,-0.007567287,0.9667302,0.24743715,0.0066430154,-0.0075944583,0.9688514,0.22355759,0.006001722,-0.0076710423,0.97464204,0.18893008,0.0050718943,-0.0077728815,0.9819467,0.15406081,0.0041358448,-0.007865065,0.98802143,0.12973048,0.0034826747,-0.0079233255,0.9915115,0.12136558,0.00325828,-0.007942149,0.99257076]}]}}} \ No newline at end of file diff --git a/web/public/models/staff.glb b/web/public/models/staff.glb new file mode 100644 index 0000000..5f9000f Binary files /dev/null and b/web/public/models/staff.glb differ diff --git a/web/public/models/staff.json b/web/public/models/staff.json new file mode 100644 index 0000000..75a7676 --- /dev/null +++ b/web/public/models/staff.json @@ -0,0 +1 @@ +{"skeletons":[{"bones":[{"children":[],"rotation":[0.0,0.0,0.0,1.0],"name":"Bone","scale":[1.0,1.0,1.0],"id":0,"position":[0.0,0.0,0.0]}],"roots":["Bone"]}],"materials":[{"geometryName":"staff","materialDef":"Common/MatDefs/Light/Lighting.j3md","name":null,"params":[{"color":[0.64000005,0.64000005,0.64000005,1.0],"name":"Diffuse","type":"Vector4"},{"name":"UseMaterialColors","type":"Boolean","value":"true"},{"color":[0.8,0.8,0.8,1.0],"name":"Ambient","type":"Vector4"},{"name":"ParallaxHeight","type":"Float","value":0.05},{"color":[0.0,0.0,0.0,1.0],"name":"GlowColor","type":"Vector4"},{"texture":"Models/staff/staff1.png","name":"DiffuseMap","type":"Texture2D"},{"color":[0.5,0.5,0.5,1.0],"name":"Specular","type":"Vector4"},{"name":"Shininess","type":"Float","value":12.5}]}],"geometries":[{"texcoords":[0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.197554,0.252954,0.232343,0.250394,0.233416,0.250426,0.233202,0.180791,0.23213,0.180759,0.251743,0.250452,0.252927,0.250443,0.253141,0.180744,0.251957,0.180753,0.247934,0.250441,0.249197,0.250451,0.249411,0.180752,0.248148,0.180742,0.209916,0.250429,0.210848,0.250422,0.210634,0.180702,0.209702,0.18071,0.206361,0.250448,0.207628,0.250443,0.207414,0.180723,0.206147,0.180728,0.202645,0.250455,0.20382,0.250454,0.203606,0.180735,0.202431,0.180735,0.224122,0.250454,0.225124,0.250455,0.225338,0.180735,0.224336,0.180734,0.220466,0.250447,0.221748,0.25045,0.221962,0.18073,0.22068,0.180726,0.216832,0.250432,0.217961,0.250437,0.218174,0.180717,0.217046,0.180712,0.238416,0.250434,0.239602,0.250406,0.239388,0.18077,0.238202,0.180799,0.234606,0.250446,0.235869,0.250455,0.235655,0.180819,0.234393,0.180811,0.23143,0.250352,0.232343,0.250394,0.23213,0.180759,0.231216,0.180717,0.250484,0.250455,0.251743,0.250452,0.251957,0.180753,0.250697,0.180756,0.246741,0.250425,0.247934,0.250441,0.248148,0.180742,0.246955,0.180727,0.208828,0.250437,0.209916,0.250429,0.209702,0.18071,0.208614,0.180717,0.205075,0.250452,0.206361,0.250448,0.206147,0.180728,0.204861,0.180732,0.201594,0.250454,0.202645,0.250455,0.202431,0.180735,0.20138,0.180734,0.222982,0.250453,0.224122,0.250454,0.224336,0.180734,0.223196,0.180733,0.219188,0.250442,0.220466,0.250447,0.22068,0.180726,0.219402,0.180722,0.215846,0.250426,0.216832,0.250432,0.217046,0.180712,0.216059,0.180706,0.237155,0.25045,0.238416,0.250434,0.238202,0.180799,0.236942,0.180815,0.233416,0.250426,0.234606,0.250446,0.234393,0.180811,0.233202,0.180791,0.252927,0.250443,0.25399,0.250428,0.254204,0.180729,0.253141,0.180744,0.249197,0.250451,0.250484,0.250455,0.250697,0.180756,0.249411,0.180752,0.245666,0.250404,0.246741,0.250425,0.246955,0.180727,0.24588,0.180706,0.207628,0.250443,0.208828,0.250437,0.208614,0.180717,0.207414,0.180723,0.20382,0.250454,0.205075,0.250452,0.204861,0.180732,0.203606,0.180735,0.200707,0.250451,0.201594,0.250454,0.20138,0.180734,0.200494,0.180732,0.221748,0.25045,0.222982,0.250453,0.223196,0.180733,0.221962,0.18073,0.217961,0.250437,0.219188,0.250442,0.219402,0.180722,0.218174,0.180717,0.239602,0.250406,0.240668,0.250367,0.240454,0.180732,0.239388,0.18077,0.235869,0.250455,0.237155,0.25045,0.236942,0.180815,0.235655,0.180819,0.235655,0.180819,0.236942,0.180815,0.236701,0.10237,0.235415,0.102374,0.23213,0.180759,0.233202,0.180791,0.232962,0.102345,0.231889,0.102313,0.253382,0.102227,0.252198,0.102236,0.249652,0.102235,0.248388,0.102225,0.209702,0.18071,0.210634,0.180702,0.210393,0.102162,0.209461,0.102169,0.206147,0.180728,0.207414,0.180723,0.207173,0.102183,0.205906,0.102188,0.202431,0.180735,0.203606,0.180735,0.203365,0.102194,0.20219,0.102195,0.224336,0.180734,0.225338,0.180735,0.225579,0.102193,0.224577,0.102193,0.22068,0.180726,0.221962,0.18073,0.222202,0.102189,0.220921,0.102185,0.217046,0.180712,0.218174,0.180717,0.218415,0.102176,0.217287,0.10217,0.239147,0.102325,0.237961,0.102353,0.235415,0.102374,0.234152,0.102366,0.231216,0.180717,0.23213,0.180759,0.231889,0.102313,0.230976,0.102271,0.250697,0.180756,0.251957,0.180753,0.252198,0.102236,0.250938,0.102239,0.246955,0.180727,0.248148,0.180742,0.248388,0.102225,0.247196,0.102209,0.209461,0.102169,0.208374,0.102177,0.204861,0.180732,0.206147,0.180728,0.205906,0.102188,0.20462,0.102192,0.20219,0.102195,0.201139,0.102194,0.223196,0.180733,0.224336,0.180734,0.224577,0.102193,0.223437,0.102191,0.219402,0.180722,0.22068,0.180726,0.220921,0.102185,0.219643,0.102181,0.217287,0.10217,0.2163,0.102164,0.236942,0.180815,0.238202,0.180799,0.237961,0.102353,0.236701,0.10237,0.233202,0.180791,0.234393,0.180811,0.234152,0.102366,0.232962,0.102345,0.253141,0.180744,0.254204,0.180729,0.254445,0.102212,0.253382,0.102227,0.249411,0.180752,0.250697,0.180756,0.250938,0.102239,0.249652,0.102235,0.24588,0.180706,0.246955,0.180727,0.247196,0.102209,0.24612,0.102188,0.207414,0.180723,0.208614,0.180717,0.208374,0.102177,0.207173,0.102183,0.203606,0.180735,0.204861,0.180732,0.20462,0.102192,0.203365,0.102194,0.200494,0.180732,0.20138,0.180734,0.201139,0.102194,0.200253,0.102191,0.221962,0.18073,0.223196,0.180733,0.223437,0.102191,0.222202,0.102189,0.218174,0.180717,0.219402,0.180722,0.219643,0.102181,0.218415,0.102176,0.240214,0.102286,0.239147,0.102325,0.239147,0.102325,0.240214,0.102286,0.240014,0.037271,0.238948,0.037309,0.236502,0.037354,0.235215,0.037358,0.231889,0.102313,0.232962,0.102345,0.232762,0.03733,0.23169,0.037298,0.252198,0.102236,0.253382,0.102227,0.253581,0.037152,0.252397,0.037161,0.248388,0.102225,0.249652,0.102235,0.249852,0.03716,0.248588,0.03715,0.209461,0.102169,0.210393,0.102162,0.210193,0.037068,0.209261,0.037075,0.205906,0.102188,0.207173,0.102183,0.206973,0.037089,0.205706,0.037094,0.20219,0.102195,0.203365,0.102194,0.203165,0.0371,0.20199,0.037101,0.224577,0.102193,0.225579,0.102193,0.225778,0.037098,0.224777,0.037098,0.220921,0.102185,0.222202,0.102189,0.222402,0.037094,0.221121,0.03709,0.217287,0.10217,0.218415,0.102176,0.218615,0.037081,0.217487,0.037075,0.237961,0.102353,0.239147,0.102325,0.238948,0.037309,0.237762,0.037338,0.234152,0.102366,0.235415,0.102374,0.235215,0.037358,0.233953,0.03735,0.230976,0.102271,0.231889,0.102313,0.23169,0.037298,0.230776,0.037256,0.250938,0.102239,0.252198,0.102236,0.252397,0.037161,0.251138,0.037164,0.247196,0.102209,0.248388,0.102225,0.248588,0.03715,0.247396,0.037135,0.208374,0.102177,0.209461,0.102169,0.209261,0.037075,0.208174,0.037083,0.20462,0.102192,0.205906,0.102188,0.205706,0.037094,0.20442,0.037098,0.201139,0.102194,0.20219,0.102195,0.20199,0.037101,0.200939,0.0371,0.223437,0.102191,0.224577,0.102193,0.224777,0.037098,0.223636,0.037097,0.219643,0.102181,0.220921,0.102185,0.221121,0.03709,0.219842,0.037086,0.2163,0.102164,0.217287,0.10217,0.217487,0.037075,0.2165,0.03707,0.236701,0.10237,0.237961,0.102353,0.237762,0.037338,0.236502,0.037354,0.232962,0.102345,0.234152,0.102366,0.233953,0.03735,0.232762,0.03733,0.253382,0.102227,0.254445,0.102212,0.254644,0.037137,0.253581,0.037152,0.251138,0.037164,0.249852,0.03716,0.24612,0.102188,0.247196,0.102209,0.247396,0.037135,0.24632,0.037114,0.207173,0.102183,0.208374,0.102177,0.208174,0.037083,0.206973,0.037089,0.203365,0.102194,0.20462,0.102192,0.20442,0.037098,0.203165,0.0371,0.200253,0.102191,0.201139,0.102194,0.200939,0.0371,0.200053,0.037097,0.222202,0.102189,0.223437,0.102191,0.223636,0.037097,0.222402,0.037094,0.218415,0.102176,0.219643,0.102181,0.219842,0.037086,0.218615,0.037081,0.519732,0.172929,0.517518,0.046836,0.519737,0.056006,0.491784,0.133379,0.545356,0.893374,0.545608,0.811105,0.50923,0.810911,0.491784,0.9211,0.82745,0.502783,0.802853,0.392245,0.785392,0.391598,0.766364,0.50471,0.766364,0.50471,0.785392,0.391598,0.71385,0.393245,0.707376,0.504668,0.846563,0.939955,0.843832,0.826755,0.823891,0.822998,0.794518,0.930152,0.794518,0.930152,0.823891,0.822998,0.772671,0.812565,0.756132,0.893128,0.756132,0.893128,0.772671,0.812565,0.73923,0.804994,0.707376,0.910439,0.66779,0.479947,0.666646,0.36834,0.581694,0.37492,0.634526,0.485833,0.66779,0.803376,0.573908,0.535069,0.563795,0.803202,0.657244,0.921591,0.66779,0.803376,0.563795,0.803202,0.506663,0.921031,0.572542,0.980207,0.657244,0.921591,0.506663,0.921031,0.964859,0.810444,0.980207,0.721279,0.934353,0.72131,0.563795,0.803202,0.573908,0.535069,0.545608,0.811105,0.545608,0.811105,0.573908,0.535069,0.50923,0.810911,0.572542,0.980207,0.545356,0.893374,0.491784,0.9211,0.510836,0.495484,0.510346,0.212515,0.491784,0.491348,0.867267,0.402977,0.867035,0.50471,0.927056,0.484837,0.867267,0.402977,0.927056,0.484837,0.963938,0.433479,0.785392,0.391598,0.764758,0.114016,0.71385,0.393245,0.843832,0.826755,0.846484,0.544295,0.823891,0.822998,0.867267,0.402977,0.963938,0.433479,0.963593,0.370255,0.895913,0.96214,0.925525,0.850112,0.886148,0.850029,0.823891,0.822998,0.846484,0.544295,0.772671,0.812565,0.772671,0.812565,0.846484,0.544295,0.73923,0.804994,0.756992,0.980207,0.756132,0.893128,0.707376,0.910439,0.666646,0.36834,0.578083,0.103236,0.581694,0.37492,0.927873,0.084419,0.867035,0.117026,0.867545,0.168172,0.634526,0.485833,0.581694,0.37492,0.590209,0.37349,0.577055,0.495484,0.927873,0.084419,0.867545,0.168172,0.927703,0.187637,0.894767,0.810444,0.894371,0.544295,0.886148,0.808996,0.923789,0.227223,0.913602,0.227236,0.91883,0.278998,0.894206,0.233147,0.885743,0.238818,0.91883,0.278998,0.872898,0.254508,0.869011,0.263925,0.91883,0.278998,0.867047,0.284106,0.869046,0.294095,0.91883,0.278998,0.878624,0.311965,0.885836,0.31916,0.91883,0.278998,0.903729,0.328695,0.913722,0.330669,0.91883,0.278998,0.933897,0.328656,0.943304,0.324745,0.91883,0.278998,0.958963,0.311862,0.964612,0.303384,0.91883,0.278998,0.970476,0.283973,0.970464,0.273786,0.91883,0.278998,0.964556,0.25439,0.958886,0.245927,0.91883,0.278998,0.943198,0.233084,0.933782,0.229197,0.91883,0.278998,0.913602,0.227236,0.903613,0.229236,0.91883,0.278998,0.885743,0.238818,0.878548,0.24603,0.91883,0.278998,0.869011,0.263925,0.867035,0.273919,0.91883,0.278998,0.869046,0.294095,0.872955,0.303502,0.91883,0.278998,0.885836,0.31916,0.894313,0.324808,0.91883,0.278998,0.913722,0.330669,0.923909,0.330656,0.91883,0.278998,0.943304,0.324745,0.951768,0.319075,0.91883,0.278998,0.964612,0.303384,0.9685,0.293967,0.91883,0.278998,0.970464,0.273786,0.968465,0.263797,0.91883,0.278998,0.958886,0.245927,0.951675,0.238733,0.91883,0.278998,0.933782,0.229197,0.923789,0.227223,0.91883,0.278998,0.903613,0.229236,0.894206,0.233147,0.91883,0.278998,0.878548,0.24603,0.872898,0.254508,0.91883,0.278998,0.867035,0.273919,0.867047,0.284106,0.91883,0.278998,0.872955,0.303502,0.878624,0.311965,0.91883,0.278998,0.894313,0.324808,0.903729,0.328695,0.91883,0.278998,0.923909,0.330656,0.933897,0.328656,0.91883,0.278998,0.951768,0.319075,0.958963,0.311862,0.91883,0.278998,0.9685,0.293967,0.970476,0.283973,0.91883,0.278998,0.968465,0.263797,0.964556,0.25439,0.91883,0.278998,0.951675,0.238733,0.943198,0.233084,0.91883,0.278998],"boneIndices":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"indices":[0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23,24,25,26,24,26,27,28,29,30,28,30,31,32,33,34,32,34,35,36,37,38,36,38,39,40,41,42,40,42,43,44,0,3,44,3,45,46,4,7,46,7,47,48,8,11,48,11,49,50,12,15,50,15,51,52,16,19,52,19,53,54,20,23,54,23,55,56,24,27,56,27,57,58,28,31,58,31,59,60,32,35,60,35,61,62,36,39,62,39,63,1,40,43,1,43,2,5,44,45,5,45,6,9,46,47,9,47,10,13,48,49,13,49,14,17,50,51,17,51,18,21,52,53,21,53,22,25,54,55,25,55,26,29,56,57,29,57,30,33,58,59,33,59,34,37,60,61,37,61,38,41,62,63,41,63,42,64,65,66,64,66,67,68,69,70,68,70,71,72,73,74,72,74,75,76,77,78,76,78,79,80,81,82,80,82,83,84,85,86,84,86,87,88,89,90,88,90,91,92,93,94,92,94,95,96,97,98,96,98,99,100,101,102,100,102,103,104,105,106,104,106,107,108,109,110,108,110,111,112,113,114,112,114,115,116,117,118,116,118,119,120,121,122,120,122,123,124,125,126,124,126,127,128,129,130,128,130,131,132,133,134,132,134,135,136,137,138,136,138,139,140,141,142,140,142,143,144,145,146,144,146,147,148,149,150,148,150,151,152,153,154,152,154,155,156,157,158,156,158,159,160,161,162,160,162,163,164,165,166,164,166,167,168,169,170,168,170,171,172,173,174,172,174,175,176,177,178,176,178,179,180,181,182,180,182,183,184,185,186,184,186,187,188,189,190,188,190,191,192,193,194,192,194,195,196,197,198,196,198,199,71,70,200,71,200,201,75,74,202,75,202,203,204,205,206,204,206,207,208,209,210,208,210,211,212,213,214,212,214,215,216,217,218,216,218,219,220,221,222,220,222,223,224,225,226,224,226,227,103,102,228,103,228,229,107,106,230,107,230,231,232,233,234,232,234,235,236,237,238,236,238,239,240,241,242,240,242,243,123,122,244,123,244,245,246,247,248,246,248,249,131,130,250,131,250,251,252,253,254,252,254,255,256,257,258,256,258,259,143,142,260,143,260,261,262,263,264,262,264,265,266,267,268,266,268,269,270,271,272,270,272,273,274,275,276,274,276,277,278,279,280,278,280,281,282,283,284,282,284,285,286,287,288,286,288,289,290,291,292,290,292,293,294,295,296,294,296,297,298,299,300,298,300,301,187,186,302,187,302,303,304,305,306,304,306,307,195,194,308,195,308,309,310,311,312,310,312,313,314,315,316,314,316,317,318,319,320,318,320,321,322,323,324,322,324,325,326,327,328,326,328,329,330,331,332,330,332,333,334,335,336,334,336,337,338,339,340,338,340,341,342,343,344,342,344,345,346,347,348,346,348,349,350,351,352,350,352,353,354,355,356,354,356,357,358,359,360,358,360,361,362,363,364,362,364,365,366,367,368,366,368,369,370,371,372,370,372,373,374,375,376,374,376,377,378,379,380,378,380,381,382,383,384,382,384,385,386,387,388,386,388,389,390,391,392,390,392,393,394,395,396,394,396,397,398,399,400,398,400,401,277,276,402,277,402,403,404,405,406,404,406,407,408,409,410,408,410,411,412,413,414,412,414,415,416,417,418,416,418,419,420,421,422,420,422,423,424,425,426,424,426,427,428,429,430,428,430,431,432,433,434,432,434,435,436,437,438,436,438,439,440,441,442,440,442,443,444,445,446,444,446,447,448,449,450,448,450,451,452,453,454,452,454,455,456,457,458,456,458,459,460,461,462,463,464,465,463,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,518,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623],"boneWeights":[1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.99999994,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0],"name":"staff","elementCount":984,"positions":[0.088587,-1.907151,0.059192,0.098433,-1.907151,0.040772,0.098433,-1.907151,0.040772,0.088587,-1.907151,0.059192,0.040772,-1.907151,0.098433,0.059192,-1.907151,0.088587,0.059192,-1.907151,0.088587,0.040772,-1.907151,0.098433,-0.020785,-1.907151,0.104496,0.0,-1.907151,0.106543,0.0,-1.907151,0.106543,-0.020785,-1.907151,0.104496,-0.075337,-1.907151,0.075337,-0.059192,-1.907151,0.088587,-0.059192,-1.907151,0.088587,-0.075337,-1.907151,0.075337,-0.104496,-1.907151,0.020785,-0.098433,-1.907151,0.040772,-0.098433,-1.907151,0.040772,-0.104496,-1.907151,0.020785,-0.098433,-1.907151,-0.040772,-0.104496,-1.907151,-0.020786,-0.104496,-1.907151,-0.020786,-0.098433,-1.907151,-0.040772,-0.059192,-1.907151,-0.088587,-0.075337,-1.907151,-0.075337,-0.075337,-1.907151,-0.075337,-0.059192,-1.907151,-0.088587,-0.0,-1.907151,-0.106543,-0.020786,-1.907151,-0.104496,-0.020786,-1.907151,-0.104496,-0.0,-1.907151,-0.106543,0.059192,-1.907151,-0.088587,0.040772,-1.907151,-0.098433,0.040772,-1.907151,-0.098433,0.059192,-1.907151,-0.088587,0.098433,-1.907151,-0.040772,0.088587,-1.907151,-0.059192,0.088587,-1.907151,-0.059192,0.098433,-1.907151,-0.040772,0.104496,-1.907151,0.020785,0.106543,-1.907151,-0.0,0.106543,-1.907151,-0.0,0.104496,-1.907151,0.020785,0.075337,-1.907151,0.075337,0.075337,-1.907151,0.075337,0.020786,-1.907151,0.104496,0.020786,-1.907151,0.104496,-0.040772,-1.907151,0.098433,-0.040772,-1.907151,0.098433,-0.088587,-1.907151,0.059192,-0.088587,-1.907151,0.059192,-0.106543,-1.907151,-0.0,-0.106543,-1.907151,-0.0,-0.088587,-1.907151,-0.059192,-0.088587,-1.907151,-0.059192,-0.040772,-1.907151,-0.098433,-0.040772,-1.907151,-0.098433,0.020785,-1.907151,-0.104496,0.020785,-1.907151,-0.104496,0.075337,-1.907151,-0.075337,0.075337,-1.907151,-0.075337,0.104496,-1.907151,-0.020786,0.104496,-1.907151,-0.020786,0.106543,-1.907151,-0.0,0.104496,-1.907151,-0.020786,0.104496,-0.774993,-0.020786,0.106543,-0.774993,-0.0,0.088587,-1.907151,0.059192,0.098433,-1.907151,0.040772,0.098433,-0.774993,0.040772,0.088587,-0.774993,0.059192,0.040772,-1.907151,0.098433,0.059192,-1.907151,0.088587,0.059192,-0.774993,0.088587,0.040772,-0.774993,0.098433,-0.020785,-1.907151,0.104496,0.0,-1.907151,0.106543,0.0,-0.774993,0.106543,-0.020785,-0.774993,0.104496,-0.075337,-1.907151,0.075337,-0.059192,-1.907151,0.088587,-0.059192,-0.774993,0.088587,-0.075337,-0.774993,0.075337,-0.104496,-1.907151,0.020785,-0.098433,-1.907151,0.040772,-0.098433,-0.774993,0.040772,-0.104496,-0.774993,0.020785,-0.098433,-1.907151,-0.040772,-0.104496,-1.907151,-0.020786,-0.104496,-0.774993,-0.020786,-0.098433,-0.774993,-0.040772,-0.059192,-1.907151,-0.088587,-0.075337,-1.907151,-0.075337,-0.075337,-0.774993,-0.075337,-0.059192,-0.774993,-0.088587,-0.0,-1.907151,-0.106543,-0.020786,-1.907151,-0.104496,-0.020786,-0.774993,-0.104496,-0.0,-0.774993,-0.106543,0.059192,-1.907151,-0.088587,0.040772,-1.907151,-0.098433,0.040772,-0.774993,-0.098433,0.059192,-0.774993,-0.088587,0.098433,-1.907151,-0.040772,0.088587,-1.907151,-0.059192,0.088587,-0.774993,-0.059192,0.098433,-0.774993,-0.040772,0.104496,-1.907151,0.020785,0.106543,-1.907151,-0.0,0.106543,-0.774993,-0.0,0.104496,-0.774993,0.020785,0.075337,-1.907151,0.075337,0.088587,-1.907151,0.059192,0.088587,-0.774993,0.059192,0.075337,-0.774993,0.075337,0.020786,-1.907151,0.104496,0.040772,-1.907151,0.098433,0.040772,-0.774993,0.098433,0.020786,-0.774993,0.104496,-0.040772,-1.907151,0.098433,-0.020785,-1.907151,0.104496,-0.020785,-0.774993,0.104496,-0.040772,-0.774993,0.098433,-0.088587,-1.907151,0.059192,-0.075337,-1.907151,0.075337,-0.075337,-0.774993,0.075337,-0.088587,-0.774993,0.059192,-0.106543,-1.907151,-0.0,-0.104496,-1.907151,0.020785,-0.104496,-0.774993,0.020785,-0.106543,-0.774993,-0.0,-0.088587,-1.907151,-0.059192,-0.098433,-1.907151,-0.040772,-0.098433,-0.774993,-0.040772,-0.088587,-0.774993,-0.059192,-0.040772,-1.907151,-0.098433,-0.059192,-1.907151,-0.088587,-0.059192,-0.774993,-0.088587,-0.040772,-0.774993,-0.098433,0.020785,-1.907151,-0.104496,-0.0,-1.907151,-0.106543,-0.0,-0.774993,-0.106543,0.020785,-0.774993,-0.104496,0.075337,-1.907151,-0.075337,0.059192,-1.907151,-0.088587,0.059192,-0.774993,-0.088587,0.075337,-0.774993,-0.075337,0.104496,-1.907151,-0.020786,0.098433,-1.907151,-0.040772,0.098433,-0.774993,-0.040772,0.104496,-0.774993,-0.020786,0.098433,-1.907151,0.040772,0.104496,-1.907151,0.020785,0.104496,-0.774993,0.020785,0.098433,-0.774993,0.040772,0.059192,-1.907151,0.088587,0.075337,-1.907151,0.075337,0.075337,-0.774993,0.075337,0.059192,-0.774993,0.088587,0.0,-1.907151,0.106543,0.020786,-1.907151,0.104496,0.020786,-0.774993,0.104496,0.0,-0.774993,0.106543,-0.059192,-1.907151,0.088587,-0.040772,-1.907151,0.098433,-0.040772,-0.774993,0.098433,-0.059192,-0.774993,0.088587,-0.098433,-1.907151,0.040772,-0.088587,-1.907151,0.059192,-0.088587,-0.774993,0.059192,-0.098433,-0.774993,0.040772,-0.104496,-1.907151,-0.020786,-0.106543,-1.907151,-0.0,-0.106543,-0.774993,-0.0,-0.104496,-0.774993,-0.020786,-0.075337,-1.907151,-0.075337,-0.088587,-1.907151,-0.059192,-0.088587,-0.774993,-0.059192,-0.075337,-0.774993,-0.075337,-0.020786,-1.907151,-0.104496,-0.040772,-1.907151,-0.098433,-0.040772,-0.774993,-0.098433,-0.020786,-0.774993,-0.104496,0.040772,-1.907151,-0.098433,0.020785,-1.907151,-0.104496,0.020785,-0.774993,-0.104496,0.040772,-0.774993,-0.098433,0.088587,-1.907151,-0.059192,0.075337,-1.907151,-0.075337,0.075337,-0.774993,-0.075337,0.088587,-0.774993,-0.059192,0.088587,-0.774993,-0.059192,0.075337,-0.774993,-0.075337,0.075337,0.500409,-0.075337,0.088587,0.500409,-0.059192,0.106543,-0.774993,-0.0,0.104496,-0.774993,-0.020786,0.104496,0.500409,-0.020786,0.106543,0.500409,-0.0,0.098433,0.500409,0.040772,0.088587,0.500409,0.059192,0.059192,0.500409,0.088587,0.040772,0.500409,0.098433,-0.020785,-0.774993,0.104496,0.0,-0.774993,0.106543,0.0,0.500409,0.106543,-0.020785,0.500409,0.104496,-0.075337,-0.774993,0.075337,-0.059192,-0.774993,0.088587,-0.059192,0.500409,0.088587,-0.075337,0.500409,0.075337,-0.104496,-0.774993,0.020785,-0.098433,-0.774993,0.040772,-0.098433,0.500409,0.040772,-0.104496,0.500409,0.020785,-0.098433,-0.774993,-0.040772,-0.104496,-0.774993,-0.020786,-0.104496,0.500409,-0.020786,-0.098433,0.500409,-0.040772,-0.059192,-0.774993,-0.088587,-0.075337,-0.774993,-0.075337,-0.075337,0.500409,-0.075337,-0.059192,0.500409,-0.088587,-0.0,-0.774993,-0.106543,-0.020786,-0.774993,-0.104496,-0.020786,0.500409,-0.104496,-0.0,0.500409,-0.106543,0.040772,0.500409,-0.098433,0.059192,0.500409,-0.088587,0.088587,0.500409,-0.059192,0.098433,0.500409,-0.040772,0.104496,-0.774993,0.020785,0.106543,-0.774993,-0.0,0.106543,0.500409,-0.0,0.104496,0.500409,0.020785,0.075337,-0.774993,0.075337,0.088587,-0.774993,0.059192,0.088587,0.500409,0.059192,0.075337,0.500409,0.075337,0.020786,-0.774993,0.104496,0.040772,-0.774993,0.098433,0.040772,0.500409,0.098433,0.020786,0.500409,0.104496,-0.020785,0.500409,0.104496,-0.040772,0.500409,0.098433,-0.088587,-0.774993,0.059192,-0.075337,-0.774993,0.075337,-0.075337,0.500409,0.075337,-0.088587,0.500409,0.059192,-0.104496,0.500409,0.020785,-0.106543,0.500409,-0.0,-0.088587,-0.774993,-0.059192,-0.098433,-0.774993,-0.040772,-0.098433,0.500409,-0.040772,-0.088587,0.500409,-0.059192,-0.040772,-0.774993,-0.098433,-0.059192,-0.774993,-0.088587,-0.059192,0.500409,-0.088587,-0.040772,0.500409,-0.098433,-0.0,0.500409,-0.106543,0.020785,0.500409,-0.104496,0.075337,-0.774993,-0.075337,0.059192,-0.774993,-0.088587,0.059192,0.500409,-0.088587,0.075337,0.500409,-0.075337,0.104496,-0.774993,-0.020786,0.098433,-0.774993,-0.040772,0.098433,0.500409,-0.040772,0.104496,0.500409,-0.020786,0.098433,-0.774993,0.040772,0.104496,-0.774993,0.020785,0.104496,0.500409,0.020785,0.098433,0.500409,0.040772,0.059192,-0.774993,0.088587,0.075337,-0.774993,0.075337,0.075337,0.500409,0.075337,0.059192,0.500409,0.088587,0.0,-0.774993,0.106543,0.020786,-0.774993,0.104496,0.020786,0.500409,0.104496,0.0,0.500409,0.106543,-0.059192,-0.774993,0.088587,-0.040772,-0.774993,0.098433,-0.040772,0.500409,0.098433,-0.059192,0.500409,0.088587,-0.098433,-0.774993,0.040772,-0.088587,-0.774993,0.059192,-0.088587,0.500409,0.059192,-0.098433,0.500409,0.040772,-0.104496,-0.774993,-0.020786,-0.106543,-0.774993,-0.0,-0.106543,0.500409,-0.0,-0.104496,0.500409,-0.020786,-0.075337,-0.774993,-0.075337,-0.088587,-0.774993,-0.059192,-0.088587,0.500409,-0.059192,-0.075337,0.500409,-0.075337,-0.020786,-0.774993,-0.104496,-0.040772,-0.774993,-0.098433,-0.040772,0.500409,-0.098433,-0.020786,0.500409,-0.104496,0.020785,0.500409,-0.104496,0.040772,0.500409,-0.098433,0.040772,0.500409,-0.098433,0.020785,0.500409,-0.104496,0.020785,1.557456,-0.104496,0.040772,1.557456,-0.098433,0.075337,1.557456,-0.075337,0.088587,1.557456,-0.059192,0.106543,0.500409,-0.0,0.104496,0.500409,-0.020786,0.104496,1.557456,-0.020786,0.106543,1.557456,-0.0,0.088587,0.500409,0.059192,0.098433,0.500409,0.040772,0.098433,1.557456,0.040772,0.088587,1.557456,0.059192,0.040772,0.500409,0.098433,0.059192,0.500409,0.088587,0.059192,1.557456,0.088587,0.040772,1.557456,0.098433,-0.020785,0.500409,0.104496,0.0,0.500409,0.106543,0.0,1.557456,0.106543,-0.020785,1.557456,0.104496,-0.075337,0.500409,0.075337,-0.059192,0.500409,0.088587,-0.059192,1.557456,0.088587,-0.075337,1.557456,0.075337,-0.104496,0.500409,0.020785,-0.098433,0.500409,0.040772,-0.098433,1.557456,0.040772,-0.104496,1.557456,0.020785,-0.098433,0.500409,-0.040772,-0.104496,0.500409,-0.020786,-0.104496,1.557456,-0.020786,-0.098433,1.557456,-0.040772,-0.059192,0.500409,-0.088587,-0.075337,0.500409,-0.075337,-0.075337,1.557456,-0.075337,-0.059192,1.557456,-0.088587,-0.0,0.500409,-0.106543,-0.020786,0.500409,-0.104496,-0.020786,1.557456,-0.104496,-0.0,1.557456,-0.106543,0.059192,0.500409,-0.088587,0.040772,0.500409,-0.098433,0.040772,1.557456,-0.098433,0.059192,1.557456,-0.088587,0.098433,0.500409,-0.040772,0.088587,0.500409,-0.059192,0.088587,1.557456,-0.059192,0.098433,1.557456,-0.040772,0.104496,0.500409,0.020785,0.106543,0.500409,-0.0,0.106543,1.557456,-0.0,0.104496,1.557456,0.020785,0.075337,0.500409,0.075337,0.088587,0.500409,0.059192,0.088587,1.557456,0.059192,0.075337,1.557456,0.075337,0.020786,0.500409,0.104496,0.040772,0.500409,0.098433,0.040772,1.557456,0.098433,0.020786,1.557456,0.104496,-0.040772,0.500409,0.098433,-0.020785,0.500409,0.104496,-0.020785,1.557456,0.104496,-0.040772,1.557456,0.098433,-0.088587,0.500409,0.059192,-0.075337,0.500409,0.075337,-0.075337,1.557456,0.075337,-0.088587,1.557456,0.059192,-0.106543,0.500409,-0.0,-0.104496,0.500409,0.020785,-0.104496,1.557456,0.020785,-0.106543,1.557456,-0.0,-0.088587,0.500409,-0.059192,-0.098433,0.500409,-0.040772,-0.098433,1.557456,-0.040772,-0.088587,1.557456,-0.059192,-0.040772,0.500409,-0.098433,-0.059192,0.500409,-0.088587,-0.059192,1.557456,-0.088587,-0.040772,1.557456,-0.098433,0.020785,0.500409,-0.104496,-0.0,0.500409,-0.106543,-0.0,1.557456,-0.106543,0.020785,1.557456,-0.104496,0.075337,0.500409,-0.075337,0.059192,0.500409,-0.088587,0.059192,1.557456,-0.088587,0.075337,1.557456,-0.075337,0.104496,0.500409,-0.020786,0.098433,0.500409,-0.040772,0.098433,1.557456,-0.040772,0.104496,1.557456,-0.020786,0.098433,0.500409,0.040772,0.104496,0.500409,0.020785,0.104496,1.557456,0.020785,0.098433,1.557456,0.040772,0.075337,1.557456,0.075337,0.059192,1.557456,0.088587,0.0,0.500409,0.106543,0.020786,0.500409,0.104496,0.020786,1.557456,0.104496,0.0,1.557456,0.106543,-0.059192,0.500409,0.088587,-0.040772,0.500409,0.098433,-0.040772,1.557456,0.098433,-0.059192,1.557456,0.088587,-0.098433,0.500409,0.040772,-0.088587,0.500409,0.059192,-0.088587,1.557456,0.059192,-0.098433,1.557456,0.040772,-0.104496,0.500409,-0.020786,-0.106543,0.500409,-0.0,-0.106543,1.557456,-0.0,-0.104496,1.557456,-0.020786,-0.075337,0.500409,-0.075337,-0.088587,0.500409,-0.059192,-0.088587,1.557456,-0.059192,-0.075337,1.557456,-0.075337,-0.020786,0.500409,-0.104496,-0.040772,0.500409,-0.098433,-0.040772,1.557456,-0.098433,-0.020786,1.557456,-0.104496,0.079853,1.589335,-0.123281,-0.061021,1.83152,-0.123281,-0.026614,1.815182,-0.138916,-0.026614,1.64652,-0.138916,-0.026614,1.64652,-0.138916,-0.026614,1.815182,-0.138916,0.063659,1.815182,-0.138916,0.064813,1.589335,-0.199473,0.064813,1.589335,-0.199473,0.063659,1.815182,-0.138916,0.055111,1.815182,-0.085854,0.169682,1.589335,-0.123281,0.169682,1.589335,-0.123281,0.055111,1.815182,-0.085854,0.158313,1.815182,0.01931,0.209738,1.589335,0.0,0.209738,1.589335,0.0,0.158313,1.815182,0.01931,0.142965,1.815182,0.066545,0.169682,1.589335,0.123282,0.169682,1.589335,0.123282,0.142965,1.815182,0.066545,0.063659,1.815182,0.138916,0.063659,1.64652,0.138916,0.063659,1.64652,0.138916,0.063659,1.815182,0.138916,-0.026615,1.815182,0.138916,-0.064813,1.589335,0.124194,-0.064813,1.589335,0.124194,-0.026615,1.815182,0.138916,-0.192678,1.83152,0.052508,-0.169682,1.589335,0.123281,-0.186743,1.83152,0.070774,-0.0,2.380835,0.0,-0.061021,1.83152,-0.123281,-0.209739,1.589335,0.0,-0.186743,1.83152,0.070774,-0.061021,1.83152,-0.123281,0.079853,1.589335,-0.123281,-0.0,1.468243,0.0,-0.209739,1.589335,0.0,0.079853,1.589335,-0.123281,-0.0,1.468243,0.0,0.079853,1.589335,-0.123281,-0.026614,1.64652,-0.138916,-0.061021,1.83152,-0.123281,-0.0,2.380835,0.0,-0.026614,1.815182,-0.138916,-0.026614,1.815182,-0.138916,-0.0,2.380835,0.0,0.063659,1.815182,-0.138916,-0.0,1.468243,0.0,-0.026614,1.64652,-0.138916,0.064813,1.589335,-0.199473,0.063659,1.815182,-0.138916,-0.0,2.380835,0.0,0.055111,1.815182,-0.085854,-0.0,1.468243,0.0,0.064813,1.589335,-0.199473,0.169682,1.589335,-0.123281,-0.0,1.468243,0.0,0.169682,1.589335,-0.123281,0.209738,1.589335,0.0,0.055111,1.815182,-0.085854,-0.0,2.380835,0.0,0.158313,1.815182,0.01931,0.158313,1.815182,0.01931,-0.0,2.380835,0.0,0.142965,1.815182,0.066545,-0.0,1.468243,0.0,0.209738,1.589335,0.0,0.169682,1.589335,0.123282,-0.0,1.468243,0.0,0.169682,1.589335,0.123282,0.063659,1.64652,0.138916,0.142965,1.815182,0.066545,-0.0,2.380835,0.0,0.063659,1.815182,0.138916,0.063659,1.815182,0.138916,-0.0,2.380835,0.0,-0.026615,1.815182,0.138916,-0.0,1.468243,0.0,0.063659,1.64652,0.138916,-0.064813,1.589335,0.124194,-0.026615,1.815182,0.138916,-0.0,2.380835,0.0,-0.192678,1.83152,0.052508,-0.0,1.468243,0.0,-0.064813,1.589335,0.124194,-0.169682,1.589335,0.123281,-0.169682,1.589335,0.123281,-0.192678,1.83152,0.052508,-0.186743,1.83152,0.070774,-0.209739,1.589335,0.0,-0.0,1.468243,0.0,-0.169682,1.589335,0.123281,-0.209739,1.589335,0.0,-0.192678,1.83152,0.052508,-0.0,2.380835,0.0,-0.186743,1.83152,0.070774,-0.020785,-1.907151,0.104496,-0.040772,-1.907151,0.098433,-0.0,-1.918426,-0.0,-0.075337,-1.907151,0.075337,-0.088587,-1.907151,0.059192,-0.0,-1.918426,-0.0,-0.104496,-1.907151,0.020785,-0.106543,-1.907151,-0.0,-0.0,-1.918426,-0.0,-0.098433,-1.907151,-0.040772,-0.088587,-1.907151,-0.059192,-0.0,-1.918426,-0.0,-0.059192,-1.907151,-0.088587,-0.040772,-1.907151,-0.098433,-0.0,-1.918426,-0.0,-0.0,-1.907151,-0.106543,0.020785,-1.907151,-0.104496,-0.0,-1.918426,-0.0,0.059192,-1.907151,-0.088587,0.075337,-1.907151,-0.075337,-0.0,-1.918426,-0.0,0.098433,-1.907151,-0.040772,0.104496,-1.907151,-0.020786,-0.0,-1.918426,-0.0,0.104496,-1.907151,0.020785,0.098433,-1.907151,0.040772,-0.0,-1.918426,-0.0,0.075337,-1.907151,0.075337,0.059192,-1.907151,0.088587,-0.0,-1.918426,-0.0,0.020786,-1.907151,0.104496,0.0,-1.907151,0.106543,-0.0,-1.918426,-0.0,-0.040772,-1.907151,0.098433,-0.059192,-1.907151,0.088587,-0.0,-1.918426,-0.0,-0.088587,-1.907151,0.059192,-0.098433,-1.907151,0.040772,-0.0,-1.918426,-0.0,-0.106543,-1.907151,-0.0,-0.104496,-1.907151,-0.020786,-0.0,-1.918426,-0.0,-0.088587,-1.907151,-0.059192,-0.075337,-1.907151,-0.075337,-0.0,-1.918426,-0.0,-0.040772,-1.907151,-0.098433,-0.020786,-1.907151,-0.104496,-0.0,-1.918426,-0.0,0.020785,-1.907151,-0.104496,0.040772,-1.907151,-0.098433,-0.0,-1.918426,-0.0,0.075337,-1.907151,-0.075337,0.088587,-1.907151,-0.059192,-0.0,-1.918426,-0.0,0.104496,-1.907151,-0.020786,0.106543,-1.907151,-0.0,-0.0,-1.918426,-0.0,0.098433,-1.907151,0.040772,0.088587,-1.907151,0.059192,-0.0,-1.918426,-0.0,0.059192,-1.907151,0.088587,0.040772,-1.907151,0.098433,-0.0,-1.918426,-0.0,0.0,-1.907151,0.106543,-0.020785,-1.907151,0.104496,-0.0,-1.918426,-0.0,-0.059192,-1.907151,0.088587,-0.075337,-1.907151,0.075337,-0.0,-1.918426,-0.0,-0.098433,-1.907151,0.040772,-0.104496,-1.907151,0.020785,-0.0,-1.918426,-0.0,-0.104496,-1.907151,-0.020786,-0.098433,-1.907151,-0.040772,-0.0,-1.918426,-0.0,-0.075337,-1.907151,-0.075337,-0.059192,-1.907151,-0.088587,-0.0,-1.918426,-0.0,-0.020786,-1.907151,-0.104496,-0.0,-1.907151,-0.106543,-0.0,-1.918426,-0.0,0.040772,-1.907151,-0.098433,0.059192,-1.907151,-0.088587,-0.0,-1.918426,-0.0,0.088587,-1.907151,-0.059192,0.098433,-1.907151,-0.040772,-0.0,-1.918426,-0.0,0.106543,-1.907151,-0.0,0.104496,-1.907151,0.020785,-0.0,-1.918426,-0.0,0.088587,-1.907151,0.059192,0.075337,-1.907151,0.075337,-0.0,-1.918426,-0.0,0.040772,-1.907151,0.098433,0.020786,-1.907151,0.104496,-0.0,-1.918426,-0.0],"triangleCount":328,"normals":[0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.0,0.0,-0.0,0.995185,0.0,-0.098018,0.995185,0.0,-0.098018,0.995185,0.0,-0.098018,0.995185,0.0,-0.098018,0.881922,0.0,0.471396,0.881922,0.0,0.471396,0.881922,0.0,0.471396,0.881922,0.0,0.471396,0.471397,0.0,0.881921,0.471397,0.0,0.881921,0.471397,0.0,0.881921,0.471397,0.0,0.881921,-0.098017,0.0,0.995185,-0.098017,0.0,0.995185,-0.098017,0.0,0.995185,-0.098017,0.0,0.995185,-0.634394,0.0,0.77301,-0.634394,0.0,0.77301,-0.634394,0.0,0.77301,-0.634394,0.0,0.77301,-0.95694,0.0,0.290285,-0.95694,0.0,0.290285,-0.95694,0.0,0.290285,-0.95694,0.0,0.290285,-0.95694,0.0,-0.290285,-0.95694,0.0,-0.290285,-0.95694,0.0,-0.290285,-0.95694,0.0,-0.290285,-0.634393,0.0,-0.773011,-0.634393,0.0,-0.773011,-0.634393,0.0,-0.773011,-0.634393,0.0,-0.773011,-0.098017,0.0,-0.995185,-0.098017,0.0,-0.995185,-0.098017,0.0,-0.995185,-0.098017,0.0,-0.995185,0.471396,0.0,-0.881922,0.471396,0.0,-0.881922,0.471396,0.0,-0.881922,0.471396,0.0,-0.881922,0.881921,0.0,-0.471398,0.881921,0.0,-0.471398,0.881921,0.0,-0.471398,0.881921,0.0,-0.471398,0.995185,0.0,0.098016,0.995185,0.0,0.098016,0.995185,0.0,0.098016,0.995185,0.0,0.098016,0.773011,0.0,0.634393,0.773011,0.0,0.634393,0.773011,0.0,0.634393,0.773011,0.0,0.634393,0.290285,0.0,0.95694,0.290285,0.0,0.95694,0.290285,0.0,0.95694,0.290285,0.0,0.95694,-0.290284,0.0,0.956941,-0.290284,0.0,0.956941,-0.290284,0.0,0.956941,-0.290284,0.0,0.956941,-0.77301,0.0,0.634393,-0.77301,0.0,0.634393,-0.77301,0.0,0.634393,-0.77301,0.0,0.634393,-0.995185,0.0,0.098017,-0.995185,0.0,0.098017,-0.995185,0.0,0.098017,-0.995185,0.0,0.098017,-0.881921,0.0,-0.471397,-0.881921,0.0,-0.471397,-0.881921,0.0,-0.471397,-0.881921,0.0,-0.471397,-0.471397,0.0,-0.881921,-0.471397,0.0,-0.881921,-0.471397,0.0,-0.881921,-0.471397,0.0,-0.881921,0.098017,0.0,-0.995185,0.098017,0.0,-0.995185,0.098017,0.0,-0.995185,0.098017,0.0,-0.995185,0.634392,0.0,-0.773011,0.634392,0.0,-0.773011,0.634392,0.0,-0.773011,0.634392,0.0,-0.773011,0.95694,0.0,-0.290286,0.95694,0.0,-0.290286,0.95694,0.0,-0.290286,0.95694,0.0,-0.290286,0.956941,0.0,0.290284,0.956941,0.0,0.290284,0.956941,0.0,0.290284,0.956941,0.0,0.290284,0.634393,0.0,0.77301,0.634393,0.0,0.77301,0.634393,0.0,0.77301,0.634393,0.0,0.77301,0.098017,0.0,0.995185,0.098017,0.0,0.995185,0.098017,0.0,0.995185,0.098017,0.0,0.995185,-0.471396,0.0,0.881921,-0.471396,0.0,0.881921,-0.471396,0.0,0.881921,-0.471396,0.0,0.881921,-0.881921,0.0,0.471397,-0.881921,0.0,0.471397,-0.881921,0.0,0.471397,-0.881921,0.0,0.471397,-0.995185,0.0,-0.098017,-0.995185,0.0,-0.098017,-0.995185,0.0,-0.098017,-0.995185,0.0,-0.098017,-0.773011,0.0,-0.634393,-0.773011,0.0,-0.634393,-0.773011,0.0,-0.634393,-0.773011,0.0,-0.634393,-0.290285,0.0,-0.95694,-0.290285,0.0,-0.95694,-0.290285,0.0,-0.95694,-0.290285,0.0,-0.95694,0.290283,0.0,-0.956941,0.290283,0.0,-0.956941,0.290283,0.0,-0.956941,0.290283,0.0,-0.956941,0.773009,0.0,-0.634394,0.773009,0.0,-0.634394,0.773009,0.0,-0.634394,0.773009,0.0,-0.634394,0.77301,0.0,-0.634394,0.77301,0.0,-0.634394,0.77301,0.0,-0.634394,0.77301,0.0,-0.634394,0.995185,0.0,-0.098018,0.995185,0.0,-0.098018,0.995185,0.0,-0.098018,0.995185,0.0,-0.098018,0.881922,0.0,0.471396,0.881922,0.0,0.471396,0.471397,0.0,0.881921,0.471397,0.0,0.881921,-0.098017,0.0,0.995185,-0.098017,0.0,0.995185,-0.098017,0.0,0.995185,-0.098017,0.0,0.995185,-0.634394,0.0,0.77301,-0.634394,0.0,0.77301,-0.634394,0.0,0.77301,-0.634394,0.0,0.77301,-0.95694,0.0,0.290285,-0.95694,0.0,0.290285,-0.95694,0.0,0.290285,-0.95694,0.0,0.290285,-0.95694,0.0,-0.290285,-0.95694,0.0,-0.290285,-0.95694,0.0,-0.290285,-0.95694,0.0,-0.290285,-0.634393,0.0,-0.77301,-0.634393,0.0,-0.77301,-0.634393,0.0,-0.77301,-0.634393,0.0,-0.77301,-0.098017,0.0,-0.995185,-0.098017,0.0,-0.995185,-0.098017,0.0,-0.995185,-0.098017,0.0,-0.995185,0.471396,0.0,-0.881922,0.471396,0.0,-0.881922,0.881921,0.0,-0.471398,0.881921,0.0,-0.471398,0.995185,0.0,0.098016,0.995185,0.0,0.098016,0.995185,0.0,0.098016,0.995185,0.0,0.098016,0.773011,0.0,0.634393,0.773011,0.0,0.634393,0.773011,0.0,0.634393,0.773011,0.0,0.634393,0.290285,0.0,0.95694,0.290285,0.0,0.95694,0.290285,0.0,0.95694,0.290285,0.0,0.95694,-0.290284,0.0,0.956941,-0.290284,0.0,0.956941,-0.77301,0.0,0.634393,-0.77301,0.0,0.634393,-0.77301,0.0,0.634393,-0.77301,0.0,0.634393,-0.995185,0.0,0.098017,-0.995185,0.0,0.098017,-0.881921,0.0,-0.471397,-0.881921,0.0,-0.471397,-0.881921,0.0,-0.471397,-0.881921,0.0,-0.471397,-0.471397,0.0,-0.881921,-0.471397,0.0,-0.881921,-0.471397,0.0,-0.881921,-0.471397,0.0,-0.881921,0.098017,0.0,-0.995185,0.098017,0.0,-0.995185,0.634392,0.0,-0.773011,0.634392,0.0,-0.773011,0.634392,0.0,-0.773011,0.634392,0.0,-0.773011,0.95694,0.0,-0.290286,0.95694,0.0,-0.290286,0.95694,0.0,-0.290286,0.95694,0.0,-0.290286,0.956941,0.0,0.290284,0.956941,0.0,0.290284,0.956941,0.0,0.290284,0.956941,0.0,0.290284,0.634394,0.0,0.77301,0.634394,0.0,0.77301,0.634394,0.0,0.77301,0.634394,0.0,0.77301,0.098017,0.0,0.995185,0.098017,0.0,0.995185,0.098017,0.0,0.995185,0.098017,0.0,0.995185,-0.471396,0.0,0.881921,-0.471396,0.0,0.881921,-0.471396,0.0,0.881921,-0.471396,0.0,0.881921,-0.881921,0.0,0.471397,-0.881921,0.0,0.471397,-0.881921,0.0,0.471397,-0.881921,0.0,0.471397,-0.995185,0.0,-0.098017,-0.995185,0.0,-0.098017,-0.995185,0.0,-0.098017,-0.995185,0.0,-0.098017,-0.773011,0.0,-0.634393,-0.773011,0.0,-0.634393,-0.773011,0.0,-0.634393,-0.773011,0.0,-0.634393,-0.290285,0.0,-0.95694,-0.290285,0.0,-0.95694,-0.290285,0.0,-0.95694,-0.290285,0.0,-0.95694,0.290283,0.0,-0.956941,0.290283,0.0,-0.956941,0.290283,0.0,-0.956941,0.290283,0.0,-0.956941,0.290283,0.0,-0.956941,0.290283,0.0,-0.956941,0.77301,0.0,-0.634394,0.77301,0.0,-0.634394,0.995185,0.0,-0.098018,0.995185,0.0,-0.098018,0.995185,0.0,-0.098018,0.995185,0.0,-0.098018,0.881922,0.0,0.471396,0.881922,0.0,0.471396,0.881922,0.0,0.471396,0.881922,0.0,0.471396,0.471397,0.0,0.881921,0.471397,0.0,0.881921,0.471397,0.0,0.881921,0.471397,0.0,0.881921,-0.098017,0.0,0.995185,-0.098017,0.0,0.995185,-0.098017,0.0,0.995185,-0.098017,0.0,0.995185,-0.634394,0.0,0.77301,-0.634394,0.0,0.77301,-0.634394,0.0,0.77301,-0.634394,0.0,0.77301,-0.95694,0.0,0.290285,-0.95694,0.0,0.290285,-0.95694,0.0,0.290285,-0.95694,0.0,0.290285,-0.95694,0.0,-0.290285,-0.95694,0.0,-0.290285,-0.95694,0.0,-0.290285,-0.95694,0.0,-0.290285,-0.634393,0.0,-0.773011,-0.634393,0.0,-0.773011,-0.634393,0.0,-0.773011,-0.634393,0.0,-0.773011,-0.098017,0.0,-0.995185,-0.098017,0.0,-0.995185,-0.098017,0.0,-0.995185,-0.098017,0.0,-0.995185,0.471396,0.0,-0.881922,0.471396,0.0,-0.881922,0.471396,0.0,-0.881922,0.471396,0.0,-0.881922,0.881921,0.0,-0.471398,0.881921,0.0,-0.471398,0.881921,0.0,-0.471398,0.881921,0.0,-0.471398,0.995185,0.0,0.098016,0.995185,0.0,0.098016,0.995185,0.0,0.098016,0.995185,0.0,0.098016,0.773011,0.0,0.634393,0.773011,0.0,0.634393,0.773011,0.0,0.634393,0.773011,0.0,0.634393,0.290285,0.0,0.95694,0.290285,0.0,0.95694,0.290285,0.0,0.95694,0.290285,0.0,0.95694,-0.290284,0.0,0.95694,-0.290284,0.0,0.95694,-0.290284,0.0,0.95694,-0.290284,0.0,0.95694,-0.77301,0.0,0.634393,-0.77301,0.0,0.634393,-0.77301,0.0,0.634393,-0.77301,0.0,0.634393,-0.995185,0.0,0.098017,-0.995185,0.0,0.098017,-0.995185,0.0,0.098017,-0.995185,0.0,0.098017,-0.881921,0.0,-0.471397,-0.881921,0.0,-0.471397,-0.881921,0.0,-0.471397,-0.881921,0.0,-0.471397,-0.471397,0.0,-0.881921,-0.471397,0.0,-0.881921,-0.471397,0.0,-0.881921,-0.471397,0.0,-0.881921,0.098017,0.0,-0.995185,0.098017,0.0,-0.995185,0.098017,0.0,-0.995185,0.098017,0.0,-0.995185,0.634392,0.0,-0.773011,0.634392,0.0,-0.773011,0.634392,0.0,-0.773011,0.634392,0.0,-0.773011,0.95694,0.0,-0.290286,0.95694,0.0,-0.290286,0.95694,0.0,-0.290286,0.95694,0.0,-0.290286,0.956941,0.0,0.290284,0.956941,0.0,0.290284,0.956941,0.0,0.290284,0.956941,0.0,0.290284,0.634394,0.0,0.77301,0.634394,0.0,0.77301,0.098017,0.0,0.995185,0.098017,0.0,0.995185,0.098017,0.0,0.995185,0.098017,0.0,0.995185,-0.471396,0.0,0.881921,-0.471396,0.0,0.881921,-0.471396,0.0,0.881921,-0.471396,0.0,0.881921,-0.881921,0.0,0.471397,-0.881921,0.0,0.471397,-0.881921,0.0,0.471397,-0.881921,0.0,0.471397,-0.995185,0.0,-0.098017,-0.995185,0.0,-0.098017,-0.995185,0.0,-0.098017,-0.995185,0.0,-0.098017,-0.773011,0.0,-0.634393,-0.773011,0.0,-0.634393,-0.773011,0.0,-0.634393,-0.773011,0.0,-0.634393,-0.290285,0.0,-0.95694,-0.290285,0.0,-0.95694,-0.290285,0.0,-0.95694,-0.290285,0.0,-0.95694,-0.468064,-0.160493,0.868998,-0.468064,-0.160493,0.868998,-0.468064,-0.160493,0.868998,-0.468064,-0.160493,0.868998,-0.271384,0.145253,-0.951448,-0.271384,0.145253,-0.951448,-0.271384,0.145253,-0.951448,-0.271384,0.145253,-0.951448,0.760298,0.317697,-0.566583,0.760298,0.317697,-0.566583,0.760298,0.317697,-0.566583,0.760298,0.317697,-0.566583,0.792451,0.353645,-0.496948,0.792451,0.353645,-0.496948,0.792451,0.353645,-0.496948,0.792451,0.353645,-0.496948,0.934318,0.186789,0.303579,0.934318,0.186789,0.303579,0.934318,0.186789,0.303579,0.934318,0.186789,0.303579,0.462716,0.156818,0.872526,0.462716,0.156818,0.872526,0.462716,0.156818,0.872526,0.462716,0.156818,0.872526,-0.05891,-0.031531,0.997765,-0.05891,-0.031531,0.997765,-0.05891,-0.031531,0.997765,-0.05891,-0.031531,0.997765,-0.297698,0.123045,0.946697,-0.297698,0.123045,0.946697,-0.297698,0.123045,0.946697,-0.297698,0.123045,0.946697,-0.820466,0.210437,-0.531555,-0.820466,0.210437,-0.531555,-0.820466,0.210437,-0.531555,-0.606836,-0.031638,-0.794197,-0.606836,-0.031638,-0.794197,-0.606836,-0.031638,-0.794197,-0.606836,-0.031638,-0.794197,-0.324137,-0.561422,-0.761407,-0.324137,-0.561422,-0.761407,-0.324137,-0.561422,-0.761407,0.222314,0.619698,0.752696,0.222314,0.619698,0.752696,0.222314,0.619698,0.752696,-0.304512,0.24066,-0.921605,-0.304512,0.24066,-0.921605,-0.304512,0.24066,-0.921605,0.0,0.238498,-0.971143,0.0,0.238498,-0.971143,0.0,0.238498,-0.971143,-0.673416,-0.514315,-0.531028,-0.673416,-0.514315,-0.531028,-0.673416,-0.514315,-0.531028,0.984719,0.071862,0.158636,0.984719,0.071862,0.158636,0.984719,0.071862,0.158636,0.305018,-0.854818,-0.419821,0.305018,-0.854818,-0.419821,0.305018,-0.854818,-0.419821,0.493529,-0.854818,-0.160358,0.493529,-0.854818,-0.160358,0.493529,-0.854818,-0.160358,0.702949,0.17319,-0.689832,0.702949,0.17319,-0.689832,0.702949,0.17319,-0.689832,0.916608,0.266704,0.297824,0.916608,0.266704,0.297824,0.916608,0.266704,0.297824,0.493529,-0.854818,0.160358,0.493529,-0.854818,0.160358,0.493529,-0.854818,0.160358,-0.184403,-0.562291,0.806117,-0.184403,-0.562291,0.806117,-0.184403,-0.562291,0.806117,0.652812,0.249153,0.715374,0.652812,0.249153,0.715374,0.652812,0.249153,0.715374,-0.0,0.238498,0.971143,-0.0,0.238498,0.971143,-0.0,0.238498,0.971143,0.203194,-0.645939,0.735849,0.203194,-0.645939,0.735849,0.203194,-0.645939,0.735849,-0.430494,0.234319,0.871648,-0.430494,0.234319,0.871648,-0.430494,0.234319,0.871648,-0.006061,-0.717556,0.696474,-0.006061,-0.717556,0.696474,-0.006061,-0.717556,0.696474,-0.951057,0.0,0.309017,-0.951057,0.0,0.309017,-0.951057,0.0,0.309017,-0.951057,0.0,0.309017,-0.493529,-0.854818,0.160357,-0.493529,-0.854818,0.160357,-0.493529,-0.854818,0.160357,0.893942,-0.341323,-0.290458,0.893942,-0.341323,-0.290458,0.893942,-0.341323,-0.290458,-0.030694,-0.994394,0.101186,-0.030694,-0.994394,0.101186,-0.030694,-0.994394,0.101186,-0.081737,-0.994394,0.06708,-0.081737,-0.994394,0.06708,-0.081737,-0.994394,0.06708,-0.10523,-0.994394,0.010364,-0.10523,-0.994394,0.010364,-0.10523,-0.994394,0.010364,-0.093253,-0.994394,-0.049845,-0.093253,-0.994394,-0.049845,-0.093253,-0.994394,-0.049845,-0.049845,-0.994394,-0.093253,-0.049845,-0.994394,-0.093253,-0.049845,-0.994394,-0.093253,0.010364,-0.994394,-0.10523,0.010364,-0.994394,-0.10523,0.010364,-0.994394,-0.10523,0.06708,-0.994394,-0.081737,0.06708,-0.994394,-0.081737,0.06708,-0.994394,-0.081737,0.101186,-0.994394,-0.030695,0.101186,-0.994394,-0.030695,0.101186,-0.994394,-0.030695,0.101186,-0.994394,0.030694,0.101186,-0.994394,0.030694,0.101186,-0.994394,0.030694,0.06708,-0.994394,0.081737,0.06708,-0.994394,0.081737,0.06708,-0.994394,0.081737,0.010364,-0.994394,0.10523,0.010364,-0.994394,0.10523,0.010364,-0.994394,0.10523,-0.049845,-0.994394,0.093253,-0.049845,-0.994394,0.093253,-0.049845,-0.994394,0.093253,-0.093253,-0.994394,0.049845,-0.093253,-0.994394,0.049845,-0.093253,-0.994394,0.049845,-0.10523,-0.994394,-0.010364,-0.10523,-0.994394,-0.010364,-0.10523,-0.994394,-0.010364,-0.081737,-0.994394,-0.06708,-0.081737,-0.994394,-0.06708,-0.081737,-0.994394,-0.06708,-0.030694,-0.994394,-0.101186,-0.030694,-0.994394,-0.101186,-0.030694,-0.994394,-0.101186,0.030694,-0.994394,-0.101186,0.030694,-0.994394,-0.101186,0.030694,-0.994394,-0.101186,0.081737,-0.994394,-0.06708,0.081737,-0.994394,-0.06708,0.081737,-0.994394,-0.06708,0.10523,-0.994394,-0.010364,0.10523,-0.994394,-0.010364,0.10523,-0.994394,-0.010364,0.093253,-0.994394,0.049845,0.093253,-0.994394,0.049845,0.093253,-0.994394,0.049845,0.049845,-0.994394,0.093253,0.049845,-0.994394,0.093253,0.049845,-0.994394,0.093253,-0.010364,-0.994394,0.10523,-0.010364,-0.994394,0.10523,-0.010364,-0.994394,0.10523,-0.06708,-0.994394,0.081737,-0.06708,-0.994394,0.081737,-0.06708,-0.994394,0.081737,-0.101186,-0.994394,0.030694,-0.101186,-0.994394,0.030694,-0.101186,-0.994394,0.030694,-0.101186,-0.994394,-0.030694,-0.101186,-0.994394,-0.030694,-0.101186,-0.994394,-0.030694,-0.06708,-0.994394,-0.081737,-0.06708,-0.994394,-0.081737,-0.06708,-0.994394,-0.081737,-0.010364,-0.994394,-0.10523,-0.010364,-0.994394,-0.10523,-0.010364,-0.994394,-0.10523,0.049845,-0.994394,-0.093254,0.049845,-0.994394,-0.093254,0.049845,-0.994394,-0.093254,0.093253,-0.994394,-0.049845,0.093253,-0.994394,-0.049845,0.093253,-0.994394,-0.049845,0.10523,-0.994394,0.010364,0.10523,-0.994394,0.010364,0.10523,-0.994394,0.010364,0.081737,-0.994394,0.06708,0.081737,-0.994394,0.06708,0.081737,-0.994394,0.06708,0.030694,-0.994394,0.101186,0.030694,-0.994394,0.101186,0.030694,-0.994394,0.101186],"vertexCount":624}],"animations":{"normal":{"name":"normal","length":0.041666668,"tracks":[{"times":[0.0,0.041666668],"translations":[0.0,0.0,0.0,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":0,"rotations":[0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]}]},"skill1":{"name":"skill1","length":1.0,"tracks":[{"times":[0.0,0.041666668,0.083333336,0.125,0.16666667,0.20833333,0.25,0.29166666,0.33333334,0.375,0.41666666,0.45833334,0.5,0.5416667,0.5833333,0.625,0.6666667,0.7083333,0.75,0.7916667,0.8333333,0.875,0.9166667,0.9583333,1.0],"translations":[0.0,0.0,0.0,0.0,0.001227,0.002171,0.0,0.004931,0.008725,0.0,0.011039,0.019531,0.0,0.019282,0.034116,0.0,0.029154,0.051581,0.0,0.039913,0.070616,0.0,0.050672,0.089651,0.0,0.060543,0.107115,0.0,0.068786,0.121699,0.0,0.074894,0.132504,0.0,0.078598,0.139057,0.0,0.079825,0.141228,0.0,0.078598,0.139057,0.0,0.074894,0.132504,0.0,0.068786,0.121699,0.0,0.060543,0.107115,0.0,0.050672,0.089651,0.0,0.039913,0.070616,0.0,0.029154,0.051581,0.0,0.019282,0.034116,0.0,0.011039,0.019531,0.0,0.004931,0.008725,0.0,0.001227,0.002171,0.0,0.0,0.0],"scales":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"boneIndex":0,"rotations":[0.0,0.0,0.0,1.0,0.0035714924,0.0,0.0,0.9999936,0.0144145,0.0,0.0,0.9998961,0.03232187,0.0,0.0,0.9994775,0.056555808,0.0,0.0,0.99839944,0.085622035,0.0,0.0,0.9963277,0.11727451,0.0,0.0,0.9930995,0.14880726,0.0,0.0,0.9888662,0.17755213,0.0,0.0,0.98411137,0.20136571,0.0,0.0,0.97951615,0.21887317,0.0,0.0,0.9757533,0.22942609,0.0,0.0,0.9733261,0.23291057,0.0,0.0,0.9724982,0.22942609,0.0,0.0,0.9733261,0.21887317,0.0,0.0,0.9757533,0.20136571,0.0,0.0,0.97951615,0.17755213,0.0,0.0,0.98411137,0.14880726,0.0,0.0,0.9888662,0.11727451,0.0,0.0,0.9930995,0.085622035,0.0,0.0,0.9963277,0.056555808,0.0,0.0,0.99839944,0.03232187,0.0,0.0,0.9994775,0.0144145,0.0,0.0,0.9998961,0.0035714924,0.0,0.0,0.9999936,0.0,0.0,0.0,1.0]}]}}} \ No newline at end of file diff --git a/web/public/models/sword.glb b/web/public/models/sword.glb new file mode 100644 index 0000000..814b5a9 Binary files /dev/null and b/web/public/models/sword.glb differ diff --git a/web/public/models/tile1.glb b/web/public/models/tile1.glb new file mode 100644 index 0000000..e5df241 Binary files /dev/null and b/web/public/models/tile1.glb differ diff --git a/web/public/models/tile1.json b/web/public/models/tile1.json new file mode 100644 index 0000000..c5ccc2c --- /dev/null +++ b/web/public/models/tile1.json @@ -0,0 +1 @@ +{"skeletons":[],"geometries":[{"texcoords":[0.120075,0.879188,0.360224,0.879925,0.360961,0.639776,0.120812,0.639039,0.120812,0.158003,0.120075,0.398152,0.360224,0.398889,0.360961,0.15874,0.620443,0.399512,0.619706,0.159363,0.601111,0.15942,0.601848,0.399569,0.879188,0.399569,0.879925,0.15942,0.86133,0.159363,0.860593,0.399512,0.619706,0.879925,0.620443,0.639776,0.601848,0.639719,0.601111,0.879868,0.879188,0.879925,0.879925,0.639776,0.86133,0.639719,0.860593,0.879868],"indices":[0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23],"name":"tile-geom-1","elementCount":36,"positions":[1.0,0.0,-1.0,1.0,0.0,1.0,-1.0,0.0,1.0,-1.0,0.0,-1.0,-1.0,0.154864,1.0,1.0,0.154864,1.0,1.0,0.154864,-1.0,-1.0,0.154864,-1.0,1.0,0.0,-1.0,-1.0,0.0,-1.0,-1.0,0.154864,-1.0,1.0,0.154864,-1.0,1.0,0.0,1.0,1.0,0.0,-1.0,1.0,0.154864,-1.0,1.0,0.154864,1.0,-1.0,0.0,-1.0,-1.0,0.0,1.0,-1.0,0.154864,1.0,-1.0,0.154864,-1.0,-1.0,0.0,1.0,1.0,0.0,1.0,1.0,0.154864,1.0,-1.0,0.154864,1.0],"triangleCount":12,"normals":[0.0,-1.0,-0.0,0.0,-1.0,-0.0,0.0,-1.0,-0.0,0.0,-1.0,-0.0,0.0,1.0,-0.0,0.0,1.0,-0.0,0.0,1.0,-0.0,0.0,1.0,-0.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,1.0,0.0,-0.0,1.0,0.0,-0.0,1.0,0.0,-0.0,1.0,0.0,-0.0,-1.0,-0.0,-0.0,-1.0,-0.0,-0.0,-1.0,-0.0,-0.0,-1.0,-0.0,-0.0,0.0,-0.0,1.0,0.0,-0.0,1.0,0.0,-0.0,1.0,0.0,-0.0,1.0],"vertexCount":24}],"animations":{}} \ No newline at end of file diff --git a/web/public/models/tile2.glb b/web/public/models/tile2.glb new file mode 100644 index 0000000..e5df241 Binary files /dev/null and b/web/public/models/tile2.glb differ diff --git a/web/public/models/tile2.json b/web/public/models/tile2.json new file mode 100644 index 0000000..c5ccc2c --- /dev/null +++ b/web/public/models/tile2.json @@ -0,0 +1 @@ +{"skeletons":[],"geometries":[{"texcoords":[0.120075,0.879188,0.360224,0.879925,0.360961,0.639776,0.120812,0.639039,0.120812,0.158003,0.120075,0.398152,0.360224,0.398889,0.360961,0.15874,0.620443,0.399512,0.619706,0.159363,0.601111,0.15942,0.601848,0.399569,0.879188,0.399569,0.879925,0.15942,0.86133,0.159363,0.860593,0.399512,0.619706,0.879925,0.620443,0.639776,0.601848,0.639719,0.601111,0.879868,0.879188,0.879925,0.879925,0.639776,0.86133,0.639719,0.860593,0.879868],"indices":[0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23],"name":"tile-geom-1","elementCount":36,"positions":[1.0,0.0,-1.0,1.0,0.0,1.0,-1.0,0.0,1.0,-1.0,0.0,-1.0,-1.0,0.154864,1.0,1.0,0.154864,1.0,1.0,0.154864,-1.0,-1.0,0.154864,-1.0,1.0,0.0,-1.0,-1.0,0.0,-1.0,-1.0,0.154864,-1.0,1.0,0.154864,-1.0,1.0,0.0,1.0,1.0,0.0,-1.0,1.0,0.154864,-1.0,1.0,0.154864,1.0,-1.0,0.0,-1.0,-1.0,0.0,1.0,-1.0,0.154864,1.0,-1.0,0.154864,-1.0,-1.0,0.0,1.0,1.0,0.0,1.0,1.0,0.154864,1.0,-1.0,0.154864,1.0],"triangleCount":12,"normals":[0.0,-1.0,-0.0,0.0,-1.0,-0.0,0.0,-1.0,-0.0,0.0,-1.0,-0.0,0.0,1.0,-0.0,0.0,1.0,-0.0,0.0,1.0,-0.0,0.0,1.0,-0.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,1.0,0.0,-0.0,1.0,0.0,-0.0,1.0,0.0,-0.0,1.0,0.0,-0.0,-1.0,-0.0,-0.0,-1.0,-0.0,-0.0,-1.0,-0.0,-0.0,-1.0,-0.0,-0.0,0.0,-0.0,1.0,0.0,-0.0,1.0,0.0,-0.0,1.0,0.0,-0.0,1.0],"vertexCount":24}],"animations":{}} \ No newline at end of file diff --git a/web/public/models/wall1.glb b/web/public/models/wall1.glb new file mode 100644 index 0000000..b4836fe Binary files /dev/null and b/web/public/models/wall1.glb differ diff --git a/web/public/models/wall1.json b/web/public/models/wall1.json new file mode 100644 index 0000000..32a8126 --- /dev/null +++ b/web/public/models/wall1.json @@ -0,0 +1 @@ +{"skeletons":[],"geometries":[{"texcoords":[0.998999,0.998999,0.667668,0.998999,0.667668,0.667668,0.998999,0.667668,0.332332,0.998999,0.001001,0.998999,0.001001,0.667668,0.332332,0.667668,0.332332,0.665666,0.001001,0.665666,0.001001,0.334334,0.332332,0.334334,0.665666,0.998999,0.334334,0.998999,0.334334,0.667668,0.665666,0.667668,0.665666,0.665666,0.334334,0.665666,0.334334,0.334334,0.665666,0.334334,0.668438,0.666433,0.666901,0.335105,0.998229,0.333567,0.999766,0.664895],"indices":[0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23],"name":"wall1","elementCount":36,"positions":[-0.999999,1.991615,1.000001,-0.999999,-0.008385,1.000002,1.000001,-0.008385,0.999999,1.000001,1.991615,0.999998,-1.000002,1.991613,-0.999999,0.999999,1.991613,-1.000002,0.999999,-0.008386,-1.000001,-1.000001,-0.008387,-0.999998,-0.999999,1.991615,1.000001,-1.000002,1.991613,-0.999999,-1.000001,-0.008387,-0.999998,-0.999999,-0.008385,1.000002,-0.999999,-0.008385,1.000002,-1.000001,-0.008387,-0.999998,0.999999,-0.008386,-1.000001,1.000001,-0.008385,0.999999,1.000001,-0.008385,0.999999,0.999999,-0.008386,-1.000001,0.999999,1.991613,-1.000002,1.000001,1.991615,0.999998,-1.000002,1.991613,-0.999999,-0.999999,1.991615,1.000001,1.000001,1.991615,0.999998,0.999999,1.991613,-1.000002],"triangleCount":12,"normals":[1.0E-6,1.0E-6,1.0,1.0E-6,1.0E-6,1.0,1.0E-6,1.0E-6,1.0,1.0E-6,1.0E-6,1.0,-1.0E-6,-1.0E-6,-1.0,-1.0E-6,-1.0E-6,-1.0,-1.0E-6,-1.0E-6,-1.0,-1.0E-6,-1.0E-6,-1.0,-1.0,-0.0,1.0E-6,-1.0,-0.0,1.0E-6,-1.0,-0.0,1.0E-6,-1.0,-0.0,1.0E-6,0.0,-1.0,1.0E-6,0.0,-1.0,1.0E-6,0.0,-1.0,1.0E-6,0.0,-1.0,1.0E-6,1.0,0.0,-1.0E-6,1.0,0.0,-1.0E-6,1.0,0.0,-1.0E-6,1.0,0.0,-1.0E-6,-0.0,1.0,-1.0E-6,-0.0,1.0,-1.0E-6,-0.0,1.0,-1.0E-6,-0.0,1.0,-1.0E-6],"vertexCount":24}],"animations":{}} \ No newline at end of file diff --git a/web/public/sounds/damage.ogg b/web/public/sounds/damage.ogg new file mode 100644 index 0000000..5e967da Binary files /dev/null and b/web/public/sounds/damage.ogg differ diff --git a/web/public/sounds/explosion.ogg b/web/public/sounds/explosion.ogg new file mode 100644 index 0000000..98f3d14 Binary files /dev/null and b/web/public/sounds/explosion.ogg differ diff --git a/web/public/sounds/fireball.ogg b/web/public/sounds/fireball.ogg new file mode 100644 index 0000000..6e22023 Binary files /dev/null and b/web/public/sounds/fireball.ogg differ diff --git a/web/public/sounds/gameover.ogg b/web/public/sounds/gameover.ogg new file mode 100644 index 0000000..8cd6ef3 Binary files /dev/null and b/web/public/sounds/gameover.ogg differ diff --git a/web/public/sounds/spawn.ogg b/web/public/sounds/spawn.ogg new file mode 100644 index 0000000..247a169 Binary files /dev/null and b/web/public/sounds/spawn.ogg differ diff --git a/web/public/sounds/spider_damage.ogg b/web/public/sounds/spider_damage.ogg new file mode 100644 index 0000000..57d9973 Binary files /dev/null and b/web/public/sounds/spider_damage.ogg differ diff --git a/web/public/sounds/spiderwalking.ogg b/web/public/sounds/spiderwalking.ogg new file mode 100644 index 0000000..53e3ef3 Binary files /dev/null and b/web/public/sounds/spiderwalking.ogg differ diff --git a/web/public/sounds/sword_hit1.ogg b/web/public/sounds/sword_hit1.ogg new file mode 100644 index 0000000..b266469 Binary files /dev/null and b/web/public/sounds/sword_hit1.ogg differ diff --git a/web/public/sounds/teleport.ogg b/web/public/sounds/teleport.ogg new file mode 100644 index 0000000..e95ecda Binary files /dev/null and b/web/public/sounds/teleport.ogg differ diff --git a/web/public/textures/flame.png b/web/public/textures/flame.png new file mode 100644 index 0000000..d3a31f7 Binary files /dev/null and b/web/public/textures/flame.png differ diff --git a/web/public/textures/helmet.png b/web/public/textures/helmet.png new file mode 100644 index 0000000..cce4829 Binary files /dev/null and b/web/public/textures/helmet.png differ diff --git a/web/public/textures/shield.png b/web/public/textures/shield.png new file mode 100644 index 0000000..fbee839 Binary files /dev/null and b/web/public/textures/shield.png differ diff --git a/web/public/textures/spider_animation2.png b/web/public/textures/spider_animation2.png new file mode 100644 index 0000000..9bf2afb Binary files /dev/null and b/web/public/textures/spider_animation2.png differ diff --git a/web/public/textures/staff1.png b/web/public/textures/staff1.png new file mode 100644 index 0000000..b0e11c2 Binary files /dev/null and b/web/public/textures/staff1.png differ diff --git a/web/public/textures/sword.png b/web/public/textures/sword.png new file mode 100644 index 0000000..bb8256d Binary files /dev/null and b/web/public/textures/sword.png differ diff --git a/web/public/textures/tile.png b/web/public/textures/tile.png new file mode 100644 index 0000000..7d083d6 Binary files /dev/null and b/web/public/textures/tile.png differ diff --git a/web/public/textures/tile1.png b/web/public/textures/tile1.png new file mode 100644 index 0000000..7d083d6 Binary files /dev/null and b/web/public/textures/tile1.png differ diff --git a/web/public/textures/tile2.png b/web/public/textures/tile2.png new file mode 100644 index 0000000..8018235 Binary files /dev/null and b/web/public/textures/tile2.png differ diff --git a/web/public/textures/wall1.png b/web/public/textures/wall1.png new file mode 100644 index 0000000..a7ce6e6 Binary files /dev/null and b/web/public/textures/wall1.png differ diff --git a/web/public/textures/wall1_normal.png b/web/public/textures/wall1_normal.png new file mode 100644 index 0000000..2aba19a Binary files /dev/null and b/web/public/textures/wall1_normal.png differ diff --git a/web/src/Arena.ts b/web/src/Arena.ts new file mode 100644 index 0000000..ecac49f --- /dev/null +++ b/web/src/Arena.ts @@ -0,0 +1,50 @@ +import * as THREE from 'three'; + +export class Arena extends THREE.Group { + constructor() { + super(); + + const tileSize = 10; + const half = tileSize / 2; + + for (let x = -45; x < 50; x += tileSize) { + for (let z = -45; z < 50; z += tileSize) { + const isDark = ((x / tileSize + z / tileSize) & 1) === 0; + const color = isDark ? 0x668866 : 0x557755; + + const tileGeom = new THREE.BoxGeometry(9.5, 0.3, 9.5); + const tileMat = new THREE.MeshStandardMaterial({ + color, + roughness: 0.7, + metalness: 0.0, + }); + + const tile = new THREE.Mesh(tileGeom, tileMat); + tile.position.set(x, -0.15, z); + tile.receiveShadow = true; + this.add(tile); + } + } + + // Walls + const wallGeom = new THREE.BoxGeometry(tileSize - 0.5, 2, 1); + const wallMat = new THREE.MeshToonMaterial({ color: 0x776677 }); + + for (let coord = -50; coord <= 50; coord += tileSize) { + this.createWall(coord, 49.5, wallGeom, wallMat); + this.createWall(coord, -49.5, wallGeom, wallMat); + } + for (let coord = -50; coord <= 50; coord += tileSize) { + this.createWall(49.5, coord, new THREE.BoxGeometry(1, 2, tileSize - 0.5), wallMat); + this.createWall(-49.5, coord, new THREE.BoxGeometry(1, 2, tileSize - 0.5), wallMat); + } + } + + private createWall(x: number, z: number, geom: THREE.BoxGeometry, mat: THREE.Material) { + const wall = new THREE.Mesh(geom, mat); + wall.position.set(x, 1, z); + wall.castShadow = true; + wall.receiveShadow = true; + this.add(wall); + } +} diff --git a/web/src/Cross.ts b/web/src/Cross.ts new file mode 100644 index 0000000..e4efd31 --- /dev/null +++ b/web/src/Cross.ts @@ -0,0 +1,125 @@ +import * as THREE from 'three'; +import { loadGLB } from './MeshLoader'; + +let crossGeometry: THREE.BufferGeometry | null = null; +let crossParticlesTemplate: THREE.Points | null = null; + +export async function initCrossModel() { + try { + const gltf = await loadGLB('cross'); + gltf.scene.traverse((child) => { + if (child instanceof THREE.Mesh) { + crossGeometry = child.geometry; + } + }); + } catch { + console.warn('Failed to load cross model'); + } +} + +function createGreenParticles(): THREE.Points { + const count = 50; + const tex = new THREE.TextureLoader().load('./textures/flame.png'); + tex.colorSpace = THREE.SRGBColorSpace; + const geom = new THREE.BufferGeometry(); + const positions = new Float32Array(count * 3); + geom.setAttribute('position', new THREE.BufferAttribute(positions, 3)); + const mat = new THREE.PointsMaterial({ + map: tex, + color: 0x66ff66, + size: 0.12, + blending: THREE.AdditiveBlending, + depthWrite: false, + transparent: true, + }); + const points = new THREE.Points(geom, mat); + points.renderOrder = 999; + points.userData = { + velocities: [] as THREE.Vector3[], + lifetimes: [] as number[], + ages: [] as number[], + timer: 0, + }; + for (let i = 0; i < count; i++) { + positions[i * 3] = (Math.random() - 0.5) * 0.8; + positions[i * 3 + 1] = Math.random() * 1.2; + positions[i * 3 + 2] = (Math.random() - 0.5) * 0.8; + points.userData.velocities.push(new THREE.Vector3( + (Math.random() - 0.5) * 0.5, + 1.5 + Math.random() * 1.5, + (Math.random() - 0.5) * 0.5 + )); + points.userData.lifetimes.push(1 + Math.random()); + points.userData.ages.push(Math.random() * 2); + } + return points; +} + +export class Cross { + body: THREE.Group; + private particles: THREE.Points; + + constructor(position: THREE.Vector3) { + this.body = new THREE.Group(); + this.body.position.copy(position); + this.body.position.y = 0.3; + + if (crossGeometry) { + // Original material: red cross (from j3o material extraction) + const mesh = new THREE.Mesh(crossGeometry, new THREE.MeshToonMaterial({ + color: 0xff0000, emissive: 0x440000, + })); + mesh.castShadow = true; + mesh.scale.set(0.25, 0.25, 0.25); + this.body.add(mesh); + } else { + // Fallback cross + const crossMaterial = new THREE.MeshToonMaterial({ + color: 0xff0000, emissive: 0x440000, + }); + const vertical = new THREE.Mesh(new THREE.BoxGeometry(0.15, 0.8, 0.15), crossMaterial); + vertical.position.y = 0.4; + this.body.add(vertical); + const horizontal = new THREE.Mesh(new THREE.BoxGeometry(0.6, 0.15, 0.15), crossMaterial); + horizontal.position.y = 0.5; + this.body.add(horizontal); + } + + // Green glow + const glowGeom = new THREE.SphereGeometry(0.6, 16, 16); + const glowMat = new THREE.MeshBasicMaterial({ + color: 0x00ff00, transparent: true, opacity: 0.15, + }); + const glow = new THREE.Mesh(glowGeom, glowMat); + this.body.add(glow); + + // Upward-flying light green particles (like the original) + this.particles = createGreenParticles(); + this.body.add(this.particles); + } + + update(dt: number) { + const attr = this.particles.geometry.getAttribute('position') as THREE.BufferAttribute; + const arr = attr.array as Float32Array; + const ud = this.particles.userData; + const count = ud.velocities.length; + + for (let i = 0; i < count; i++) { + ud.ages[i] += dt; + const life = ud.lifetimes[i]; + if (ud.ages[i] >= life) { + // Respawn at bottom + ud.ages[i] = 0; + arr[i * 3] = (Math.random() - 0.5) * 0.8; + arr[i * 3 + 1] = 0; + arr[i * 3 + 2] = (Math.random() - 0.5) * 0.8; + continue; + } + const v = ud.velocities[i]; + arr[i * 3] += v.x * dt; + arr[i * 3 + 1] += v.y * dt; + arr[i * 3 + 2] += v.z * dt; + } + attr.needsUpdate = true; + } +} diff --git a/web/src/Enemy.ts b/web/src/Enemy.ts new file mode 100644 index 0000000..112dab4 --- /dev/null +++ b/web/src/Enemy.ts @@ -0,0 +1,137 @@ +import * as THREE from 'three'; +import type { Game } from './Game'; +import { playSound, playLoopingSound } from './SoundManager'; +import { loadGLB } from './MeshLoader'; +import type { GLTF } from 'three/examples/jsm/loaders/GLTFLoader.js'; +import { clone as cloneSkeleton } from 'three/examples/jsm/utils/SkeletonUtils.js'; + +let spiderGLTF: GLTF | null = null; +const ANIMATIONS_ENABLED = true; +export async function initSpiderModel() { + try { + spiderGLTF = await loadGLB('spider'); + } catch { + console.warn('Failed to load spider model'); + } +} + +export class Enemy { + body: THREE.Group; + dead = false; + deathTimer = 0; + knockback = 0; + health = 100; + mixer: THREE.AnimationMixer | null = null; + private currentAnim = ''; + private clips: Map = new Map(); + private stopWalkSound: (() => void) | null = null; + + constructor(_playerPos: THREE.Vector3) { + this.body = new THREE.Group(); + this.stopWalkSound = playLoopingSound('spiderwalking', 0.3); + + if (spiderGLTF) { + const model = cloneSkeleton(spiderGLTF.scene); + // Original game scaled the spider model by 0.5 (WalkingEnemy.setupModel) + model.scale.set(0.5, 0.5, 0.5); + const spiderTexture = new THREE.TextureLoader().load('./textures/spider_animation2.png'); + spiderTexture.flipY = false; + spiderTexture.colorSpace = THREE.SRGBColorSpace; + model.traverse((child) => { + if (child instanceof THREE.Mesh) { + child.castShadow = true; + child.material = new THREE.MeshToonMaterial({ map: spiderTexture }); + } + }); + this.body.add(model); + + if (spiderGLTF.animations.length > 0 && ANIMATIONS_ENABLED) { + this.mixer = new THREE.AnimationMixer(model); + for (const clip of spiderGLTF.animations) { + const action = this.mixer.clipAction(clip); + this.clips.set(clip.name, action); + } + this.playAnim('stand'); + } + } else { + // Fallback + const abdomenGeom = new THREE.SphereGeometry(0.5, 8, 8); + const bodyMat = new THREE.MeshToonMaterial({ color: 0x333333 }); + const abdomen = new THREE.Mesh(abdomenGeom, bodyMat); + abdomen.scale.set(1, 0.6, 1.3); + abdomen.position.y = 0.6; + abdomen.castShadow = true; + this.body.add(abdomen); + + const cephalothoraxGeom = new THREE.SphereGeometry(0.3, 8, 8); + const cephalothorax = new THREE.Mesh(cephalothoraxGeom, bodyMat); + cephalothorax.position.y = 0.6; + cephalothorax.position.z = 0.5; + cephalothorax.castShadow = true; + this.body.add(cephalothorax); + + const eyeGeom = new THREE.SphereGeometry(0.06, 6, 6); + const eyeMat = new THREE.MeshBasicMaterial({ color: 0xff0000 }); + for (const sign of [-1, 1]) { + const eye = new THREE.Mesh(eyeGeom, eyeMat); + eye.position.set(sign * 0.12, 0.85, 0.7); + this.body.add(eye); + } + + const legGeom = new THREE.CylinderGeometry(0.04, 0.04, 0.8, 4); + for (let i = 0; i < 8; i++) { + const leg = new THREE.Mesh(legGeom, new THREE.MeshToonMaterial({ color: 0x222222 })); + const angle = (i / 8) * Math.PI * 2; + const side = i < 4 ? 1 : -1; + leg.position.set(Math.cos(angle) * 0.35, 0.3, Math.sin(angle) * 0.35); + leg.rotation.z = side * 0.6; + leg.rotation.x = angle; + leg.castShadow = true; + this.body.add(leg); + } + } + } + + playAnim(name: string, loop = true, speed = 1) { + if (!this.clips.has(name) || this.currentAnim === name) return; + // Stop the previous animation so it doesn't blend with the new one + if (this.currentAnim) { + const prev = this.clips.get(this.currentAnim); + if (prev) prev.stop(); + } + this.currentAnim = name; + const action = this.clips.get(name)!; + action.reset(); + action.setLoop(loop ? THREE.LoopRepeat : THREE.LoopOnce, loop ? Infinity : 1); + action.clampWhenFinished = !loop; + action.setEffectiveTimeScale(speed); + action.play(); + } + + updateAnimation(dt: number) { + if (this.mixer) this.mixer.update(dt); + } + + takeDamage(damage: number, game: Game) { + if (this.dead) return; + this.health -= damage; + this.knockback = 0.5; + + playSound('damage', 0.7); + + if (this.health <= 0) { + this.die(game); + } + } + + private die(game: Game) { + if (this.dead) return; + this.dead = true; + this.playAnim('die', false); + if (this.stopWalkSound) { + this.stopWalkSound(); + this.stopWalkSound = null; + } + game.removeEnemy(this); + } +} diff --git a/web/src/Fireball.ts b/web/src/Fireball.ts new file mode 100644 index 0000000..65ad070 --- /dev/null +++ b/web/src/Fireball.ts @@ -0,0 +1,253 @@ +import * as THREE from 'three'; +import { playSound } from './SoundManager'; + +const flameTexture = new THREE.TextureLoader().load('./textures/flame.png'); +flameTexture.colorSpace = THREE.SRGBColorSpace; + +export class Fireball { + body: THREE.Group; + light: THREE.PointLight; + direction: THREE.Vector3; + lifetime = 1; + exploding = false; + timer = 0; + damageDone = false; + private trailParticles: THREE.Points; + private trailVelocities: Float32Array; + private trailLives: Float32Array; + private trailMaxLife = 0.6; + + constructor(start: THREE.Vector3, direction: THREE.Vector3) { + this.direction = direction.clone(); + this.body = new THREE.Group(); + this.body.position.copy(start); + + // Fireball core (additive glow) + const coreGeom = new THREE.SphereGeometry(0.45, 16, 16); + const coreMat = new THREE.MeshBasicMaterial({ + color: 0xffcc44, + blending: THREE.AdditiveBlending, + depthWrite: false, + transparent: true, + }); + const core = new THREE.Mesh(coreGeom, coreMat); + this.body.add(core); + + const glowGeom = new THREE.SphereGeometry(0.75, 16, 16); + const glowMat = new THREE.MeshBasicMaterial({ + color: 0xff6600, transparent: true, opacity: 0.45, + blending: THREE.AdditiveBlending, + depthWrite: false, + }); + const glow = new THREE.Mesh(glowGeom, glowMat); + this.body.add(glow); + + // Sprite with flame texture + const spriteMat = new THREE.SpriteMaterial({ + map: flameTexture, + color: 0xffaa33, + blending: THREE.AdditiveBlending, + depthWrite: false, + transparent: true, + }); + const sprite = new THREE.Sprite(spriteMat); + sprite.scale.set(2.2, 2.2, 1); + this.body.add(sprite); + + // Trail particles (flame sprites behind the fireball) + const trailCount = 30; + const trailGeom = new THREE.BufferGeometry(); + const positions = new Float32Array(trailCount * 3); + trailGeom.setAttribute('position', new THREE.BufferAttribute(positions, 3)); + const trailMat = new THREE.PointsMaterial({ + map: flameTexture, + color: 0xff8833, + size: 1.0, + blending: THREE.AdditiveBlending, + depthWrite: false, + transparent: true, + opacity: 0.7, + }); + this.trailParticles = new THREE.Points(trailGeom, trailMat); + this.body.add(this.trailParticles); + this.trailVelocities = new Float32Array(trailCount * 3); + this.trailLives = new Float32Array(trailCount).fill(0); + + // Strong dynamic light (original: radius 100, orange, with shadow renderer) + this.light = new THREE.PointLight(0xff7722, 80, 45, 1.5); + this.light.position.set(0, 0.5, 0); + this.light.castShadow = true; + this.light.shadow.mapSize.width = 256; + this.light.shadow.mapSize.height = 256; + this.light.shadow.camera.near = 0.5; + this.light.shadow.camera.far = 45; + this.light.shadow.bias = -0.005; + this.body.add(this.light); + } + + updateTrail(dt: number, pos: THREE.Vector3) { + const attr = this.trailParticles.geometry.getAttribute('position') as THREE.BufferAttribute; + const arr = attr.array as Float32Array; + + for (let i = 0; i < this.trailLives.length; i++) { + if (this.trailLives[i] > 0) { + this.trailLives[i] -= dt; + arr[i * 3] += this.trailVelocities[i * 3] * dt; + arr[i * 3 + 1] += this.trailVelocities[i * 3 + 1] * dt; + arr[i * 3 + 2] += this.trailVelocities[i * 3 + 2] * dt; + if (this.trailLives[i] <= 0) { + arr[i * 3] = pos.x; + arr[i * 3 + 1] = pos.y; + arr[i * 3 + 2] = pos.z; + } + } else { + // Spawn new trail particle + arr[i * 3] = pos.x; + arr[i * 3 + 1] = pos.y; + arr[i * 3 + 2] = pos.z; + this.trailVelocities[i * 3] = (Math.random() - 0.5) * 1.5; + this.trailVelocities[i * 3 + 1] = (Math.random() - 0.5) * 1.5; + this.trailVelocities[i * 3 + 2] = (Math.random() - 0.5) * 1.5; + this.trailLives[i] = this.trailMaxLife * (0.5 + Math.random()); + } + } + attr.needsUpdate = true; + } + + explode(scene: THREE.Scene) { + if (this.exploding) return; + this.exploding = true; + this.timer = 0; + this.damageDone = false; + + playSound('explosion', 0.6); + + // Hide the fireball core and trail + for (const child of [...this.body.children]) { + if (child instanceof THREE.Mesh || child instanceof THREE.Sprite || child instanceof THREE.Points) { + child.visible = false; + } + } + + // Bright flash + const flashGeom = new THREE.SphereGeometry(3, 16, 16); + const flashMat = new THREE.MeshBasicMaterial({ + color: 0xffdd66, transparent: true, opacity: 0.9, + blending: THREE.AdditiveBlending, + depthWrite: false, + }); + const flash = new THREE.Mesh(flashGeom, flashMat); + flash.position.copy(this.body.position); + scene.add(flash); + + // Big explosion light pulse + const flashLight = new THREE.PointLight(0xff8833, 200, 35, 1.5); + flashLight.position.copy(this.body.position); + scene.add(flashLight); + + const startTime = performance.now(); + const updateFlash = () => { + const elapsed = (performance.now() - startTime) / 1000; + if (elapsed > 0.6) { + flash.removeFromParent(); + flash.geometry.dispose(); + flashMat.dispose(); + scene.remove(flashLight); + return; + } + const scale = 1 + elapsed * 8; + flash.scale.set(scale, scale, scale); + flashMat.opacity = 0.9 * (1 - elapsed / 0.6); + flashLight.intensity = 200 * (1 - elapsed / 0.6); + requestAnimationFrame(updateFlash); + }; + updateFlash(); + + // Fire particle burst (original: 50 flame particles) + this.spawnExplosionParticles(scene, './textures/flame.png', 0xffaa33, 60, 8, 1.5); + + // Debris stones (original: stone particles with gravity) + this.spawnExplosionParticles(scene, './textures/flame.png', 0x555544, 25, 6, 1.0, true); + } + + private spawnExplosionParticles( + scene: THREE.Scene, + texPath: string, + color: number, + count: number, + speed: number, + size: number, + withGravity = false + ) { + const tex = new THREE.TextureLoader().load(texPath); + tex.colorSpace = THREE.SRGBColorSpace; + const geom = new THREE.BufferGeometry(); + const positions = new Float32Array(count * 3); + const velocities: THREE.Vector3[] = []; + const lives: number[] = []; + const maxLives: number[] = []; + + for (let i = 0; i < count; i++) { + positions[i * 3] = this.body.position.x; + positions[i * 3 + 1] = this.body.position.y; + positions[i * 3 + 2] = this.body.position.z; + velocities.push(new THREE.Vector3( + (Math.random() - 0.5) * speed * 2, + Math.random() * speed, + (Math.random() - 0.5) * speed * 2 + )); + const life = 0.5 + Math.random() * 1.2; + lives.push(life); + maxLives.push(life); + } + + geom.setAttribute('position', new THREE.BufferAttribute(positions, 3)); + const mat = new THREE.PointsMaterial({ + map: tex, + color, + size, + blending: THREE.AdditiveBlending, + depthWrite: false, + transparent: true, + }); + const points = new THREE.Points(geom, mat); + points.renderOrder = 999; + scene.add(points); + + const startTime = performance.now(); + const update = () => { + const elapsed = (performance.now() - startTime) / 1000; + if (elapsed > 2) { + points.removeFromParent(); + geom.dispose(); + mat.dispose(); + tex.dispose(); + return; + } + const attr = geom.getAttribute('position') as THREE.BufferAttribute; + const arr = attr.array as Float32Array; + let allDead = true; + for (let i = 0; i < count; i++) { + lives[i] -= 0.016; + if (lives[i] <= 0) continue; + allDead = false; + const v = velocities[i]; + if (withGravity) v.y -= 9.8 * 0.016; + arr[i * 3] += v.x * 0.016; + arr[i * 3 + 1] += v.y * 0.016; + arr[i * 3 + 2] += v.z * 0.016; + } + attr.needsUpdate = true; + mat.opacity = Math.min(1, elapsed / 2) * 0.9; + if (allDead) { + points.removeFromParent(); + geom.dispose(); + mat.dispose(); + tex.dispose(); + return; + } + requestAnimationFrame(update); + }; + update(); + } +} diff --git a/web/src/Game.ts b/web/src/Game.ts new file mode 100644 index 0000000..5f1f457 --- /dev/null +++ b/web/src/Game.ts @@ -0,0 +1,585 @@ +import * as THREE from 'three'; +import { Player } from './Player'; +import { Enemy, initSpiderModel } from './Enemy'; +import { Sword } from './Sword'; +import { Staff } from './Staff'; +import { Fireball } from './Fireball'; +import { Cross, initCrossModel } from './Cross'; +import { Arena } from './Arena'; +import { initSounds, playSound, resumeContext } from './SoundManager'; + +const SPAWN_TIME = 10; + +export class Game { + scene: THREE.Scene; + camera: THREE.PerspectiveCamera; + renderer: THREE.WebGLRenderer; + clock: THREE.Clock; + + player!: Player; + enemies: Enemy[] = []; + fireballs: Fireball[] = []; + crosses: Cross[] = []; + + keys: Set = new Set(); + mouseButtons: Set = new Set(); + private prevMouseButtons: Set = new Set(); + mouseX = 0; + mouseY = 0; + groundPoint = new THREE.Vector3(); + + spawnTimer = 0; + spawns = 0; + killed = 0; + gameOver = false; + + // Debug hitzone visualization + private showHitzones = false; + private playerHitRing!: THREE.Mesh; + private enemyHitRings: Map = new Map(); + private fireballHitRings: Map = new Map(); + private crossHitRings: Map = new Map(); + + // UI elements + private uiHealthBar!: HTMLElement; + private uiHealthText!: HTMLElement; + private uiWaveLabel!: HTMLElement; + private uiKillsLabel!: HTMLElement; + private uiFireballCD!: HTMLElement; + private uiSwordCD!: HTMLElement; + private uiTeleportCD!: HTMLElement; + private uiWaveBarFill!: HTMLElement; + private uiWaveBarLabel!: HTMLElement; + private uiGameOver!: HTMLElement; + private mouseOnCanvas = false; + + constructor() { + this.scene = new THREE.Scene(); + this.scene.background = new THREE.Color(0x0d1117); + this.scene.fog = new THREE.Fog(0x0d1117, 25, 70); + + this.camera = new THREE.PerspectiveCamera( + 60, window.innerWidth / window.innerHeight, 1, 150 + ); + this.camera.position.set(0, 25, -15); + this.camera.lookAt(0, 0, 0); + + this.renderer = new THREE.WebGLRenderer({ antialias: true }); + this.renderer.setSize(window.innerWidth, window.innerHeight); + this.renderer.shadowMap.enabled = true; + this.renderer.shadowMap.type = THREE.PCFSoftShadowMap; + this.renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2)); + document.body.prepend(this.renderer.domElement); + + this.clock = new THREE.Clock(); + + this.setupUI(); + this.setupInput(); + this.setupLighting(); + } + + async init() { + this.setupArena(); + this.setupPlayer(); + this.player.setGame(this); + + initSounds(); + + await Promise.all([ + this.player.init(), + this.player.rightHandWeapon.init(), + this.player.leftHandWeapon.init(), + initSpiderModel(), + initCrossModel(), + ]); + } + + start() { + window.addEventListener('resize', () => { + this.camera.aspect = window.innerWidth / window.innerHeight; + this.camera.updateProjectionMatrix(); + this.renderer.setSize(window.innerWidth, window.innerHeight); + }); + + this.animate(); + } + + private setupUI() { + this.uiHealthBar = document.getElementById('health-bar')!; + this.uiHealthText = document.getElementById('health-text')!; + this.uiWaveLabel = document.getElementById('wave-label')!; + this.uiKillsLabel = document.getElementById('kills-label')!; + this.uiFireballCD = document.querySelector('#fireball-cooldown .cooldown-fill')!; + this.uiSwordCD = document.querySelector('#sword-cooldown .cooldown-fill')!; + this.uiTeleportCD = document.querySelector('#teleport-cooldown .cooldown-fill')!; + this.uiWaveBarFill = document.getElementById('wave-bar-fill')!; + this.uiWaveBarLabel = document.getElementById('wave-bar-label')!; + this.uiGameOver = document.getElementById('game-over')!; + + const canvas = this.renderer.domElement; + canvas.addEventListener('mouseenter', () => this.mouseOnCanvas = true); + canvas.addEventListener('mouseleave', () => this.mouseOnCanvas = false); + canvas.addEventListener('contextmenu', e => e.preventDefault()); + } + + private setupInput() { + window.addEventListener('keydown', (e) => { + this.keys.add(e.code); + if (e.code === 'Space') { + this.player.jump(); + e.preventDefault(); + } + if (e.code === 'KeyH') { + this.showHitzones = !this.showHitzones; + } + }); + window.addEventListener('keyup', (e) => { + this.keys.delete(e.code); + if (e.code === 'KeyE' && !this.gameOver) { + this.player.leftHandWeapon.skill2(this.groundPoint, this.player); + } + }); + + window.addEventListener('mousedown', (e) => { + resumeContext(); + this.mouseButtons.add(e.button); + this.prevMouseButtons.add(e.button); + }); + window.addEventListener('mouseup', (e) => { + resumeContext(); + this.mouseButtons.delete(e.button); + this.handleMouseRelease(e.button); + }); + window.addEventListener('mousemove', (e) => { + this.mouseX = (e.clientX / window.innerWidth) * 2 - 1; + this.mouseY = -(e.clientY / window.innerHeight) * 2 + 1; + }); + } + + private handleMouseRelease(button: number) { + if (this.gameOver) return; + if (button === 0) { + this.player.leftHandWeapon.skill1(this.groundPoint, this.player); + } else if (button === 1) { + this.player.switchHands(); + } else if (button === 2) { + this.player.rightHandWeapon.skill1(this.groundPoint, this.player); + } + } + + private setupLighting() { + const ambient = new THREE.AmbientLight(0x556688, 0.35); + this.scene.add(ambient); + + const dirLight = new THREE.DirectionalLight(0xccddff, 0.55); + dirLight.position.set(30, 40, 20); + dirLight.castShadow = true; + dirLight.shadow.mapSize.width = 1024; + dirLight.shadow.mapSize.height = 1024; + dirLight.shadow.camera.near = 1; + dirLight.shadow.camera.far = 150; + dirLight.shadow.camera.left = -60; + dirLight.shadow.camera.right = 60; + dirLight.shadow.camera.top = 60; + dirLight.shadow.camera.bottom = -60; + this.scene.add(dirLight); + } + + private setupArena() { + const arena = new Arena(); + this.scene.add(arena); + } + + private setupPlayer() { + this.player = new Player(); + this.player.body.position.set(0, 0.5, 0); + this.scene.add(this.player.body); + + // Player hitzone ring (contact damage radius = 2) + this.playerHitRing = this.createHitRing(2, 0xff0000); + this.scene.add(this.playerHitRing); + } + + private createHitRing(radius: number, color: number): THREE.Mesh { + const geom = new THREE.RingGeometry(radius - 0.05, radius, 48); + const mat = new THREE.MeshBasicMaterial({ + color, + transparent: true, + opacity: 0.5, + side: THREE.DoubleSide, + depthWrite: false, + }); + const ring = new THREE.Mesh(geom, mat); + ring.rotation.x = -Math.PI / 2; + ring.position.y = 0.05; + ring.renderOrder = 999; + return ring; + } + + private updateHitzones() { + this.playerHitRing.position.x = this.player.body.position.x; + this.playerHitRing.position.z = this.player.body.position.z; + this.playerHitRing.visible = this.showHitzones; + + // Enemy rings + for (const enemy of this.enemies) { + let ring = this.enemyHitRings.get(enemy); + if (!ring) { + ring = this.createHitRing(2, 0xff8800); + this.scene.add(ring); + this.enemyHitRings.set(enemy, ring); + } + ring.position.x = enemy.body.position.x; + ring.position.z = enemy.body.position.z; + ring.visible = this.showHitzones && !enemy.dead; + } + // Clean up removed enemies + for (const [enemy, ring] of this.enemyHitRings) { + if (!this.enemies.includes(enemy)) { + this.scene.remove(ring); + ring.geometry.dispose(); + (ring.material as THREE.Material).dispose(); + this.enemyHitRings.delete(enemy); + } + } + + // Fireball rings (impact radius 1.5 / AoE 5) + for (const fb of this.fireballs) { + let ring = this.fireballHitRings.get(fb); + if (!ring) { + ring = this.createHitRing(fb.exploding ? 5 : 1.5, fb.exploding ? 0xffff00 : 0xff6600); + this.scene.add(ring); + this.fireballHitRings.set(fb, ring); + } + ring.position.x = fb.body.position.x; + ring.position.z = fb.body.position.z; + ring.visible = this.showHitzones; + } + for (const [fb, ring] of this.fireballHitRings) { + if (!this.fireballs.includes(fb)) { + this.scene.remove(ring); + ring.geometry.dispose(); + (ring.material as THREE.Material).dispose(); + this.fireballHitRings.delete(fb); + } + } + + // Cross rings (pickup radius 2) + for (const cross of this.crosses) { + let ring = this.crossHitRings.get(cross); + if (!ring) { + ring = this.createHitRing(2, 0x00ff00); + this.scene.add(ring); + this.crossHitRings.set(cross, ring); + } + ring.position.x = cross.body.position.x; + ring.position.z = cross.body.position.z; + ring.visible = this.showHitzones; + } + for (const [cross, ring] of this.crossHitRings) { + if (!this.crosses.includes(cross)) { + this.scene.remove(ring); + ring.geometry.dispose(); + (ring.material as THREE.Material).dispose(); + this.crossHitRings.delete(cross); + } + } + } + + private spawnEnemy() { + const x = (Math.random() - 0.5) * 80; + const z = (Math.random() - 0.5) * 80; + const enemy = new Enemy(this.player.body.position); + enemy.body.position.set(x, 0.1, z); + this.scene.add(enemy.body); + this.enemies.push(enemy); + } + + private spawnCross(position: THREE.Vector3) { + if (Math.random() > 0.9) { + const cross = new Cross(position.clone()); + this.scene.add(cross.body); + this.crosses.push(cross); + } + } + + private updateGroundPoint() { + const raycaster = new THREE.Raycaster(); + raycaster.setFromCamera(new THREE.Vector2(this.mouseX, this.mouseY), this.camera); + const plane = new THREE.Plane(new THREE.Vector3(0, 1, 0), 0); + const intersection = new THREE.Vector3(); + if (raycaster.ray.intersectPlane(plane, intersection)) { + intersection.y = 0; + intersection.clamp( + new THREE.Vector3(-48, 0, -48), + new THREE.Vector3(48, 0, 48) + ); + this.groundPoint.copy(intersection); + } + } + + private updatePlayerMovement(dt: number) { + if (this.gameOver) { + this.player.body.position.y = 0.5; + return; + } + + const camFwd = new THREE.Vector3(); + this.camera.getWorldDirection(camFwd); + camFwd.y = 0; + camFwd.normalize(); + + const camLeft = new THREE.Vector3(); + camLeft.crossVectors(new THREE.Vector3(0, 1, 0), camFwd).normalize(); + + const moveDir = new THREE.Vector3(); + if (this.keys.has('KeyW') || this.keys.has('ArrowUp')) moveDir.add(camFwd); + if (this.keys.has('KeyS') || this.keys.has('ArrowDown')) moveDir.sub(camFwd); + if (this.keys.has('KeyA') || this.keys.has('ArrowLeft')) moveDir.add(camLeft); + if (this.keys.has('KeyD') || this.keys.has('ArrowRight')) moveDir.sub(camLeft); + + let speed = 7.5; + let isMoving = false; + if (moveDir.length() > 0) { + moveDir.normalize(); + this.player.velocity.set(moveDir.x * speed, 0, moveDir.z * speed); + isMoving = true; + } else { + this.player.velocity.set(0, 0, 0); + } + + // Play walk/stand animations + if (isMoving && this.player.getCurrentAnimation() !== 'walk') { + this.player.playAnimation('walk'); + } else if (!isMoving && this.player.getCurrentAnimation() !== 'stand') { + this.player.playAnimation('stand'); + } + + // Jump / gravity + if (!this.player.onGround) { + this.player.jumpVelocity -= 20 * dt; + this.player.body.position.y += this.player.jumpVelocity * dt; + if (this.player.body.position.y <= 0.5) { + this.player.body.position.y = 0.5; + this.player.jumpVelocity = 0; + this.player.onGround = true; + } + } + + // Apply horizontal movement + this.player.body.position.x += this.player.velocity.x * dt; + this.player.body.position.z += this.player.velocity.z * dt; + this.clampToArena(this.player.body.position); + + // Look at ground point + this.player.body.lookAt( + this.groundPoint.x, + this.player.body.position.y, + this.groundPoint.z + ); + } + + private clampToArena(pos: THREE.Vector3) { + pos.x = Math.max(-47, Math.min(47, pos.x)); + pos.z = Math.max(-47, Math.min(47, pos.z)); + } + + private updateEnemies(dt: number) { + for (const enemy of this.enemies) { + if (enemy.dead) { + enemy.updateAnimation(dt); + continue; + } + + const toPlayer = new THREE.Vector3() + .subVectors(this.player.body.position, enemy.body.position); + toPlayer.y = 0; + + const dist = toPlayer.length(); + if (dist > 0.1) { + const dir = toPlayer.normalize(); + enemy.body.lookAt( + enemy.body.position.x + dir.x, + enemy.body.position.y, + enemy.body.position.z + dir.z + ); + + enemy.playAnim('walk'); + + let moveDir = dir.multiplyScalar(6); + if (enemy.knockback > 0) { + moveDir = dir.multiplyScalar(-6); + enemy.knockback -= dt; + } + enemy.body.position.x += moveDir.x * dt; + enemy.body.position.z += moveDir.z * dt; + this.clampToArena(enemy.body.position); + } else { + enemy.playAnim('stand'); + } + + enemy.updateAnimation(dt); + } + } + + private updateFireballs(dt: number) { + for (let i = this.fireballs.length - 1; i >= 0; i--) { + const fb = this.fireballs[i]; + fb.lifetime -= dt; + + if (fb.exploding) { + fb.timer += dt; + if (fb.timer > 0.2 && !fb.damageDone) { + fb.damageDone = true; + for (const enemy of this.enemies) { + if (enemy.dead) continue; + const dist = enemy.body.position.distanceTo(fb.body.position); + if (dist < 8) { + enemy.takeDamage(100, this); + } + } + } + if (fb.timer > 2) { + this.scene.remove(fb.body); + this.fireballs.splice(i, 1); + } + continue; + } + + fb.body.position.x += fb.direction.x * dt; + fb.body.position.z += fb.direction.z * dt; + fb.updateTrail(dt, fb.body.position); + + for (const enemy of this.enemies) { + if (enemy.dead) continue; + const dist = enemy.body.position.distanceTo(fb.body.position); + if (dist < 1.8) { + fb.explode(this.scene); + break; + } + } + + if (fb.lifetime <= 0) { + fb.explode(this.scene); + } + } + } + + private updateUI() { + const healthPct = this.player.health / this.player.MAX_HEALTH; + this.uiHealthBar.style.width = `${Math.max(0, healthPct * 250)}px`; + this.uiHealthText.textContent = `${Math.ceil(this.player.health)}%`; + + this.uiWaveLabel.textContent = `Wave ${this.spawns}`; + this.uiKillsLabel.textContent = `Kills: ${this.killed}`; + + const sword = this.player.rightHandWeapon as Sword; + const staff = this.player.leftHandWeapon as Staff; + + const fbPct = Math.max(0, (staff.COOLDOWN1_TIME - staff.cooldown1) / staff.COOLDOWN1_TIME); + this.uiFireballCD.style.width = `${fbPct * 100}%`; + + const swordPct = Math.max(0, (sword.COOLDOWN1_TIME - sword.cooldown1) / sword.COOLDOWN1_TIME); + this.uiSwordCD.style.width = `${swordPct * 100}%`; + + const tpPct = Math.max(0, (staff.COOLDOWN2_TIME - staff.cooldown2) / staff.COOLDOWN2_TIME); + this.uiTeleportCD.style.width = `${tpPct * 100}%`; + + const wavePct = this.spawnTimer / SPAWN_TIME; + this.uiWaveBarFill.style.width = `${wavePct * 100}%`; + this.uiWaveBarLabel.textContent = `Next Wave: ${Math.ceil(SPAWN_TIME - this.spawnTimer)}s`; + + if (this.player.health <= 0 && !this.gameOver) { + this.gameOver = true; + this.player.die(); + this.uiGameOver.style.opacity = '1'; + playSound('gameover', 0.8); + } + } + + private animate() { + requestAnimationFrame(() => this.animate()); + + const dt = Math.min(this.clock.getDelta(), 0.1); + + this.updateGroundPoint(); + this.updatePlayerMovement(dt); + this.updateEnemies(dt); + this.updateFireballs(dt); + this.updateHitzones(); + + // Update animations + this.player.updateAnimations(dt); + this.player.rightHandWeapon.updateAnimation(dt); + + // Spawn enemies in waves + if (!this.gameOver) { + this.spawnTimer += dt; + if (this.spawnTimer >= SPAWN_TIME) { + this.spawns++; + for (let i = 0; i < this.spawns; i++) { + this.spawnEnemy(); + } + this.spawnTimer = 0; + } + } + + // Check close encounters (spider touching player) + for (const enemy of this.enemies) { + if (enemy.dead) continue; + const dist = enemy.body.position.distanceTo(this.player.body.position); + if (dist < 2) { + this.player.health -= 25 * dt; + } + } + + // Cross collisions + for (let i = this.crosses.length - 1; i >= 0; i--) { + const cross = this.crosses[i]; + cross.update(dt); + const dist = cross.body.position.distanceTo(this.player.body.position); + if (dist < 2) { + this.player.heal(25); + this.scene.remove(cross.body); + this.crosses.splice(i, 1); + } + } + + // Update cooldowns + this.player.rightHandWeapon.reduceCooldowns(dt); + this.player.leftHandWeapon.reduceCooldowns(dt); + + // Camera follows player + this.camera.position.set( + this.player.body.position.x, + 25, + this.player.body.position.z - 15 + ); + this.camera.lookAt( + this.player.body.position.x, + 0, + this.player.body.position.z + ); + + // Clean dead enemies + for (let i = this.enemies.length - 1; i >= 0; i--) { + const enemy = this.enemies[i]; + if (enemy.dead) { + enemy.deathTimer += dt; + if (enemy.deathTimer > 10) { + this.scene.remove(enemy.body); + this.enemies.splice(i, 1); + } + } + } + + this.updateUI(); + this.renderer.render(this.scene, this.camera); + } + + removeEnemy(enemy: Enemy) { + enemy.dead = true; + this.killed++; + this.spawnCross(enemy.body.position); + } +} diff --git a/web/src/MeshLoader.ts b/web/src/MeshLoader.ts new file mode 100644 index 0000000..cb4e368 --- /dev/null +++ b/web/src/MeshLoader.ts @@ -0,0 +1,15 @@ +import * as THREE from 'three'; +import { GLTFLoader, type GLTF } from 'three/examples/jsm/loaders/GLTFLoader.js'; + +const loader = new GLTFLoader(); + +export async function loadGLB(name: string): Promise { + return new Promise((resolve, reject) => { + loader.load( + `./models/${name}.glb`, + (gltf) => resolve(gltf), + undefined, + (err) => reject(err) + ); + }); +} diff --git a/web/src/Player.ts b/web/src/Player.ts new file mode 100644 index 0000000..639ee76 --- /dev/null +++ b/web/src/Player.ts @@ -0,0 +1,175 @@ +import * as THREE from 'three'; +import { Sword } from './Sword'; +import { Staff } from './Staff'; +import { loadGLB } from './MeshLoader'; +import type { Game } from './Game'; + +export class Player { + body: THREE.Group; + leftHandWeapon: Staff; + rightHandWeapon: Sword; + velocity = new THREE.Vector3(); + health = 100; + MAX_HEALTH = 100; + game!: Game; + jumpVelocity = 0; + onGround = true; + mixer!: THREE.AnimationMixer; + private clips: Map = new Map(); + private currentAnim = ''; + + constructor() { + this.body = new THREE.Group(); + + // Helmet + const helmetGeom = new THREE.SphereGeometry(0.45, 8, 8, 0, Math.PI * 2, 0, Math.PI / 2); + const helmetMat = new THREE.MeshToonMaterial({ color: 0x888888 }); + const helmet = new THREE.Mesh(helmetGeom, helmetMat); + helmet.position.y = 0.9; + helmet.castShadow = true; + this.body.add(helmet); + + // Try loading the real helmet model (replaces the placeholder sphere) + loadGLB('helmet').then((gltf) => { + const realHelmet = gltf.scene; + const helmetTexture = new THREE.TextureLoader().load('./textures/helmet.png'); + helmetTexture.flipY = false; + helmetTexture.colorSpace = THREE.SRGBColorSpace; + realHelmet.traverse((child) => { + if (child instanceof THREE.Mesh) { + child.castShadow = true; + child.material = new THREE.MeshToonMaterial({ map: helmetTexture }); + } + }); + realHelmet.scale.set(0.35, 0.35, 0.35); + realHelmet.position.set(0, 0.9, -0.2); + realHelmet.rotation.set(-0.4, 0, 0); + this.body.remove(helmet); + this.body.add(realHelmet); + }).catch(() => { + // Keep placeholder helmet + }); + + // Shadow disc + const shadowGeom = new THREE.CircleGeometry(0.4, 16); + const shadowMat = new THREE.MeshBasicMaterial({ + color: 0x000000, transparent: true, opacity: 0.3, + }); + const shadow = new THREE.Mesh(shadowGeom, shadowMat); + shadow.rotation.x = -Math.PI / 2; + shadow.position.y = -0.48; + shadow.renderOrder = 999; + this.body.add(shadow); + + // Weapons + this.leftHandWeapon = new Staff(); + this.rightHandWeapon = new Sword(); + this.body.add(this.leftHandWeapon.mesh); + this.body.add(this.rightHandWeapon.mesh); + } + + async init() { + try { + const gltf = await loadGLB('blob'); + const model = gltf.scene; + model.scale.set(0.5, 0.5, 0.5); + model.traverse((child) => { + if (child instanceof THREE.Mesh) { + child.castShadow = true; + child.receiveShadow = true; + const mat = new THREE.MeshToonMaterial({ + color: 0x44aa44, + }); + child.material = mat; + } + }); + this.body.add(model); + + if (gltf.animations.length > 0) { + this.mixer = new THREE.AnimationMixer(model); + for (const clip of gltf.animations) { + const action = this.mixer.clipAction(clip); + this.clips.set(clip.name, action); + } + this.playAnimation('stand'); + } + } catch (e) { + console.warn('Failed to load blob model, using fallback', e); + // Fallback capsule + const bodyGeom = new THREE.CapsuleGeometry(0.5, 0.5, 8, 16); + const bodyMat = new THREE.MeshToonMaterial({ color: 0x44aa44 }); + const bodyMesh = new THREE.Mesh(bodyGeom, bodyMat); + bodyMesh.position.y = 0.75; + bodyMesh.castShadow = true; + this.body.add(bodyMesh); + } + } + + playAnimation(name: string, loop = true, speed = 1) { + if (!this.clips.has(name)) return; + if (this.currentAnim === name) return; + // Stop the previous animation so it doesn't blend with the new one + if (this.currentAnim) { + const prev = this.clips.get(this.currentAnim); + if (prev) prev.stop(); + } + this.currentAnim = name; + const action = this.clips.get(name)!; + action.reset(); + action.setLoop(loop ? THREE.LoopRepeat : THREE.LoopOnce, loop ? Infinity : 1); + action.clampWhenFinished = !loop; + action.setEffectiveTimeScale(speed); + action.weight = 1; + action.play(); + return action; + } + + stopAnimation(name: string) { + const action = this.clips.get(name); + if (action) action.stop(); + } + + getCurrentAnimation(): string { + return this.currentAnim; + } + + updateAnimations(dt: number) { + if (this.mixer) this.mixer.update(dt); + } + + setGame(game: Game) { + this.game = game; + } + + jump() { + if (this.onGround) { + this.jumpVelocity = 8; + this.onGround = false; + this.playAnimation('jump', false); + } + } + + switchHands() { + const temp = this.leftHandWeapon; + this.leftHandWeapon = this.rightHandWeapon as unknown as Staff; + this.rightHandWeapon = temp as unknown as Sword; + + const leftPos = this.leftHandWeapon.mesh.position.clone(); + const rightPos = this.rightHandWeapon.mesh.position.clone(); + this.leftHandWeapon.mesh.position.copy(rightPos); + this.rightHandWeapon.mesh.position.copy(leftPos); + + const leftRot = this.leftHandWeapon.mesh.rotation.clone(); + const rightRot = this.rightHandWeapon.mesh.rotation.clone(); + this.leftHandWeapon.mesh.rotation.copy(rightRot); + this.rightHandWeapon.mesh.rotation.copy(leftRot); + } + + heal(amount: number) { + this.health = Math.min(this.health + amount, this.MAX_HEALTH); + } + + die() { + this.playAnimation('die', false); + } +} diff --git a/web/src/SoundManager.ts b/web/src/SoundManager.ts new file mode 100644 index 0000000..bb5b625 --- /dev/null +++ b/web/src/SoundManager.ts @@ -0,0 +1,61 @@ +const audioCtx = new (window.AudioContext || (window as any).webkitAudioContext)(); + +const sounds: Record = {}; + +async function loadSound(name: string): Promise { + const response = await fetch(`./sounds/${name}.ogg`); + const arrayBuffer = await response.arrayBuffer(); + return audioCtx.decodeAudioData(arrayBuffer); +} + +export async function initSounds() { + const names = ['fireball', 'explosion', 'sword_hit1', 'teleport', 'damage', 'spiderwalking', 'spawn', 'gameover']; + for (const name of names) { + try { + sounds[name] = await loadSound(name); + } catch { + console.warn(`Sound ${name} not found`); + } + } +} + +export function resumeContext() { + if (audioCtx.state === 'suspended') { + audioCtx.resume(); + } +} + +export function playSound(name: string, volume = 1) { + const buffer = sounds[name]; + if (!buffer) return; + if (audioCtx.state === 'suspended') return; + const source = audioCtx.createBufferSource(); + source.buffer = buffer; + const gain = audioCtx.createGain(); + gain.gain.value = volume; + source.connect(gain); + gain.connect(audioCtx.destination); + source.start(0); +} + +export function playLoopingSound(name: string, volume = 1): (() => void) | null { + const buffer = sounds[name]; + if (!buffer) return null; + if (audioCtx.state === 'suspended') return null; + const source = audioCtx.createBufferSource(); + source.buffer = buffer; + source.loop = true; + const gain = audioCtx.createGain(); + gain.gain.value = volume; + source.connect(gain); + gain.connect(audioCtx.destination); + source.start(0); + return () => { + try { + source.stop(); + } catch { + // already stopped + } + source.disconnect(); + }; +} diff --git a/web/src/Staff.ts b/web/src/Staff.ts new file mode 100644 index 0000000..f624501 --- /dev/null +++ b/web/src/Staff.ts @@ -0,0 +1,85 @@ +import * as THREE from 'three'; +import { Weapon } from './Weapon'; +import { Player } from './Player'; +import { Fireball } from './Fireball'; +import { playSound } from './SoundManager'; +import { loadGLB } from './MeshLoader'; + +export class Staff extends Weapon { + constructor() { + super(); + this.COOLDOWN1_TIME = 5; + this.COOLDOWN2_TIME = 50; + + // Fallback geometry + const shaftGeom = new THREE.CylinderGeometry(0.04, 0.05, 1.0, 8); + const crystalGeom = new THREE.OctahedronGeometry(0.08); + const woodMat = new THREE.MeshToonMaterial({ color: 0x8B4513 }); + const crystalMat = new THREE.MeshToonMaterial({ color: 0x4488ff }); + const shaft = new THREE.Mesh(shaftGeom, woodMat); + shaft.position.y = 0.3; + shaft.castShadow = true; + const crystal = new THREE.Mesh(crystalGeom, crystalMat); + crystal.position.y = 0.9; + this.mesh.add(shaft); + this.mesh.add(crystal); + + this.mesh.position.set(0.35, 0.3, 0.35); + this.mesh.scale.set(0.35, 0.35, 0.35); + this.mesh.rotation.set(-0.2, 0, -0.2); + } + + async init() { + try { + const gltf = await loadGLB('staff'); + const model = gltf.scene; + const staffTexture = new THREE.TextureLoader().load('./textures/staff1.png'); + staffTexture.flipY = false; + staffTexture.colorSpace = THREE.SRGBColorSpace; + model.traverse((child) => { + if (child instanceof THREE.Mesh) { + child.castShadow = true; + child.material = new THREE.MeshToonMaterial({ map: staffTexture }); + } + }); + while (this.mesh.children.length > 0) { + this.mesh.remove(this.mesh.children[0]); + } + this.mesh.add(model); + } catch { + // Keep fallback + } + } + + skill1(groundPoint: THREE.Vector3, player: Player): void { + if (this.cooldown1 > 0) return; + this.cooldown1 = this.COOLDOWN1_TIME; + + // Spawn at staff height, fly toward the cursor point + const spawnPos = player.body.position.clone(); + spawnPos.y += 0.8; + + const dir = new THREE.Vector3() + .subVectors(groundPoint, spawnPos) + .normalize() + .multiplyScalar(25); + dir.setY(0); + + const fb = new Fireball(spawnPos, dir); + player.game.scene.add(fb.body); + player.game.fireballs.push(fb); + playSound('fireball', 0.5); + } + + skill2(groundPoint: THREE.Vector3, player: Player): void { + if (this.cooldown2 > 0) return; + this.cooldown2 = this.COOLDOWN2_TIME; + + const newPos = groundPoint.clone(); + newPos.y = 0.5; + newPos.x = Math.max(-47, Math.min(47, newPos.x)); + newPos.z = Math.max(-47, Math.min(47, newPos.z)); + player.body.position.copy(newPos); + playSound('teleport', 0.5); + } +} diff --git a/web/src/Sword.ts b/web/src/Sword.ts new file mode 100644 index 0000000..4c47797 --- /dev/null +++ b/web/src/Sword.ts @@ -0,0 +1,119 @@ +import * as THREE from 'three'; +import { Weapon } from './Weapon'; +import { Player } from './Player'; +import { loadGLB } from './MeshLoader'; +import { playSound } from './SoundManager'; + +export class Sword extends Weapon { + private mixer: THREE.AnimationMixer | null = null; + private clips: Map = new Map(); + + constructor() { + super(); + this.COOLDOWN1_TIME = 0.5; + + this.mesh.position.set(-0.35, 0.3, 0.35); + this.mesh.scale.set(0.2, 0.2, 0.2); + this.mesh.rotation.set(0.3, 0, 0.3); + + // Fallback geometry + const bladeGeom = new THREE.BoxGeometry(0.08, 1.0, 0.15); + const handleGeom = new THREE.CylinderGeometry(0.05, 0.05, 0.2, 8); + const guardGeom = new THREE.BoxGeometry(0.25, 0.06, 0.06); + const metalMat = new THREE.MeshStandardMaterial({ color: 0xcccccc, metalness: 0.9, roughness: 0.3 }); + const darkMat = new THREE.MeshStandardMaterial({ color: 0x444444, roughness: 0.6 }); + + const blade = new THREE.Mesh(bladeGeom, metalMat); + blade.position.y = 0.4; + blade.castShadow = true; + const guard = new THREE.Mesh(guardGeom, metalMat); + guard.position.y = -0.1; + const handle = new THREE.Mesh(handleGeom, darkMat); + handle.position.y = -0.25; + this.mesh.add(blade); + this.mesh.add(guard); + this.mesh.add(handle); + this._fallback = true; + } + + async init() { + try { + const gltf = await loadGLB('sword'); + const model = gltf.scene; + model.scale.set(1, 1, 1); + const swordTexture = new THREE.TextureLoader().load('./textures/sword.png'); + swordTexture.flipY = false; + swordTexture.colorSpace = THREE.SRGBColorSpace; + model.traverse((child) => { + if (child instanceof THREE.Mesh) { + child.castShadow = true; + child.material = new THREE.MeshToonMaterial({ map: swordTexture }); + } + }); + + // Remove fallback geometry + while (this.mesh.children.length > 0) { + this.mesh.remove(this.mesh.children[0]); + } + this._fallback = false; + this.mesh.add(model); + + if (gltf.animations.length > 0) { + this.mixer = new THREE.AnimationMixer(model); + for (const clip of gltf.animations) { + const action = this.mixer.clipAction(clip); + this.clips.set(clip.name, action); + } + const normal = this.clips.get('normal'); + if (normal) { + normal.play(); + } + } + } catch (e) { + console.warn('Failed to load sword model', e); + } + } + + private _fallback = false; + + updateAnimation(dt: number) { + if (this.mixer) this.mixer.update(dt); + } + + skill1(_groundPoint: THREE.Vector3, player: Player): void { + if (this.cooldown1 > 0) return; + this.cooldown1 = this.COOLDOWN1_TIME; + + playSound('sword_hit1', 0.5); + + // Play skill1 animation + const action = this.clips.get('skill1'); + if (action) { + action.reset(); + action.setLoop(THREE.LoopOnce, 1); + action.setEffectiveTimeScale(2); + action.play(); + } + + const { game } = player; + + for (const enemy of game.enemies) { + if (enemy.dead) continue; + const dist = enemy.body.position.distanceTo(player.body.position); + if (dist < 3) { + const toEnemy = new THREE.Vector3() + .subVectors(enemy.body.position, player.body.position).normalize(); + const playerFwd = new THREE.Vector3(0, 0, 1); + playerFwd.applyQuaternion(player.body.quaternion); + const dot = playerFwd.dot(toEnemy); + if (dot > 0.3) { + enemy.takeDamage(50, game); + } + } + } + } + + skill2(): void { + // Not implemented + } +} diff --git a/web/src/Weapon.ts b/web/src/Weapon.ts new file mode 100644 index 0000000..268b556 --- /dev/null +++ b/web/src/Weapon.ts @@ -0,0 +1,25 @@ +import * as THREE from 'three'; +import { Player } from './Player'; + +export abstract class Weapon { + mesh: THREE.Group; + cooldown1 = 0; + cooldown2 = 0; + cooldown3 = 0; + COOLDOWN1_TIME = 0; + COOLDOWN2_TIME = 0; + COOLDOWN3_TIME = 0; + + constructor() { + this.mesh = new THREE.Group(); + } + + reduceCooldowns(tpf: number) { + if (this.cooldown1 > 0) this.cooldown1 -= tpf; + if (this.cooldown2 > 0) this.cooldown2 -= tpf; + if (this.cooldown3 > 0) this.cooldown3 -= tpf; + } + + abstract skill1(groundPoint: THREE.Vector3, player: Player): void; + abstract skill2(groundPoint: THREE.Vector3, player: Player): void; +} diff --git a/web/src/main.ts b/web/src/main.ts new file mode 100644 index 0000000..a2313c2 --- /dev/null +++ b/web/src/main.ts @@ -0,0 +1,9 @@ +import { Game } from './Game'; + +async function main() { + const game = new Game(); + await game.init(); + game.start(); +} + +main(); diff --git a/web/src/types.d.ts b/web/src/types.d.ts new file mode 100644 index 0000000..61b9ea3 --- /dev/null +++ b/web/src/types.d.ts @@ -0,0 +1,8 @@ +declare module '*.glb' { + const src: string; + export default src; +} +declare module '*.gltf' { + const src: string; + export default src; +} diff --git a/web/tsconfig.json b/web/tsconfig.json new file mode 100644 index 0000000..3246be2 --- /dev/null +++ b/web/tsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "target": "ES2022", + "module": "ESNext", + "moduleResolution": "bundler", + "strict": true, + "esModuleInterop": true, + "skipLibCheck": true, + "forceConsistentCasingInFileNames": true, + "outDir": "./dist", + "rootDir": "./src", + "declaration": true, + "sourceMap": true + }, + "include": ["src"] +} diff --git a/web/vite.config.ts b/web/vite.config.ts new file mode 100644 index 0000000..cd2bbcf --- /dev/null +++ b/web/vite.config.ts @@ -0,0 +1,13 @@ +import { defineConfig } from 'vite'; + +export default defineConfig({ + base: './', + build: { + outDir: 'dist', + assetsDir: 'assets', + }, + server: { + host: true, + port: 3000, + }, +});