diff --git a/build.ts b/build.ts index 57247d3..71f353b 100644 --- a/build.ts +++ b/build.ts @@ -2,6 +2,7 @@ import chalk from "chalk"; import { generate } from "./generate"; import { globSync } from "glob"; import { rmSync, mkdirSync, cpSync } from "node:fs"; +import { convertMeshes } from "./convert-meshes"; console.log(chalk.green`>> Cleaing up ./html ...`); rmSync("html", { recursive: true, force: true }); @@ -33,3 +34,6 @@ for (const file of publics) { cpSync(file, dest); console.log(chalk.yellow(` -> ${dest}...`)); } + +console.log(chalk.green`>> Convert meshes ...`); +await convertMeshes(); diff --git a/convert-meshes.ts b/convert-meshes.ts new file mode 100644 index 0000000..17af076 --- /dev/null +++ b/convert-meshes.ts @@ -0,0 +1,59 @@ +import chalk from "chalk"; +import { globSync } from "glob"; + +export const convertMeshes = async () => { + const meshes = globSync("src/meshes/*.ply"); + + for (const file of meshes) { + const ply = await Bun.file(file).text(); + + const [header, body] = ply.split("end_header"); + const colorSize = header.includes("red") ? 4 : 0; + + const values: number[] = []; + + for (const line of body.split("\n")) { + // line looks like + // x y z r g b a u v + // We need to convert it to + // x y z 1 r g b a u v + + const [x, y, z, r, g, b, a, u, v] = line.split(" "); + + if (!g) { + continue; + } + + values.push( + parseFloat(x), + parseFloat(y), + parseFloat(z), + 1, + parseFloat(r), + parseFloat(g) + ); + + if (colorSize > 0) { + values.push(parseFloat(b), parseFloat(a), parseFloat(u), parseFloat(v)); + } + } + + const outFile = file.replace(".ply", ".ts"); + const outString = ` +import { Mesh } from "../renderer/mesh"; + +// prettier-ignore +const mesh = new Float32Array(${JSON.stringify(values, null, 2)}); + +export default new Mesh({ + mesh, + positionSize: 4 * 4, + colorSize: ${colorSize} * 4, + uvSize: 2 * 4, +}); +`; + + await Bun.write(outFile, outString); + console.log(chalk.yellow(` -> ${file}...`)); + } +}; diff --git a/html/001-platform-provenance/main.js b/html/001-platform-provenance/main.js index 98b33ca..90b9619 100644 --- a/html/001-platform-provenance/main.js +++ b/html/001-platform-provenance/main.js @@ -1,4 +1,4 @@ -import{a as Y} from"../chunk-0cd54990cab7d3a5.js";class E{constructor(C){this.gl=C.gl,this.app=C,this.program=this.gl.createProgram()}attach(C,D){console.log("attaching shader",{type:C,source:D});const R=this.gl.createShader(C);if(this.gl.shaderSource(R,D),this.gl.compileShader(R),!this.gl.getShaderParameter(R,this.gl.COMPILE_STATUS))throw new Error("An error occurred compiling the shaders: "+this.gl.getShaderInfoLog(R));return this.gl.attachShader(this.program,R),this}link(){if(this.gl.linkProgram(this.program),!this.gl.getProgramParameter(this.program,this.gl.LINK_STATUS))throw new Error("Unable to initialize the shader program: "+this.gl.getProgramInfoLog(this.program));return console.log("shader linked"),this}location(C){if(C[0]==="a")return this.gl.getAttribLocation(this.program,C);else if(C[0]==="u")return this.gl.getUniformLocation(this.program,C)}updateTime(){const C=this.app.now(),D=Math.sin(C),R=Math.cos(C);this.gl.uniform1f(this.location("uTime"),C),this.gl.uniform1f(this.location("uSinTime"),D),this.gl.uniform1f(this.location("uCosTime"),R)}activate(C,D){this.gl.useProgram(this.program),this.gl.uniformMatrix4fv(this.location("uProjectionMatrix"),!1,C),this.gl.uniformMatrix4fv(this.location("uModelViewMatrix"),!1,D),this.updateTime()}}class I{constructor(C){this.gl=C.gl,this.app=C,this.vertexPositions=new Float32Array([]),this.positionBuffer=null,this.textureBuffer=null}initBuffer(C,D=this.gl.STATIC_DRAW){const R=this.gl.createBuffer();return this.gl.bindBuffer(this.gl.ARRAY_BUFFER,R),this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(C),D),R}attachShader(C){return this.shader=C,this.vertexPosition=C.location("aVertexPosition"),this.textureCoord=C.location("aTextureCoord"),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.positionBuffer),this.gl.vertexAttribPointer(this.vertexPosition,2,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(this.vertexPosition),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.textureBuffer),this.gl.vertexAttribPointer(this.textureCoord,2,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(this.textureCoord),this}draw2D(){this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.positionBuffer),this.shader.activate(this.app.projectionMatrix,this.app.modelViewMatrix),this.gl.drawArrays(this.gl.TRIANGLE_STRIP,0,this.vertexPositions.length/2)}draw3D(){this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.positionBuffer),this.shader.activate(this.app.projectionMatrix,this.app.modelViewMatrix),this.gl.drawArrays(this.gl.TRIANGLE_STRIP,0,this.vertexPositions.length/3)}}class K extends I{constructor(C){super(C);this.vertexPositions=new Float32Array([-1,-1,1,-1,-1,1,1,1]),this.positionBuffer=this.initBuffer(this.vertexPositions),this.textureBuffer=this.initBuffer(new Float32Array([0,0,1,0,0,1,1,1])),this.app.onUpdate(()=>this.draw2D())}}class L{constructor(C={fov:45}){if(this._now=0,this.registry={onStart:[],onUpdate:[],onBeforeUpdate:[],onAfterUpdate:[]},this.config=C,this.canvas=document.querySelector("canvas"),this.canvas.width=window.innerWidth,this.canvas.height=window.innerHeight,this.gl=this.canvas.getContext("webgl2"),this.gl===null)throw document.querySelector("main").innerHTML="
your browser didn't let me set up webgl
",new Error("Unable to initialize WebGL. Your browser or machine may not support it.");const D=this.gl,R=this.config.fov*Math.PI/180,G=D.canvas.clientWidth/D.canvas.clientHeight,H=0.1,J=100,P=glMatrix.mat4.create();glMatrix.mat4.perspective(P,R,G,H,J);const q=glMatrix.mat4.create();glMatrix.mat4.translate(q,q,[-0,0,-6]),this.projectionMatrix=P,this.modelViewMatrix=q,this.clear(),this.onBeforeUpdate(()=>this.clear()),this.telemetry=new Y(this)}clear(){const C=this.gl;C.clearColor(0,0,0,1),C.clearDepth(1),C.enable(C.DEPTH_TEST),C.depthFunc(C.LEQUAL),C.clear(C.COLOR_BUFFER_BIT|C.DEPTH_BUFFER_BIT)}onStart(C){this.registry.onStart.push(C)}onUpdate(C){this.registry.onUpdate.push(C)}onBeforeUpdate(C){this.registry.onBeforeUpdate.push(C)}onAfterUpdate(C){this.registry.onAfterUpdate.push(C)}start(){this.registry.onStart.forEach((C)=>C(this))}update(){this.registry.onBeforeUpdate.forEach((C)=>C(this)),this.registry.onUpdate.forEach((C)=>C(this)),this.registry.onAfterUpdate.forEach((C)=>C(this))}oneShot(){requestAnimationFrame((C)=>{this._now=C,this.start(),this.update()})}loop(){const C=(D)=>{this._now=D,this.update(),requestAnimationFrame(C)};requestAnimationFrame(C)}now(){return this._now}}var k=`precision highp float; +import{b as Y} from"../chunk-c8239659df5e5cce.js";class E{constructor(C){this.gl=C.gl,this.app=C,this.program=this.gl.createProgram()}attach(C,D){console.log("attaching shader",{type:C,source:D});const R=this.gl.createShader(C);if(this.gl.shaderSource(R,D),this.gl.compileShader(R),!this.gl.getShaderParameter(R,this.gl.COMPILE_STATUS))throw new Error("An error occurred compiling the shaders: "+this.gl.getShaderInfoLog(R));return this.gl.attachShader(this.program,R),this}link(){if(this.gl.linkProgram(this.program),!this.gl.getProgramParameter(this.program,this.gl.LINK_STATUS))throw new Error("Unable to initialize the shader program: "+this.gl.getProgramInfoLog(this.program));return console.log("shader linked"),this}location(C){if(C[0]==="a")return this.gl.getAttribLocation(this.program,C);else if(C[0]==="u")return this.gl.getUniformLocation(this.program,C)}updateTime(){const C=this.app.now(),D=Math.sin(C),R=Math.cos(C);this.gl.uniform1f(this.location("uTime"),C),this.gl.uniform1f(this.location("uSinTime"),D),this.gl.uniform1f(this.location("uCosTime"),R)}activate(C,D){this.gl.useProgram(this.program),this.gl.uniformMatrix4fv(this.location("uProjectionMatrix"),!1,C),this.gl.uniformMatrix4fv(this.location("uModelViewMatrix"),!1,D),this.updateTime()}}class I{constructor(C){this.gl=C.gl,this.app=C,this.vertexPositions=new Float32Array([]),this.positionBuffer=null,this.textureBuffer=null}initBuffer(C,D=this.gl.STATIC_DRAW){const R=this.gl.createBuffer();return this.gl.bindBuffer(this.gl.ARRAY_BUFFER,R),this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(C),D),R}attachShader(C){return this.shader=C,this.vertexPosition=C.location("aVertexPosition"),this.textureCoord=C.location("aTextureCoord"),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.positionBuffer),this.gl.vertexAttribPointer(this.vertexPosition,2,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(this.vertexPosition),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.textureBuffer),this.gl.vertexAttribPointer(this.textureCoord,2,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(this.textureCoord),this}draw2D(){this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.positionBuffer),this.shader.activate(this.app.projectionMatrix,this.app.modelViewMatrix),this.gl.drawArrays(this.gl.TRIANGLE_STRIP,0,this.vertexPositions.length/2)}draw3D(){this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.positionBuffer),this.shader.activate(this.app.projectionMatrix,this.app.modelViewMatrix),this.gl.drawArrays(this.gl.TRIANGLE_STRIP,0,this.vertexPositions.length/3)}}class K extends I{constructor(C){super(C);this.vertexPositions=new Float32Array([-1,-1,1,-1,-1,1,1,1]),this.positionBuffer=this.initBuffer(this.vertexPositions),this.textureBuffer=this.initBuffer(new Float32Array([0,0,1,0,0,1,1,1])),this.app.onUpdate(()=>this.draw2D())}}class L{constructor(C={fov:45}){if(this._now=0,this.registry={onStart:[],onUpdate:[],onBeforeUpdate:[],onAfterUpdate:[]},this.config=C,this.canvas=document.querySelector("canvas"),this.canvas.width=window.innerWidth,this.canvas.height=window.innerHeight,this.gl=this.canvas.getContext("webgl2"),this.gl===null)throw document.querySelector("main").innerHTML="
your browser didn't let me set up webgl
",new Error("Unable to initialize WebGL. Your browser or machine may not support it.");const D=this.gl,R=this.config.fov*Math.PI/180,G=D.canvas.clientWidth/D.canvas.clientHeight,H=0.1,J=100,P=glMatrix.mat4.create();glMatrix.mat4.perspective(P,R,G,H,J);const q=glMatrix.mat4.create();glMatrix.mat4.translate(q,q,[-0,0,-6]),this.projectionMatrix=P,this.modelViewMatrix=q,this.clear(),this.onBeforeUpdate(()=>this.clear()),this.telemetry=new Y(this)}clear(){const C=this.gl;C.clearColor(0,0,0,1),C.clearDepth(1),C.enable(C.DEPTH_TEST),C.depthFunc(C.LEQUAL),C.clear(C.COLOR_BUFFER_BIT|C.DEPTH_BUFFER_BIT)}onStart(C){this.registry.onStart.push(C)}onUpdate(C){this.registry.onUpdate.push(C)}onBeforeUpdate(C){this.registry.onBeforeUpdate.push(C)}onAfterUpdate(C){this.registry.onAfterUpdate.push(C)}start(){this.registry.onStart.forEach((C)=>C(this))}update(){this.registry.onBeforeUpdate.forEach((C)=>C(this)),this.registry.onUpdate.forEach((C)=>C(this)),this.registry.onAfterUpdate.forEach((C)=>C(this))}oneShot(){requestAnimationFrame((C)=>{this._now=C,this.start(),this.update()})}loop(){const C=(D)=>{this._now=D,this.update(),requestAnimationFrame(C)};requestAnimationFrame(C)}now(){return this._now}}var k=`precision highp float; uniform float uTime; uniform float uSinTime; diff --git a/html/002-webgpu-instead/main.js b/html/002-webgpu-instead/main.js index c480528..c738749 100644 --- a/html/002-webgpu-instead/main.js +++ b/html/002-webgpu-instead/main.js @@ -1 +1,26 @@ -import{a as V} from"../chunk-0cd54990cab7d3a5.js";class w{s;canvas;_adapter;_device;_context;telemetry;registry={onBeforeUpdate:[],onAfterUpdate:[],onUpdate:[],onStart:[]};constructor(s={}){this.config=s;this.config={fov:45,...s},this.canvas=document.querySelector("canvas"),this.canvas.width=window.innerWidth,this.canvas.height=window.innerHeight,this.telemetry=new V(this),this.init().catch((o)=>{const x=document.querySelector("main");if(x)x.innerHTML="
your browser didn't let me set up webgpu. firefox nightly or enable dom.webgpu.enable.
";throw new Error("Unable to initialize WebGPU. Your browser or machine may not support it.",o)})}async init(){if(!navigator.gpu)throw new Error("WebGPU not supported");if(this._adapter=await navigator.gpu.requestAdapter(),!this._adapter)throw new Error("No GPU adapter found");if(this._device=await this.adapter.requestDevice(),!this._device)throw new Error("No GPU device found");this._context=this.canvas.getContext("webgpu"),this.context.configure({device:this.device,format:"bgra8unorm",alphaMode:"premultiplied",...this.config.context})}get context(){if(!this._context)throw new Error("WebGPU context not initialized");return this._context}get adapter(){if(!this._adapter)throw new Error("WebGPU adapter not initialized");return this._adapter}get device(){if(!this._device)throw new Error("WebGPU device not initialized");return this._device}onBeforeUpdate(s){this.registry.onBeforeUpdate.push(s)}onAfterUpdate(s){this.registry.onAfterUpdate.push(s)}onUpdate(s){this.registry.onUpdate.push(s)}onStart(s){this.registry.onStart.push(s)}doUpdate(s){this.registry.onBeforeUpdate.forEach((o)=>o(s,this)),this.registry.onUpdate.forEach((o)=>o(s,this)),this.registry.onAfterUpdate.forEach((o)=>o(s,this))}doStart(s=0){this.registry.onStart.forEach((o)=>o(this,s))}async oneShot(s=0){this.doStart(s),this.doUpdate(s)}start(){this.doStart();const s=(o)=>{this.doUpdate(o),requestAnimationFrame(s)};requestAnimationFrame(s)}}var _=new w({fov:20});_.start(); +import{a as I,b as z} from"../chunk-c8239659df5e5cce.js";class _{j;canvas;_adapter;_device;_context;telemetry;registry={onBeforeUpdate:[],onAfterUpdate:[],onUpdate:[],onStart:[]};constructor(j={}){this.config=j;this.config={fov:45,...j},this.canvas=document.querySelector("canvas"),this.canvas.width=window.innerWidth,this.canvas.height=window.innerHeight,this.telemetry=new z(this),this.init().catch((x)=>{const C=document.querySelector("main");if(C)C.innerHTML="
your browser didn't let me set up webgpu. firefox nightly or enable dom.webgpu.enable.
";throw new Error("Unable to initialize WebGPU. Your browser or machine may not support it.",x)})}async init(){if(!navigator.gpu)throw new Error("WebGPU not supported");if(this._adapter=await navigator.gpu.requestAdapter(),!this._adapter)throw new Error("No GPU adapter found");if(this._device=await this.adapter.requestDevice(),!this._device)throw new Error("No GPU device found");this._context=this.canvas.getContext("webgpu"),this.context.configure({device:this.device,format:"bgra8unorm",alphaMode:"premultiplied",...this.config.context})}get context(){if(!this._context)throw new Error("WebGPU context not initialized");return this._context}get adapter(){if(!this._adapter)throw new Error("WebGPU adapter not initialized");return this._adapter}get device(){if(!this._device)throw new Error("WebGPU device not initialized");return this._device}onBeforeUpdate(j){this.registry.onBeforeUpdate.push(j)}onAfterUpdate(j){this.registry.onAfterUpdate.push(j)}onUpdate(j){this.registry.onUpdate.push(j)}onStart(j){this.registry.onStart.push(j)}doUpdate(j){this.registry.onBeforeUpdate.forEach((x)=>x(j,this)),this.registry.onUpdate.forEach((x)=>x(j,this)),this.registry.onAfterUpdate.forEach((x)=>x(j,this))}doStart(j=0){this.registry.onStart.forEach((x)=>x(this,j))}async oneShot(j=0){this.doStart(j),this.doUpdate(j)}start(){this.doStart();const j=(x)=>{this.doUpdate(x),requestAnimationFrame(j)};requestAnimationFrame(j)}}var D=`struct Uniforms { + modelViewProjectionMatrix: mat4x4, + time: f32, +} + +@group(0) @binding(0) var uniforms: Uniforms; + +struct v2f { + @builtin(position) position : vec4f, + @location(0) uv : vec2f, +} + +@vertex +fn vertex_main( + @builtin(position) position : vec4f, + @location(0) uv : vec2f, +) -> v2f { + return v2f(uniforms.modelViewProjectionMatrix * position, uv); +} + +@fragment +fn fragment_main( + @location(0) uv : vec2f, +) -> vec4f { + return vec4f(1.0, 0.0, 1.0, 1.0); +}`;class E{j;_module=null;constructor(j){this.code=j}module(j){return this._module=this._module||(this._module=j.device.createShaderModule({code:this.code.join("\n")})),this._module}}var F=new E([D]);class k{j;_shader=F;constructor(j){this.config=j}shader(j){return this._shader=j,this}buffer(j){const x=j.device.createBuffer({size:this.config.mesh.byteLength,usage:GPUBufferUsage.VERTEX,mappedAtCreation:!0});return new Float32Array(x.getMappedRange()).set(this.config.mesh),x.unmap(),x}pipeline(j,x){const C=this._shader.module(j);return j.device.createRenderPipeline({layout:"auto",vertex:{module:C,entryPoint:"main",buffers:[{arrayStride:4,attributes:[{shaderLocation:0,offset:0,format:"float32x4"},{shaderLocation:2,offset:this.config.positionSize,format:"float32x4"},{shaderLocation:1,offset:this.config.positionSize+this.config.colorSize,format:"float32x4"}]}]},fragment:{module:C,entryPoint:"main",targets:[{format:"rgba8unorm"}]},primitive:{topology:"triangle-list",cullMode:x.cullMode??"back"},depthStencil:x.stencil&&{depthWriteEnabled:!0,depthCompare:"less",format:"depth24plus"}})}}var L=new Float32Array([1.2393061,0.16315772,0,1,0,0,0,255,0.5208333,0.5,1.2165064,0,0.125,1,0,0,0,255,0.5,0.5833333,1.25,0,0,1,0,0,0,255,0.5,0.5,1.1153755,0.14684194,0.21650635,1,0,0,0,255,0.5208333,0.6666667,1.125,0,0.21650635,1,0,0,0,255,0.5,0.6666667,1,0,0.25,1,0,0,0,255,0.5,0.75,0.9914449,0.13052617,0.25,1,0,0,0,255,0.5208333,0.75,0.875,0,0.21650635,1,0,0,0,255,0.5,0.8333333,0.86751425,0.1142104,0.21650635,1,0,0,0,255,0.5208333,0.8333333,0.78349364,0,0.125,1,0,0,0,255,0.5,0.9166667,0.7435837,0.097894624,0.00000000000000003061617,1,0,0,0,255,0.5208333,1,0.75,0,0.00000000000000003061617,1,0,0,0,255,0.5,1,0.7435837,0.097894624,0.00000000000000003061617,1,0,0,0,255,0.5208333,0.0000000000000002220446,0.78349364,0,-0.125,1,0,0,0,255,0.5,0.083333336,0.75,0,0.00000000000000003061617,1,0,0,0,255,0.5,0.0000000000000002220446,0.77679074,0.10226642,-0.125,1,0,0,0,255,0.5208333,0.083333336,0.875,0,-0.21650635,1,0,0,0,255,0.5,0.16666667,0.86751425,0.1142104,-0.21650635,1,0,0,0,255,0.5208333,0.16666667,1,0,-0.25,1,0,0,0,255,0.5,0.25,0.9914449,0.13052617,-0.25,1,0,0,0,255,0.5208333,0.25,1.125,0,-0.21650635,1,0,0,0,255,0.5,0.33333334,1.1153755,0.14684194,-0.21650635,1,0,0,0,255,0.5208333,0.33333334,1.2165064,0,-0.125,1,0,0,0,255,0.5,0.41666666,1.206099,0.15878591,-0.125,1,0,0,0,255,0.5208333,0.41666666,1.2074072,0.32352373,0,1,0,0,0,255,0.5416667,0.5,1.206099,0.15878591,0.125,1,0,0,0,255,0.5208333,0.5833333,1.1750549,0.31485495,0.125,1,0,0,0,255,0.5416667,0.5833333,1.0866666,0.29117137,0.21650635,1,0,0,0,255,0.5416667,0.6666667,0.9659258,0.25881898,0.25,1,0,0,0,255,0.5416667,0.75,0.7567967,0.20278303,0.125,1,0,0,0,255,0.5416667,0.9166667,0.77679074,0.10226642,0.125,1,0,0,0,255,0.5208333,0.9166667,0.7244444,0.19411424,0.00000000000000003061617,1,0,0,0,255,0.5416667,0.0000000000000002220446,0.7567967,0.20278303,-0.125,1,0,0,0,255,0.5416667,0.083333336,0.9659258,0.25881898,-0.25,1,0,0,0,255,0.5416667,0.25,1.0866666,0.29117137,-0.21650635,1,0,0,0,255,0.5416667,0.33333334,1.1750549,0.31485495,-0.125,1,0,0,0,255,0.5416667,0.41666666,1.1239054,0.46553674,0.125,1,0,0,0,255,0.5625,0.5833333,1.0393645,0.43051878,0.21650635,1,0,0,0,255,0.5625,0.6666667,0.8083946,0.33484796,0.21650635,1,0,0,0,255,0.5625,0.8333333,0.8451851,0.22646661,0.21650635,1,0,0,0,255,0.5416667,0.8333333,0.72385377,0.29983,0.125,1,0,0,0,255,0.5625,0.9166667,0.69290966,0.28701252,0.00000000000000003061617,1,0,0,0,255,0.5625,1,0.7244444,0.19411424,0.00000000000000003061617,1,0,0,0,255,0.5416667,1,0.69290966,0.28701252,0.00000000000000003061617,1,0,0,0,255,0.5625,0.0000000000000002220446,0.72385377,0.29983,-0.125,1,0,0,0,255,0.5625,0.083333336,0.8451851,0.22646661,-0.21650635,1,0,0,0,255,0.5416667,0.16666667,0.92387956,0.38268337,-0.25,1,0,0,0,255,0.5625,0.25,1.0393645,0.43051878,-0.21650635,1,0,0,0,255,0.5625,0.33333334,1.1239054,0.46553674,-0.125,1,0,0,0,255,0.5625,0.41666666,1.1548494,0.47835422,0,1,0,0,0,255,0.5625,0.5,1.0535253,0.6082533,0.125,1,0,0,0,255,0.5833333,0.5833333,0.9742785,0.5625001,0.21650635,1,0,0,0,255,0.5833333,0.6666667,0.8660253,0.5000001,0.25,1,0,0,0,255,0.5833333,0.75,0.92387956,0.38268337,0.25,1,0,0,0,255,0.5625,0.75,0.6785253,0.3917469,0.125,1,0,0,0,255,0.5833333,0.9166667,0.64951897,0.3750001,0.00000000000000003061617,1,0,0,0,255,0.5833333,0.0000000000000002220446,0.6785253,0.3917469,-0.125,1,0,0,0,255,0.5833333,0.083333336,0.8083946,0.33484796,-0.21650635,1,0,0,0,255,0.5625,0.16666667,0.8660253,0.5000001,-0.25,1,0,0,0,255,0.5833333,0.25,0.9742785,0.5625001,-0.21650635,1,0,0,0,255,0.5833333,0.33333334,1.0535253,0.6082533,-0.125,1,0,0,0,255,0.5833333,0.41666666,0.9916918,0.76095164,0,1,0,0,0,255,0.6041667,0.5,1.0825317,0.6250001,0,1,0,0,0,255,0.5833333,0.5,0.89252263,0.6848565,0.21650635,1,0,0,0,255,0.6041667,0.6666667,0.79335344,0.6087613,0.25,1,0,0,0,255,0.6041667,0.75,0.75777215,0.43750012,0.21650635,1,0,0,0,255,0.5833333,0.8333333,0.6215874,0.4769606,0.125,1,0,0,0,255,0.6041667,0.9166667,0.64951897,0.3750001,0.00000000000000003061617,1,0,0,0,255,0.5833333,1,0.59501505,0.45657098,0.00000000000000003061617,1,0,0,0,255,0.6041667,0.0000000000000002220446,0.6215874,0.4769606,-0.125,1,0,0,0,255,0.6041667,0.083333336,0.75777215,0.43750012,-0.21650635,1,0,0,0,255,0.5833333,0.16666667,0.69418424,0.53266615,-0.21650635,1,0,0,0,255,0.6041667,0.16666667,0.79335344,0.6087613,-0.25,1,0,0,0,255,0.6041667,0.25,0.89252263,0.6848565,-0.21650635,1,0,0,0,255,0.6041667,0.33333334,0.88388336,0.88388354,0,1,0,0,0,255,0.625,0.5,0.9651195,0.740562,0.125,1,0,0,0,255,0.6041667,0.5833333,0.8601998,0.8601999,0.125,1,0,0,0,255,0.625,0.5833333,0.79549503,0.79549515,0.21650635,1,0,0,0,255,0.625,0.6666667,0.7071067,0.7071068,0.25,1,0,0,0,255,0.625,0.75,0.69418424,0.53266615,0.21650635,1,0,0,0,255,0.6041667,0.8333333,0.6187184,0.6187185,0.21650635,1,0,0,0,255,0.625,0.8333333,0.5540136,0.5540137,0.125,1,0,0,0,255,0.625,0.9166667,0.59501505,0.45657098,0.00000000000000003061617,1,0,0,0,255,0.6041667,1,0.5540136,0.5540137,-0.125,1,0,0,0,255,0.625,0.083333336,0.6187184,0.6187185,-0.21650635,1,0,0,0,255,0.625,0.16666667,0.7071067,0.7071068,-0.25,1,0,0,0,255,0.625,0.25,0.8601998,0.8601999,-0.125,1,0,0,0,255,0.625,0.41666666,0.9651195,0.740562,-0.125,1,0,0,0,255,0.6041667,0.41666666,0.76095194,0.99169147,0,1,0,0,0,255,0.6458333,0.5,0.6848568,0.89252234,0.21650635,1,0,0,0,255,0.6458333,0.6666667,0.60876155,0.7933532,0.25,1,0,0,0,255,0.6458333,0.75,0.4769608,0.62158716,0.125,1,0,0,0,255,0.6458333,0.9166667,0.53033006,0.5303301,0.00000000000000003061617,1,0,0,0,255,0.625,1,0.45657116,0.5950149,0.00000000000000003061617,1,0,0,0,255,0.6458333,0.0000000000000002220446,0.53033006,0.5303301,0.00000000000000003061617,1,0,0,0,255,0.625,0.0000000000000002220446,0.4769608,0.62158716,-0.125,1,0,0,0,255,0.6458333,0.083333336,0.60876155,0.7933532,-0.25,1,0,0,0,255,0.6458333,0.25,0.6848568,0.89252234,-0.21650635,1,0,0,0,255,0.6458333,0.33333334,0.79549503,0.79549515,-0.21650635,1,0,0,0,255,0.625,0.33333334,0.7405623,0.96511924,-0.125,1,0,0,0,255,0.6458333,0.41666666,0.62499994,1.0825318,0,1,0,0,0,255,0.6666667,0.5,0.7405623,0.96511924,0.125,1,0,0,0,255,0.6458333,0.5833333,0.56249994,0.9742786,0.21650635,1,0,0,0,255,0.6666667,0.6666667,0.49999997,0.86602545,0.25,1,0,0,0,255,0.6666667,0.75,0.5326663,0.69418406,0.21650635,1,0,0,0,255,0.6458333,0.8333333,0.3917468,0.67852545,0.125,1,0,0,0,255,0.6666667,0.9166667,0.45657116,0.5950149,0.00000000000000003061617,1,0,0,0,255,0.6458333,1,0.37499997,0.6495191,0.00000000000000003061617,1,0,0,0,255,0.6666667,0.0000000000000002220446,0.3917468,0.67852545,-0.125,1,0,0,0,255,0.6666667,0.083333336,0.5326663,0.69418406,-0.21650635,1,0,0,0,255,0.6458333,0.16666667,0.43749997,0.75777227,-0.21650635,1,0,0,0,255,0.6666667,0.16666667,0.49999997,0.86602545,-0.25,1,0,0,0,255,0.6666667,0.25,0.56249994,0.9742786,-0.21650635,1,0,0,0,255,0.6666667,0.33333334,0.6082531,1.0535254,-0.125,1,0,0,0,255,0.6666667,0.41666666,0.4655371,1.1239052,0.125,1,0,0,0,255,0.6875,0.5833333,0.6082531,1.0535254,0.125,1,0,0,0,255,0.6666667,0.5833333,0.43051913,1.0393643,0.21650635,1,0,0,0,255,0.6875,0.6666667,0.38268366,0.92387944,0.25,1,0,0,0,255,0.6875,0.75,0.43749997,0.75777227,0.21650635,1,0,0,0,255,0.6666667,0.8333333,0.3348482,0.8083945,0.21650635,1,0,0,0,255,0.6875,0.8333333,0.29983023,0.72385365,0.125,1,0,0,0,255,0.6875,0.9166667,0.37499997,0.6495191,0.00000000000000003061617,1,0,0,0,255,0.6666667,1,0.28701276,0.6929096,0.00000000000000003061617,1,0,0,0,255,0.6875,0.0000000000000002220446,0.29983023,0.72385365,-0.125,1,0,0,0,255,0.6875,0.083333336,0.38268366,0.92387944,-0.25,1,0,0,0,255,0.6875,0.25,0.43051913,1.0393643,-0.21650635,1,0,0,0,255,0.6875,0.33333334,0.4655371,1.1239052,-0.125,1,0,0,0,255,0.6875,0.41666666,0.32352385,1.2074072,0,1,0,0,0,255,0.7083333,0.5,0.47835457,1.1548493,0,1,0,0,0,255,0.6875,0.5,0.31485504,1.1750549,0.125,1,0,0,0,255,0.7083333,0.5833333,0.29117146,1.0866666,0.21650635,1,0,0,0,255,0.7083333,0.6666667,0.25881907,0.9659258,0.25,1,0,0,0,255,0.7083333,0.75,0.2027831,0.7567967,0.125,1,0,0,0,255,0.7083333,0.9166667,0.28701276,0.6929096,0.00000000000000003061617,1,0,0,0,255,0.6875,1,0.1941143,0.7244444,0.00000000000000003061617,1,0,0,0,255,0.7083333,0.0000000000000002220446,0.2027831,0.7567967,-0.125,1,0,0,0,255,0.7083333,0.083333336,0.3348482,0.8083945,-0.21650635,1,0,0,0,255,0.6875,0.16666667,0.22646669,0.8451851,-0.21650635,1,0,0,0,255,0.7083333,0.16666667,0.25881907,0.9659258,-0.25,1,0,0,0,255,0.7083333,0.25,0.29117146,1.0866666,-0.21650635,1,0,0,0,255,0.7083333,0.33333334,0.31485504,1.1750549,-0.125,1,0,0,0,255,0.7083333,0.41666666,0.16315751,1.2393061,0,1,0,0,0,255,0.7291667,0.5,0.15878572,1.206099,0.125,1,0,0,0,255,0.7291667,0.5833333,0.130526,0.9914449,0.25,1,0,0,0,255,0.7291667,0.75,0.22646669,0.8451851,0.21650635,1,0,0,0,255,0.7083333,0.8333333,0.114210255,0.86751425,0.21650635,1,0,0,0,255,0.7291667,0.8333333,0.1022663,0.77679074,0.125,1,0,0,0,255,0.7291667,0.9166667,0.1941143,0.7244444,0.00000000000000003061617,1,0,0,0,255,0.7083333,1,0.1022663,0.77679074,-0.125,1,0,0,0,255,0.7291667,0.083333336,0.130526,0.9914449,-0.25,1,0,0,0,255,0.7291667,0.25,0.14684176,1.1153755,-0.21650635,1,0,0,0,255,0.7291667,0.33333334,0.15878572,1.206099,-0.125,1,0,0,0,255,0.7291667,0.41666666,0.000000094372375,1.25,0,1,0,0,0,255,0.75,0.5,0.000000091843674,1.2165064,0.125,1,0,0,0,255,0.75,0.5833333,0.14684176,1.1153755,0.21650635,1,0,0,0,255,0.7291667,0.6666667,0.00000008493514,1.125,0.21650635,1,0,0,0,255,0.75,0.6666667,0.000000066060664,0.875,0.21650635,1,0,0,0,255,0.75,0.8333333,0.000000059152125,0.78349364,0.125,1,0,0,0,255,0.75,0.9166667,0.097894505,0.7435837,0.00000000000000003061617,1,0,0,0,255,0.7291667,1,0.000000056623428,0.75,0.00000000000000003061617,1,0,0,0,255,0.75,0.0000000000000002220446,0.097894505,0.7435837,0.00000000000000003061617,1,0,0,0,255,0.7291667,0.0000000000000002220446,0.000000059152125,0.78349364,-0.125,1,0,0,0,255,0.75,0.083333336,0.114210255,0.86751425,-0.21650635,1,0,0,0,255,0.7291667,0.16666667,0.000000066060664,0.875,-0.21650635,1,0,0,0,255,0.75,0.16666667,0.0000000754979,1,-0.25,1,0,0,0,255,0.75,0.25,0.00000008493514,1.125,-0.21650635,1,0,0,0,255,0.75,0.33333334,-0.16315791,1.239306,0,1,0,0,0,255,0.7708333,0.5,-0.15878612,1.2060989,0.125,1,0,0,0,255,0.7708333,0.5833333,-0.14684212,1.1153754,0.21650635,1,0,0,0,255,0.7708333,0.6666667,0.0000000754979,1,0.25,1,0,0,0,255,0.75,0.75,-0.13052633,0.9914448,0.25,1,0,0,0,255,0.7708333,0.75,-0.114210546,0.86751425,0.21650635,1,0,0,0,255,0.7708333,0.8333333,-0.10226655,0.77679074,0.125,1,0,0,0,255,0.7708333,0.9166667,0.000000056623428,0.75,0.00000000000000003061617,1,0,0,0,255,0.75,1,-0.10226655,0.77679074,-0.125,1,0,0,0,255,0.7708333,0.083333336,-0.13052633,0.9914448,-0.25,1,0,0,0,255,0.7708333,0.25,-0.14684212,1.1153754,-0.21650635,1,0,0,0,255,0.7708333,0.33333334,-0.15878612,1.2060989,-0.125,1,0,0,0,255,0.7708333,0.41666666,0.000000091843674,1.2165064,-0.125,1,0,0,0,255,0.75,0.41666666,-0.32352364,1.2074074,0,1,0,0,0,255,0.7916667,0.5,-0.29117128,1.0866666,0.21650635,1,0,0,0,255,0.7916667,0.6666667,-0.25881892,0.9659259,0.25,1,0,0,0,255,0.7916667,0.75,-0.22646657,0.84518516,0.21650635,1,0,0,0,255,0.7916667,0.8333333,-0.20278297,0.7567968,0.125,1,0,0,0,255,0.7916667,0.9166667,-0.09789475,0.7435836,0.00000000000000003061617,1,0,0,0,255,0.7708333,1,-0.1941142,0.7244444,0.00000000000000003061617,1,0,0,0,255,0.7916667,0.0000000000000002220446,-0.09789475,0.7435836,0.00000000000000003061617,1,0,0,0,255,0.7708333,0.0000000000000002220446,-0.20278297,0.7567968,-0.125,1,0,0,0,255,0.7916667,0.083333336,-0.114210546,0.86751425,-0.21650635,1,0,0,0,255,0.7708333,0.16666667,-0.22646657,0.84518516,-0.21650635,1,0,0,0,255,0.7916667,0.16666667,-0.25881892,0.9659259,-0.25,1,0,0,0,255,0.7916667,0.25,-0.29117128,1.0866666,-0.21650635,1,0,0,0,255,0.7916667,0.33333334,-0.31485486,1.175055,-0.125,1,0,0,0,255,0.7916667,0.41666666,-0.4783544,1.1548494,0,1,0,0,0,255,0.8125,0.5,-0.31485486,1.175055,0.125,1,0,0,0,255,0.7916667,0.5833333,-0.46553692,1.1239053,0.125,1,0,0,0,255,0.8125,0.5833333,-0.43051895,1.0393645,0.21650635,1,0,0,0,255,0.8125,0.6666667,-0.33484808,0.80839455,0.21650635,1,0,0,0,255,0.8125,0.8333333,-0.2998301,0.7238537,0.125,1,0,0,0,255,0.8125,0.9166667,-0.1941142,0.7244444,0.00000000000000003061617,1,0,0,0,255,0.7916667,1,-0.28701264,0.6929096,0.00000000000000003061617,1,0,0,0,255,0.8125,0.0000000000000002220446,-0.2998301,0.7238537,-0.125,1,0,0,0,255,0.8125,0.083333336,-0.38268352,0.9238795,-0.25,1,0,0,0,255,0.8125,0.25,-0.46553692,1.1239053,-0.125,1,0,0,0,255,0.8125,0.41666666,-0.6249998,1.0825319,0,1,0,0,0,255,0.8333333,0.5,-0.5624998,0.9742787,0.21650635,1,0,0,0,255,0.8333333,0.6666667,-0.38268352,0.9238795,0.25,1,0,0,0,255,0.8125,0.75,-0.49999985,0.8660255,0.25,1,0,0,0,255,0.8333333,0.75,-0.43749988,0.7577723,0.21650635,1,0,0,0,255,0.8333333,0.8333333,-0.3917467,0.67852545,0.125,1,0,0,0,255,0.8333333,0.9166667,-0.28701264,0.6929096,0.00000000000000003061617,1,0,0,0,255,0.8125,1,-0.37499988,0.64951915,0.00000000000000003061617,1,0,0,0,255,0.8333333,0.0000000000000002220446,-0.3917467,0.67852545,-0.125,1,0,0,0,255,0.8333333,0.083333336,-0.33484808,0.80839455,-0.21650635,1,0,0,0,255,0.8125,0.16666667,-0.43749988,0.7577723,-0.21650635,1,0,0,0,255,0.8333333,0.16666667,-0.49999985,0.8660255,-0.25,1,0,0,0,255,0.8333333,0.25,-0.43051895,1.0393645,-0.21650635,1,0,0,0,255,0.8125,0.33333334,-0.5624998,0.9742787,-0.21650635,1,0,0,0,255,0.8333333,0.33333334,-0.608253,1.0535256,-0.125,1,0,0,0,255,0.8333333,0.41666666,-0.76095176,0.99169165,0,1,0,0,0,255,0.8541667,0.5,-0.608253,1.0535256,0.125,1,0,0,0,255,0.8333333,0.5833333,-0.74056214,0.96511936,0.125,1,0,0,0,255,0.8541667,0.5833333,-0.6848566,0.89252245,0.21650635,1,0,0,0,255,0.8541667,0.6666667,-0.6087614,0.7933533,0.25,1,0,0,0,255,0.8541667,0.75,-0.53266627,0.6941842,0.21650635,1,0,0,0,255,0.8541667,0.8333333,-0.45657107,0.595015,0.00000000000000003061617,1,0,0,0,255,0.8541667,1,-0.37499988,0.64951915,0.00000000000000003061617,1,0,0,0,255,0.8333333,1,-0.45657107,0.595015,0.00000000000000003061617,1,0,0,0,255,0.8541667,0.0000000000000002220446,-0.53266627,0.6941842,-0.21650635,1,0,0,0,255,0.8541667,0.16666667,-0.6087614,0.7933533,-0.25,1,0,0,0,255,0.8541667,0.25,-0.6848566,0.89252245,-0.21650635,1,0,0,0,255,0.8541667,0.33333334,-0.74056214,0.96511936,-0.125,1,0,0,0,255,0.8541667,0.41666666,-0.8838837,0.88388324,0,1,0,0,0,255,0.875,0.5,-0.8602001,0.8601997,0.125,1,0,0,0,255,0.875,0.5833333,-0.70710695,0.7071066,0.25,1,0,0,0,255,0.875,0.75,-0.61871856,0.61871827,0.21650635,1,0,0,0,255,0.875,0.8333333,-0.47696072,0.6215873,0.125,1,0,0,0,255,0.8541667,0.9166667,-0.5540138,0.5540135,0.125,1,0,0,0,255,0.875,0.9166667,-0.5303302,0.53032994,0.00000000000000003061617,1,0,0,0,255,0.875,0.0000000000000002220446,-0.47696072,0.6215873,-0.125,1,0,0,0,255,0.8541667,0.083333336,-0.61871856,0.61871827,-0.21650635,1,0,0,0,255,0.875,0.16666667,-0.70710695,0.7071066,-0.25,1,0,0,0,255,0.875,0.25,-0.79549533,0.7954949,-0.21650635,1,0,0,0,255,0.875,0.33333334,-0.8602001,0.8601997,-0.125,1,0,0,0,255,0.875,0.41666666,-0.99169165,0.76095176,0,1,0,0,0,255,0.8958333,0.5,-0.96511936,0.74056214,0.125,1,0,0,0,255,0.8958333,0.5833333,-0.79549533,0.7954949,0.21650635,1,0,0,0,255,0.875,0.6666667,-0.89252245,0.6848566,0.21650635,1,0,0,0,255,0.8958333,0.6666667,-0.6941842,0.53266627,0.21650635,1,0,0,0,255,0.8958333,0.8333333,-0.6215873,0.47696072,0.125,1,0,0,0,255,0.8958333,0.9166667,-0.5303302,0.53032994,0.00000000000000003061617,1,0,0,0,255,0.875,1,-0.595015,0.45657107,0.00000000000000003061617,1,0,0,0,255,0.8958333,0.0000000000000002220446,-0.5540138,0.5540135,-0.125,1,0,0,0,255,0.875,0.083333336,-0.6941842,0.53266627,-0.21650635,1,0,0,0,255,0.8958333,0.16666667,-0.7933533,0.6087614,-0.25,1,0,0,0,255,0.8958333,0.25,-0.96511936,0.74056214,-0.125,1,0,0,0,255,0.8958333,0.41666666,-1.0535252,0.6082535,0.125,1,0,0,0,255,0.9166667,0.5833333,-0.86602527,0.50000024,0.25,1,0,0,0,255,0.9166667,0.75,-0.7933533,0.6087614,0.25,1,0,0,0,255,0.8958333,0.75,-0.7577721,0.4375002,0.21650635,1,0,0,0,255,0.9166667,0.8333333,-0.67852527,0.391747,0.125,1,0,0,0,255,0.9166667,0.9166667,-0.595015,0.45657107,0.00000000000000003061617,1,0,0,0,255,0.8958333,1,-0.64951897,0.37500018,0.00000000000000003061617,1,0,0,0,255,0.9166667,0.0000000000000002220446,-0.6215873,0.47696072,-0.125,1,0,0,0,255,0.8958333,0.083333336,-0.67852527,0.391747,-0.125,1,0,0,0,255,0.9166667,0.083333336,-0.86602527,0.50000024,-0.25,1,0,0,0,255,0.9166667,0.25,-0.89252245,0.6848566,-0.21650635,1,0,0,0,255,0.8958333,0.33333334,-0.97427845,0.56250024,-0.21650635,1,0,0,0,255,0.9166667,0.33333334,-1.0535252,0.6082535,-0.125,1,0,0,0,255,0.9166667,0.41666666,-1.1548494,0.47835436,0,1,0,0,0,255,0.9375,0.5,-1.0825316,0.6250003,0,1,0,0,0,255,0.9166667,0.5,-1.1239053,0.4655369,0.125,1,0,0,0,255,0.9375,0.5833333,-0.97427845,0.56250024,0.21650635,1,0,0,0,255,0.9166667,0.6666667,-1.0393645,0.43051893,0.21650635,1,0,0,0,255,0.9375,0.6666667,-0.80839455,0.33484805,0.21650635,1,0,0,0,255,0.9375,0.8333333,-0.7238537,0.29983008,0.125,1,0,0,0,255,0.9375,0.9166667,-0.64951897,0.37500018,0.00000000000000003061617,1,0,0,0,255,0.9166667,1,-0.7238537,0.29983008,-0.125,1,0,0,0,255,0.9375,0.083333336,-0.7577721,0.4375002,-0.21650635,1,0,0,0,255,0.9166667,0.16666667,-0.80839455,0.33484805,-0.21650635,1,0,0,0,255,0.9375,0.16666667,-0.9238795,0.3826835,-0.25,1,0,0,0,255,0.9375,0.25,-1.1239053,0.4655369,-0.125,1,0,0,0,255,0.9375,0.41666666,-1.175055,0.31485486,0.125,1,0,0,0,255,0.9583333,0.5833333,-1.0866666,0.29117128,0.21650635,1,0,0,0,255,0.9583333,0.6666667,-0.9238795,0.3826835,0.25,1,0,0,0,255,0.9375,0.75,-0.84518516,0.22646657,0.21650635,1,0,0,0,255,0.9583333,0.8333333,-0.7567968,0.20278297,0.125,1,0,0,0,255,0.9583333,0.9166667,-0.6929096,0.2870126,0.00000000000000003061617,1,0,0,0,255,0.9375,1,-0.7244444,0.1941142,0.00000000000000003061617,1,0,0,0,255,0.9583333,0.0000000000000002220446,-0.6929096,0.2870126,0.00000000000000003061617,1,0,0,0,255,0.9375,0.0000000000000002220446,-0.7567968,0.20278297,-0.125,1,0,0,0,255,0.9583333,0.083333336,-0.84518516,0.22646657,-0.21650635,1,0,0,0,255,0.9583333,0.16666667,-1.0866666,0.29117128,-0.21650635,1,0,0,0,255,0.9583333,0.33333334,-1.0393645,0.43051893,-0.21650635,1,0,0,0,255,0.9375,0.33333334,-1.175055,0.31485486,-0.125,1,0,0,0,255,0.9583333,0.41666666,-1.239306,0.1631579,0,1,0,0,0,255,0.9791667,0.5,-1.2074074,0.32352364,0,1,0,0,0,255,0.9583333,0.5,-1.2060989,0.1587861,0.125,1,0,0,0,255,0.9791667,0.5833333,-1.1153754,0.1468421,0.21650635,1,0,0,0,255,0.9791667,0.6666667,-0.9659259,0.25881892,0.25,1,0,0,0,255,0.9583333,0.75,-0.9914448,0.13052632,0.25,1,0,0,0,255,0.9791667,0.75,-0.86751425,0.11421053,0.21650635,1,0,0,0,255,0.9791667,0.8333333,-0.77679074,0.10226654,0.125,1,0,0,0,255,0.9791667,0.9166667,-0.7244444,0.1941142,0.00000000000000003061617,1,0,0,0,255,0.9583333,1,-0.7435836,0.09789474,0.00000000000000003061617,1,0,0,0,255,0.9791667,0.0000000000000002220446,-0.86751425,0.11421053,-0.21650635,1,0,0,0,255,0.9791667,0.16666667,-0.9914448,0.13052632,-0.25,1,0,0,0,255,0.9791667,0.25,-0.9659259,0.25881892,-0.25,1,0,0,0,255,0.9583333,0.25,-1.1153754,0.1468421,-0.21650635,1,0,0,0,255,0.9791667,0.33333334,-1.2060989,0.1587861,-0.125,1,0,0,0,255,0.9791667,0.41666666,-1.2165064,0.00000010635036,0.125,1,0,0,0,255,1,0.5833333,-1.125,0.000000098350625,0.21650635,1,0,0,0,255,1,0.6666667,-1,0.00000008742278,0.25,1,0,0,0,255,1,0.75,-0.875,0.00000007649493,0.21650635,1,0,0,0,255,1,0.8333333,-0.78349364,0.00000006849519,0.125,1,0,0,0,255,1,0.9166667,-0.7435836,0.09789474,0.00000000000000003061617,1,0,0,0,255,0.9791667,1,-0.75,0.00000006556708,0.00000000000000003061617,1,0,0,0,255,1,0.0000000000000002220446,-0.77679074,0.10226654,-0.125,1,0,0,0,255,0.9791667,0.083333336,-0.875,0.00000007649493,-0.21650635,1,0,0,0,255,1,0.16666667,-1,0.00000008742278,-0.25,1,0,0,0,255,1,0.25,-1.125,0.000000098350625,-0.21650635,1,0,0,0,255,1,0.33333334,-1.2165064,0.00000010635036,-0.125,1,0,0,0,255,1,0.41666666,-1.239306,-0.1631579,0,1,0,0,0,255,0.020833334,0.5,-1.2165064,0.00000010635036,0.125,1,0,0,0,255,0.0000000000000008881784,0.5833333,-1.25,0.000000109278474,0,1,0,0,0,255,0.0000000000000008881784,0.5,-1.2060989,-0.1587861,0.125,1,0,0,0,255,0.020833334,0.5833333,-1.125,0.000000098350625,0.21650635,1,0,0,0,255,0.0000000000000008881784,0.6666667,-1.1153754,-0.1468421,0.21650635,1,0,0,0,255,0.020833334,0.6666667,-1,0.00000008742278,0.25,1,0,0,0,255,0.0000000000000008881784,0.75,-0.9914448,-0.13052632,0.25,1,0,0,0,255,0.020833334,0.75,-0.875,0.00000007649493,0.21650635,1,0,0,0,255,0.0000000000000008881784,0.8333333,-0.86751425,-0.11421053,0.21650635,1,0,0,0,255,0.020833334,0.8333333,-0.78349364,0.00000006849519,0.125,1,0,0,0,255,0.0000000000000008881784,0.9166667,-0.77679074,-0.10226654,0.125,1,0,0,0,255,0.020833334,0.9166667,-0.75,0.00000006556708,0.00000000000000003061617,1,0,0,0,255,0.0000000000000008881784,1,-0.75,0.00000006556708,0.00000000000000003061617,1,0,0,0,255,0.0000000000000008881784,0.0000000000000002220446,-0.77679074,-0.10226654,-0.125,1,0,0,0,255,0.020833334,0.083333336,-0.78349364,0.00000006849519,-0.125,1,0,0,0,255,0.0000000000000008881784,0.083333336,-0.875,0.00000007649493,-0.21650635,1,0,0,0,255,0.0000000000000008881784,0.16666667,-0.9914448,-0.13052632,-0.25,1,0,0,0,255,0.020833334,0.25,-1,0.00000008742278,-0.25,1,0,0,0,255,0.0000000000000008881784,0.25,-1.1153754,-0.1468421,-0.21650635,1,0,0,0,255,0.020833334,0.33333334,-1.125,0.000000098350625,-0.21650635,1,0,0,0,255,0.0000000000000008881784,0.33333334,-1.2060989,-0.1587861,-0.125,1,0,0,0,255,0.020833334,0.41666666,-1.2165064,0.00000010635036,-0.125,1,0,0,0,255,0.0000000000000008881784,0.41666666,-1.175055,-0.31485486,0.125,1,0,0,0,255,0.041666668,0.5833333,-1.0866666,-0.29117128,0.21650635,1,0,0,0,255,0.041666668,0.6666667,-0.9659259,-0.25881892,0.25,1,0,0,0,255,0.041666668,0.75,-0.84518516,-0.22646657,0.21650635,1,0,0,0,255,0.041666668,0.8333333,-0.7567968,-0.20278297,0.125,1,0,0,0,255,0.041666668,0.9166667,-0.7435836,-0.09789474,0.00000000000000003061617,1,0,0,0,255,0.020833334,1,-0.7244444,-0.1941142,0.00000000000000003061617,1,0,0,0,255,0.041666668,0.0000000000000002220446,-0.7435836,-0.09789474,0.00000000000000003061617,1,0,0,0,255,0.020833334,0.0000000000000002220446,-0.7567968,-0.20278297,-0.125,1,0,0,0,255,0.041666668,0.083333336,-0.86751425,-0.11421053,-0.21650635,1,0,0,0,255,0.020833334,0.16666667,-0.84518516,-0.22646657,-0.21650635,1,0,0,0,255,0.041666668,0.16666667,-0.9659259,-0.25881892,-0.25,1,0,0,0,255,0.041666668,0.25,-1.0866666,-0.29117128,-0.21650635,1,0,0,0,255,0.041666668,0.33333334,-1.2074074,-0.32352364,0,1,0,0,0,255,0.041666668,0.5,-1.1548496,-0.47835383,0,1,0,0,0,255,0.0625,0.5,-1.1239055,-0.4655364,0.125,1,0,0,0,255,0.0625,0.5833333,-0.9238797,-0.38268307,0.25,1,0,0,0,255,0.0625,0.75,-0.80839473,-0.3348477,0.21650635,1,0,0,0,255,0.0625,0.8333333,-0.7238538,-0.29982975,0.125,1,0,0,0,255,0.0625,0.9166667,-0.7244444,-0.1941142,0.00000000000000003061617,1,0,0,0,255,0.041666668,1,-0.6929098,-0.2870123,0.00000000000000003061617,1,0,0,0,255,0.0625,0.0000000000000002220446,-0.80839473,-0.3348477,-0.21650635,1,0,0,0,255,0.0625,0.16666667,-0.9238797,-0.38268307,-0.25,1,0,0,0,255,0.0625,0.25,-1.1239055,-0.4655364,-0.125,1,0,0,0,255,0.0625,0.41666666,-1.175055,-0.31485486,-0.125,1,0,0,0,255,0.041666668,0.41666666,-1.0825319,-0.62499976,0,1,0,0,0,255,0.083333336,0.5,-1.0535256,-0.60825294,0.125,1,0,0,0,255,0.083333336,0.5833333,-1.0393647,-0.43051845,0.21650635,1,0,0,0,255,0.0625,0.6666667,-0.9742787,-0.5624998,0.21650635,1,0,0,0,255,0.083333336,0.6666667,-0.8660255,-0.49999982,0.25,1,0,0,0,255,0.083333336,0.75,-0.7577723,-0.43749985,0.21650635,1,0,0,0,255,0.083333336,0.8333333,-0.64951915,-0.37499988,0.00000000000000003061617,1,0,0,0,255,0.083333336,1,-0.6929098,-0.2870123,0.00000000000000003061617,1,0,0,0,255,0.0625,1,-0.64951915,-0.37499988,0.00000000000000003061617,1,0,0,0,255,0.083333336,0.0000000000000002220446,-0.7238538,-0.29982975,-0.125,1,0,0,0,255,0.0625,0.083333336,-0.67852545,-0.39174667,-0.125,1,0,0,0,255,0.083333336,0.083333336,-0.7577723,-0.43749985,-0.21650635,1,0,0,0,255,0.083333336,0.16666667,-0.9742787,-0.5624998,-0.21650635,1,0,0,0,255,0.083333336,0.33333334,-1.0393647,-0.43051845,-0.21650635,1,0,0,0,255,0.0625,0.33333334,-1.0535256,-0.60825294,-0.125,1,0,0,0,255,0.083333336,0.41666666,-0.99169165,-0.76095176,0,1,0,0,0,255,0.104166664,0.5,-0.96511936,-0.74056214,0.125,1,0,0,0,255,0.104166664,0.5833333,-0.89252245,-0.6848566,0.21650635,1,0,0,0,255,0.104166664,0.6666667,-0.6941842,-0.53266627,0.21650635,1,0,0,0,255,0.104166664,0.8333333,-0.67852545,-0.39174667,0.125,1,0,0,0,255,0.083333336,0.9166667,-0.6215873,-0.47696072,0.125,1,0,0,0,255,0.104166664,0.9166667,-0.595015,-0.45657107,0.00000000000000003061617,1,0,0,0,255,0.104166664,0.0000000000000002220446,-0.6941842,-0.53266627,-0.21650635,1,0,0,0,255,0.104166664,0.16666667,-0.8660255,-0.49999982,-0.25,1,0,0,0,255,0.083333336,0.25,-0.7933533,-0.6087614,-0.25,1,0,0,0,255,0.104166664,0.25,-0.96511936,-0.74056214,-0.125,1,0,0,0,255,0.104166664,0.41666666,-0.8838837,-0.88388324,0,1,0,0,0,255,0.125,0.5,-0.79549533,-0.7954949,0.21650635,1,0,0,0,255,0.125,0.6666667,-0.7933533,-0.6087614,0.25,1,0,0,0,255,0.104166664,0.75,-0.70710695,-0.7071066,0.25,1,0,0,0,255,0.125,0.75,-0.61871856,-0.61871827,0.21650635,1,0,0,0,255,0.125,0.8333333,-0.5540138,-0.5540135,0.125,1,0,0,0,255,0.125,0.9166667,-0.595015,-0.45657107,0.00000000000000003061617,1,0,0,0,255,0.104166664,1,-0.5303302,-0.53032994,0.00000000000000003061617,1,0,0,0,255,0.125,0.0000000000000002220446,-0.6215873,-0.47696072,-0.125,1,0,0,0,255,0.104166664,0.083333336,-0.5540138,-0.5540135,-0.125,1,0,0,0,255,0.125,0.083333336,-0.70710695,-0.7071066,-0.25,1,0,0,0,255,0.125,0.25,-0.89252245,-0.6848566,-0.21650635,1,0,0,0,255,0.104166664,0.33333334,-0.79549533,-0.7954949,-0.21650635,1,0,0,0,255,0.125,0.33333334,-0.8602001,-0.8601997,-0.125,1,0,0,0,255,0.125,0.41666666,-0.7405627,-0.965119,0.125,1,0,0,0,255,0.14583333,0.5833333,-0.8602001,-0.8601997,0.125,1,0,0,0,255,0.125,0.5833333,-0.6848571,-0.89252216,0.21650635,1,0,0,0,255,0.14583333,0.6666667,-0.5326666,-0.6941839,0.21650635,1,0,0,0,255,0.14583333,0.8333333,-0.47696105,-0.62158704,0.125,1,0,0,0,255,0.14583333,0.9166667,-0.5303302,-0.53032994,0.00000000000000003061617,1,0,0,0,255,0.125,1,-0.4565714,-0.59501475,0.00000000000000003061617,1,0,0,0,255,0.14583333,0.0000000000000002220446,-0.47696105,-0.62158704,-0.125,1,0,0,0,255,0.14583333,0.083333336,-0.61871856,-0.61871827,-0.21650635,1,0,0,0,255,0.125,0.16666667,-0.5326666,-0.6941839,-0.21650635,1,0,0,0,255,0.14583333,0.16666667,-0.60876185,-0.793353,-0.25,1,0,0,0,255,0.14583333,0.25,-0.6848571,-0.89252216,-0.21650635,1,0,0,0,255,0.14583333,0.33333334,-0.7405627,-0.965119,-0.125,1,0,0,0,255,0.14583333,0.41666666,-0.7609523,-0.9916913,0,1,0,0,0,255,0.14583333,0.5,-0.608253,-1.0535256,0.125,1,0,0,0,255,0.16666667,0.5833333,-0.5624998,-0.9742787,0.21650635,1,0,0,0,255,0.16666667,0.6666667,-0.60876185,-0.793353,0.25,1,0,0,0,255,0.14583333,0.75,-0.49999985,-0.8660255,0.25,1,0,0,0,255,0.16666667,0.75,-0.3917467,-0.67852545,0.125,1,0,0,0,255,0.16666667,0.9166667,-0.4565714,-0.59501475,0.00000000000000003061617,1,0,0,0,255,0.14583333,1,-0.37499988,-0.64951915,0.00000000000000003061617,1,0,0,0,255,0.16666667,0.0000000000000002220446,-0.3917467,-0.67852545,-0.125,1,0,0,0,255,0.16666667,0.083333336,-0.43749988,-0.7577723,-0.21650635,1,0,0,0,255,0.16666667,0.16666667,-0.5624998,-0.9742787,-0.21650635,1,0,0,0,255,0.16666667,0.33333334,-0.608253,-1.0535256,-0.125,1,0,0,0,255,0.16666667,0.41666666,-0.4783544,-1.1548494,0,1,0,0,0,255,0.1875,0.5,-0.6249998,-1.0825319,0,1,0,0,0,255,0.16666667,0.5,-0.46553692,-1.1239053,0.125,1,0,0,0,255,0.1875,0.5833333,-0.43051895,-1.0393645,0.21650635,1,0,0,0,255,0.1875,0.6666667,-0.38268352,-0.9238795,0.25,1,0,0,0,255,0.1875,0.75,-0.43749988,-0.7577723,0.21650635,1,0,0,0,255,0.16666667,0.8333333,-0.33484808,-0.80839455,0.21650635,1,0,0,0,255,0.1875,0.8333333,-0.2998301,-0.7238537,0.125,1,0,0,0,255,0.1875,0.9166667,-0.37499988,-0.64951915,0.00000000000000003061617,1,0,0,0,255,0.16666667,1,-0.28701264,-0.6929096,0.00000000000000003061617,1,0,0,0,255,0.1875,0.0000000000000002220446,-0.2998301,-0.7238537,-0.125,1,0,0,0,255,0.1875,0.083333336,-0.38268352,-0.9238795,-0.25,1,0,0,0,255,0.1875,0.25,-0.49999985,-0.8660255,-0.25,1,0,0,0,255,0.16666667,0.25,-0.46553692,-1.1239053,-0.125,1,0,0,0,255,0.1875,0.41666666,-0.3235242,-1.2074072,0,1,0,0,0,255,0.20833333,0.5,-0.31485543,-1.1750548,0.125,1,0,0,0,255,0.20833333,0.5833333,-0.2911718,-1.0866665,0.21650635,1,0,0,0,255,0.20833333,0.6666667,-0.25881937,-0.96592575,0.25,1,0,0,0,255,0.20833333,0.75,-0.20278333,-0.75679666,0.125,1,0,0,0,255,0.20833333,0.9166667,-0.28701264,-0.6929096,0.00000000000000003061617,1,0,0,0,255,0.1875,1,-0.19411454,-0.7244443,0.00000000000000003061617,1,0,0,0,255,0.20833333,0.0000000000000002220446,-0.20278333,-0.75679666,-0.125,1,0,0,0,255,0.20833333,0.083333336,-0.33484808,-0.80839455,-0.21650635,1,0,0,0,255,0.1875,0.16666667,-0.22646695,-0.84518504,-0.21650635,1,0,0,0,255,0.20833333,0.16666667,-0.25881937,-0.96592575,-0.25,1,0,0,0,255,0.20833333,0.25,-0.43051895,-1.0393645,-0.21650635,1,0,0,0,255,0.1875,0.33333334,-0.31485543,-1.1750548,-0.125,1,0,0,0,255,0.20833333,0.41666666,-0.16315849,-1.239306,0,1,0,0,0,255,0.22916667,0.5,-0.14684264,-1.1153754,0.21650635,1,0,0,0,255,0.22916667,0.6666667,-0.1305268,-0.99144477,0.25,1,0,0,0,255,0.22916667,0.75,-0.22646695,-0.84518504,0.21650635,1,0,0,0,255,0.20833333,0.8333333,-0.102266915,-0.7767907,0.125,1,0,0,0,255,0.22916667,0.9166667,-0.19411454,-0.7244443,0.00000000000000003061617,1,0,0,0,255,0.20833333,1,-0.0978951,-0.74358356,0.00000000000000003061617,1,0,0,0,255,0.22916667,0.0000000000000002220446,-0.102266915,-0.7767907,-0.125,1,0,0,0,255,0.22916667,0.083333336,-0.1305268,-0.99144477,-0.25,1,0,0,0,255,0.22916667,0.25,-0.2911718,-1.0866665,-0.21650635,1,0,0,0,255,0.20833333,0.33333334,-0.14684264,-1.1153754,-0.21650635,1,0,0,0,255,0.22916667,0.33333334,-0.15878668,-1.2060989,-0.125,1,0,0,0,255,0.22916667,0.41666666,0.000000094372375,-1.25,0,1,0,0,0,255,0.25,0.5,-0.15878668,-1.2060989,0.125,1,0,0,0,255,0.22916667,0.5833333,0.000000091843674,-1.2165064,0.125,1,0,0,0,255,0.25,0.5833333,0.0000000754979,-1,0.25,1,0,0,0,255,0.25,0.75,0.000000066060664,-0.875,0.21650635,1,0,0,0,255,0.25,0.8333333,-0.11421095,-0.8675142,0.21650635,1,0,0,0,255,0.22916667,0.8333333,0.000000056623428,-0.75,0.00000000000000003061617,1,0,0,0,255,0.25,1,-0.0978951,-0.74358356,0.00000000000000003061617,1,0,0,0,255,0.22916667,1,0.000000056623428,-0.75,0.00000000000000003061617,1,0,0,0,255,0.25,0.0000000000000002220446,0.000000059152125,-0.78349364,-0.125,1,0,0,0,255,0.25,0.083333336,-0.11421095,-0.8675142,-0.21650635,1,0,0,0,255,0.22916667,0.16666667,0.000000066060664,-0.875,-0.21650635,1,0,0,0,255,0.25,0.16666667,0.0000000754979,-1,-0.25,1,0,0,0,255,0.25,0.25,0.00000008493514,-1.125,-0.21650635,1,0,0,0,255,0.25,0.33333334,0.000000091843674,-1.2165064,-0.125,1,0,0,0,255,0.25,0.41666666,0.15878572,-1.206099,0.125,1,0,0,0,255,0.27083334,0.5833333,0.00000008493514,-1.125,0.21650635,1,0,0,0,255,0.25,0.6666667,0.14684176,-1.1153755,0.21650635,1,0,0,0,255,0.27083334,0.6666667,0.130526,-0.9914449,0.25,1,0,0,0,255,0.27083334,0.75,0.114210255,-0.86751425,0.21650635,1,0,0,0,255,0.27083334,0.8333333,0.000000059152125,-0.78349364,0.125,1,0,0,0,255,0.25,0.9166667,0.1022663,-0.77679074,0.125,1,0,0,0,255,0.27083334,0.9166667,0.097894505,-0.7435837,0.00000000000000003061617,1,0,0,0,255,0.27083334,0.0000000000000002220446,0.114210255,-0.86751425,-0.21650635,1,0,0,0,255,0.27083334,0.16666667,0.130526,-0.9914449,-0.25,1,0,0,0,255,0.27083334,0.25,0.14684176,-1.1153755,-0.21650635,1,0,0,0,255,0.27083334,0.33333334,0.15878572,-1.206099,-0.125,1,0,0,0,255,0.27083334,0.41666666,0.32352325,-1.2074075,0,1,0,0,0,255,0.29166666,0.5,0.16315751,-1.2393061,0,1,0,0,0,255,0.27083334,0.5,0.31485447,-1.175055,0.125,1,0,0,0,255,0.29166666,0.5833333,0.29117092,-1.0866667,0.21650635,1,0,0,0,255,0.29166666,0.6666667,0.2588186,-0.96592593,0.25,1,0,0,0,255,0.29166666,0.75,0.22646627,-0.84518516,0.21650635,1,0,0,0,255,0.29166666,0.8333333,0.19411394,-0.72444445,0.00000000000000003061617,1,0,0,0,255,0.29166666,1,0.097894505,-0.7435837,0.00000000000000003061617,1,0,0,0,255,0.27083334,1,0.19411394,-0.72444445,0.00000000000000003061617,1,0,0,0,255,0.29166666,0.0000000000000002220446,0.1022663,-0.77679074,-0.125,1,0,0,0,255,0.27083334,0.083333336,0.20278272,-0.75679684,-0.125,1,0,0,0,255,0.29166666,0.083333336,0.2588186,-0.96592593,-0.25,1,0,0,0,255,0.29166666,0.25,0.29117092,-1.0866667,-0.21650635,1,0,0,0,255,0.29166666,0.33333334,0.31485447,-1.175055,-0.125,1,0,0,0,255,0.29166666,0.41666666,0.47835457,-1.1548493,0,1,0,0,0,255,0.3125,0.5,0.4655371,-1.1239052,0.125,1,0,0,0,255,0.3125,0.5833333,0.43051913,-1.0393643,0.21650635,1,0,0,0,255,0.3125,0.6666667,0.38268366,-0.92387944,0.25,1,0,0,0,255,0.3125,0.75,0.3348482,-0.8083945,0.21650635,1,0,0,0,255,0.3125,0.8333333,0.20278272,-0.75679684,0.125,1,0,0,0,255,0.29166666,0.9166667,0.29983023,-0.72385365,0.125,1,0,0,0,255,0.3125,0.9166667,0.28701276,-0.6929096,0.00000000000000003061617,1,0,0,0,255,0.3125,0.0000000000000002220446,0.29983023,-0.72385365,-0.125,1,0,0,0,255,0.3125,0.083333336,0.22646627,-0.84518516,-0.21650635,1,0,0,0,255,0.29166666,0.16666667,0.3348482,-0.8083945,-0.21650635,1,0,0,0,255,0.3125,0.16666667,0.43051913,-1.0393643,-0.21650635,1,0,0,0,255,0.3125,0.33333334,0.4655371,-1.1239052,-0.125,1,0,0,0,255,0.3125,0.41666666,0.62499994,-1.0825318,0,1,0,0,0,255,0.33333334,0.5,0.6082531,-1.0535254,0.125,1,0,0,0,255,0.33333334,0.5833333,0.49999997,-0.86602545,0.25,1,0,0,0,255,0.33333334,0.75,0.43749997,-0.75777227,0.21650635,1,0,0,0,255,0.33333334,0.8333333,0.3917468,-0.67852545,0.125,1,0,0,0,255,0.33333334,0.9166667,0.28701276,-0.6929096,0.00000000000000003061617,1,0,0,0,255,0.3125,1,0.37499997,-0.6495191,0.00000000000000003061617,1,0,0,0,255,0.33333334,0.0000000000000002220446,0.3917468,-0.67852545,-0.125,1,0,0,0,255,0.33333334,0.083333336,0.43749997,-0.75777227,-0.21650635,1,0,0,0,255,0.33333334,0.16666667,0.38268366,-0.92387944,-0.25,1,0,0,0,255,0.3125,0.25,0.49999997,-0.86602545,-0.25,1,0,0,0,255,0.33333334,0.25,0.56249994,-0.9742786,-0.21650635,1,0,0,0,255,0.33333334,0.33333334,0.74056184,-0.9651196,0.125,1,0,0,0,255,0.35416666,0.5833333,0.56249994,-0.9742786,0.21650635,1,0,0,0,255,0.33333334,0.6666667,0.68485636,-0.8925227,0.21650635,1,0,0,0,255,0.35416666,0.6666667,0.6087612,-0.7933535,0.25,1,0,0,0,255,0.35416666,0.75,0.532666,-0.6941843,0.21650635,1,0,0,0,255,0.35416666,0.8333333,0.4769605,-0.6215874,0.125,1,0,0,0,255,0.35416666,0.9166667,0.37499997,-0.6495191,0.00000000000000003061617,1,0,0,0,255,0.33333334,1,0.4565709,-0.5950151,0.00000000000000003061617,1,0,0,0,255,0.35416666,0.0000000000000002220446,0.4769605,-0.6215874,-0.125,1,0,0,0,255,0.35416666,0.083333336,0.532666,-0.6941843,-0.21650635,1,0,0,0,255,0.35416666,0.16666667,0.6087612,-0.7933535,-0.25,1,0,0,0,255,0.35416666,0.25,0.74056184,-0.9651196,-0.125,1,0,0,0,255,0.35416666,0.41666666,0.6082531,-1.0535254,-0.125,1,0,0,0,255,0.33333334,0.41666666,0.7609515,-0.9916919,0,1,0,0,0,255,0.35416666,0.5,0.86019945,-0.8602004,0.125,1,0,0,0,255,0.375,0.5833333,0.7071064,-0.7071072,0.25,1,0,0,0,255,0.375,0.75,0.6187181,-0.6187188,0.21650635,1,0,0,0,255,0.375,0.8333333,0.5540134,-0.55401397,0.125,1,0,0,0,255,0.375,0.9166667,0.4565709,-0.5950151,0.00000000000000003061617,1,0,0,0,255,0.35416666,1,0.5303298,-0.5303304,0.00000000000000003061617,1,0,0,0,255,0.375,0.0000000000000002220446,0.5540134,-0.55401397,-0.125,1,0,0,0,255,0.375,0.083333336,0.6187181,-0.6187188,-0.21650635,1,0,0,0,255,0.375,0.16666667,0.7071064,-0.7071072,-0.25,1,0,0,0,255,0.375,0.25,0.68485636,-0.8925227,-0.21650635,1,0,0,0,255,0.35416666,0.33333334,0.86019945,-0.8602004,-0.125,1,0,0,0,255,0.375,0.41666666,0.883883,-0.88388395,0,1,0,0,0,255,0.375,0.5,0.9651195,-0.740562,0.125,1,0,0,0,255,0.39583334,0.5833333,0.79549474,-0.79549557,0.21650635,1,0,0,0,255,0.375,0.6666667,0.79335344,-0.6087613,0.25,1,0,0,0,255,0.39583334,0.75,0.69418424,-0.53266615,0.21650635,1,0,0,0,255,0.39583334,0.8333333,0.6215874,-0.4769606,0.125,1,0,0,0,255,0.39583334,0.9166667,0.5303298,-0.5303304,0.00000000000000003061617,1,0,0,0,255,0.375,1,0.59501505,-0.45657098,0.00000000000000003061617,1,0,0,0,255,0.39583334,0.0000000000000002220446,0.69418424,-0.53266615,-0.21650635,1,0,0,0,255,0.39583334,0.16666667,0.79335344,-0.6087613,-0.25,1,0,0,0,255,0.39583334,0.25,0.79549474,-0.79549557,-0.21650635,1,0,0,0,255,0.375,0.33333334,0.89252263,-0.6848565,-0.21650635,1,0,0,0,255,0.39583334,0.33333334,0.9651195,-0.740562,-0.125,1,0,0,0,255,0.39583334,0.41666666,1.0825317,-0.6250001,0,1,0,0,0,255,0.41666666,0.5,0.9916918,-0.76095164,0,1,0,0,0,255,0.39583334,0.5,1.0535253,-0.6082533,0.125,1,0,0,0,255,0.41666666,0.5833333,0.89252263,-0.6848565,0.21650635,1,0,0,0,255,0.39583334,0.6666667,0.9742785,-0.5625001,0.21650635,1,0,0,0,255,0.41666666,0.6666667,0.8660253,-0.5000001,0.25,1,0,0,0,255,0.41666666,0.75,0.75777215,-0.43750012,0.21650635,1,0,0,0,255,0.41666666,0.8333333,0.6785253,-0.3917469,0.125,1,0,0,0,255,0.41666666,0.9166667,0.59501505,-0.45657098,0.00000000000000003061617,1,0,0,0,255,0.39583334,1,0.64951897,-0.3750001,0.00000000000000003061617,1,0,0,0,255,0.41666666,0.0000000000000002220446,0.6215874,-0.4769606,-0.125,1,0,0,0,255,0.39583334,0.083333336,0.75777215,-0.43750012,-0.21650635,1,0,0,0,255,0.41666666,0.16666667,0.8660253,-0.5000001,-0.25,1,0,0,0,255,0.41666666,0.25,1.0535253,-0.6082533,-0.125,1,0,0,0,255,0.41666666,0.41666666,1.1548493,-0.47835475,0,1,0,0,0,255,0.4375,0.5,1.1239052,-0.46553728,0.125,1,0,0,0,255,0.4375,0.5833333,0.9238794,-0.3826838,0.25,1,0,0,0,255,0.4375,0.75,0.80839443,-0.33484834,0.21650635,1,0,0,0,255,0.4375,0.8333333,0.72385365,-0.29983035,0.125,1,0,0,0,255,0.4375,0.9166667,0.64951897,-0.3750001,0.00000000000000003061617,1,0,0,0,255,0.41666666,1,0.69290954,-0.28701288,0.00000000000000003061617,1,0,0,0,255,0.4375,0.0000000000000002220446,0.6785253,-0.3917469,-0.125,1,0,0,0,255,0.41666666,0.083333336,0.72385365,-0.29983035,-0.125,1,0,0,0,255,0.4375,0.083333336,0.80839443,-0.33484834,-0.21650635,1,0,0,0,255,0.4375,0.16666667,0.9238794,-0.3826838,-0.25,1,0,0,0,255,0.4375,0.25,0.9742785,-0.5625001,-0.21650635,1,0,0,0,255,0.41666666,0.33333334,1.0393643,-0.43051928,-0.21650635,1,0,0,0,255,0.4375,0.33333334,1.1239052,-0.46553728,-0.125,1,0,0,0,255,0.4375,0.41666666,1.2074074,-0.32352346,0,1,0,0,0,255,0.45833334,0.5,1.175055,-0.31485468,0.125,1,0,0,0,255,0.45833334,0.5833333,1.0393643,-0.43051928,0.21650635,1,0,0,0,255,0.4375,0.6666667,1.0866666,-0.29117113,0.21650635,1,0,0,0,255,0.45833334,0.6666667,0.9659259,-0.25881878,0.25,1,0,0,0,255,0.45833334,0.75,0.84518516,-0.22646643,0.21650635,1,0,0,0,255,0.45833334,0.8333333,0.7567968,-0.20278287,0.125,1,0,0,0,255,0.45833334,0.9166667,0.69290954,-0.28701288,0.00000000000000003061617,1,0,0,0,255,0.4375,1,0.7244444,-0.19411409,0.00000000000000003061617,1,0,0,0,255,0.45833334,0.0000000000000002220446,0.84518516,-0.22646643,-0.21650635,1,0,0,0,255,0.45833334,0.16666667,0.9659259,-0.25881878,-0.25,1,0,0,0,255,0.45833334,0.25,1.0866666,-0.29117113,-0.21650635,1,0,0,0,255,0.45833334,0.33333334,1.175055,-0.31485468,-0.125,1,0,0,0,255,0.45833334,0.41666666,1.206099,-0.15878591,0.125,1,0,0,0,255,0.47916666,0.5833333,1.1153755,-0.14684194,0.21650635,1,0,0,0,255,0.47916666,0.6666667,0.9914449,-0.13052617,0.25,1,0,0,0,255,0.47916666,0.75,0.86751425,-0.1142104,0.21650635,1,0,0,0,255,0.47916666,0.8333333,0.7435837,-0.097894624,0.00000000000000003061617,1,0,0,0,255,0.47916666,1,0.7244444,-0.19411409,0.00000000000000003061617,1,0,0,0,255,0.45833334,1,0.7435837,-0.097894624,0.00000000000000003061617,1,0,0,0,255,0.47916666,0.0000000000000002220446,0.7567968,-0.20278287,-0.125,1,0,0,0,255,0.45833334,0.083333336,0.77679074,-0.10226642,-0.125,1,0,0,0,255,0.47916666,0.083333336,0.9914449,-0.13052617,-0.25,1,0,0,0,255,0.47916666,0.25,1.1153755,-0.14684194,-0.21650635,1,0,0,0,255,0.47916666,0.33333334,1.206099,-0.15878591,-0.125,1,0,0,0,255,0.47916666,0.41666666,1.2393061,-0.16315772,0,1,0,0,0,255,0.47916666,0.5,0.77679074,-0.10226642,0.125,1,0,0,0,255,0.47916666,0.9166667,0.86751425,-0.1142104,-0.21650635,1,0,0,0,255,0.47916666,0.16666667,-1.25,0.000000109278474,0,1,0,0,0,255,1,0.5,-0.75,0.00000006556708,0.00000000000000003061617,1,0,0,0,255,1,1,-0.78349364,0.00000006849519,-0.125,1,0,0,0,255,1,0.083333336]),H=new k({mesh:L,positionSize:16,colorSize:16,uvSize:8});class q extends I{j;x;depthTexture;uniformBuffer;texture;sampler;uniformBindGroup;renderPassDescriptor;constructor(j,x){super(j);this.app=j;this.mesh=x}onStart(){console.log("hello from meshrenderer!"),console.log(`i've got a ${this.mesh.constructor.name}`)}onUpdate(j){}}var J=new _({fov:20}),O=new q(J,H);J.start(); diff --git a/html/chunk-0cd54990cab7d3a5.js b/html/chunk-0cd54990cab7d3a5.js deleted file mode 100644 index 1e0da9f..0000000 --- a/html/chunk-0cd54990cab7d3a5.js +++ /dev/null @@ -1,5 +0,0 @@ -class j{p;el;frameTimes=[];maxFrameTimes=100;lastFrameTime=0;constructor(p,x="#telemetry"){this.app=p;if(this.el=document.querySelector(x),this.el&&location.search.includes("telemetry"))this.el.style.display="block",this.app.onAfterUpdate((s)=>this.onAfterUpdate(s)),this.app.onStart(()=>this.onStart())}insertTime(p){if(this.frameTimes.push(p),this.frameTimes.length>this.maxFrameTimes)this.frameTimes.shift()}onStart(){this.lastFrameTime=0,this.frameTimes=[]}onAfterUpdate(p){const x=p-this.lastFrameTime;this.insertTime(x);const s=this.frameTimes.reduce((d,h)=>d+h,0)/this.frameTimes.length,$=1000/s;this.el.innerHTML=` - ${$.toFixed(1)} FPS (${s.toFixed(3)} ms)
- bU: ${this.app.registry.onBeforeUpdate.length} | U: ${this.app.registry.onUpdate.length} | aU: ${this.app.registry.onAfterUpdate.length} - `,this.lastFrameTime=p}} -export{j as a}; diff --git a/html/chunk-c8239659df5e5cce.js b/html/chunk-c8239659df5e5cce.js new file mode 100644 index 0000000..e5e32c8 --- /dev/null +++ b/html/chunk-c8239659df5e5cce.js @@ -0,0 +1,5 @@ +class n{U;constructor(U){this.app=U;this.onBeforeUpdate&&U.onBeforeUpdate(this.onBeforeUpdate.bind(this)),this.onUpdate&&U.onUpdate(this.onUpdate.bind(this)),this.onAfterUpdate&&U.onAfterUpdate(this.onAfterUpdate.bind(this)),this.onStart&&U.onStart(this.onStart.bind(this))}onStart(U){}onBeforeUpdate(U){}onUpdate(U){}onAfterUpdate(U){}}class k extends n{U;el;frameTimes=[];maxFrameTimes=100;lastFrameTime=0;constructor(U,h="#telemetry"){super(U);this.app=U;if(this.el=document.querySelector(h),this.el&&location.search.includes("telemetry"))this.el.style.display="block"}insertTime(U){if(this.frameTimes.push(U),this.frameTimes.length>this.maxFrameTimes)this.frameTimes.shift()}onStart(){this.lastFrameTime=0,this.frameTimes=[],setInterval(()=>{const U=this.frameTimes.reduce((L,j)=>L+j,0)/this.frameTimes.length,h=1000/U;this.el.innerHTML=` + ${h.toFixed(1)} FPS (${U.toFixed(3)} ms)
+ bU: ${this.app.registry.onBeforeUpdate.length} | U: ${this.app.registry.onUpdate.length} | aU: ${this.app.registry.onAfterUpdate.length} + `},1000)}onAfterUpdate(U){const h=U-this.lastFrameTime;this.insertTime(h),this.lastFrameTime=U}} +export{n as a,k as b}; diff --git a/src/002-webgpu-instead/main.ts b/src/002-webgpu-instead/main.ts index 02d2b65..14ec6f5 100644 --- a/src/002-webgpu-instead/main.ts +++ b/src/002-webgpu-instead/main.ts @@ -1,9 +1,14 @@ import { WebGPUApp } from "../renderer/webgpu"; +import Torus from "../meshes/torus"; +import { MeshRenderer } from "../renderer/mesh-renderer"; const app = new WebGPUApp({ fov: 20 }); -app.start(); // TODO: -// - plane +// - torus! // - white shader // - real shader with UVs and uniforms + +const torusRenderer = new MeshRenderer(app, Torus); + +app.start(); diff --git a/src/002-webgpu-instead/rainbow-plane.wgsl b/src/002-webgpu-instead/rainbow-plane.wgsl index 991cbd9..eee7a85 100644 --- a/src/002-webgpu-instead/rainbow-plane.wgsl +++ b/src/002-webgpu-instead/rainbow-plane.wgsl @@ -11,7 +11,7 @@ struct v2f { } @vertex -fn vertex_main( +fn main( @builtin(position) position : vec4f, @location(0) uv : vec2f, ) -> v2f { @@ -19,7 +19,7 @@ fn vertex_main( } @fragment -fn fragment_main( +fn main( @location(0) uv : vec2f, ) -> @location(0) vec4f { f32 zComponent = sin(uniforms.time) * 0.001 * 0.5 + 0.5; diff --git a/src/meshes/torus.ply b/src/meshes/torus.ply new file mode 100644 index 0000000..0b7b153 --- /dev/null +++ b/src/meshes/torus.ply @@ -0,0 +1,1805 @@ +ply +format ascii 1.0 +comment Created in Blender version 3.6.4 +element vertex 637 +property float x +property float y +property float z +property uchar red +property uchar green +property uchar blue +property uchar alpha +property float s +property float t +element face 1152 +property list uchar uint vertex_indices +end_header +1.2393061 0.16315772 0 0 0 0 255 0.5208333 0.5 +1.2165064 0 0.125 0 0 0 255 0.5 0.5833333 +1.25 0 0 0 0 0 255 0.5 0.5 +1.1153755 0.14684194 0.21650635 0 0 0 255 0.5208333 0.6666667 +1.125 0 0.21650635 0 0 0 255 0.5 0.6666667 +1 0 0.25 0 0 0 255 0.5 0.75 +0.9914449 0.13052617 0.25 0 0 0 255 0.5208333 0.75 +0.875 0 0.21650635 0 0 0 255 0.5 0.8333333 +0.86751425 0.1142104 0.21650635 0 0 0 255 0.5208333 0.8333333 +0.78349364 0 0.125 0 0 0 255 0.5 0.9166667 +0.7435837 0.097894624 3.061617e-17 0 0 0 255 0.5208333 1 +0.75 0 3.061617e-17 0 0 0 255 0.5 1 +0.7435837 0.097894624 3.061617e-17 0 0 0 255 0.5208333 2.220446e-16 +0.78349364 0 -0.125 0 0 0 255 0.5 0.083333336 +0.75 0 3.061617e-17 0 0 0 255 0.5 2.220446e-16 +0.77679074 0.10226642 -0.125 0 0 0 255 0.5208333 0.083333336 +0.875 0 -0.21650635 0 0 0 255 0.5 0.16666667 +0.86751425 0.1142104 -0.21650635 0 0 0 255 0.5208333 0.16666667 +1 0 -0.25 0 0 0 255 0.5 0.25 +0.9914449 0.13052617 -0.25 0 0 0 255 0.5208333 0.25 +1.125 0 -0.21650635 0 0 0 255 0.5 0.33333334 +1.1153755 0.14684194 -0.21650635 0 0 0 255 0.5208333 0.33333334 +1.2165064 0 -0.125 0 0 0 255 0.5 0.41666666 +1.206099 0.15878591 -0.125 0 0 0 255 0.5208333 0.41666666 +1.2074072 0.32352373 0 0 0 0 255 0.5416667 0.5 +1.206099 0.15878591 0.125 0 0 0 255 0.5208333 0.5833333 +1.1750549 0.31485495 0.125 0 0 0 255 0.5416667 0.5833333 +1.0866666 0.29117137 0.21650635 0 0 0 255 0.5416667 0.6666667 +0.9659258 0.25881898 0.25 0 0 0 255 0.5416667 0.75 +0.7567967 0.20278303 0.125 0 0 0 255 0.5416667 0.9166667 +0.77679074 0.10226642 0.125 0 0 0 255 0.5208333 0.9166667 +0.7244444 0.19411424 3.061617e-17 0 0 0 255 0.5416667 2.220446e-16 +0.7567967 0.20278303 -0.125 0 0 0 255 0.5416667 0.083333336 +0.9659258 0.25881898 -0.25 0 0 0 255 0.5416667 0.25 +1.0866666 0.29117137 -0.21650635 0 0 0 255 0.5416667 0.33333334 +1.1750549 0.31485495 -0.125 0 0 0 255 0.5416667 0.41666666 +1.1239054 0.46553674 0.125 0 0 0 255 0.5625 0.5833333 +1.0393645 0.43051878 0.21650635 0 0 0 255 0.5625 0.6666667 +0.8083946 0.33484796 0.21650635 0 0 0 255 0.5625 0.8333333 +0.8451851 0.22646661 0.21650635 0 0 0 255 0.5416667 0.8333333 +0.72385377 0.29983 0.125 0 0 0 255 0.5625 0.9166667 +0.69290966 0.28701252 3.061617e-17 0 0 0 255 0.5625 1 +0.7244444 0.19411424 3.061617e-17 0 0 0 255 0.5416667 1 +0.69290966 0.28701252 3.061617e-17 0 0 0 255 0.5625 2.220446e-16 +0.72385377 0.29983 -0.125 0 0 0 255 0.5625 0.083333336 +0.8451851 0.22646661 -0.21650635 0 0 0 255 0.5416667 0.16666667 +0.92387956 0.38268337 -0.25 0 0 0 255 0.5625 0.25 +1.0393645 0.43051878 -0.21650635 0 0 0 255 0.5625 0.33333334 +1.1239054 0.46553674 -0.125 0 0 0 255 0.5625 0.41666666 +1.1548494 0.47835422 0 0 0 0 255 0.5625 0.5 +1.0535253 0.6082533 0.125 0 0 0 255 0.5833333 0.5833333 +0.9742785 0.5625001 0.21650635 0 0 0 255 0.5833333 0.6666667 +0.8660253 0.5000001 0.25 0 0 0 255 0.5833333 0.75 +0.92387956 0.38268337 0.25 0 0 0 255 0.5625 0.75 +0.6785253 0.3917469 0.125 0 0 0 255 0.5833333 0.9166667 +0.64951897 0.3750001 3.061617e-17 0 0 0 255 0.5833333 2.220446e-16 +0.6785253 0.3917469 -0.125 0 0 0 255 0.5833333 0.083333336 +0.8083946 0.33484796 -0.21650635 0 0 0 255 0.5625 0.16666667 +0.8660253 0.5000001 -0.25 0 0 0 255 0.5833333 0.25 +0.9742785 0.5625001 -0.21650635 0 0 0 255 0.5833333 0.33333334 +1.0535253 0.6082533 -0.125 0 0 0 255 0.5833333 0.41666666 +0.9916918 0.76095164 0 0 0 0 255 0.6041667 0.5 +1.0825317 0.6250001 0 0 0 0 255 0.5833333 0.5 +0.89252263 0.6848565 0.21650635 0 0 0 255 0.6041667 0.6666667 +0.79335344 0.6087613 0.25 0 0 0 255 0.6041667 0.75 +0.75777215 0.43750012 0.21650635 0 0 0 255 0.5833333 0.8333333 +0.6215874 0.4769606 0.125 0 0 0 255 0.6041667 0.9166667 +0.64951897 0.3750001 3.061617e-17 0 0 0 255 0.5833333 1 +0.59501505 0.45657098 3.061617e-17 0 0 0 255 0.6041667 2.220446e-16 +0.6215874 0.4769606 -0.125 0 0 0 255 0.6041667 0.083333336 +0.75777215 0.43750012 -0.21650635 0 0 0 255 0.5833333 0.16666667 +0.69418424 0.53266615 -0.21650635 0 0 0 255 0.6041667 0.16666667 +0.79335344 0.6087613 -0.25 0 0 0 255 0.6041667 0.25 +0.89252263 0.6848565 -0.21650635 0 0 0 255 0.6041667 0.33333334 +0.88388336 0.88388354 0 0 0 0 255 0.625 0.5 +0.9651195 0.740562 0.125 0 0 0 255 0.6041667 0.5833333 +0.8601998 0.8601999 0.125 0 0 0 255 0.625 0.5833333 +0.79549503 0.79549515 0.21650635 0 0 0 255 0.625 0.6666667 +0.7071067 0.7071068 0.25 0 0 0 255 0.625 0.75 +0.69418424 0.53266615 0.21650635 0 0 0 255 0.6041667 0.8333333 +0.6187184 0.6187185 0.21650635 0 0 0 255 0.625 0.8333333 +0.5540136 0.5540137 0.125 0 0 0 255 0.625 0.9166667 +0.59501505 0.45657098 3.061617e-17 0 0 0 255 0.6041667 1 +0.5540136 0.5540137 -0.125 0 0 0 255 0.625 0.083333336 +0.6187184 0.6187185 -0.21650635 0 0 0 255 0.625 0.16666667 +0.7071067 0.7071068 -0.25 0 0 0 255 0.625 0.25 +0.8601998 0.8601999 -0.125 0 0 0 255 0.625 0.41666666 +0.9651195 0.740562 -0.125 0 0 0 255 0.6041667 0.41666666 +0.76095194 0.99169147 0 0 0 0 255 0.6458333 0.5 +0.6848568 0.89252234 0.21650635 0 0 0 255 0.6458333 0.6666667 +0.60876155 0.7933532 0.25 0 0 0 255 0.6458333 0.75 +0.4769608 0.62158716 0.125 0 0 0 255 0.6458333 0.9166667 +0.53033006 0.5303301 3.061617e-17 0 0 0 255 0.625 1 +0.45657116 0.5950149 3.061617e-17 0 0 0 255 0.6458333 2.220446e-16 +0.53033006 0.5303301 3.061617e-17 0 0 0 255 0.625 2.220446e-16 +0.4769608 0.62158716 -0.125 0 0 0 255 0.6458333 0.083333336 +0.60876155 0.7933532 -0.25 0 0 0 255 0.6458333 0.25 +0.6848568 0.89252234 -0.21650635 0 0 0 255 0.6458333 0.33333334 +0.79549503 0.79549515 -0.21650635 0 0 0 255 0.625 0.33333334 +0.7405623 0.96511924 -0.125 0 0 0 255 0.6458333 0.41666666 +0.62499994 1.0825318 0 0 0 0 255 0.6666667 0.5 +0.7405623 0.96511924 0.125 0 0 0 255 0.6458333 0.5833333 +0.56249994 0.9742786 0.21650635 0 0 0 255 0.6666667 0.6666667 +0.49999997 0.86602545 0.25 0 0 0 255 0.6666667 0.75 +0.5326663 0.69418406 0.21650635 0 0 0 255 0.6458333 0.8333333 +0.3917468 0.67852545 0.125 0 0 0 255 0.6666667 0.9166667 +0.45657116 0.5950149 3.061617e-17 0 0 0 255 0.6458333 1 +0.37499997 0.6495191 3.061617e-17 0 0 0 255 0.6666667 2.220446e-16 +0.3917468 0.67852545 -0.125 0 0 0 255 0.6666667 0.083333336 +0.5326663 0.69418406 -0.21650635 0 0 0 255 0.6458333 0.16666667 +0.43749997 0.75777227 -0.21650635 0 0 0 255 0.6666667 0.16666667 +0.49999997 0.86602545 -0.25 0 0 0 255 0.6666667 0.25 +0.56249994 0.9742786 -0.21650635 0 0 0 255 0.6666667 0.33333334 +0.6082531 1.0535254 -0.125 0 0 0 255 0.6666667 0.41666666 +0.4655371 1.1239052 0.125 0 0 0 255 0.6875 0.5833333 +0.6082531 1.0535254 0.125 0 0 0 255 0.6666667 0.5833333 +0.43051913 1.0393643 0.21650635 0 0 0 255 0.6875 0.6666667 +0.38268366 0.92387944 0.25 0 0 0 255 0.6875 0.75 +0.43749997 0.75777227 0.21650635 0 0 0 255 0.6666667 0.8333333 +0.3348482 0.8083945 0.21650635 0 0 0 255 0.6875 0.8333333 +0.29983023 0.72385365 0.125 0 0 0 255 0.6875 0.9166667 +0.37499997 0.6495191 3.061617e-17 0 0 0 255 0.6666667 1 +0.28701276 0.6929096 3.061617e-17 0 0 0 255 0.6875 2.220446e-16 +0.29983023 0.72385365 -0.125 0 0 0 255 0.6875 0.083333336 +0.38268366 0.92387944 -0.25 0 0 0 255 0.6875 0.25 +0.43051913 1.0393643 -0.21650635 0 0 0 255 0.6875 0.33333334 +0.4655371 1.1239052 -0.125 0 0 0 255 0.6875 0.41666666 +0.32352385 1.2074072 0 0 0 0 255 0.7083333 0.5 +0.47835457 1.1548493 0 0 0 0 255 0.6875 0.5 +0.31485504 1.1750549 0.125 0 0 0 255 0.7083333 0.5833333 +0.29117146 1.0866666 0.21650635 0 0 0 255 0.7083333 0.6666667 +0.25881907 0.9659258 0.25 0 0 0 255 0.7083333 0.75 +0.2027831 0.7567967 0.125 0 0 0 255 0.7083333 0.9166667 +0.28701276 0.6929096 3.061617e-17 0 0 0 255 0.6875 1 +0.1941143 0.7244444 3.061617e-17 0 0 0 255 0.7083333 2.220446e-16 +0.2027831 0.7567967 -0.125 0 0 0 255 0.7083333 0.083333336 +0.3348482 0.8083945 -0.21650635 0 0 0 255 0.6875 0.16666667 +0.22646669 0.8451851 -0.21650635 0 0 0 255 0.7083333 0.16666667 +0.25881907 0.9659258 -0.25 0 0 0 255 0.7083333 0.25 +0.29117146 1.0866666 -0.21650635 0 0 0 255 0.7083333 0.33333334 +0.31485504 1.1750549 -0.125 0 0 0 255 0.7083333 0.41666666 +0.16315751 1.2393061 0 0 0 0 255 0.7291667 0.5 +0.15878572 1.206099 0.125 0 0 0 255 0.7291667 0.5833333 +0.130526 0.9914449 0.25 0 0 0 255 0.7291667 0.75 +0.22646669 0.8451851 0.21650635 0 0 0 255 0.7083333 0.8333333 +0.114210255 0.86751425 0.21650635 0 0 0 255 0.7291667 0.8333333 +0.1022663 0.77679074 0.125 0 0 0 255 0.7291667 0.9166667 +0.1941143 0.7244444 3.061617e-17 0 0 0 255 0.7083333 1 +0.1022663 0.77679074 -0.125 0 0 0 255 0.7291667 0.083333336 +0.130526 0.9914449 -0.25 0 0 0 255 0.7291667 0.25 +0.14684176 1.1153755 -0.21650635 0 0 0 255 0.7291667 0.33333334 +0.15878572 1.206099 -0.125 0 0 0 255 0.7291667 0.41666666 +9.4372375e-08 1.25 0 0 0 0 255 0.75 0.5 +9.1843674e-08 1.2165064 0.125 0 0 0 255 0.75 0.5833333 +0.14684176 1.1153755 0.21650635 0 0 0 255 0.7291667 0.6666667 +8.493514e-08 1.125 0.21650635 0 0 0 255 0.75 0.6666667 +6.6060664e-08 0.875 0.21650635 0 0 0 255 0.75 0.8333333 +5.9152125e-08 0.78349364 0.125 0 0 0 255 0.75 0.9166667 +0.097894505 0.7435837 3.061617e-17 0 0 0 255 0.7291667 1 +5.6623428e-08 0.75 3.061617e-17 0 0 0 255 0.75 2.220446e-16 +0.097894505 0.7435837 3.061617e-17 0 0 0 255 0.7291667 2.220446e-16 +5.9152125e-08 0.78349364 -0.125 0 0 0 255 0.75 0.083333336 +0.114210255 0.86751425 -0.21650635 0 0 0 255 0.7291667 0.16666667 +6.6060664e-08 0.875 -0.21650635 0 0 0 255 0.75 0.16666667 +7.54979e-08 1 -0.25 0 0 0 255 0.75 0.25 +8.493514e-08 1.125 -0.21650635 0 0 0 255 0.75 0.33333334 +-0.16315791 1.239306 0 0 0 0 255 0.7708333 0.5 +-0.15878612 1.2060989 0.125 0 0 0 255 0.7708333 0.5833333 +-0.14684212 1.1153754 0.21650635 0 0 0 255 0.7708333 0.6666667 +7.54979e-08 1 0.25 0 0 0 255 0.75 0.75 +-0.13052633 0.9914448 0.25 0 0 0 255 0.7708333 0.75 +-0.114210546 0.86751425 0.21650635 0 0 0 255 0.7708333 0.8333333 +-0.10226655 0.77679074 0.125 0 0 0 255 0.7708333 0.9166667 +5.6623428e-08 0.75 3.061617e-17 0 0 0 255 0.75 1 +-0.10226655 0.77679074 -0.125 0 0 0 255 0.7708333 0.083333336 +-0.13052633 0.9914448 -0.25 0 0 0 255 0.7708333 0.25 +-0.14684212 1.1153754 -0.21650635 0 0 0 255 0.7708333 0.33333334 +-0.15878612 1.2060989 -0.125 0 0 0 255 0.7708333 0.41666666 +9.1843674e-08 1.2165064 -0.125 0 0 0 255 0.75 0.41666666 +-0.32352364 1.2074074 0 0 0 0 255 0.7916667 0.5 +-0.29117128 1.0866666 0.21650635 0 0 0 255 0.7916667 0.6666667 +-0.25881892 0.9659259 0.25 0 0 0 255 0.7916667 0.75 +-0.22646657 0.84518516 0.21650635 0 0 0 255 0.7916667 0.8333333 +-0.20278297 0.7567968 0.125 0 0 0 255 0.7916667 0.9166667 +-0.09789475 0.7435836 3.061617e-17 0 0 0 255 0.7708333 1 +-0.1941142 0.7244444 3.061617e-17 0 0 0 255 0.7916667 2.220446e-16 +-0.09789475 0.7435836 3.061617e-17 0 0 0 255 0.7708333 2.220446e-16 +-0.20278297 0.7567968 -0.125 0 0 0 255 0.7916667 0.083333336 +-0.114210546 0.86751425 -0.21650635 0 0 0 255 0.7708333 0.16666667 +-0.22646657 0.84518516 -0.21650635 0 0 0 255 0.7916667 0.16666667 +-0.25881892 0.9659259 -0.25 0 0 0 255 0.7916667 0.25 +-0.29117128 1.0866666 -0.21650635 0 0 0 255 0.7916667 0.33333334 +-0.31485486 1.175055 -0.125 0 0 0 255 0.7916667 0.41666666 +-0.4783544 1.1548494 0 0 0 0 255 0.8125 0.5 +-0.31485486 1.175055 0.125 0 0 0 255 0.7916667 0.5833333 +-0.46553692 1.1239053 0.125 0 0 0 255 0.8125 0.5833333 +-0.43051895 1.0393645 0.21650635 0 0 0 255 0.8125 0.6666667 +-0.33484808 0.80839455 0.21650635 0 0 0 255 0.8125 0.8333333 +-0.2998301 0.7238537 0.125 0 0 0 255 0.8125 0.9166667 +-0.1941142 0.7244444 3.061617e-17 0 0 0 255 0.7916667 1 +-0.28701264 0.6929096 3.061617e-17 0 0 0 255 0.8125 2.220446e-16 +-0.2998301 0.7238537 -0.125 0 0 0 255 0.8125 0.083333336 +-0.38268352 0.9238795 -0.25 0 0 0 255 0.8125 0.25 +-0.46553692 1.1239053 -0.125 0 0 0 255 0.8125 0.41666666 +-0.6249998 1.0825319 0 0 0 0 255 0.8333333 0.5 +-0.5624998 0.9742787 0.21650635 0 0 0 255 0.8333333 0.6666667 +-0.38268352 0.9238795 0.25 0 0 0 255 0.8125 0.75 +-0.49999985 0.8660255 0.25 0 0 0 255 0.8333333 0.75 +-0.43749988 0.7577723 0.21650635 0 0 0 255 0.8333333 0.8333333 +-0.3917467 0.67852545 0.125 0 0 0 255 0.8333333 0.9166667 +-0.28701264 0.6929096 3.061617e-17 0 0 0 255 0.8125 1 +-0.37499988 0.64951915 3.061617e-17 0 0 0 255 0.8333333 2.220446e-16 +-0.3917467 0.67852545 -0.125 0 0 0 255 0.8333333 0.083333336 +-0.33484808 0.80839455 -0.21650635 0 0 0 255 0.8125 0.16666667 +-0.43749988 0.7577723 -0.21650635 0 0 0 255 0.8333333 0.16666667 +-0.49999985 0.8660255 -0.25 0 0 0 255 0.8333333 0.25 +-0.43051895 1.0393645 -0.21650635 0 0 0 255 0.8125 0.33333334 +-0.5624998 0.9742787 -0.21650635 0 0 0 255 0.8333333 0.33333334 +-0.608253 1.0535256 -0.125 0 0 0 255 0.8333333 0.41666666 +-0.76095176 0.99169165 0 0 0 0 255 0.8541667 0.5 +-0.608253 1.0535256 0.125 0 0 0 255 0.8333333 0.5833333 +-0.74056214 0.96511936 0.125 0 0 0 255 0.8541667 0.5833333 +-0.6848566 0.89252245 0.21650635 0 0 0 255 0.8541667 0.6666667 +-0.6087614 0.7933533 0.25 0 0 0 255 0.8541667 0.75 +-0.53266627 0.6941842 0.21650635 0 0 0 255 0.8541667 0.8333333 +-0.45657107 0.595015 3.061617e-17 0 0 0 255 0.8541667 1 +-0.37499988 0.64951915 3.061617e-17 0 0 0 255 0.8333333 1 +-0.45657107 0.595015 3.061617e-17 0 0 0 255 0.8541667 2.220446e-16 +-0.53266627 0.6941842 -0.21650635 0 0 0 255 0.8541667 0.16666667 +-0.6087614 0.7933533 -0.25 0 0 0 255 0.8541667 0.25 +-0.6848566 0.89252245 -0.21650635 0 0 0 255 0.8541667 0.33333334 +-0.74056214 0.96511936 -0.125 0 0 0 255 0.8541667 0.41666666 +-0.8838837 0.88388324 0 0 0 0 255 0.875 0.5 +-0.8602001 0.8601997 0.125 0 0 0 255 0.875 0.5833333 +-0.70710695 0.7071066 0.25 0 0 0 255 0.875 0.75 +-0.61871856 0.61871827 0.21650635 0 0 0 255 0.875 0.8333333 +-0.47696072 0.6215873 0.125 0 0 0 255 0.8541667 0.9166667 +-0.5540138 0.5540135 0.125 0 0 0 255 0.875 0.9166667 +-0.5303302 0.53032994 3.061617e-17 0 0 0 255 0.875 2.220446e-16 +-0.47696072 0.6215873 -0.125 0 0 0 255 0.8541667 0.083333336 +-0.61871856 0.61871827 -0.21650635 0 0 0 255 0.875 0.16666667 +-0.70710695 0.7071066 -0.25 0 0 0 255 0.875 0.25 +-0.79549533 0.7954949 -0.21650635 0 0 0 255 0.875 0.33333334 +-0.8602001 0.8601997 -0.125 0 0 0 255 0.875 0.41666666 +-0.99169165 0.76095176 0 0 0 0 255 0.8958333 0.5 +-0.96511936 0.74056214 0.125 0 0 0 255 0.8958333 0.5833333 +-0.79549533 0.7954949 0.21650635 0 0 0 255 0.875 0.6666667 +-0.89252245 0.6848566 0.21650635 0 0 0 255 0.8958333 0.6666667 +-0.6941842 0.53266627 0.21650635 0 0 0 255 0.8958333 0.8333333 +-0.6215873 0.47696072 0.125 0 0 0 255 0.8958333 0.9166667 +-0.5303302 0.53032994 3.061617e-17 0 0 0 255 0.875 1 +-0.595015 0.45657107 3.061617e-17 0 0 0 255 0.8958333 2.220446e-16 +-0.5540138 0.5540135 -0.125 0 0 0 255 0.875 0.083333336 +-0.6941842 0.53266627 -0.21650635 0 0 0 255 0.8958333 0.16666667 +-0.7933533 0.6087614 -0.25 0 0 0 255 0.8958333 0.25 +-0.96511936 0.74056214 -0.125 0 0 0 255 0.8958333 0.41666666 +-1.0535252 0.6082535 0.125 0 0 0 255 0.9166667 0.5833333 +-0.86602527 0.50000024 0.25 0 0 0 255 0.9166667 0.75 +-0.7933533 0.6087614 0.25 0 0 0 255 0.8958333 0.75 +-0.7577721 0.4375002 0.21650635 0 0 0 255 0.9166667 0.8333333 +-0.67852527 0.391747 0.125 0 0 0 255 0.9166667 0.9166667 +-0.595015 0.45657107 3.061617e-17 0 0 0 255 0.8958333 1 +-0.64951897 0.37500018 3.061617e-17 0 0 0 255 0.9166667 2.220446e-16 +-0.6215873 0.47696072 -0.125 0 0 0 255 0.8958333 0.083333336 +-0.67852527 0.391747 -0.125 0 0 0 255 0.9166667 0.083333336 +-0.86602527 0.50000024 -0.25 0 0 0 255 0.9166667 0.25 +-0.89252245 0.6848566 -0.21650635 0 0 0 255 0.8958333 0.33333334 +-0.97427845 0.56250024 -0.21650635 0 0 0 255 0.9166667 0.33333334 +-1.0535252 0.6082535 -0.125 0 0 0 255 0.9166667 0.41666666 +-1.1548494 0.47835436 0 0 0 0 255 0.9375 0.5 +-1.0825316 0.6250003 0 0 0 0 255 0.9166667 0.5 +-1.1239053 0.4655369 0.125 0 0 0 255 0.9375 0.5833333 +-0.97427845 0.56250024 0.21650635 0 0 0 255 0.9166667 0.6666667 +-1.0393645 0.43051893 0.21650635 0 0 0 255 0.9375 0.6666667 +-0.80839455 0.33484805 0.21650635 0 0 0 255 0.9375 0.8333333 +-0.7238537 0.29983008 0.125 0 0 0 255 0.9375 0.9166667 +-0.64951897 0.37500018 3.061617e-17 0 0 0 255 0.9166667 1 +-0.7238537 0.29983008 -0.125 0 0 0 255 0.9375 0.083333336 +-0.7577721 0.4375002 -0.21650635 0 0 0 255 0.9166667 0.16666667 +-0.80839455 0.33484805 -0.21650635 0 0 0 255 0.9375 0.16666667 +-0.9238795 0.3826835 -0.25 0 0 0 255 0.9375 0.25 +-1.1239053 0.4655369 -0.125 0 0 0 255 0.9375 0.41666666 +-1.175055 0.31485486 0.125 0 0 0 255 0.9583333 0.5833333 +-1.0866666 0.29117128 0.21650635 0 0 0 255 0.9583333 0.6666667 +-0.9238795 0.3826835 0.25 0 0 0 255 0.9375 0.75 +-0.84518516 0.22646657 0.21650635 0 0 0 255 0.9583333 0.8333333 +-0.7567968 0.20278297 0.125 0 0 0 255 0.9583333 0.9166667 +-0.6929096 0.2870126 3.061617e-17 0 0 0 255 0.9375 1 +-0.7244444 0.1941142 3.061617e-17 0 0 0 255 0.9583333 2.220446e-16 +-0.6929096 0.2870126 3.061617e-17 0 0 0 255 0.9375 2.220446e-16 +-0.7567968 0.20278297 -0.125 0 0 0 255 0.9583333 0.083333336 +-0.84518516 0.22646657 -0.21650635 0 0 0 255 0.9583333 0.16666667 +-1.0866666 0.29117128 -0.21650635 0 0 0 255 0.9583333 0.33333334 +-1.0393645 0.43051893 -0.21650635 0 0 0 255 0.9375 0.33333334 +-1.175055 0.31485486 -0.125 0 0 0 255 0.9583333 0.41666666 +-1.239306 0.1631579 0 0 0 0 255 0.9791667 0.5 +-1.2074074 0.32352364 0 0 0 0 255 0.9583333 0.5 +-1.2060989 0.1587861 0.125 0 0 0 255 0.9791667 0.5833333 +-1.1153754 0.1468421 0.21650635 0 0 0 255 0.9791667 0.6666667 +-0.9659259 0.25881892 0.25 0 0 0 255 0.9583333 0.75 +-0.9914448 0.13052632 0.25 0 0 0 255 0.9791667 0.75 +-0.86751425 0.11421053 0.21650635 0 0 0 255 0.9791667 0.8333333 +-0.77679074 0.10226654 0.125 0 0 0 255 0.9791667 0.9166667 +-0.7244444 0.1941142 3.061617e-17 0 0 0 255 0.9583333 1 +-0.7435836 0.09789474 3.061617e-17 0 0 0 255 0.9791667 2.220446e-16 +-0.86751425 0.11421053 -0.21650635 0 0 0 255 0.9791667 0.16666667 +-0.9914448 0.13052632 -0.25 0 0 0 255 0.9791667 0.25 +-0.9659259 0.25881892 -0.25 0 0 0 255 0.9583333 0.25 +-1.1153754 0.1468421 -0.21650635 0 0 0 255 0.9791667 0.33333334 +-1.2060989 0.1587861 -0.125 0 0 0 255 0.9791667 0.41666666 +-1.2165064 1.0635036e-07 0.125 0 0 0 255 1 0.5833333 +-1.125 9.8350625e-08 0.21650635 0 0 0 255 1 0.6666667 +-1 8.742278e-08 0.25 0 0 0 255 1 0.75 +-0.875 7.649493e-08 0.21650635 0 0 0 255 1 0.8333333 +-0.78349364 6.849519e-08 0.125 0 0 0 255 1 0.9166667 +-0.7435836 0.09789474 3.061617e-17 0 0 0 255 0.9791667 1 +-0.75 6.556708e-08 3.061617e-17 0 0 0 255 1 2.220446e-16 +-0.77679074 0.10226654 -0.125 0 0 0 255 0.9791667 0.083333336 +-0.875 7.649493e-08 -0.21650635 0 0 0 255 1 0.16666667 +-1 8.742278e-08 -0.25 0 0 0 255 1 0.25 +-1.125 9.8350625e-08 -0.21650635 0 0 0 255 1 0.33333334 +-1.2165064 1.0635036e-07 -0.125 0 0 0 255 1 0.41666666 +-1.239306 -0.1631579 0 0 0 0 255 0.020833334 0.5 +-1.2165064 1.0635036e-07 0.125 0 0 0 255 8.881784e-16 0.5833333 +-1.25 1.09278474e-07 0 0 0 0 255 8.881784e-16 0.5 +-1.2060989 -0.1587861 0.125 0 0 0 255 0.020833334 0.5833333 +-1.125 9.8350625e-08 0.21650635 0 0 0 255 8.881784e-16 0.6666667 +-1.1153754 -0.1468421 0.21650635 0 0 0 255 0.020833334 0.6666667 +-1 8.742278e-08 0.25 0 0 0 255 8.881784e-16 0.75 +-0.9914448 -0.13052632 0.25 0 0 0 255 0.020833334 0.75 +-0.875 7.649493e-08 0.21650635 0 0 0 255 8.881784e-16 0.8333333 +-0.86751425 -0.11421053 0.21650635 0 0 0 255 0.020833334 0.8333333 +-0.78349364 6.849519e-08 0.125 0 0 0 255 8.881784e-16 0.9166667 +-0.77679074 -0.10226654 0.125 0 0 0 255 0.020833334 0.9166667 +-0.75 6.556708e-08 3.061617e-17 0 0 0 255 8.881784e-16 1 +-0.75 6.556708e-08 3.061617e-17 0 0 0 255 8.881784e-16 2.220446e-16 +-0.77679074 -0.10226654 -0.125 0 0 0 255 0.020833334 0.083333336 +-0.78349364 6.849519e-08 -0.125 0 0 0 255 8.881784e-16 0.083333336 +-0.875 7.649493e-08 -0.21650635 0 0 0 255 8.881784e-16 0.16666667 +-0.9914448 -0.13052632 -0.25 0 0 0 255 0.020833334 0.25 +-1 8.742278e-08 -0.25 0 0 0 255 8.881784e-16 0.25 +-1.1153754 -0.1468421 -0.21650635 0 0 0 255 0.020833334 0.33333334 +-1.125 9.8350625e-08 -0.21650635 0 0 0 255 8.881784e-16 0.33333334 +-1.2060989 -0.1587861 -0.125 0 0 0 255 0.020833334 0.41666666 +-1.2165064 1.0635036e-07 -0.125 0 0 0 255 8.881784e-16 0.41666666 +-1.175055 -0.31485486 0.125 0 0 0 255 0.041666668 0.5833333 +-1.0866666 -0.29117128 0.21650635 0 0 0 255 0.041666668 0.6666667 +-0.9659259 -0.25881892 0.25 0 0 0 255 0.041666668 0.75 +-0.84518516 -0.22646657 0.21650635 0 0 0 255 0.041666668 0.8333333 +-0.7567968 -0.20278297 0.125 0 0 0 255 0.041666668 0.9166667 +-0.7435836 -0.09789474 3.061617e-17 0 0 0 255 0.020833334 1 +-0.7244444 -0.1941142 3.061617e-17 0 0 0 255 0.041666668 2.220446e-16 +-0.7435836 -0.09789474 3.061617e-17 0 0 0 255 0.020833334 2.220446e-16 +-0.7567968 -0.20278297 -0.125 0 0 0 255 0.041666668 0.083333336 +-0.86751425 -0.11421053 -0.21650635 0 0 0 255 0.020833334 0.16666667 +-0.84518516 -0.22646657 -0.21650635 0 0 0 255 0.041666668 0.16666667 +-0.9659259 -0.25881892 -0.25 0 0 0 255 0.041666668 0.25 +-1.0866666 -0.29117128 -0.21650635 0 0 0 255 0.041666668 0.33333334 +-1.2074074 -0.32352364 0 0 0 0 255 0.041666668 0.5 +-1.1548496 -0.47835383 0 0 0 0 255 0.0625 0.5 +-1.1239055 -0.4655364 0.125 0 0 0 255 0.0625 0.5833333 +-0.9238797 -0.38268307 0.25 0 0 0 255 0.0625 0.75 +-0.80839473 -0.3348477 0.21650635 0 0 0 255 0.0625 0.8333333 +-0.7238538 -0.29982975 0.125 0 0 0 255 0.0625 0.9166667 +-0.7244444 -0.1941142 3.061617e-17 0 0 0 255 0.041666668 1 +-0.6929098 -0.2870123 3.061617e-17 0 0 0 255 0.0625 2.220446e-16 +-0.80839473 -0.3348477 -0.21650635 0 0 0 255 0.0625 0.16666667 +-0.9238797 -0.38268307 -0.25 0 0 0 255 0.0625 0.25 +-1.1239055 -0.4655364 -0.125 0 0 0 255 0.0625 0.41666666 +-1.175055 -0.31485486 -0.125 0 0 0 255 0.041666668 0.41666666 +-1.0825319 -0.62499976 0 0 0 0 255 0.083333336 0.5 +-1.0535256 -0.60825294 0.125 0 0 0 255 0.083333336 0.5833333 +-1.0393647 -0.43051845 0.21650635 0 0 0 255 0.0625 0.6666667 +-0.9742787 -0.5624998 0.21650635 0 0 0 255 0.083333336 0.6666667 +-0.8660255 -0.49999982 0.25 0 0 0 255 0.083333336 0.75 +-0.7577723 -0.43749985 0.21650635 0 0 0 255 0.083333336 0.8333333 +-0.64951915 -0.37499988 3.061617e-17 0 0 0 255 0.083333336 1 +-0.6929098 -0.2870123 3.061617e-17 0 0 0 255 0.0625 1 +-0.64951915 -0.37499988 3.061617e-17 0 0 0 255 0.083333336 2.220446e-16 +-0.7238538 -0.29982975 -0.125 0 0 0 255 0.0625 0.083333336 +-0.67852545 -0.39174667 -0.125 0 0 0 255 0.083333336 0.083333336 +-0.7577723 -0.43749985 -0.21650635 0 0 0 255 0.083333336 0.16666667 +-0.9742787 -0.5624998 -0.21650635 0 0 0 255 0.083333336 0.33333334 +-1.0393647 -0.43051845 -0.21650635 0 0 0 255 0.0625 0.33333334 +-1.0535256 -0.60825294 -0.125 0 0 0 255 0.083333336 0.41666666 +-0.99169165 -0.76095176 0 0 0 0 255 0.104166664 0.5 +-0.96511936 -0.74056214 0.125 0 0 0 255 0.104166664 0.5833333 +-0.89252245 -0.6848566 0.21650635 0 0 0 255 0.104166664 0.6666667 +-0.6941842 -0.53266627 0.21650635 0 0 0 255 0.104166664 0.8333333 +-0.67852545 -0.39174667 0.125 0 0 0 255 0.083333336 0.9166667 +-0.6215873 -0.47696072 0.125 0 0 0 255 0.104166664 0.9166667 +-0.595015 -0.45657107 3.061617e-17 0 0 0 255 0.104166664 2.220446e-16 +-0.6941842 -0.53266627 -0.21650635 0 0 0 255 0.104166664 0.16666667 +-0.8660255 -0.49999982 -0.25 0 0 0 255 0.083333336 0.25 +-0.7933533 -0.6087614 -0.25 0 0 0 255 0.104166664 0.25 +-0.96511936 -0.74056214 -0.125 0 0 0 255 0.104166664 0.41666666 +-0.8838837 -0.88388324 0 0 0 0 255 0.125 0.5 +-0.79549533 -0.7954949 0.21650635 0 0 0 255 0.125 0.6666667 +-0.7933533 -0.6087614 0.25 0 0 0 255 0.104166664 0.75 +-0.70710695 -0.7071066 0.25 0 0 0 255 0.125 0.75 +-0.61871856 -0.61871827 0.21650635 0 0 0 255 0.125 0.8333333 +-0.5540138 -0.5540135 0.125 0 0 0 255 0.125 0.9166667 +-0.595015 -0.45657107 3.061617e-17 0 0 0 255 0.104166664 1 +-0.5303302 -0.53032994 3.061617e-17 0 0 0 255 0.125 2.220446e-16 +-0.6215873 -0.47696072 -0.125 0 0 0 255 0.104166664 0.083333336 +-0.5540138 -0.5540135 -0.125 0 0 0 255 0.125 0.083333336 +-0.70710695 -0.7071066 -0.25 0 0 0 255 0.125 0.25 +-0.89252245 -0.6848566 -0.21650635 0 0 0 255 0.104166664 0.33333334 +-0.79549533 -0.7954949 -0.21650635 0 0 0 255 0.125 0.33333334 +-0.8602001 -0.8601997 -0.125 0 0 0 255 0.125 0.41666666 +-0.7405627 -0.965119 0.125 0 0 0 255 0.14583333 0.5833333 +-0.8602001 -0.8601997 0.125 0 0 0 255 0.125 0.5833333 +-0.6848571 -0.89252216 0.21650635 0 0 0 255 0.14583333 0.6666667 +-0.5326666 -0.6941839 0.21650635 0 0 0 255 0.14583333 0.8333333 +-0.47696105 -0.62158704 0.125 0 0 0 255 0.14583333 0.9166667 +-0.5303302 -0.53032994 3.061617e-17 0 0 0 255 0.125 1 +-0.4565714 -0.59501475 3.061617e-17 0 0 0 255 0.14583333 2.220446e-16 +-0.47696105 -0.62158704 -0.125 0 0 0 255 0.14583333 0.083333336 +-0.61871856 -0.61871827 -0.21650635 0 0 0 255 0.125 0.16666667 +-0.5326666 -0.6941839 -0.21650635 0 0 0 255 0.14583333 0.16666667 +-0.60876185 -0.793353 -0.25 0 0 0 255 0.14583333 0.25 +-0.6848571 -0.89252216 -0.21650635 0 0 0 255 0.14583333 0.33333334 +-0.7405627 -0.965119 -0.125 0 0 0 255 0.14583333 0.41666666 +-0.7609523 -0.9916913 0 0 0 0 255 0.14583333 0.5 +-0.608253 -1.0535256 0.125 0 0 0 255 0.16666667 0.5833333 +-0.5624998 -0.9742787 0.21650635 0 0 0 255 0.16666667 0.6666667 +-0.60876185 -0.793353 0.25 0 0 0 255 0.14583333 0.75 +-0.49999985 -0.8660255 0.25 0 0 0 255 0.16666667 0.75 +-0.3917467 -0.67852545 0.125 0 0 0 255 0.16666667 0.9166667 +-0.4565714 -0.59501475 3.061617e-17 0 0 0 255 0.14583333 1 +-0.37499988 -0.64951915 3.061617e-17 0 0 0 255 0.16666667 2.220446e-16 +-0.3917467 -0.67852545 -0.125 0 0 0 255 0.16666667 0.083333336 +-0.43749988 -0.7577723 -0.21650635 0 0 0 255 0.16666667 0.16666667 +-0.5624998 -0.9742787 -0.21650635 0 0 0 255 0.16666667 0.33333334 +-0.608253 -1.0535256 -0.125 0 0 0 255 0.16666667 0.41666666 +-0.4783544 -1.1548494 0 0 0 0 255 0.1875 0.5 +-0.6249998 -1.0825319 0 0 0 0 255 0.16666667 0.5 +-0.46553692 -1.1239053 0.125 0 0 0 255 0.1875 0.5833333 +-0.43051895 -1.0393645 0.21650635 0 0 0 255 0.1875 0.6666667 +-0.38268352 -0.9238795 0.25 0 0 0 255 0.1875 0.75 +-0.43749988 -0.7577723 0.21650635 0 0 0 255 0.16666667 0.8333333 +-0.33484808 -0.80839455 0.21650635 0 0 0 255 0.1875 0.8333333 +-0.2998301 -0.7238537 0.125 0 0 0 255 0.1875 0.9166667 +-0.37499988 -0.64951915 3.061617e-17 0 0 0 255 0.16666667 1 +-0.28701264 -0.6929096 3.061617e-17 0 0 0 255 0.1875 2.220446e-16 +-0.2998301 -0.7238537 -0.125 0 0 0 255 0.1875 0.083333336 +-0.38268352 -0.9238795 -0.25 0 0 0 255 0.1875 0.25 +-0.49999985 -0.8660255 -0.25 0 0 0 255 0.16666667 0.25 +-0.46553692 -1.1239053 -0.125 0 0 0 255 0.1875 0.41666666 +-0.3235242 -1.2074072 0 0 0 0 255 0.20833333 0.5 +-0.31485543 -1.1750548 0.125 0 0 0 255 0.20833333 0.5833333 +-0.2911718 -1.0866665 0.21650635 0 0 0 255 0.20833333 0.6666667 +-0.25881937 -0.96592575 0.25 0 0 0 255 0.20833333 0.75 +-0.20278333 -0.75679666 0.125 0 0 0 255 0.20833333 0.9166667 +-0.28701264 -0.6929096 3.061617e-17 0 0 0 255 0.1875 1 +-0.19411454 -0.7244443 3.061617e-17 0 0 0 255 0.20833333 2.220446e-16 +-0.20278333 -0.75679666 -0.125 0 0 0 255 0.20833333 0.083333336 +-0.33484808 -0.80839455 -0.21650635 0 0 0 255 0.1875 0.16666667 +-0.22646695 -0.84518504 -0.21650635 0 0 0 255 0.20833333 0.16666667 +-0.25881937 -0.96592575 -0.25 0 0 0 255 0.20833333 0.25 +-0.43051895 -1.0393645 -0.21650635 0 0 0 255 0.1875 0.33333334 +-0.31485543 -1.1750548 -0.125 0 0 0 255 0.20833333 0.41666666 +-0.16315849 -1.239306 0 0 0 0 255 0.22916667 0.5 +-0.14684264 -1.1153754 0.21650635 0 0 0 255 0.22916667 0.6666667 +-0.1305268 -0.99144477 0.25 0 0 0 255 0.22916667 0.75 +-0.22646695 -0.84518504 0.21650635 0 0 0 255 0.20833333 0.8333333 +-0.102266915 -0.7767907 0.125 0 0 0 255 0.22916667 0.9166667 +-0.19411454 -0.7244443 3.061617e-17 0 0 0 255 0.20833333 1 +-0.0978951 -0.74358356 3.061617e-17 0 0 0 255 0.22916667 2.220446e-16 +-0.102266915 -0.7767907 -0.125 0 0 0 255 0.22916667 0.083333336 +-0.1305268 -0.99144477 -0.25 0 0 0 255 0.22916667 0.25 +-0.2911718 -1.0866665 -0.21650635 0 0 0 255 0.20833333 0.33333334 +-0.14684264 -1.1153754 -0.21650635 0 0 0 255 0.22916667 0.33333334 +-0.15878668 -1.2060989 -0.125 0 0 0 255 0.22916667 0.41666666 +9.4372375e-08 -1.25 0 0 0 0 255 0.25 0.5 +-0.15878668 -1.2060989 0.125 0 0 0 255 0.22916667 0.5833333 +9.1843674e-08 -1.2165064 0.125 0 0 0 255 0.25 0.5833333 +7.54979e-08 -1 0.25 0 0 0 255 0.25 0.75 +6.6060664e-08 -0.875 0.21650635 0 0 0 255 0.25 0.8333333 +-0.11421095 -0.8675142 0.21650635 0 0 0 255 0.22916667 0.8333333 +5.6623428e-08 -0.75 3.061617e-17 0 0 0 255 0.25 1 +-0.0978951 -0.74358356 3.061617e-17 0 0 0 255 0.22916667 1 +5.6623428e-08 -0.75 3.061617e-17 0 0 0 255 0.25 2.220446e-16 +5.9152125e-08 -0.78349364 -0.125 0 0 0 255 0.25 0.083333336 +-0.11421095 -0.8675142 -0.21650635 0 0 0 255 0.22916667 0.16666667 +6.6060664e-08 -0.875 -0.21650635 0 0 0 255 0.25 0.16666667 +7.54979e-08 -1 -0.25 0 0 0 255 0.25 0.25 +8.493514e-08 -1.125 -0.21650635 0 0 0 255 0.25 0.33333334 +9.1843674e-08 -1.2165064 -0.125 0 0 0 255 0.25 0.41666666 +0.15878572 -1.206099 0.125 0 0 0 255 0.27083334 0.5833333 +8.493514e-08 -1.125 0.21650635 0 0 0 255 0.25 0.6666667 +0.14684176 -1.1153755 0.21650635 0 0 0 255 0.27083334 0.6666667 +0.130526 -0.9914449 0.25 0 0 0 255 0.27083334 0.75 +0.114210255 -0.86751425 0.21650635 0 0 0 255 0.27083334 0.8333333 +5.9152125e-08 -0.78349364 0.125 0 0 0 255 0.25 0.9166667 +0.1022663 -0.77679074 0.125 0 0 0 255 0.27083334 0.9166667 +0.097894505 -0.7435837 3.061617e-17 0 0 0 255 0.27083334 2.220446e-16 +0.114210255 -0.86751425 -0.21650635 0 0 0 255 0.27083334 0.16666667 +0.130526 -0.9914449 -0.25 0 0 0 255 0.27083334 0.25 +0.14684176 -1.1153755 -0.21650635 0 0 0 255 0.27083334 0.33333334 +0.15878572 -1.206099 -0.125 0 0 0 255 0.27083334 0.41666666 +0.32352325 -1.2074075 0 0 0 0 255 0.29166666 0.5 +0.16315751 -1.2393061 0 0 0 0 255 0.27083334 0.5 +0.31485447 -1.175055 0.125 0 0 0 255 0.29166666 0.5833333 +0.29117092 -1.0866667 0.21650635 0 0 0 255 0.29166666 0.6666667 +0.2588186 -0.96592593 0.25 0 0 0 255 0.29166666 0.75 +0.22646627 -0.84518516 0.21650635 0 0 0 255 0.29166666 0.8333333 +0.19411394 -0.72444445 3.061617e-17 0 0 0 255 0.29166666 1 +0.097894505 -0.7435837 3.061617e-17 0 0 0 255 0.27083334 1 +0.19411394 -0.72444445 3.061617e-17 0 0 0 255 0.29166666 2.220446e-16 +0.1022663 -0.77679074 -0.125 0 0 0 255 0.27083334 0.083333336 +0.20278272 -0.75679684 -0.125 0 0 0 255 0.29166666 0.083333336 +0.2588186 -0.96592593 -0.25 0 0 0 255 0.29166666 0.25 +0.29117092 -1.0866667 -0.21650635 0 0 0 255 0.29166666 0.33333334 +0.31485447 -1.175055 -0.125 0 0 0 255 0.29166666 0.41666666 +0.47835457 -1.1548493 0 0 0 0 255 0.3125 0.5 +0.4655371 -1.1239052 0.125 0 0 0 255 0.3125 0.5833333 +0.43051913 -1.0393643 0.21650635 0 0 0 255 0.3125 0.6666667 +0.38268366 -0.92387944 0.25 0 0 0 255 0.3125 0.75 +0.3348482 -0.8083945 0.21650635 0 0 0 255 0.3125 0.8333333 +0.20278272 -0.75679684 0.125 0 0 0 255 0.29166666 0.9166667 +0.29983023 -0.72385365 0.125 0 0 0 255 0.3125 0.9166667 +0.28701276 -0.6929096 3.061617e-17 0 0 0 255 0.3125 2.220446e-16 +0.29983023 -0.72385365 -0.125 0 0 0 255 0.3125 0.083333336 +0.22646627 -0.84518516 -0.21650635 0 0 0 255 0.29166666 0.16666667 +0.3348482 -0.8083945 -0.21650635 0 0 0 255 0.3125 0.16666667 +0.43051913 -1.0393643 -0.21650635 0 0 0 255 0.3125 0.33333334 +0.4655371 -1.1239052 -0.125 0 0 0 255 0.3125 0.41666666 +0.62499994 -1.0825318 0 0 0 0 255 0.33333334 0.5 +0.6082531 -1.0535254 0.125 0 0 0 255 0.33333334 0.5833333 +0.49999997 -0.86602545 0.25 0 0 0 255 0.33333334 0.75 +0.43749997 -0.75777227 0.21650635 0 0 0 255 0.33333334 0.8333333 +0.3917468 -0.67852545 0.125 0 0 0 255 0.33333334 0.9166667 +0.28701276 -0.6929096 3.061617e-17 0 0 0 255 0.3125 1 +0.37499997 -0.6495191 3.061617e-17 0 0 0 255 0.33333334 2.220446e-16 +0.3917468 -0.67852545 -0.125 0 0 0 255 0.33333334 0.083333336 +0.43749997 -0.75777227 -0.21650635 0 0 0 255 0.33333334 0.16666667 +0.38268366 -0.92387944 -0.25 0 0 0 255 0.3125 0.25 +0.49999997 -0.86602545 -0.25 0 0 0 255 0.33333334 0.25 +0.56249994 -0.9742786 -0.21650635 0 0 0 255 0.33333334 0.33333334 +0.74056184 -0.9651196 0.125 0 0 0 255 0.35416666 0.5833333 +0.56249994 -0.9742786 0.21650635 0 0 0 255 0.33333334 0.6666667 +0.68485636 -0.8925227 0.21650635 0 0 0 255 0.35416666 0.6666667 +0.6087612 -0.7933535 0.25 0 0 0 255 0.35416666 0.75 +0.532666 -0.6941843 0.21650635 0 0 0 255 0.35416666 0.8333333 +0.4769605 -0.6215874 0.125 0 0 0 255 0.35416666 0.9166667 +0.37499997 -0.6495191 3.061617e-17 0 0 0 255 0.33333334 1 +0.4565709 -0.5950151 3.061617e-17 0 0 0 255 0.35416666 2.220446e-16 +0.4769605 -0.6215874 -0.125 0 0 0 255 0.35416666 0.083333336 +0.532666 -0.6941843 -0.21650635 0 0 0 255 0.35416666 0.16666667 +0.6087612 -0.7933535 -0.25 0 0 0 255 0.35416666 0.25 +0.74056184 -0.9651196 -0.125 0 0 0 255 0.35416666 0.41666666 +0.6082531 -1.0535254 -0.125 0 0 0 255 0.33333334 0.41666666 +0.7609515 -0.9916919 0 0 0 0 255 0.35416666 0.5 +0.86019945 -0.8602004 0.125 0 0 0 255 0.375 0.5833333 +0.7071064 -0.7071072 0.25 0 0 0 255 0.375 0.75 +0.6187181 -0.6187188 0.21650635 0 0 0 255 0.375 0.8333333 +0.5540134 -0.55401397 0.125 0 0 0 255 0.375 0.9166667 +0.4565709 -0.5950151 3.061617e-17 0 0 0 255 0.35416666 1 +0.5303298 -0.5303304 3.061617e-17 0 0 0 255 0.375 2.220446e-16 +0.5540134 -0.55401397 -0.125 0 0 0 255 0.375 0.083333336 +0.6187181 -0.6187188 -0.21650635 0 0 0 255 0.375 0.16666667 +0.7071064 -0.7071072 -0.25 0 0 0 255 0.375 0.25 +0.68485636 -0.8925227 -0.21650635 0 0 0 255 0.35416666 0.33333334 +0.86019945 -0.8602004 -0.125 0 0 0 255 0.375 0.41666666 +0.883883 -0.88388395 0 0 0 0 255 0.375 0.5 +0.9651195 -0.740562 0.125 0 0 0 255 0.39583334 0.5833333 +0.79549474 -0.79549557 0.21650635 0 0 0 255 0.375 0.6666667 +0.79335344 -0.6087613 0.25 0 0 0 255 0.39583334 0.75 +0.69418424 -0.53266615 0.21650635 0 0 0 255 0.39583334 0.8333333 +0.6215874 -0.4769606 0.125 0 0 0 255 0.39583334 0.9166667 +0.5303298 -0.5303304 3.061617e-17 0 0 0 255 0.375 1 +0.59501505 -0.45657098 3.061617e-17 0 0 0 255 0.39583334 2.220446e-16 +0.69418424 -0.53266615 -0.21650635 0 0 0 255 0.39583334 0.16666667 +0.79335344 -0.6087613 -0.25 0 0 0 255 0.39583334 0.25 +0.79549474 -0.79549557 -0.21650635 0 0 0 255 0.375 0.33333334 +0.89252263 -0.6848565 -0.21650635 0 0 0 255 0.39583334 0.33333334 +0.9651195 -0.740562 -0.125 0 0 0 255 0.39583334 0.41666666 +1.0825317 -0.6250001 0 0 0 0 255 0.41666666 0.5 +0.9916918 -0.76095164 0 0 0 0 255 0.39583334 0.5 +1.0535253 -0.6082533 0.125 0 0 0 255 0.41666666 0.5833333 +0.89252263 -0.6848565 0.21650635 0 0 0 255 0.39583334 0.6666667 +0.9742785 -0.5625001 0.21650635 0 0 0 255 0.41666666 0.6666667 +0.8660253 -0.5000001 0.25 0 0 0 255 0.41666666 0.75 +0.75777215 -0.43750012 0.21650635 0 0 0 255 0.41666666 0.8333333 +0.6785253 -0.3917469 0.125 0 0 0 255 0.41666666 0.9166667 +0.59501505 -0.45657098 3.061617e-17 0 0 0 255 0.39583334 1 +0.64951897 -0.3750001 3.061617e-17 0 0 0 255 0.41666666 2.220446e-16 +0.6215874 -0.4769606 -0.125 0 0 0 255 0.39583334 0.083333336 +0.75777215 -0.43750012 -0.21650635 0 0 0 255 0.41666666 0.16666667 +0.8660253 -0.5000001 -0.25 0 0 0 255 0.41666666 0.25 +1.0535253 -0.6082533 -0.125 0 0 0 255 0.41666666 0.41666666 +1.1548493 -0.47835475 0 0 0 0 255 0.4375 0.5 +1.1239052 -0.46553728 0.125 0 0 0 255 0.4375 0.5833333 +0.9238794 -0.3826838 0.25 0 0 0 255 0.4375 0.75 +0.80839443 -0.33484834 0.21650635 0 0 0 255 0.4375 0.8333333 +0.72385365 -0.29983035 0.125 0 0 0 255 0.4375 0.9166667 +0.64951897 -0.3750001 3.061617e-17 0 0 0 255 0.41666666 1 +0.69290954 -0.28701288 3.061617e-17 0 0 0 255 0.4375 2.220446e-16 +0.6785253 -0.3917469 -0.125 0 0 0 255 0.41666666 0.083333336 +0.72385365 -0.29983035 -0.125 0 0 0 255 0.4375 0.083333336 +0.80839443 -0.33484834 -0.21650635 0 0 0 255 0.4375 0.16666667 +0.9238794 -0.3826838 -0.25 0 0 0 255 0.4375 0.25 +0.9742785 -0.5625001 -0.21650635 0 0 0 255 0.41666666 0.33333334 +1.0393643 -0.43051928 -0.21650635 0 0 0 255 0.4375 0.33333334 +1.1239052 -0.46553728 -0.125 0 0 0 255 0.4375 0.41666666 +1.2074074 -0.32352346 0 0 0 0 255 0.45833334 0.5 +1.175055 -0.31485468 0.125 0 0 0 255 0.45833334 0.5833333 +1.0393643 -0.43051928 0.21650635 0 0 0 255 0.4375 0.6666667 +1.0866666 -0.29117113 0.21650635 0 0 0 255 0.45833334 0.6666667 +0.9659259 -0.25881878 0.25 0 0 0 255 0.45833334 0.75 +0.84518516 -0.22646643 0.21650635 0 0 0 255 0.45833334 0.8333333 +0.7567968 -0.20278287 0.125 0 0 0 255 0.45833334 0.9166667 +0.69290954 -0.28701288 3.061617e-17 0 0 0 255 0.4375 1 +0.7244444 -0.19411409 3.061617e-17 0 0 0 255 0.45833334 2.220446e-16 +0.84518516 -0.22646643 -0.21650635 0 0 0 255 0.45833334 0.16666667 +0.9659259 -0.25881878 -0.25 0 0 0 255 0.45833334 0.25 +1.0866666 -0.29117113 -0.21650635 0 0 0 255 0.45833334 0.33333334 +1.175055 -0.31485468 -0.125 0 0 0 255 0.45833334 0.41666666 +1.206099 -0.15878591 0.125 0 0 0 255 0.47916666 0.5833333 +1.1153755 -0.14684194 0.21650635 0 0 0 255 0.47916666 0.6666667 +0.9914449 -0.13052617 0.25 0 0 0 255 0.47916666 0.75 +0.86751425 -0.1142104 0.21650635 0 0 0 255 0.47916666 0.8333333 +0.7435837 -0.097894624 3.061617e-17 0 0 0 255 0.47916666 1 +0.7244444 -0.19411409 3.061617e-17 0 0 0 255 0.45833334 1 +0.7435837 -0.097894624 3.061617e-17 0 0 0 255 0.47916666 2.220446e-16 +0.7567968 -0.20278287 -0.125 0 0 0 255 0.45833334 0.083333336 +0.77679074 -0.10226642 -0.125 0 0 0 255 0.47916666 0.083333336 +0.9914449 -0.13052617 -0.25 0 0 0 255 0.47916666 0.25 +1.1153755 -0.14684194 -0.21650635 0 0 0 255 0.47916666 0.33333334 +1.206099 -0.15878591 -0.125 0 0 0 255 0.47916666 0.41666666 +1.2393061 -0.16315772 0 0 0 0 255 0.47916666 0.5 +0.77679074 -0.10226642 0.125 0 0 0 255 0.47916666 0.9166667 +0.86751425 -0.1142104 -0.21650635 0 0 0 255 0.47916666 0.16666667 +-1.25 1.09278474e-07 0 0 0 0 255 1 0.5 +-0.75 6.556708e-08 3.061617e-17 0 0 0 255 1 1 +-0.78349364 6.849519e-08 -0.125 0 0 0 255 1 0.083333336 +3 0 1 2 +3 1 3 4 +3 3 5 4 +3 6 7 5 +3 8 9 7 +3 9 10 11 +3 12 13 14 +3 15 16 13 +3 17 18 16 +3 19 20 18 +3 21 22 20 +3 23 2 22 +3 24 25 0 +3 26 3 25 +3 27 6 3 +3 28 8 6 +3 8 29 30 +3 29 10 30 +3 31 15 12 +3 32 17 15 +3 17 33 19 +3 19 34 21 +3 21 35 23 +3 35 0 23 +3 24 36 26 +3 36 27 26 +3 37 28 27 +3 28 38 39 +3 39 40 29 +3 29 41 42 +3 43 32 31 +3 44 45 32 +3 45 46 33 +3 33 47 34 +3 34 48 35 +3 48 24 35 +3 49 50 36 +3 36 51 37 +3 37 52 53 +3 52 38 53 +3 38 54 40 +3 54 41 40 +3 55 44 43 +3 56 57 44 +3 57 58 46 +3 58 47 46 +3 59 48 47 +3 60 49 48 +3 61 50 62 +3 50 63 51 +3 63 52 51 +3 64 65 52 +3 65 66 54 +3 66 67 54 +3 68 56 55 +3 69 70 56 +3 71 58 70 +3 72 59 58 +3 73 60 59 +3 60 61 62 +3 74 75 61 +3 76 63 75 +3 77 64 63 +3 78 79 64 +3 80 66 79 +3 81 82 66 +3 68 83 69 +3 83 71 69 +3 84 72 71 +3 85 73 72 +3 73 86 87 +3 86 61 87 +3 88 76 74 +3 76 89 77 +3 89 78 77 +3 90 80 78 +3 80 91 81 +3 91 92 81 +3 93 83 94 +3 95 84 83 +3 84 96 85 +3 85 97 98 +3 97 86 98 +3 99 74 86 +3 100 101 88 +3 101 102 89 +3 89 103 90 +3 103 104 90 +3 104 105 91 +3 105 106 91 +3 107 95 93 +3 108 109 95 +3 110 96 109 +3 111 97 96 +3 112 99 97 +3 113 88 99 +3 100 114 115 +3 114 102 115 +3 116 103 102 +3 117 118 103 +3 119 105 118 +3 120 121 105 +3 122 108 107 +3 123 110 108 +3 110 124 111 +3 111 125 112 +3 125 113 112 +3 126 100 113 +3 127 114 128 +3 129 116 114 +3 130 117 116 +3 131 119 117 +3 119 132 120 +3 132 133 120 +3 134 123 122 +3 135 136 123 +3 137 124 136 +3 138 125 124 +3 139 126 125 +3 140 128 126 +3 141 129 127 +3 142 130 129 +3 130 143 131 +3 143 144 131 +3 145 132 144 +3 146 147 132 +3 134 148 135 +3 148 137 135 +3 137 149 138 +3 149 139 138 +3 150 140 139 +3 151 127 140 +3 152 142 141 +3 153 154 142 +3 155 143 154 +3 143 156 145 +3 145 157 146 +3 157 158 146 +3 159 148 160 +3 161 162 148 +3 163 149 162 +3 164 150 149 +3 165 151 150 +3 151 152 141 +3 166 153 152 +3 167 155 153 +3 168 169 155 +3 170 156 169 +3 171 157 156 +3 172 173 157 +3 159 174 161 +3 174 163 161 +3 163 175 164 +3 164 176 165 +3 165 177 178 +3 178 166 152 +3 179 167 166 +3 167 180 168 +3 168 181 170 +3 181 171 170 +3 182 172 171 +3 183 184 172 +3 185 174 186 +3 187 188 174 +3 189 175 188 +3 190 176 175 +3 191 177 176 +3 192 166 177 +3 193 194 179 +3 195 180 194 +3 196 181 180 +3 181 197 182 +3 197 183 182 +3 198 199 183 +3 200 187 185 +3 201 189 187 +3 189 202 190 +3 202 191 190 +3 191 203 192 +3 203 179 192 +3 204 195 193 +3 195 205 196 +3 205 206 196 +3 207 197 206 +3 208 198 197 +3 209 210 198 +3 211 201 200 +3 212 213 201 +3 214 202 213 +3 215 216 202 +3 217 203 216 +3 218 193 203 +3 219 220 204 +3 221 205 220 +3 222 207 205 +3 223 208 207 +3 224 209 208 +3 209 225 226 +3 227 212 211 +3 212 228 214 +3 214 229 215 +3 215 230 217 +3 217 231 218 +3 231 204 218 +3 232 221 219 +3 233 222 221 +3 222 234 223 +3 234 224 223 +3 235 236 224 +3 237 225 236 +3 238 239 227 +3 239 240 228 +3 240 229 228 +3 241 230 229 +3 242 231 230 +3 243 219 231 +3 244 233 232 +3 245 246 233 +3 247 234 246 +3 234 248 235 +3 248 237 235 +3 249 250 237 +3 251 252 238 +3 252 253 240 +3 253 241 240 +3 254 242 241 +3 242 255 243 +3 255 232 243 +3 244 256 245 +3 256 247 245 +3 247 257 258 +3 257 248 258 +3 259 249 248 +3 260 261 249 +3 262 263 251 +3 264 253 263 +3 253 265 254 +3 265 266 254 +3 267 255 266 +3 268 244 255 +3 269 256 270 +3 271 272 256 +3 273 257 272 +3 257 274 259 +3 274 260 259 +3 275 276 260 +3 262 277 264 +3 277 278 264 +3 279 265 278 +3 280 267 265 +3 267 281 268 +3 281 270 268 +3 269 282 271 +3 282 273 271 +3 283 284 273 +3 284 285 274 +3 285 275 274 +3 286 287 275 +3 288 277 289 +3 290 279 277 +3 291 280 279 +3 280 292 293 +3 292 281 293 +3 294 269 281 +3 295 282 296 +3 297 283 282 +3 298 299 283 +3 300 285 299 +3 301 286 285 +3 302 303 286 +3 304 290 288 +3 290 305 291 +3 291 306 307 +3 307 308 292 +3 292 309 294 +3 294 295 296 +3 295 310 297 +3 310 298 297 +3 311 300 298 +3 312 301 300 +3 313 302 301 +3 314 315 302 +3 316 317 304 +3 317 318 305 +3 318 306 305 +3 319 308 306 +3 320 309 308 +3 321 295 309 +3 322 323 324 +3 325 326 323 +3 327 328 326 +3 329 330 328 +3 331 332 330 +3 333 334 332 +3 335 336 337 +3 336 338 337 +3 338 339 340 +3 340 341 342 +3 342 343 344 +3 344 322 324 +3 322 345 325 +3 325 346 327 +3 327 347 329 +3 329 348 331 +3 331 349 333 +3 349 350 333 +3 351 336 352 +3 353 354 336 +3 355 339 354 +3 356 341 339 +3 357 343 341 +3 343 358 322 +3 359 345 358 +3 360 346 345 +3 346 361 347 +3 361 348 347 +3 362 349 348 +3 363 364 349 +3 365 353 351 +3 353 366 355 +3 366 356 355 +3 367 357 356 +3 357 368 369 +3 369 359 358 +3 370 360 359 +3 371 372 360 +3 373 361 372 +3 374 362 361 +3 375 363 362 +3 363 376 377 +3 378 379 365 +3 380 366 379 +3 381 367 366 +3 367 382 383 +3 383 384 368 +3 384 359 368 +3 385 371 370 +3 386 373 371 +3 387 374 373 +3 374 388 375 +3 388 389 375 +3 390 376 389 +3 391 380 378 +3 380 392 381 +3 392 393 381 +3 394 382 393 +3 382 395 384 +3 395 370 384 +3 396 386 385 +3 386 397 387 +3 397 398 387 +3 399 388 398 +3 400 390 388 +3 401 402 390 +3 403 404 391 +3 405 392 404 +3 392 406 394 +3 406 407 394 +3 408 395 407 +3 409 385 395 +3 396 410 411 +3 411 412 397 +3 412 399 397 +3 399 413 400 +3 413 401 400 +3 414 415 401 +3 416 405 403 +3 417 418 405 +3 419 406 418 +3 420 408 406 +3 421 409 408 +3 422 396 409 +3 423 424 410 +3 424 412 410 +3 425 426 412 +3 427 413 426 +3 413 428 414 +3 428 429 414 +3 430 417 416 +3 431 419 417 +3 432 420 419 +3 420 433 421 +3 421 434 422 +3 434 423 422 +3 435 424 436 +3 437 425 424 +3 438 427 425 +3 439 440 427 +3 441 428 440 +3 442 443 428 +3 444 431 430 +3 445 432 431 +3 432 446 447 +3 446 433 447 +3 433 448 434 +3 448 436 434 +3 449 437 435 +3 450 438 437 +3 451 439 438 +3 452 441 439 +3 441 453 442 +3 453 454 442 +3 455 445 444 +3 456 457 445 +3 458 446 457 +3 459 460 446 +3 460 461 448 +3 461 435 448 +3 462 450 449 +3 450 463 451 +3 463 452 451 +3 464 465 452 +3 465 466 453 +3 466 467 453 +3 468 456 455 +3 469 458 456 +3 458 470 459 +3 470 471 459 +3 472 461 471 +3 473 449 461 +3 474 475 462 +3 476 463 475 +3 463 477 464 +3 464 478 479 +3 478 466 479 +3 466 480 481 +3 482 469 468 +3 483 484 469 +3 485 470 484 +3 486 472 470 +3 487 473 472 +3 488 462 473 +3 474 489 476 +3 489 490 476 +3 491 477 490 +3 492 478 477 +3 493 494 478 +3 495 480 494 +3 496 483 482 +3 483 497 485 +3 485 498 486 +3 498 487 486 +3 499 488 487 +3 500 474 488 +3 501 489 502 +3 503 491 489 +3 504 492 491 +3 505 493 492 +3 506 495 493 +3 495 507 508 +3 509 510 496 +3 511 497 510 +3 497 512 498 +3 498 513 499 +3 513 500 499 +3 514 502 500 +3 515 503 501 +3 516 504 503 +3 517 505 504 +3 518 506 505 +3 519 520 506 +3 521 507 520 +3 522 511 509 +3 523 524 511 +3 525 512 524 +3 512 526 513 +3 513 527 514 +3 527 501 514 +3 528 516 515 +3 529 517 516 +3 517 530 518 +3 518 531 519 +3 531 521 519 +3 532 533 521 +3 534 523 522 +3 535 525 523 +3 536 537 525 +3 538 526 537 +3 539 527 526 +3 527 528 515 +3 528 540 529 +3 540 541 529 +3 542 530 541 +3 543 531 530 +3 544 532 531 +3 545 546 532 +3 547 535 534 +3 548 536 535 +3 549 538 536 +3 550 539 538 +3 539 551 552 +3 551 528 552 +3 553 554 540 +3 554 542 540 +3 542 555 543 +3 543 556 544 +3 544 557 545 +3 557 558 545 +3 559 548 547 +3 560 549 548 +3 561 550 549 +3 562 563 550 +3 563 564 551 +3 564 553 551 +3 565 566 554 +3 566 567 554 +3 567 568 555 +3 568 556 555 +3 569 557 556 +3 570 571 557 +3 572 560 559 +3 560 573 561 +3 561 574 562 +3 574 575 562 +3 576 564 575 +3 577 565 564 +3 578 566 579 +3 580 581 566 +3 582 568 581 +3 583 569 568 +3 584 570 569 +3 585 586 570 +3 587 588 572 +3 588 589 573 +3 589 574 573 +3 590 576 574 +3 576 591 577 +3 591 579 577 +3 592 580 578 +3 593 582 580 +3 582 594 583 +3 594 584 583 +3 595 585 584 +3 596 597 585 +3 598 599 587 +3 600 589 599 +3 601 590 589 +3 602 603 590 +3 604 591 603 +3 605 578 591 +3 606 593 592 +3 607 608 593 +3 609 594 608 +3 610 595 594 +3 611 596 595 +3 612 613 596 +3 614 600 598 +3 600 615 601 +3 615 602 601 +3 616 604 602 +3 617 605 604 +3 618 592 605 +3 606 619 607 +3 607 620 609 +3 609 621 610 +3 621 611 610 +3 622 612 611 +3 612 623 624 +3 625 626 614 +3 627 615 626 +3 615 628 616 +3 628 617 616 +3 629 618 617 +3 630 606 618 +3 2 619 631 +3 1 620 619 +3 4 621 620 +3 5 622 621 +3 7 632 622 +3 9 623 632 +3 625 13 627 +3 13 633 627 +3 16 628 633 +3 18 629 628 +3 629 22 630 +3 630 2 631 +3 0 25 1 +3 1 25 3 +3 3 6 5 +3 6 8 7 +3 8 30 9 +3 9 30 10 +3 12 15 13 +3 15 17 16 +3 17 19 18 +3 19 21 20 +3 21 23 22 +3 23 0 2 +3 24 26 25 +3 26 27 3 +3 27 28 6 +3 28 39 8 +3 8 39 29 +3 29 42 10 +3 31 32 15 +3 32 45 17 +3 17 45 33 +3 19 33 34 +3 21 34 35 +3 35 24 0 +3 24 49 36 +3 36 37 27 +3 37 53 28 +3 28 53 38 +3 39 38 40 +3 29 40 41 +3 43 44 32 +3 44 57 45 +3 45 57 46 +3 33 46 47 +3 34 47 48 +3 48 49 24 +3 49 62 50 +3 36 50 51 +3 37 51 52 +3 52 65 38 +3 38 65 54 +3 54 67 41 +3 55 56 44 +3 56 70 57 +3 57 70 58 +3 58 59 47 +3 59 60 48 +3 60 62 49 +3 61 75 50 +3 50 75 63 +3 63 64 52 +3 64 79 65 +3 65 79 66 +3 66 82 67 +3 68 69 56 +3 69 71 70 +3 71 72 58 +3 72 73 59 +3 73 87 60 +3 60 87 61 +3 74 76 75 +3 76 77 63 +3 77 78 64 +3 78 80 79 +3 80 81 66 +3 81 92 82 +3 68 94 83 +3 83 84 71 +3 84 85 72 +3 85 98 73 +3 73 98 86 +3 86 74 61 +3 88 101 76 +3 76 101 89 +3 89 90 78 +3 90 104 80 +3 80 104 91 +3 91 106 92 +3 93 95 83 +3 95 109 84 +3 84 109 96 +3 85 96 97 +3 97 99 86 +3 99 88 74 +3 100 115 101 +3 101 115 102 +3 89 102 103 +3 103 118 104 +3 104 118 105 +3 105 121 106 +3 107 108 95 +3 108 110 109 +3 110 111 96 +3 111 112 97 +3 112 113 99 +3 113 100 88 +3 100 128 114 +3 114 116 102 +3 116 117 103 +3 117 119 118 +3 119 120 105 +3 120 133 121 +3 122 123 108 +3 123 136 110 +3 110 136 124 +3 111 124 125 +3 125 126 113 +3 126 128 100 +3 127 129 114 +3 129 130 116 +3 130 131 117 +3 131 144 119 +3 119 144 132 +3 132 147 133 +3 134 135 123 +3 135 137 136 +3 137 138 124 +3 138 139 125 +3 139 140 126 +3 140 127 128 +3 141 142 129 +3 142 154 130 +3 130 154 143 +3 143 145 144 +3 145 146 132 +3 146 158 147 +3 134 160 148 +3 148 162 137 +3 137 162 149 +3 149 150 139 +3 150 151 140 +3 151 141 127 +3 152 153 142 +3 153 155 154 +3 155 169 143 +3 143 169 156 +3 145 156 157 +3 157 173 158 +3 159 161 148 +3 161 163 162 +3 163 164 149 +3 164 165 150 +3 165 178 151 +3 151 178 152 +3 166 167 153 +3 167 168 155 +3 168 170 169 +3 170 171 156 +3 171 172 157 +3 172 184 173 +3 159 186 174 +3 174 188 163 +3 163 188 175 +3 164 175 176 +3 165 176 177 +3 178 177 166 +3 179 194 167 +3 167 194 180 +3 168 180 181 +3 181 182 171 +3 182 183 172 +3 183 199 184 +3 185 187 174 +3 187 189 188 +3 189 190 175 +3 190 191 176 +3 191 192 177 +3 192 179 166 +3 193 195 194 +3 195 196 180 +3 196 206 181 +3 181 206 197 +3 197 198 183 +3 198 210 199 +3 200 201 187 +3 201 213 189 +3 189 213 202 +3 202 216 191 +3 191 216 203 +3 203 193 179 +3 204 220 195 +3 195 220 205 +3 205 207 206 +3 207 208 197 +3 208 209 198 +3 209 226 210 +3 211 212 201 +3 212 214 213 +3 214 215 202 +3 215 217 216 +3 217 218 203 +3 218 204 193 +3 219 221 220 +3 221 222 205 +3 222 223 207 +3 223 224 208 +3 224 236 209 +3 209 236 225 +3 227 239 212 +3 212 239 228 +3 214 228 229 +3 215 229 230 +3 217 230 231 +3 231 219 204 +3 232 233 221 +3 233 246 222 +3 222 246 234 +3 234 235 224 +3 235 237 236 +3 237 250 225 +3 238 252 239 +3 239 252 240 +3 240 241 229 +3 241 242 230 +3 242 243 231 +3 243 232 219 +3 244 245 233 +3 245 247 246 +3 247 258 234 +3 234 258 248 +3 248 249 237 +3 249 261 250 +3 251 263 252 +3 252 263 253 +3 253 254 241 +3 254 266 242 +3 242 266 255 +3 255 244 232 +3 244 270 256 +3 256 272 247 +3 247 272 257 +3 257 259 248 +3 259 260 249 +3 260 276 261 +3 262 264 263 +3 264 278 253 +3 253 278 265 +3 265 267 266 +3 267 268 255 +3 268 270 244 +3 269 271 256 +3 271 273 272 +3 273 284 257 +3 257 284 274 +3 274 275 260 +3 275 287 276 +3 262 289 277 +3 277 279 278 +3 279 280 265 +3 280 293 267 +3 267 293 281 +3 281 269 270 +3 269 296 282 +3 282 283 273 +3 283 299 284 +3 284 299 285 +3 285 286 275 +3 286 303 287 +3 288 290 277 +3 290 291 279 +3 291 307 280 +3 280 307 292 +3 292 294 281 +3 294 296 269 +3 295 297 282 +3 297 298 283 +3 298 300 299 +3 300 301 285 +3 301 302 286 +3 302 315 303 +3 304 317 290 +3 290 317 305 +3 291 305 306 +3 307 306 308 +3 292 308 309 +3 294 309 295 +3 295 634 310 +3 310 311 298 +3 311 312 300 +3 312 313 301 +3 313 314 302 +3 314 635 315 +3 316 636 317 +3 317 636 318 +3 318 319 306 +3 319 320 308 +3 320 321 309 +3 321 634 295 +3 322 325 323 +3 325 327 326 +3 327 329 328 +3 329 331 330 +3 331 333 332 +3 333 350 334 +3 335 352 336 +3 336 354 338 +3 338 354 339 +3 340 339 341 +3 342 341 343 +3 344 343 322 +3 322 358 345 +3 325 345 346 +3 327 346 347 +3 329 347 348 +3 331 348 349 +3 349 364 350 +3 351 353 336 +3 353 355 354 +3 355 356 339 +3 356 357 341 +3 357 369 343 +3 343 369 358 +3 359 360 345 +3 360 372 346 +3 346 372 361 +3 361 362 348 +3 362 363 349 +3 363 377 364 +3 365 379 353 +3 353 379 366 +3 366 367 356 +3 367 383 357 +3 357 383 368 +3 369 368 359 +3 370 371 360 +3 371 373 372 +3 373 374 361 +3 374 375 362 +3 375 389 363 +3 363 389 376 +3 378 380 379 +3 380 381 366 +3 381 393 367 +3 367 393 382 +3 383 382 384 +3 384 370 359 +3 385 386 371 +3 386 387 373 +3 387 398 374 +3 374 398 388 +3 388 390 389 +3 390 402 376 +3 391 404 380 +3 380 404 392 +3 392 394 393 +3 394 407 382 +3 382 407 395 +3 395 385 370 +3 396 411 386 +3 386 411 397 +3 397 399 398 +3 399 400 388 +3 400 401 390 +3 401 415 402 +3 403 405 404 +3 405 418 392 +3 392 418 406 +3 406 408 407 +3 408 409 395 +3 409 396 385 +3 396 423 410 +3 411 410 412 +3 412 426 399 +3 399 426 413 +3 413 414 401 +3 414 429 415 +3 416 417 405 +3 417 419 418 +3 419 420 406 +3 420 421 408 +3 421 422 409 +3 422 423 396 +3 423 436 424 +3 424 425 412 +3 425 427 426 +3 427 440 413 +3 413 440 428 +3 428 443 429 +3 430 431 417 +3 431 432 419 +3 432 447 420 +3 420 447 433 +3 421 433 434 +3 434 436 423 +3 435 437 424 +3 437 438 425 +3 438 439 427 +3 439 441 440 +3 441 442 428 +3 442 454 443 +3 444 445 431 +3 445 457 432 +3 432 457 446 +3 446 460 433 +3 433 460 448 +3 448 435 436 +3 449 450 437 +3 450 451 438 +3 451 452 439 +3 452 465 441 +3 441 465 453 +3 453 467 454 +3 455 456 445 +3 456 458 457 +3 458 459 446 +3 459 471 460 +3 460 471 461 +3 461 449 435 +3 462 475 450 +3 450 475 463 +3 463 464 452 +3 464 479 465 +3 465 479 466 +3 466 481 467 +3 468 469 456 +3 469 484 458 +3 458 484 470 +3 470 472 471 +3 472 473 461 +3 473 462 449 +3 474 476 475 +3 476 490 463 +3 463 490 477 +3 464 477 478 +3 478 494 466 +3 466 494 480 +3 482 483 469 +3 483 485 484 +3 485 486 470 +3 486 487 472 +3 487 488 473 +3 488 474 462 +3 474 502 489 +3 489 491 490 +3 491 492 477 +3 492 493 478 +3 493 495 494 +3 495 508 480 +3 496 510 483 +3 483 510 497 +3 485 497 498 +3 498 499 487 +3 499 500 488 +3 500 502 474 +3 501 503 489 +3 503 504 491 +3 504 505 492 +3 505 506 493 +3 506 520 495 +3 495 520 507 +3 509 511 510 +3 511 524 497 +3 497 524 512 +3 498 512 513 +3 513 514 500 +3 514 501 502 +3 515 516 503 +3 516 517 504 +3 517 518 505 +3 518 519 506 +3 519 521 520 +3 521 533 507 +3 522 523 511 +3 523 525 524 +3 525 537 512 +3 512 537 526 +3 513 526 527 +3 527 515 501 +3 528 529 516 +3 529 541 517 +3 517 541 530 +3 518 530 531 +3 531 532 521 +3 532 546 533 +3 534 535 523 +3 535 536 525 +3 536 538 537 +3 538 539 526 +3 539 552 527 +3 527 552 528 +3 528 553 540 +3 540 542 541 +3 542 543 530 +3 543 544 531 +3 544 545 532 +3 545 558 546 +3 547 548 535 +3 548 549 536 +3 549 550 538 +3 550 563 539 +3 539 563 551 +3 551 553 528 +3 553 565 554 +3 554 567 542 +3 542 567 555 +3 543 555 556 +3 544 556 557 +3 557 571 558 +3 559 560 548 +3 560 561 549 +3 561 562 550 +3 562 575 563 +3 563 575 564 +3 564 565 553 +3 565 579 566 +3 566 581 567 +3 567 581 568 +3 568 569 556 +3 569 570 557 +3 570 586 571 +3 572 588 560 +3 560 588 573 +3 561 573 574 +3 574 576 575 +3 576 577 564 +3 577 579 565 +3 578 580 566 +3 580 582 581 +3 582 583 568 +3 583 584 569 +3 584 585 570 +3 585 597 586 +3 587 599 588 +3 588 599 589 +3 589 590 574 +3 590 603 576 +3 576 603 591 +3 591 578 579 +3 592 593 580 +3 593 608 582 +3 582 608 594 +3 594 595 584 +3 595 596 585 +3 596 613 597 +3 598 600 599 +3 600 601 589 +3 601 602 590 +3 602 604 603 +3 604 605 591 +3 605 592 578 +3 606 607 593 +3 607 609 608 +3 609 610 594 +3 610 611 595 +3 611 612 596 +3 612 624 613 +3 614 626 600 +3 600 626 615 +3 615 616 602 +3 616 617 604 +3 617 618 605 +3 618 606 592 +3 606 631 619 +3 607 619 620 +3 609 620 621 +3 621 622 611 +3 622 632 612 +3 612 632 623 +3 625 627 626 +3 627 633 615 +3 615 633 628 +3 628 629 617 +3 629 630 618 +3 630 631 606 +3 2 1 619 +3 1 4 620 +3 4 5 621 +3 5 7 622 +3 7 9 632 +3 9 11 623 +3 625 14 13 +3 13 16 633 +3 16 18 628 +3 18 20 629 +3 629 20 22 +3 630 22 2 diff --git a/src/meshes/torus.ts b/src/meshes/torus.ts new file mode 100644 index 0000000..a3b8b8f --- /dev/null +++ b/src/meshes/torus.ts @@ -0,0 +1,6383 @@ + +import { Mesh } from "../renderer/mesh"; + +// prettier-ignore +const mesh = new Float32Array([ + 1.2393061, + 0.16315772, + 0, + 1, + 0, + 0, + 0, + 255, + 0.5208333, + 0.5, + 1.2165064, + 0, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.5, + 0.5833333, + 1.25, + 0, + 0, + 1, + 0, + 0, + 0, + 255, + 0.5, + 0.5, + 1.1153755, + 0.14684194, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.5208333, + 0.6666667, + 1.125, + 0, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.5, + 0.6666667, + 1, + 0, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.5, + 0.75, + 0.9914449, + 0.13052617, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.5208333, + 0.75, + 0.875, + 0, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.5, + 0.8333333, + 0.86751425, + 0.1142104, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.5208333, + 0.8333333, + 0.78349364, + 0, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.5, + 0.9166667, + 0.7435837, + 0.097894624, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.5208333, + 1, + 0.75, + 0, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.5, + 1, + 0.7435837, + 0.097894624, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.5208333, + 2.220446e-16, + 0.78349364, + 0, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.5, + 0.083333336, + 0.75, + 0, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.5, + 2.220446e-16, + 0.77679074, + 0.10226642, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.5208333, + 0.083333336, + 0.875, + 0, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.5, + 0.16666667, + 0.86751425, + 0.1142104, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.5208333, + 0.16666667, + 1, + 0, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.5, + 0.25, + 0.9914449, + 0.13052617, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.5208333, + 0.25, + 1.125, + 0, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.5, + 0.33333334, + 1.1153755, + 0.14684194, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.5208333, + 0.33333334, + 1.2165064, + 0, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.5, + 0.41666666, + 1.206099, + 0.15878591, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.5208333, + 0.41666666, + 1.2074072, + 0.32352373, + 0, + 1, + 0, + 0, + 0, + 255, + 0.5416667, + 0.5, + 1.206099, + 0.15878591, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.5208333, + 0.5833333, + 1.1750549, + 0.31485495, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.5416667, + 0.5833333, + 1.0866666, + 0.29117137, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.5416667, + 0.6666667, + 0.9659258, + 0.25881898, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.5416667, + 0.75, + 0.7567967, + 0.20278303, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.5416667, + 0.9166667, + 0.77679074, + 0.10226642, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.5208333, + 0.9166667, + 0.7244444, + 0.19411424, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.5416667, + 2.220446e-16, + 0.7567967, + 0.20278303, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.5416667, + 0.083333336, + 0.9659258, + 0.25881898, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.5416667, + 0.25, + 1.0866666, + 0.29117137, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.5416667, + 0.33333334, + 1.1750549, + 0.31485495, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.5416667, + 0.41666666, + 1.1239054, + 0.46553674, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.5625, + 0.5833333, + 1.0393645, + 0.43051878, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.5625, + 0.6666667, + 0.8083946, + 0.33484796, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.5625, + 0.8333333, + 0.8451851, + 0.22646661, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.5416667, + 0.8333333, + 0.72385377, + 0.29983, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.5625, + 0.9166667, + 0.69290966, + 0.28701252, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.5625, + 1, + 0.7244444, + 0.19411424, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.5416667, + 1, + 0.69290966, + 0.28701252, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.5625, + 2.220446e-16, + 0.72385377, + 0.29983, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.5625, + 0.083333336, + 0.8451851, + 0.22646661, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.5416667, + 0.16666667, + 0.92387956, + 0.38268337, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.5625, + 0.25, + 1.0393645, + 0.43051878, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.5625, + 0.33333334, + 1.1239054, + 0.46553674, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.5625, + 0.41666666, + 1.1548494, + 0.47835422, + 0, + 1, + 0, + 0, + 0, + 255, + 0.5625, + 0.5, + 1.0535253, + 0.6082533, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.5833333, + 0.5833333, + 0.9742785, + 0.5625001, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.5833333, + 0.6666667, + 0.8660253, + 0.5000001, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.5833333, + 0.75, + 0.92387956, + 0.38268337, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.5625, + 0.75, + 0.6785253, + 0.3917469, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.5833333, + 0.9166667, + 0.64951897, + 0.3750001, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.5833333, + 2.220446e-16, + 0.6785253, + 0.3917469, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.5833333, + 0.083333336, + 0.8083946, + 0.33484796, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.5625, + 0.16666667, + 0.8660253, + 0.5000001, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.5833333, + 0.25, + 0.9742785, + 0.5625001, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.5833333, + 0.33333334, + 1.0535253, + 0.6082533, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.5833333, + 0.41666666, + 0.9916918, + 0.76095164, + 0, + 1, + 0, + 0, + 0, + 255, + 0.6041667, + 0.5, + 1.0825317, + 0.6250001, + 0, + 1, + 0, + 0, + 0, + 255, + 0.5833333, + 0.5, + 0.89252263, + 0.6848565, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.6041667, + 0.6666667, + 0.79335344, + 0.6087613, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.6041667, + 0.75, + 0.75777215, + 0.43750012, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.5833333, + 0.8333333, + 0.6215874, + 0.4769606, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.6041667, + 0.9166667, + 0.64951897, + 0.3750001, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.5833333, + 1, + 0.59501505, + 0.45657098, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.6041667, + 2.220446e-16, + 0.6215874, + 0.4769606, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.6041667, + 0.083333336, + 0.75777215, + 0.43750012, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.5833333, + 0.16666667, + 0.69418424, + 0.53266615, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.6041667, + 0.16666667, + 0.79335344, + 0.6087613, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.6041667, + 0.25, + 0.89252263, + 0.6848565, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.6041667, + 0.33333334, + 0.88388336, + 0.88388354, + 0, + 1, + 0, + 0, + 0, + 255, + 0.625, + 0.5, + 0.9651195, + 0.740562, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.6041667, + 0.5833333, + 0.8601998, + 0.8601999, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.625, + 0.5833333, + 0.79549503, + 0.79549515, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.625, + 0.6666667, + 0.7071067, + 0.7071068, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.625, + 0.75, + 0.69418424, + 0.53266615, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.6041667, + 0.8333333, + 0.6187184, + 0.6187185, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.625, + 0.8333333, + 0.5540136, + 0.5540137, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.625, + 0.9166667, + 0.59501505, + 0.45657098, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.6041667, + 1, + 0.5540136, + 0.5540137, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.625, + 0.083333336, + 0.6187184, + 0.6187185, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.625, + 0.16666667, + 0.7071067, + 0.7071068, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.625, + 0.25, + 0.8601998, + 0.8601999, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.625, + 0.41666666, + 0.9651195, + 0.740562, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.6041667, + 0.41666666, + 0.76095194, + 0.99169147, + 0, + 1, + 0, + 0, + 0, + 255, + 0.6458333, + 0.5, + 0.6848568, + 0.89252234, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.6458333, + 0.6666667, + 0.60876155, + 0.7933532, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.6458333, + 0.75, + 0.4769608, + 0.62158716, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.6458333, + 0.9166667, + 0.53033006, + 0.5303301, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.625, + 1, + 0.45657116, + 0.5950149, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.6458333, + 2.220446e-16, + 0.53033006, + 0.5303301, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.625, + 2.220446e-16, + 0.4769608, + 0.62158716, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.6458333, + 0.083333336, + 0.60876155, + 0.7933532, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.6458333, + 0.25, + 0.6848568, + 0.89252234, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.6458333, + 0.33333334, + 0.79549503, + 0.79549515, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.625, + 0.33333334, + 0.7405623, + 0.96511924, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.6458333, + 0.41666666, + 0.62499994, + 1.0825318, + 0, + 1, + 0, + 0, + 0, + 255, + 0.6666667, + 0.5, + 0.7405623, + 0.96511924, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.6458333, + 0.5833333, + 0.56249994, + 0.9742786, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.6666667, + 0.6666667, + 0.49999997, + 0.86602545, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.6666667, + 0.75, + 0.5326663, + 0.69418406, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.6458333, + 0.8333333, + 0.3917468, + 0.67852545, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.6666667, + 0.9166667, + 0.45657116, + 0.5950149, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.6458333, + 1, + 0.37499997, + 0.6495191, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.6666667, + 2.220446e-16, + 0.3917468, + 0.67852545, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.6666667, + 0.083333336, + 0.5326663, + 0.69418406, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.6458333, + 0.16666667, + 0.43749997, + 0.75777227, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.6666667, + 0.16666667, + 0.49999997, + 0.86602545, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.6666667, + 0.25, + 0.56249994, + 0.9742786, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.6666667, + 0.33333334, + 0.6082531, + 1.0535254, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.6666667, + 0.41666666, + 0.4655371, + 1.1239052, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.6875, + 0.5833333, + 0.6082531, + 1.0535254, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.6666667, + 0.5833333, + 0.43051913, + 1.0393643, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.6875, + 0.6666667, + 0.38268366, + 0.92387944, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.6875, + 0.75, + 0.43749997, + 0.75777227, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.6666667, + 0.8333333, + 0.3348482, + 0.8083945, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.6875, + 0.8333333, + 0.29983023, + 0.72385365, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.6875, + 0.9166667, + 0.37499997, + 0.6495191, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.6666667, + 1, + 0.28701276, + 0.6929096, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.6875, + 2.220446e-16, + 0.29983023, + 0.72385365, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.6875, + 0.083333336, + 0.38268366, + 0.92387944, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.6875, + 0.25, + 0.43051913, + 1.0393643, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.6875, + 0.33333334, + 0.4655371, + 1.1239052, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.6875, + 0.41666666, + 0.32352385, + 1.2074072, + 0, + 1, + 0, + 0, + 0, + 255, + 0.7083333, + 0.5, + 0.47835457, + 1.1548493, + 0, + 1, + 0, + 0, + 0, + 255, + 0.6875, + 0.5, + 0.31485504, + 1.1750549, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.7083333, + 0.5833333, + 0.29117146, + 1.0866666, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.7083333, + 0.6666667, + 0.25881907, + 0.9659258, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.7083333, + 0.75, + 0.2027831, + 0.7567967, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.7083333, + 0.9166667, + 0.28701276, + 0.6929096, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.6875, + 1, + 0.1941143, + 0.7244444, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.7083333, + 2.220446e-16, + 0.2027831, + 0.7567967, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.7083333, + 0.083333336, + 0.3348482, + 0.8083945, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.6875, + 0.16666667, + 0.22646669, + 0.8451851, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.7083333, + 0.16666667, + 0.25881907, + 0.9659258, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.7083333, + 0.25, + 0.29117146, + 1.0866666, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.7083333, + 0.33333334, + 0.31485504, + 1.1750549, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.7083333, + 0.41666666, + 0.16315751, + 1.2393061, + 0, + 1, + 0, + 0, + 0, + 255, + 0.7291667, + 0.5, + 0.15878572, + 1.206099, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.7291667, + 0.5833333, + 0.130526, + 0.9914449, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.7291667, + 0.75, + 0.22646669, + 0.8451851, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.7083333, + 0.8333333, + 0.114210255, + 0.86751425, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.7291667, + 0.8333333, + 0.1022663, + 0.77679074, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.7291667, + 0.9166667, + 0.1941143, + 0.7244444, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.7083333, + 1, + 0.1022663, + 0.77679074, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.7291667, + 0.083333336, + 0.130526, + 0.9914449, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.7291667, + 0.25, + 0.14684176, + 1.1153755, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.7291667, + 0.33333334, + 0.15878572, + 1.206099, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.7291667, + 0.41666666, + 9.4372375e-8, + 1.25, + 0, + 1, + 0, + 0, + 0, + 255, + 0.75, + 0.5, + 9.1843674e-8, + 1.2165064, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.75, + 0.5833333, + 0.14684176, + 1.1153755, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.7291667, + 0.6666667, + 8.493514e-8, + 1.125, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.75, + 0.6666667, + 6.6060664e-8, + 0.875, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.75, + 0.8333333, + 5.9152125e-8, + 0.78349364, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.75, + 0.9166667, + 0.097894505, + 0.7435837, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.7291667, + 1, + 5.6623428e-8, + 0.75, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.75, + 2.220446e-16, + 0.097894505, + 0.7435837, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.7291667, + 2.220446e-16, + 5.9152125e-8, + 0.78349364, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.75, + 0.083333336, + 0.114210255, + 0.86751425, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.7291667, + 0.16666667, + 6.6060664e-8, + 0.875, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.75, + 0.16666667, + 7.54979e-8, + 1, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.75, + 0.25, + 8.493514e-8, + 1.125, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.75, + 0.33333334, + -0.16315791, + 1.239306, + 0, + 1, + 0, + 0, + 0, + 255, + 0.7708333, + 0.5, + -0.15878612, + 1.2060989, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.7708333, + 0.5833333, + -0.14684212, + 1.1153754, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.7708333, + 0.6666667, + 7.54979e-8, + 1, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.75, + 0.75, + -0.13052633, + 0.9914448, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.7708333, + 0.75, + -0.114210546, + 0.86751425, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.7708333, + 0.8333333, + -0.10226655, + 0.77679074, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.7708333, + 0.9166667, + 5.6623428e-8, + 0.75, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.75, + 1, + -0.10226655, + 0.77679074, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.7708333, + 0.083333336, + -0.13052633, + 0.9914448, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.7708333, + 0.25, + -0.14684212, + 1.1153754, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.7708333, + 0.33333334, + -0.15878612, + 1.2060989, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.7708333, + 0.41666666, + 9.1843674e-8, + 1.2165064, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.75, + 0.41666666, + -0.32352364, + 1.2074074, + 0, + 1, + 0, + 0, + 0, + 255, + 0.7916667, + 0.5, + -0.29117128, + 1.0866666, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.7916667, + 0.6666667, + -0.25881892, + 0.9659259, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.7916667, + 0.75, + -0.22646657, + 0.84518516, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.7916667, + 0.8333333, + -0.20278297, + 0.7567968, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.7916667, + 0.9166667, + -0.09789475, + 0.7435836, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.7708333, + 1, + -0.1941142, + 0.7244444, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.7916667, + 2.220446e-16, + -0.09789475, + 0.7435836, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.7708333, + 2.220446e-16, + -0.20278297, + 0.7567968, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.7916667, + 0.083333336, + -0.114210546, + 0.86751425, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.7708333, + 0.16666667, + -0.22646657, + 0.84518516, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.7916667, + 0.16666667, + -0.25881892, + 0.9659259, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.7916667, + 0.25, + -0.29117128, + 1.0866666, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.7916667, + 0.33333334, + -0.31485486, + 1.175055, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.7916667, + 0.41666666, + -0.4783544, + 1.1548494, + 0, + 1, + 0, + 0, + 0, + 255, + 0.8125, + 0.5, + -0.31485486, + 1.175055, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.7916667, + 0.5833333, + -0.46553692, + 1.1239053, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.8125, + 0.5833333, + -0.43051895, + 1.0393645, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.8125, + 0.6666667, + -0.33484808, + 0.80839455, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.8125, + 0.8333333, + -0.2998301, + 0.7238537, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.8125, + 0.9166667, + -0.1941142, + 0.7244444, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.7916667, + 1, + -0.28701264, + 0.6929096, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.8125, + 2.220446e-16, + -0.2998301, + 0.7238537, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.8125, + 0.083333336, + -0.38268352, + 0.9238795, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.8125, + 0.25, + -0.46553692, + 1.1239053, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.8125, + 0.41666666, + -0.6249998, + 1.0825319, + 0, + 1, + 0, + 0, + 0, + 255, + 0.8333333, + 0.5, + -0.5624998, + 0.9742787, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.8333333, + 0.6666667, + -0.38268352, + 0.9238795, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.8125, + 0.75, + -0.49999985, + 0.8660255, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.8333333, + 0.75, + -0.43749988, + 0.7577723, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.8333333, + 0.8333333, + -0.3917467, + 0.67852545, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.8333333, + 0.9166667, + -0.28701264, + 0.6929096, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.8125, + 1, + -0.37499988, + 0.64951915, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.8333333, + 2.220446e-16, + -0.3917467, + 0.67852545, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.8333333, + 0.083333336, + -0.33484808, + 0.80839455, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.8125, + 0.16666667, + -0.43749988, + 0.7577723, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.8333333, + 0.16666667, + -0.49999985, + 0.8660255, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.8333333, + 0.25, + -0.43051895, + 1.0393645, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.8125, + 0.33333334, + -0.5624998, + 0.9742787, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.8333333, + 0.33333334, + -0.608253, + 1.0535256, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.8333333, + 0.41666666, + -0.76095176, + 0.99169165, + 0, + 1, + 0, + 0, + 0, + 255, + 0.8541667, + 0.5, + -0.608253, + 1.0535256, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.8333333, + 0.5833333, + -0.74056214, + 0.96511936, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.8541667, + 0.5833333, + -0.6848566, + 0.89252245, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.8541667, + 0.6666667, + -0.6087614, + 0.7933533, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.8541667, + 0.75, + -0.53266627, + 0.6941842, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.8541667, + 0.8333333, + -0.45657107, + 0.595015, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.8541667, + 1, + -0.37499988, + 0.64951915, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.8333333, + 1, + -0.45657107, + 0.595015, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.8541667, + 2.220446e-16, + -0.53266627, + 0.6941842, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.8541667, + 0.16666667, + -0.6087614, + 0.7933533, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.8541667, + 0.25, + -0.6848566, + 0.89252245, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.8541667, + 0.33333334, + -0.74056214, + 0.96511936, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.8541667, + 0.41666666, + -0.8838837, + 0.88388324, + 0, + 1, + 0, + 0, + 0, + 255, + 0.875, + 0.5, + -0.8602001, + 0.8601997, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.875, + 0.5833333, + -0.70710695, + 0.7071066, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.875, + 0.75, + -0.61871856, + 0.61871827, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.875, + 0.8333333, + -0.47696072, + 0.6215873, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.8541667, + 0.9166667, + -0.5540138, + 0.5540135, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.875, + 0.9166667, + -0.5303302, + 0.53032994, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.875, + 2.220446e-16, + -0.47696072, + 0.6215873, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.8541667, + 0.083333336, + -0.61871856, + 0.61871827, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.875, + 0.16666667, + -0.70710695, + 0.7071066, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.875, + 0.25, + -0.79549533, + 0.7954949, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.875, + 0.33333334, + -0.8602001, + 0.8601997, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.875, + 0.41666666, + -0.99169165, + 0.76095176, + 0, + 1, + 0, + 0, + 0, + 255, + 0.8958333, + 0.5, + -0.96511936, + 0.74056214, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.8958333, + 0.5833333, + -0.79549533, + 0.7954949, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.875, + 0.6666667, + -0.89252245, + 0.6848566, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.8958333, + 0.6666667, + -0.6941842, + 0.53266627, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.8958333, + 0.8333333, + -0.6215873, + 0.47696072, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.8958333, + 0.9166667, + -0.5303302, + 0.53032994, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.875, + 1, + -0.595015, + 0.45657107, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.8958333, + 2.220446e-16, + -0.5540138, + 0.5540135, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.875, + 0.083333336, + -0.6941842, + 0.53266627, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.8958333, + 0.16666667, + -0.7933533, + 0.6087614, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.8958333, + 0.25, + -0.96511936, + 0.74056214, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.8958333, + 0.41666666, + -1.0535252, + 0.6082535, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.9166667, + 0.5833333, + -0.86602527, + 0.50000024, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.9166667, + 0.75, + -0.7933533, + 0.6087614, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.8958333, + 0.75, + -0.7577721, + 0.4375002, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.9166667, + 0.8333333, + -0.67852527, + 0.391747, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.9166667, + 0.9166667, + -0.595015, + 0.45657107, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.8958333, + 1, + -0.64951897, + 0.37500018, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.9166667, + 2.220446e-16, + -0.6215873, + 0.47696072, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.8958333, + 0.083333336, + -0.67852527, + 0.391747, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.9166667, + 0.083333336, + -0.86602527, + 0.50000024, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.9166667, + 0.25, + -0.89252245, + 0.6848566, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.8958333, + 0.33333334, + -0.97427845, + 0.56250024, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.9166667, + 0.33333334, + -1.0535252, + 0.6082535, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.9166667, + 0.41666666, + -1.1548494, + 0.47835436, + 0, + 1, + 0, + 0, + 0, + 255, + 0.9375, + 0.5, + -1.0825316, + 0.6250003, + 0, + 1, + 0, + 0, + 0, + 255, + 0.9166667, + 0.5, + -1.1239053, + 0.4655369, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.9375, + 0.5833333, + -0.97427845, + 0.56250024, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.9166667, + 0.6666667, + -1.0393645, + 0.43051893, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.9375, + 0.6666667, + -0.80839455, + 0.33484805, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.9375, + 0.8333333, + -0.7238537, + 0.29983008, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.9375, + 0.9166667, + -0.64951897, + 0.37500018, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.9166667, + 1, + -0.7238537, + 0.29983008, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.9375, + 0.083333336, + -0.7577721, + 0.4375002, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.9166667, + 0.16666667, + -0.80839455, + 0.33484805, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.9375, + 0.16666667, + -0.9238795, + 0.3826835, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.9375, + 0.25, + -1.1239053, + 0.4655369, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.9375, + 0.41666666, + -1.175055, + 0.31485486, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.9583333, + 0.5833333, + -1.0866666, + 0.29117128, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.9583333, + 0.6666667, + -0.9238795, + 0.3826835, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.9375, + 0.75, + -0.84518516, + 0.22646657, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.9583333, + 0.8333333, + -0.7567968, + 0.20278297, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.9583333, + 0.9166667, + -0.6929096, + 0.2870126, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.9375, + 1, + -0.7244444, + 0.1941142, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.9583333, + 2.220446e-16, + -0.6929096, + 0.2870126, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.9375, + 2.220446e-16, + -0.7567968, + 0.20278297, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.9583333, + 0.083333336, + -0.84518516, + 0.22646657, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.9583333, + 0.16666667, + -1.0866666, + 0.29117128, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.9583333, + 0.33333334, + -1.0393645, + 0.43051893, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.9375, + 0.33333334, + -1.175055, + 0.31485486, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.9583333, + 0.41666666, + -1.239306, + 0.1631579, + 0, + 1, + 0, + 0, + 0, + 255, + 0.9791667, + 0.5, + -1.2074074, + 0.32352364, + 0, + 1, + 0, + 0, + 0, + 255, + 0.9583333, + 0.5, + -1.2060989, + 0.1587861, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.9791667, + 0.5833333, + -1.1153754, + 0.1468421, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.9791667, + 0.6666667, + -0.9659259, + 0.25881892, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.9583333, + 0.75, + -0.9914448, + 0.13052632, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.9791667, + 0.75, + -0.86751425, + 0.11421053, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.9791667, + 0.8333333, + -0.77679074, + 0.10226654, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.9791667, + 0.9166667, + -0.7244444, + 0.1941142, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.9583333, + 1, + -0.7435836, + 0.09789474, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.9791667, + 2.220446e-16, + -0.86751425, + 0.11421053, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.9791667, + 0.16666667, + -0.9914448, + 0.13052632, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.9791667, + 0.25, + -0.9659259, + 0.25881892, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.9583333, + 0.25, + -1.1153754, + 0.1468421, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.9791667, + 0.33333334, + -1.2060989, + 0.1587861, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.9791667, + 0.41666666, + -1.2165064, + 1.0635036e-7, + 0.125, + 1, + 0, + 0, + 0, + 255, + 1, + 0.5833333, + -1.125, + 9.8350625e-8, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 1, + 0.6666667, + -1, + 8.742278e-8, + 0.25, + 1, + 0, + 0, + 0, + 255, + 1, + 0.75, + -0.875, + 7.649493e-8, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 1, + 0.8333333, + -0.78349364, + 6.849519e-8, + 0.125, + 1, + 0, + 0, + 0, + 255, + 1, + 0.9166667, + -0.7435836, + 0.09789474, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.9791667, + 1, + -0.75, + 6.556708e-8, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 1, + 2.220446e-16, + -0.77679074, + 0.10226654, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.9791667, + 0.083333336, + -0.875, + 7.649493e-8, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 1, + 0.16666667, + -1, + 8.742278e-8, + -0.25, + 1, + 0, + 0, + 0, + 255, + 1, + 0.25, + -1.125, + 9.8350625e-8, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 1, + 0.33333334, + -1.2165064, + 1.0635036e-7, + -0.125, + 1, + 0, + 0, + 0, + 255, + 1, + 0.41666666, + -1.239306, + -0.1631579, + 0, + 1, + 0, + 0, + 0, + 255, + 0.020833334, + 0.5, + -1.2165064, + 1.0635036e-7, + 0.125, + 1, + 0, + 0, + 0, + 255, + 8.881784e-16, + 0.5833333, + -1.25, + 1.09278474e-7, + 0, + 1, + 0, + 0, + 0, + 255, + 8.881784e-16, + 0.5, + -1.2060989, + -0.1587861, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.020833334, + 0.5833333, + -1.125, + 9.8350625e-8, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 8.881784e-16, + 0.6666667, + -1.1153754, + -0.1468421, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.020833334, + 0.6666667, + -1, + 8.742278e-8, + 0.25, + 1, + 0, + 0, + 0, + 255, + 8.881784e-16, + 0.75, + -0.9914448, + -0.13052632, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.020833334, + 0.75, + -0.875, + 7.649493e-8, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 8.881784e-16, + 0.8333333, + -0.86751425, + -0.11421053, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.020833334, + 0.8333333, + -0.78349364, + 6.849519e-8, + 0.125, + 1, + 0, + 0, + 0, + 255, + 8.881784e-16, + 0.9166667, + -0.77679074, + -0.10226654, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.020833334, + 0.9166667, + -0.75, + 6.556708e-8, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 8.881784e-16, + 1, + -0.75, + 6.556708e-8, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 8.881784e-16, + 2.220446e-16, + -0.77679074, + -0.10226654, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.020833334, + 0.083333336, + -0.78349364, + 6.849519e-8, + -0.125, + 1, + 0, + 0, + 0, + 255, + 8.881784e-16, + 0.083333336, + -0.875, + 7.649493e-8, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 8.881784e-16, + 0.16666667, + -0.9914448, + -0.13052632, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.020833334, + 0.25, + -1, + 8.742278e-8, + -0.25, + 1, + 0, + 0, + 0, + 255, + 8.881784e-16, + 0.25, + -1.1153754, + -0.1468421, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.020833334, + 0.33333334, + -1.125, + 9.8350625e-8, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 8.881784e-16, + 0.33333334, + -1.2060989, + -0.1587861, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.020833334, + 0.41666666, + -1.2165064, + 1.0635036e-7, + -0.125, + 1, + 0, + 0, + 0, + 255, + 8.881784e-16, + 0.41666666, + -1.175055, + -0.31485486, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.041666668, + 0.5833333, + -1.0866666, + -0.29117128, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.041666668, + 0.6666667, + -0.9659259, + -0.25881892, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.041666668, + 0.75, + -0.84518516, + -0.22646657, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.041666668, + 0.8333333, + -0.7567968, + -0.20278297, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.041666668, + 0.9166667, + -0.7435836, + -0.09789474, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.020833334, + 1, + -0.7244444, + -0.1941142, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.041666668, + 2.220446e-16, + -0.7435836, + -0.09789474, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.020833334, + 2.220446e-16, + -0.7567968, + -0.20278297, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.041666668, + 0.083333336, + -0.86751425, + -0.11421053, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.020833334, + 0.16666667, + -0.84518516, + -0.22646657, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.041666668, + 0.16666667, + -0.9659259, + -0.25881892, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.041666668, + 0.25, + -1.0866666, + -0.29117128, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.041666668, + 0.33333334, + -1.2074074, + -0.32352364, + 0, + 1, + 0, + 0, + 0, + 255, + 0.041666668, + 0.5, + -1.1548496, + -0.47835383, + 0, + 1, + 0, + 0, + 0, + 255, + 0.0625, + 0.5, + -1.1239055, + -0.4655364, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.0625, + 0.5833333, + -0.9238797, + -0.38268307, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.0625, + 0.75, + -0.80839473, + -0.3348477, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.0625, + 0.8333333, + -0.7238538, + -0.29982975, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.0625, + 0.9166667, + -0.7244444, + -0.1941142, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.041666668, + 1, + -0.6929098, + -0.2870123, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.0625, + 2.220446e-16, + -0.80839473, + -0.3348477, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.0625, + 0.16666667, + -0.9238797, + -0.38268307, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.0625, + 0.25, + -1.1239055, + -0.4655364, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.0625, + 0.41666666, + -1.175055, + -0.31485486, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.041666668, + 0.41666666, + -1.0825319, + -0.62499976, + 0, + 1, + 0, + 0, + 0, + 255, + 0.083333336, + 0.5, + -1.0535256, + -0.60825294, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.083333336, + 0.5833333, + -1.0393647, + -0.43051845, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.0625, + 0.6666667, + -0.9742787, + -0.5624998, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.083333336, + 0.6666667, + -0.8660255, + -0.49999982, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.083333336, + 0.75, + -0.7577723, + -0.43749985, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.083333336, + 0.8333333, + -0.64951915, + -0.37499988, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.083333336, + 1, + -0.6929098, + -0.2870123, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.0625, + 1, + -0.64951915, + -0.37499988, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.083333336, + 2.220446e-16, + -0.7238538, + -0.29982975, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.0625, + 0.083333336, + -0.67852545, + -0.39174667, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.083333336, + 0.083333336, + -0.7577723, + -0.43749985, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.083333336, + 0.16666667, + -0.9742787, + -0.5624998, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.083333336, + 0.33333334, + -1.0393647, + -0.43051845, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.0625, + 0.33333334, + -1.0535256, + -0.60825294, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.083333336, + 0.41666666, + -0.99169165, + -0.76095176, + 0, + 1, + 0, + 0, + 0, + 255, + 0.104166664, + 0.5, + -0.96511936, + -0.74056214, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.104166664, + 0.5833333, + -0.89252245, + -0.6848566, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.104166664, + 0.6666667, + -0.6941842, + -0.53266627, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.104166664, + 0.8333333, + -0.67852545, + -0.39174667, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.083333336, + 0.9166667, + -0.6215873, + -0.47696072, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.104166664, + 0.9166667, + -0.595015, + -0.45657107, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.104166664, + 2.220446e-16, + -0.6941842, + -0.53266627, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.104166664, + 0.16666667, + -0.8660255, + -0.49999982, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.083333336, + 0.25, + -0.7933533, + -0.6087614, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.104166664, + 0.25, + -0.96511936, + -0.74056214, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.104166664, + 0.41666666, + -0.8838837, + -0.88388324, + 0, + 1, + 0, + 0, + 0, + 255, + 0.125, + 0.5, + -0.79549533, + -0.7954949, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.125, + 0.6666667, + -0.7933533, + -0.6087614, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.104166664, + 0.75, + -0.70710695, + -0.7071066, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.125, + 0.75, + -0.61871856, + -0.61871827, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.125, + 0.8333333, + -0.5540138, + -0.5540135, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.125, + 0.9166667, + -0.595015, + -0.45657107, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.104166664, + 1, + -0.5303302, + -0.53032994, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.125, + 2.220446e-16, + -0.6215873, + -0.47696072, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.104166664, + 0.083333336, + -0.5540138, + -0.5540135, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.125, + 0.083333336, + -0.70710695, + -0.7071066, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.125, + 0.25, + -0.89252245, + -0.6848566, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.104166664, + 0.33333334, + -0.79549533, + -0.7954949, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.125, + 0.33333334, + -0.8602001, + -0.8601997, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.125, + 0.41666666, + -0.7405627, + -0.965119, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.14583333, + 0.5833333, + -0.8602001, + -0.8601997, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.125, + 0.5833333, + -0.6848571, + -0.89252216, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.14583333, + 0.6666667, + -0.5326666, + -0.6941839, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.14583333, + 0.8333333, + -0.47696105, + -0.62158704, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.14583333, + 0.9166667, + -0.5303302, + -0.53032994, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.125, + 1, + -0.4565714, + -0.59501475, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.14583333, + 2.220446e-16, + -0.47696105, + -0.62158704, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.14583333, + 0.083333336, + -0.61871856, + -0.61871827, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.125, + 0.16666667, + -0.5326666, + -0.6941839, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.14583333, + 0.16666667, + -0.60876185, + -0.793353, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.14583333, + 0.25, + -0.6848571, + -0.89252216, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.14583333, + 0.33333334, + -0.7405627, + -0.965119, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.14583333, + 0.41666666, + -0.7609523, + -0.9916913, + 0, + 1, + 0, + 0, + 0, + 255, + 0.14583333, + 0.5, + -0.608253, + -1.0535256, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.16666667, + 0.5833333, + -0.5624998, + -0.9742787, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.16666667, + 0.6666667, + -0.60876185, + -0.793353, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.14583333, + 0.75, + -0.49999985, + -0.8660255, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.16666667, + 0.75, + -0.3917467, + -0.67852545, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.16666667, + 0.9166667, + -0.4565714, + -0.59501475, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.14583333, + 1, + -0.37499988, + -0.64951915, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.16666667, + 2.220446e-16, + -0.3917467, + -0.67852545, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.16666667, + 0.083333336, + -0.43749988, + -0.7577723, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.16666667, + 0.16666667, + -0.5624998, + -0.9742787, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.16666667, + 0.33333334, + -0.608253, + -1.0535256, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.16666667, + 0.41666666, + -0.4783544, + -1.1548494, + 0, + 1, + 0, + 0, + 0, + 255, + 0.1875, + 0.5, + -0.6249998, + -1.0825319, + 0, + 1, + 0, + 0, + 0, + 255, + 0.16666667, + 0.5, + -0.46553692, + -1.1239053, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.1875, + 0.5833333, + -0.43051895, + -1.0393645, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.1875, + 0.6666667, + -0.38268352, + -0.9238795, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.1875, + 0.75, + -0.43749988, + -0.7577723, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.16666667, + 0.8333333, + -0.33484808, + -0.80839455, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.1875, + 0.8333333, + -0.2998301, + -0.7238537, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.1875, + 0.9166667, + -0.37499988, + -0.64951915, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.16666667, + 1, + -0.28701264, + -0.6929096, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.1875, + 2.220446e-16, + -0.2998301, + -0.7238537, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.1875, + 0.083333336, + -0.38268352, + -0.9238795, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.1875, + 0.25, + -0.49999985, + -0.8660255, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.16666667, + 0.25, + -0.46553692, + -1.1239053, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.1875, + 0.41666666, + -0.3235242, + -1.2074072, + 0, + 1, + 0, + 0, + 0, + 255, + 0.20833333, + 0.5, + -0.31485543, + -1.1750548, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.20833333, + 0.5833333, + -0.2911718, + -1.0866665, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.20833333, + 0.6666667, + -0.25881937, + -0.96592575, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.20833333, + 0.75, + -0.20278333, + -0.75679666, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.20833333, + 0.9166667, + -0.28701264, + -0.6929096, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.1875, + 1, + -0.19411454, + -0.7244443, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.20833333, + 2.220446e-16, + -0.20278333, + -0.75679666, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.20833333, + 0.083333336, + -0.33484808, + -0.80839455, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.1875, + 0.16666667, + -0.22646695, + -0.84518504, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.20833333, + 0.16666667, + -0.25881937, + -0.96592575, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.20833333, + 0.25, + -0.43051895, + -1.0393645, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.1875, + 0.33333334, + -0.31485543, + -1.1750548, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.20833333, + 0.41666666, + -0.16315849, + -1.239306, + 0, + 1, + 0, + 0, + 0, + 255, + 0.22916667, + 0.5, + -0.14684264, + -1.1153754, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.22916667, + 0.6666667, + -0.1305268, + -0.99144477, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.22916667, + 0.75, + -0.22646695, + -0.84518504, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.20833333, + 0.8333333, + -0.102266915, + -0.7767907, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.22916667, + 0.9166667, + -0.19411454, + -0.7244443, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.20833333, + 1, + -0.0978951, + -0.74358356, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.22916667, + 2.220446e-16, + -0.102266915, + -0.7767907, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.22916667, + 0.083333336, + -0.1305268, + -0.99144477, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.22916667, + 0.25, + -0.2911718, + -1.0866665, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.20833333, + 0.33333334, + -0.14684264, + -1.1153754, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.22916667, + 0.33333334, + -0.15878668, + -1.2060989, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.22916667, + 0.41666666, + 9.4372375e-8, + -1.25, + 0, + 1, + 0, + 0, + 0, + 255, + 0.25, + 0.5, + -0.15878668, + -1.2060989, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.22916667, + 0.5833333, + 9.1843674e-8, + -1.2165064, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.25, + 0.5833333, + 7.54979e-8, + -1, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.25, + 0.75, + 6.6060664e-8, + -0.875, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.25, + 0.8333333, + -0.11421095, + -0.8675142, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.22916667, + 0.8333333, + 5.6623428e-8, + -0.75, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.25, + 1, + -0.0978951, + -0.74358356, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.22916667, + 1, + 5.6623428e-8, + -0.75, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.25, + 2.220446e-16, + 5.9152125e-8, + -0.78349364, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.25, + 0.083333336, + -0.11421095, + -0.8675142, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.22916667, + 0.16666667, + 6.6060664e-8, + -0.875, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.25, + 0.16666667, + 7.54979e-8, + -1, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.25, + 0.25, + 8.493514e-8, + -1.125, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.25, + 0.33333334, + 9.1843674e-8, + -1.2165064, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.25, + 0.41666666, + 0.15878572, + -1.206099, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.27083334, + 0.5833333, + 8.493514e-8, + -1.125, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.25, + 0.6666667, + 0.14684176, + -1.1153755, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.27083334, + 0.6666667, + 0.130526, + -0.9914449, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.27083334, + 0.75, + 0.114210255, + -0.86751425, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.27083334, + 0.8333333, + 5.9152125e-8, + -0.78349364, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.25, + 0.9166667, + 0.1022663, + -0.77679074, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.27083334, + 0.9166667, + 0.097894505, + -0.7435837, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.27083334, + 2.220446e-16, + 0.114210255, + -0.86751425, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.27083334, + 0.16666667, + 0.130526, + -0.9914449, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.27083334, + 0.25, + 0.14684176, + -1.1153755, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.27083334, + 0.33333334, + 0.15878572, + -1.206099, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.27083334, + 0.41666666, + 0.32352325, + -1.2074075, + 0, + 1, + 0, + 0, + 0, + 255, + 0.29166666, + 0.5, + 0.16315751, + -1.2393061, + 0, + 1, + 0, + 0, + 0, + 255, + 0.27083334, + 0.5, + 0.31485447, + -1.175055, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.29166666, + 0.5833333, + 0.29117092, + -1.0866667, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.29166666, + 0.6666667, + 0.2588186, + -0.96592593, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.29166666, + 0.75, + 0.22646627, + -0.84518516, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.29166666, + 0.8333333, + 0.19411394, + -0.72444445, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.29166666, + 1, + 0.097894505, + -0.7435837, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.27083334, + 1, + 0.19411394, + -0.72444445, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.29166666, + 2.220446e-16, + 0.1022663, + -0.77679074, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.27083334, + 0.083333336, + 0.20278272, + -0.75679684, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.29166666, + 0.083333336, + 0.2588186, + -0.96592593, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.29166666, + 0.25, + 0.29117092, + -1.0866667, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.29166666, + 0.33333334, + 0.31485447, + -1.175055, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.29166666, + 0.41666666, + 0.47835457, + -1.1548493, + 0, + 1, + 0, + 0, + 0, + 255, + 0.3125, + 0.5, + 0.4655371, + -1.1239052, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.3125, + 0.5833333, + 0.43051913, + -1.0393643, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.3125, + 0.6666667, + 0.38268366, + -0.92387944, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.3125, + 0.75, + 0.3348482, + -0.8083945, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.3125, + 0.8333333, + 0.20278272, + -0.75679684, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.29166666, + 0.9166667, + 0.29983023, + -0.72385365, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.3125, + 0.9166667, + 0.28701276, + -0.6929096, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.3125, + 2.220446e-16, + 0.29983023, + -0.72385365, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.3125, + 0.083333336, + 0.22646627, + -0.84518516, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.29166666, + 0.16666667, + 0.3348482, + -0.8083945, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.3125, + 0.16666667, + 0.43051913, + -1.0393643, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.3125, + 0.33333334, + 0.4655371, + -1.1239052, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.3125, + 0.41666666, + 0.62499994, + -1.0825318, + 0, + 1, + 0, + 0, + 0, + 255, + 0.33333334, + 0.5, + 0.6082531, + -1.0535254, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.33333334, + 0.5833333, + 0.49999997, + -0.86602545, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.33333334, + 0.75, + 0.43749997, + -0.75777227, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.33333334, + 0.8333333, + 0.3917468, + -0.67852545, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.33333334, + 0.9166667, + 0.28701276, + -0.6929096, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.3125, + 1, + 0.37499997, + -0.6495191, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.33333334, + 2.220446e-16, + 0.3917468, + -0.67852545, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.33333334, + 0.083333336, + 0.43749997, + -0.75777227, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.33333334, + 0.16666667, + 0.38268366, + -0.92387944, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.3125, + 0.25, + 0.49999997, + -0.86602545, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.33333334, + 0.25, + 0.56249994, + -0.9742786, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.33333334, + 0.33333334, + 0.74056184, + -0.9651196, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.35416666, + 0.5833333, + 0.56249994, + -0.9742786, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.33333334, + 0.6666667, + 0.68485636, + -0.8925227, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.35416666, + 0.6666667, + 0.6087612, + -0.7933535, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.35416666, + 0.75, + 0.532666, + -0.6941843, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.35416666, + 0.8333333, + 0.4769605, + -0.6215874, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.35416666, + 0.9166667, + 0.37499997, + -0.6495191, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.33333334, + 1, + 0.4565709, + -0.5950151, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.35416666, + 2.220446e-16, + 0.4769605, + -0.6215874, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.35416666, + 0.083333336, + 0.532666, + -0.6941843, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.35416666, + 0.16666667, + 0.6087612, + -0.7933535, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.35416666, + 0.25, + 0.74056184, + -0.9651196, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.35416666, + 0.41666666, + 0.6082531, + -1.0535254, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.33333334, + 0.41666666, + 0.7609515, + -0.9916919, + 0, + 1, + 0, + 0, + 0, + 255, + 0.35416666, + 0.5, + 0.86019945, + -0.8602004, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.375, + 0.5833333, + 0.7071064, + -0.7071072, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.375, + 0.75, + 0.6187181, + -0.6187188, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.375, + 0.8333333, + 0.5540134, + -0.55401397, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.375, + 0.9166667, + 0.4565709, + -0.5950151, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.35416666, + 1, + 0.5303298, + -0.5303304, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.375, + 2.220446e-16, + 0.5540134, + -0.55401397, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.375, + 0.083333336, + 0.6187181, + -0.6187188, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.375, + 0.16666667, + 0.7071064, + -0.7071072, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.375, + 0.25, + 0.68485636, + -0.8925227, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.35416666, + 0.33333334, + 0.86019945, + -0.8602004, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.375, + 0.41666666, + 0.883883, + -0.88388395, + 0, + 1, + 0, + 0, + 0, + 255, + 0.375, + 0.5, + 0.9651195, + -0.740562, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.39583334, + 0.5833333, + 0.79549474, + -0.79549557, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.375, + 0.6666667, + 0.79335344, + -0.6087613, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.39583334, + 0.75, + 0.69418424, + -0.53266615, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.39583334, + 0.8333333, + 0.6215874, + -0.4769606, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.39583334, + 0.9166667, + 0.5303298, + -0.5303304, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.375, + 1, + 0.59501505, + -0.45657098, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.39583334, + 2.220446e-16, + 0.69418424, + -0.53266615, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.39583334, + 0.16666667, + 0.79335344, + -0.6087613, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.39583334, + 0.25, + 0.79549474, + -0.79549557, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.375, + 0.33333334, + 0.89252263, + -0.6848565, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.39583334, + 0.33333334, + 0.9651195, + -0.740562, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.39583334, + 0.41666666, + 1.0825317, + -0.6250001, + 0, + 1, + 0, + 0, + 0, + 255, + 0.41666666, + 0.5, + 0.9916918, + -0.76095164, + 0, + 1, + 0, + 0, + 0, + 255, + 0.39583334, + 0.5, + 1.0535253, + -0.6082533, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.41666666, + 0.5833333, + 0.89252263, + -0.6848565, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.39583334, + 0.6666667, + 0.9742785, + -0.5625001, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.41666666, + 0.6666667, + 0.8660253, + -0.5000001, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.41666666, + 0.75, + 0.75777215, + -0.43750012, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.41666666, + 0.8333333, + 0.6785253, + -0.3917469, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.41666666, + 0.9166667, + 0.59501505, + -0.45657098, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.39583334, + 1, + 0.64951897, + -0.3750001, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.41666666, + 2.220446e-16, + 0.6215874, + -0.4769606, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.39583334, + 0.083333336, + 0.75777215, + -0.43750012, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.41666666, + 0.16666667, + 0.8660253, + -0.5000001, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.41666666, + 0.25, + 1.0535253, + -0.6082533, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.41666666, + 0.41666666, + 1.1548493, + -0.47835475, + 0, + 1, + 0, + 0, + 0, + 255, + 0.4375, + 0.5, + 1.1239052, + -0.46553728, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.4375, + 0.5833333, + 0.9238794, + -0.3826838, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.4375, + 0.75, + 0.80839443, + -0.33484834, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.4375, + 0.8333333, + 0.72385365, + -0.29983035, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.4375, + 0.9166667, + 0.64951897, + -0.3750001, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.41666666, + 1, + 0.69290954, + -0.28701288, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.4375, + 2.220446e-16, + 0.6785253, + -0.3917469, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.41666666, + 0.083333336, + 0.72385365, + -0.29983035, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.4375, + 0.083333336, + 0.80839443, + -0.33484834, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.4375, + 0.16666667, + 0.9238794, + -0.3826838, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.4375, + 0.25, + 0.9742785, + -0.5625001, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.41666666, + 0.33333334, + 1.0393643, + -0.43051928, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.4375, + 0.33333334, + 1.1239052, + -0.46553728, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.4375, + 0.41666666, + 1.2074074, + -0.32352346, + 0, + 1, + 0, + 0, + 0, + 255, + 0.45833334, + 0.5, + 1.175055, + -0.31485468, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.45833334, + 0.5833333, + 1.0393643, + -0.43051928, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.4375, + 0.6666667, + 1.0866666, + -0.29117113, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.45833334, + 0.6666667, + 0.9659259, + -0.25881878, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.45833334, + 0.75, + 0.84518516, + -0.22646643, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.45833334, + 0.8333333, + 0.7567968, + -0.20278287, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.45833334, + 0.9166667, + 0.69290954, + -0.28701288, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.4375, + 1, + 0.7244444, + -0.19411409, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.45833334, + 2.220446e-16, + 0.84518516, + -0.22646643, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.45833334, + 0.16666667, + 0.9659259, + -0.25881878, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.45833334, + 0.25, + 1.0866666, + -0.29117113, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.45833334, + 0.33333334, + 1.175055, + -0.31485468, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.45833334, + 0.41666666, + 1.206099, + -0.15878591, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.47916666, + 0.5833333, + 1.1153755, + -0.14684194, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.47916666, + 0.6666667, + 0.9914449, + -0.13052617, + 0.25, + 1, + 0, + 0, + 0, + 255, + 0.47916666, + 0.75, + 0.86751425, + -0.1142104, + 0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.47916666, + 0.8333333, + 0.7435837, + -0.097894624, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.47916666, + 1, + 0.7244444, + -0.19411409, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.45833334, + 1, + 0.7435837, + -0.097894624, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 0.47916666, + 2.220446e-16, + 0.7567968, + -0.20278287, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.45833334, + 0.083333336, + 0.77679074, + -0.10226642, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.47916666, + 0.083333336, + 0.9914449, + -0.13052617, + -0.25, + 1, + 0, + 0, + 0, + 255, + 0.47916666, + 0.25, + 1.1153755, + -0.14684194, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.47916666, + 0.33333334, + 1.206099, + -0.15878591, + -0.125, + 1, + 0, + 0, + 0, + 255, + 0.47916666, + 0.41666666, + 1.2393061, + -0.16315772, + 0, + 1, + 0, + 0, + 0, + 255, + 0.47916666, + 0.5, + 0.77679074, + -0.10226642, + 0.125, + 1, + 0, + 0, + 0, + 255, + 0.47916666, + 0.9166667, + 0.86751425, + -0.1142104, + -0.21650635, + 1, + 0, + 0, + 0, + 255, + 0.47916666, + 0.16666667, + -1.25, + 1.09278474e-7, + 0, + 1, + 0, + 0, + 0, + 255, + 1, + 0.5, + -0.75, + 6.556708e-8, + 3.061617e-17, + 1, + 0, + 0, + 0, + 255, + 1, + 1, + -0.78349364, + 6.849519e-8, + -0.125, + 1, + 0, + 0, + 0, + 255, + 1, + 0.083333336 +]); + +export default new Mesh({ + mesh, + positionSize: 4 * 4, + colorSize: 4 * 4, + uvSize: 2 * 4, +}); diff --git a/src/renderer/behavior.ts b/src/renderer/behavior.ts new file mode 100644 index 0000000..3d9e688 --- /dev/null +++ b/src/renderer/behavior.ts @@ -0,0 +1,15 @@ +import { WebGPUApp } from "./webgpu"; + +export abstract class Behavior { + constructor(public app: WebGPUApp) { + this.onBeforeUpdate && app.onBeforeUpdate(this.onBeforeUpdate.bind(this)); + this.onUpdate && app.onUpdate(this.onUpdate.bind(this)); + this.onAfterUpdate && app.onAfterUpdate(this.onAfterUpdate.bind(this)); + this.onStart && app.onStart(this.onStart.bind(this)); + } + + onStart(time: number) {} + onBeforeUpdate(time: number) {} + onUpdate(time: number) {} + onAfterUpdate(time: number) {} +} diff --git a/src/renderer/mesh-renderer.ts b/src/renderer/mesh-renderer.ts new file mode 100644 index 0000000..66ee15b --- /dev/null +++ b/src/renderer/mesh-renderer.ts @@ -0,0 +1,24 @@ +import { Behavior } from "./behavior"; +import { Mesh } from "./mesh"; +import { WebGPUApp } from "./webgpu"; + +export class MeshRenderer extends Behavior { + private depthTexture?: GPUTexture; + private uniformBuffer?: GPUBuffer; + private texture?: GPUTexture; + private sampler?: GPUSampler; + private uniformBindGroup?: GPUBindGroup; + private renderPassDescriptor?: GPURenderBundleDescriptor; + + constructor( + public app: WebGPUApp, + public mesh: Mesh + ) { + super(app); + } + onStart() { + console.log("hello from meshrenderer!"); + console.log(`i've got a ${this.mesh.constructor.name}`); + } + onUpdate(time: number) {} +} diff --git a/src/renderer/mesh.ts b/src/renderer/mesh.ts index c4303cc..4104607 100644 --- a/src/renderer/mesh.ts +++ b/src/renderer/mesh.ts @@ -1,16 +1,86 @@ import { Oops, Shader } from "./shader"; +import { WebGPUApp } from "./webgpu"; export type MeshConfig = { - vertexData: Float32Array; - vertexSize: number; - positionOffset: number; - colorOffset: number; - uvOffset: number; + mesh: Float32Array; + positionSize: number; + colorSize: number; + uvSize: number; }; export class Mesh { - private shader: Shader = Oops; + private _shader: Shader = Oops; constructor(public config: MeshConfig) {} - shader(shader: Shader) {} + + shader(shader: Shader) { + this._shader = shader; + return this; + } + + buffer(app: WebGPUApp) { + const buffer = app.device.createBuffer({ + size: this.config.mesh.byteLength, + usage: GPUBufferUsage.VERTEX, + mappedAtCreation: true, + }); + new Float32Array(buffer.getMappedRange()).set(this.config.mesh); + buffer.unmap(); + + return buffer; + } + + pipeline(app: WebGPUApp, config: Record) { + const module = this._shader.module(app); + return app.device.createRenderPipeline({ + layout: "auto", + vertex: { + module, + entryPoint: "main", + buffers: [ + { + arrayStride: 4, + attributes: [ + { + // position + shaderLocation: 0, + offset: 0, + format: "float32x4", + }, + { + // color + shaderLocation: 2, + offset: this.config.positionSize, + format: "float32x4", + }, + { + // uv + shaderLocation: 1, + offset: this.config.positionSize + this.config.colorSize, + format: "float32x4", + }, + ], + }, + ], + }, + fragment: { + module, + entryPoint: "main", + targets: [ + { + format: "rgba8unorm", + }, + ], + }, + primitive: { + topology: "triangle-list", + cullMode: config.cullMode ?? "back", + }, + depthStencil: config.stencil && { + depthWriteEnabled: true, + depthCompare: "less", + format: "depth24plus", + }, + }); + } } diff --git a/src/renderer/telemetry.ts b/src/renderer/telemetry.ts index 6454f90..d497324 100644 --- a/src/renderer/telemetry.ts +++ b/src/renderer/telemetry.ts @@ -1,6 +1,7 @@ +import { Behavior } from "./behavior"; import { WebGPUApp } from "./webgpu"; -export class Telemetry { +export class Telemetry extends Behavior { public el: HTMLElement; public frameTimes: number[] = []; public maxFrameTimes: number = 100; @@ -9,11 +10,10 @@ export class Telemetry { public app: WebGPUApp, selector = "#telemetry" ) { + super(app); this.el = document.querySelector(selector) as HTMLElement; if (this.el && location.search.includes("telemetry")) { this.el.style.display = "block"; - this.app.onAfterUpdate((time) => this.onAfterUpdate(time)); - this.app.onStart(() => this.onStart()); } } @@ -28,18 +28,14 @@ export class Telemetry { onStart() { this.lastFrameTime = 0; this.frameTimes = []; - } - onAfterUpdate(time: number) { - const frameTime = time - this.lastFrameTime; - this.insertTime(frameTime); + setInterval(() => { + const averageFrameTime = + this.frameTimes.reduce((a, b) => a + b, 0) / this.frameTimes.length; - const averageFrameTime = - this.frameTimes.reduce((a, b) => a + b, 0) / this.frameTimes.length; + const framesPerSecond = 1000 / averageFrameTime; - const framesPerSecond = 1000 / averageFrameTime; - - this.el.innerHTML = ` + this.el.innerHTML = ` ${framesPerSecond.toFixed(1)} FPS (${averageFrameTime.toFixed( 3 )} ms)
@@ -47,7 +43,12 @@ export class Telemetry { this.app.registry.onUpdate.length } | aU: ${this.app.registry.onAfterUpdate.length} `; + }, 1000); + } + onAfterUpdate(time: number) { + const frameTime = time - this.lastFrameTime; + this.insertTime(frameTime); this.lastFrameTime = time; } }